X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=test%2Fapi%2Ftestlib.c;h=e376487b259c31e59f967f0494040f7c73f443c7;hb=b571d1a1012dfbe07e4a484ea5425c909bbf7120;hp=124fb1d7b8fabd08df7c5bec2149b37bf4ececc5;hpb=f8d924262bf4847a8366354cae841a458cde789d;p=idzebra-moved-to-github.git diff --git a/test/api/testlib.c b/test/api/testlib.c index 124fb1d..e376487 100644 --- a/test/api/testlib.c +++ b/test/api/testlib.c @@ -1,4 +1,4 @@ -/* $Id: testlib.c,v 1.36 2006-08-16 13:13:53 adam Exp $ +/* $Id: testlib.c,v 1.41 2006-11-22 14:06:53 adam Exp $ Copyright (C) 1995-2006 Index Data ApS @@ -38,32 +38,9 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA #include #include "testlib.h" -/** start_log: open a log file */ -/* FIXME - parse command line arguments to set log levels etc */ -int log_level=0; /* not static, t*.c may use it */ +int log_level = YLOG_LOG; -void tl_start_log(int argc, char **argv) -{ - int cmd_level = 0; - char logname[2048]; - if (!argv) - return; - if (!argv[0]) - return; - sprintf(logname, "%s.log", argv[0]); -#if HAVE_UNISTD_H - unlink(logname); -#endif - yaz_log_init_file(logname); - if (argc >= 2) - log_level = yaz_log_mask_str_x(argv[1], 0); - if (argc >= 3) - yaz_log_time_format(argv[2]); - yaz_log_init_level(YLOG_DEFAULT_LEVEL | log_level | cmd_level); - yaz_log(log_level, "starting %s", argv[0]); -} - -/** +/* * tl_start_up : do common start things, and a zebra_start * - nmem_init * - build the name of logfile from argv[0], and open it @@ -82,14 +59,13 @@ ZebraService tl_start_up(char *cfgname, int argc, char **argv) #endif #endif nmem_init(); - tl_start_log(argc, argv); return tl_zebra_start(cfgname); } /** * get_srcdir: return env srcdir or . (if does does not exist) */ -const char *tl_get_srcdir() +const char *tl_get_srcdir(void) { const char *srcdir = getenv("srcdir"); if (!srcdir || ! *srcdir) @@ -148,7 +124,14 @@ int tl_init_data(ZebraHandle zh, const char **recs) if (zebra_begin_trans (zh, 1) != ZEBRA_OK) return 0; for (i = 0; recs[i]; i++) - zebra_add_record(zh, recs[i], strlen(recs[i])); + { + if (zebra_add_record(zh, recs[i], strlen(recs[i])) != ZEBRA_OK) + { + if (zebra_end_trans(zh) != ZEBRA_OK) + return 0; + return 0; + } + } if (zebra_end_trans(zh) != ZEBRA_OK) return 0; zebra_commit(zh); @@ -240,6 +223,7 @@ int tl_scan(ZebraHandle zh, const char *query, int exp_pos, int exp_num, int exp_partial, const char **exp_entries) { + int ret = 1; ODR odr = odr_createmem(ODR_ENCODE); ZebraScanEntry *entries = 0; int partial = -123; @@ -250,61 +234,71 @@ int tl_scan(ZebraHandle zh, const char *query, res = zebra_scan_PQF(zh, odr, query, &pos, &num, &entries, &partial, 0 /* setname */); - if (res != ZEBRA_OK) + + if (partial == -123) { - printf("Error: scan returned %d (FAIL), but no error was expected\n" - "%s\n", res, query); - return 0; + printf("Error: scan returned OK, but partial was not set\n" + "%s\n", query); + ret = 0; + } + if (partial != exp_partial) + { + printf("Error: scan OK, with partial/expected %d/%d\n", + partial, exp_partial); + ret = 0; + } + if (res != ZEBRA_OK) /* failure */ + { + if (exp_entries) + { + printf("Error: scan failed, but no error was expected\n"); + ret = 0; + } } else { - int fails = 0; - if (partial == -123) - { - printf("Error: scan returned OK, but partial was not set\n" - "%s\n", query); - fails++; - } - if (partial != exp_partial) - { - printf("Error: scan returned OK, with partial/expected %d/%d\n" - "%s\n", partial, exp_partial, query); - fails++; - } - if (num != exp_num) - { - printf("Error: scan returned OK, with num/expected %d/%d\n" - "%s\n", num, exp_num, query); - fails++; - } - if (pos != exp_pos) - { - printf("Error: scan returned OK, with pos/expected %d/%d\n" - "%s\n", pos, exp_pos, query); - fails++; - } - if (fails) - return 0; - fails = 0; - if (exp_entries) - { - int i; - for (i = 0; i