Code

t/unit/: Create one test binary for each *_test.c file.
[sysdb.git] / t / unit / utils / strbuf_test.c
index b0159c4d7406cc4e44cd0812c8ae03bfd06c1e72..c15c1e9cb21a9b6821d8bfe8b57ed490ea320483 100644 (file)
  * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+#if HAVE_CONFIG_H
+#      include "config.h"
+#endif
+
 #include "utils/strbuf.h"
-#include "libsysdb_test.h"
+#include "testutils.h"
 
 #include <check.h>
 
@@ -177,7 +181,7 @@ START_TEST(test_append)
        size_t i;
 
        for (i = 0; i < SDB_STATIC_ARRAY_LEN(golden_data); ++i) {
-               n = sdb_strbuf_append(buf, golden_data[i].input);
+               n = sdb_strbuf_append(buf, "%s", golden_data[i].input);
                fail_unless((size_t)n == strlen(golden_data[i].input),
                                "sdb_strbuf_append() appended %zi bytes; expected: %zu",
                                n, strlen(golden_data[i].input));
@@ -198,7 +202,7 @@ START_TEST(test_append)
                                test, golden_data[i].result);
        }
 
-       n = sdb_strbuf_append(buf, "%zu; %5.4f", 42, 4.2);
+       n = sdb_strbuf_append(buf, "%zu; %5.4f", (size_t)42, 4.2);
        fail_unless(n == 10,
                        "sdb_strbuf_append() appended %zi bytes; expected: 10", n);
        total += n;
@@ -233,8 +237,11 @@ START_TEST(test_sprintf)
 
        size_t i;
 
+       sdb_strbuf_destroy(buf);
+       buf = sdb_strbuf_create(1); /* -> min_size = 1 */
+
        for (i = 0; i < SDB_STATIC_ARRAY_LEN(golden_data); ++i) {
-               n = sdb_strbuf_sprintf(buf, golden_data[i]);
+               n = sdb_strbuf_sprintf(buf, "%s", golden_data[i]);
                fail_unless((size_t)n == strlen(golden_data[i]),
                                "sdb_strbuf_sprintf() wrote %zi bytes; expected: %zu",
                                n, strlen(golden_data[i]));
@@ -251,14 +258,16 @@ START_TEST(test_sprintf)
                                "got: %s; expected: %s", test, golden_data[i]);
 
                check = sdb_strbuf_cap(buf);
-               if (n) /* 3 times the current len is the threshold for shrinking */
+               /* 3 times the current len is the threshold for shrinking,
+                * but it's capped to the initial size (or 64) */
+               if (n)
                        fail_unless(((size_t)n < check) && (check < (size_t)n * 3),
                                        "sdb_strbuf_sprintf() did not resize the buffer "
                                        "correctly (got size %zu; expected %zi < <size> < %d)",
                                        check, n, n / 3);
        }
 
-       n = sdb_strbuf_sprintf(buf, "%zu; %5.4f", 42, 4.2);
+       n = sdb_strbuf_sprintf(buf, "%zu; %5.4f", (size_t)42, 4.2);
        fail_unless(n == 10,
                        "sdb_strbuf_sprintf() wrote %zi bytes; expected: 10", n);
        check = sdb_strbuf_len(buf);
@@ -449,7 +458,7 @@ START_TEST(test_chomp)
                const char *check;
 
                if (golden_data[i].input)
-                       sdb_strbuf_sprintf(buf, golden_data[i].input);
+                       sdb_strbuf_sprintf(buf, "%s", golden_data[i].input);
 
                /* empty buffer */
                n = sdb_strbuf_chomp(buf);
@@ -511,7 +520,7 @@ START_TEST(test_skip)
                const char *check;
                size_t n;
 
-               sdb_strbuf_sprintf(buf, input);
+               sdb_strbuf_sprintf(buf, "%s", input);
                sdb_strbuf_skip(buf, golden_data[i].offset,
                                golden_data[i].n);
 
@@ -573,7 +582,7 @@ START_TEST(test_string)
                const char *check;
 
                if (golden_data[i].input)
-                       sdb_strbuf_sprintf(buf, golden_data[i].input);
+                       sdb_strbuf_sprintf(buf, "%s", golden_data[i].input);
                check = sdb_strbuf_string(buf);
                fail_unless(!strcmp(check, golden_data[i].expected),
                                "sdb_strbuf_string() = '%s'; expected: '%s'",
@@ -599,7 +608,7 @@ START_TEST(test_len)
                size_t check;
 
                if (golden_data[i].input)
-                       sdb_strbuf_sprintf(buf, golden_data[i].input);
+                       sdb_strbuf_sprintf(buf, "%s", golden_data[i].input);
                check = sdb_strbuf_len(buf);
                fail_unless(check == golden_data[i].expected,
                                "sdb_strbuf_len() = %zu; expected: %zu",
@@ -608,16 +617,12 @@ START_TEST(test_len)
 }
 END_TEST
 
-Suite *
-util_strbuf_suite(void)
+TEST_MAIN("utils::strbuf")
 {
-       Suite *s = suite_create("utils::strbuf");
-       TCase *tc;
-
-       tc = tcase_create("empty");
+       TCase *tc = tcase_create("empty");
        tcase_add_test(tc, test_null);
        tcase_add_test(tc, test_empty);
-       suite_add_tcase(s, tc);
+       ADD_TCASE(tc);
 
        tc = tcase_create("core");
        tcase_add_checked_fixture(tc, setup, teardown);
@@ -632,10 +637,9 @@ util_strbuf_suite(void)
        tcase_add_test(tc, test_clear);
        tcase_add_test(tc, test_string);
        tcase_add_test(tc, test_len);
-       suite_add_tcase(s, tc);
-
-       return s;
-} /* util_strbuf_suite */
+       ADD_TCASE(tc);
+}
+TEST_MAIN_END
 
 /* vim: set tw=78 sw=4 ts=4 noexpandtab : */