X-Git-Url: http://git.ozlabs.org/?p=ccan;a=blobdiff_plain;f=ccan%2Fstring%2Ftest%2Frun-grab.c;h=2b36a0fb70d77ba03b59ae83cb64ab66e6acb56b;hp=cfd8b9b43abf63b90436676ad67a11b86cfe765b;hb=8aeb80ab049612adefeafea65aaa038591200944;hpb=fe35ee039b64d8a585a9766b293b1393b4f8c787 diff --git a/ccan/string/test/run-grab.c b/ccan/string/test/run-grab.c index cfd8b9b4..2b36a0fb 100644 --- a/ccan/string/test/run-grab.c +++ b/ccan/string/test/run-grab.c @@ -1,25 +1,34 @@ -/* This is test for grab_file() function */ - -/* - * Example: - * - * void *grab_file(const void *ctx, const char *filename) - * { - * int fd; - * char *buffer; - * - * if (streq(filename, "-")) - * fd = dup(STDIN_FILENO); - * else - * fd = open(filename, O_RDONLY, 0); - * - * if (fd < 0) - * return NULL; - * - * buffer = grab_fd(ctx, fd); - * close_noerr(fd); - * return buffer; - * } +/* This is test for grab_file() function */ +#include +#include +#include +#include +#include "string/string.h" +#include "string/string.c" +#include "tap/tap.h" + +int +main(int argc, char *argv[]) +{ + unsigned int i; + char **split, *str; + int length; + struct stat st; + + str = grab_file(NULL, "ccan/string/test/run-grab.c", NULL); + split = strsplit(NULL, str, "\n", NULL); + length = strlen(split[0]); + ok1(streq(split[0], "/* This is test for grab_file() function")); + for (i = 1; split[i]; i++) + length += strlen(split[i]); + ok1(streq(split[i-1], "/* End of grab_file() test */")); + if (stat("ccan/string/test/run-grab.c", &st) != 0) + err(1, "Could not stat self"); + ok1(st.st_size == length + i); + + return 0; +} + /* End of grab_file() test */