X-Git-Url: http://git.ozlabs.org/?p=ccan;a=blobdiff_plain;f=ccan%2Fstr%2Ftest%2Frun.c;h=9917fe7111c5bac1ff34ba52b61854e4f7862a66;hp=a9dacab051e9f28e7601df2778842529ba35e3fa;hb=HEAD;hpb=90e94990efbd7fb280f5ff30d2da4401d7ce27fc diff --git a/ccan/str/test/run.c b/ccan/str/test/run.c index a9dacab0..9917fe71 100644 --- a/ccan/str/test/run.c +++ b/ccan/str/test/run.c @@ -1,12 +1,13 @@ #include +#include #include #include #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) @@ -20,7 +21,7 @@ static char *strdup_rev(const char *s) return ret; } -int main(int argc, char *argv[]) +int main(void) { unsigned int i, j, n; char *strings[NUM_SUBSTRINGS * NUM_SUBSTRINGS]; @@ -35,7 +36,7 @@ int main(int argc, char *argv[]) } } - plan_tests(n * n * 5 + 3); + plan_tests(n * n * 5 + 16); for (i = 0; i < n; i++) { for (j = 0; j < n; j++) { unsigned int k, identical = 0; @@ -73,14 +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(); }