X-Git-Url: http://git.ozlabs.org/?p=ccan;a=blobdiff_plain;f=ccan%2Fstr%2Ftest%2Frun.c;h=0f00ea320d2a67fbc8c65448f14017abbdb1a165;hp=20711ad0c0ea29fccd2ec9f20940fe935e8a4793;hb=4f09cf20ca00fe38b0702e0556bbad2341595ed0;hpb=9965fc25fcc92dc76d1cd4cf9595dc3dc9ebc586 diff --git a/ccan/str/test/run.c b/ccan/str/test/run.c index 20711ad0..0f00ea32 100644 --- a/ccan/str/test/run.c +++ b/ccan/str/test/run.c @@ -1,13 +1,13 @@ -#include "string/string.h" +#include +#include #include #include -#include "string/string.c" -#include "tap/tap.h" +#include -/* FIXME: ccanize */ #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof(arr[0])) -static char *substrings[] = { "far", "bar", "baz", "b", "ba", "z", "ar", NULL }; +static const char *substrings[] = { "far", "bar", "baz", "b", "ba", "z", "ar", + NULL }; #define NUM_SUBSTRINGS (ARRAY_SIZE(substrings) - 1) @@ -24,8 +24,6 @@ static char *strdup_rev(const char *s) int main(int argc, char *argv[]) { unsigned int i, j, n; - char **split, *str; - void *ctx; char *strings[NUM_SUBSTRINGS * NUM_SUBSTRINGS]; n = 0; @@ -38,7 +36,7 @@ int main(int argc, char *argv[]) } } - plan_tests(n * n * 5); + plan_tests(n * n * 5 + 16); for (i = 0; i < n; i++) { for (j = 0; j < n; j++) { unsigned int k, identical = 0; @@ -76,8 +74,33 @@ int main(int argc, char *argv[]) ok1(!strstarts(strings[i], strings[j])); ok1(!strends(reva, revb)); } + free(reva); + free(revb); } } + for (i = 0; i < n; i++) + free(strings[i]); + + ok1(streq(stringify(NUM_SUBSTRINGS), + "((sizeof(substrings) / sizeof(substrings[0])) - 1)")); + ok1(streq(stringify(ARRAY_SIZE(substrings)), + "(sizeof(substrings) / sizeof(substrings[0]))")); + ok1(streq(stringify(i == 0), "i == 0")); + + ok1(strcount("aaaaaa", "b") == 0); + ok1(strcount("aaaaaa", "a") == 6); + ok1(strcount("aaaaaa", "aa") == 3); + ok1(strcount("aaaaaa", "aaa") == 2); + ok1(strcount("aaaaaa", "aaaa") == 1); + ok1(strcount("aaaaaa", "aaaaa") == 1); + ok1(strcount("aaaaaa", "aaaaaa") == 1); + ok1(strcount("aaa aaa", "b") == 0); + ok1(strcount("aaa aaa", "a") == 6); + ok1(strcount("aaa aaa", "aa") == 2); + ok1(strcount("aaa aaa", "aaa") == 2); + ok1(strcount("aaa aaa", "aaaa") == 0); + ok1(strcount("aaa aaa", "aaaaa") == 0); + return exit_status(); }