X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=test%2Ftest_file_glob.c;h=7c8ceb8ad5a9a7021e73cec25c6ff6782e6cdaa7;hp=8cfc3c3557f362c122828cfd529c683b516f6f24;hb=28c5fe25e891098bcf5f18dfd0e3abe729dc340f;hpb=3107ce3a34993d2f784387f227a50343fff83bbc diff --git a/test/test_file_glob.c b/test/test_file_glob.c index 8cfc3c3..7c8ceb8 100644 --- a/test/test_file_glob.c +++ b/test/test_file_glob.c @@ -1,5 +1,5 @@ /* This file is part of the YAZ toolkit. - * Copyright (C) 1995-2010 Index Data + * Copyright (C) 1995-2013 Index Data * See the file LICENSE for details. */ @@ -10,7 +10,6 @@ #include #include #include -#include #include #include @@ -33,32 +32,39 @@ void tst_with_path(const char *tpath) yaz_file_globfree(&glob_res); } +static int check_file(const char *got, const char *expect) +{ + const char *f = got; + size_t l_match = strlen(expect); + YAZ_CHECK(f && strlen(f) >= l_match); + if (f && strlen(f) >= l_match && !strcmp(f + strlen(f) - l_match, expect)) + return 1; + return 0; +} + void tst(void) { yaz_glob_res_t glob_res; int ret; WRBUF tpath = wrbuf_alloc(); const char *srcdir = getenv("srcdir"); - + if (srcdir) { wrbuf_puts(tpath, srcdir); wrbuf_puts(tpath, "/"); } - wrbuf_puts(tpath, "Make*.am"); + wrbuf_puts(tpath, "test_file*.c"); ret = yaz_file_glob(wrbuf_cstr(tpath), &glob_res); YAZ_CHECK_EQ(ret, 0); - YAZ_CHECK_EQ(1, yaz_file_glob_get_num(glob_res)); - if (yaz_file_glob_get_num(glob_res) == 1) + YAZ_CHECK_EQ(2, yaz_file_glob_get_num(glob_res)); + if (yaz_file_glob_get_num(glob_res) == 2) { - const char *f = yaz_file_glob_get_file(glob_res, 0); - size_t l_match = strlen("Makefile.am"); - YAZ_CHECK(f && strlen(f) >= l_match); - if (f && strlen(f) >= l_match) - { - YAZ_CHECK(!strcmp(f + strlen(f) - l_match, "Makefile.am")); - } + YAZ_CHECK(check_file(yaz_file_glob_get_file(glob_res, 0), + "test_file_glob.c")); + YAZ_CHECK(check_file(yaz_file_glob_get_file(glob_res, 1), + "test_filepath.c")); } wrbuf_destroy(tpath); yaz_file_globfree(&glob_res);