X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=test%2Ftestclient.c;h=eec7ff107575d0f560fec4282c3ae8c3d466d5ce;hb=9547d3a190e933173ff2015dc63aab498dcba130;hp=ee9363b74211ae54c05622187f4b8995468cf095;hpb=fc0d7f26cdad5ac7ca028e83af4af05ec4dd291f;p=idzebra-moved-to-github.git diff --git a/test/testclient.c b/test/testclient.c index ee9363b..eec7ff1 100644 --- a/test/testclient.c +++ b/test/testclient.c @@ -1,5 +1,5 @@ /* - * $Id: testclient.c,v 1.4 2002-10-23 13:55:37 adam Exp $ + * $Id: testclient.c,v 1.7 2002-11-11 15:41:19 heikki Exp $ * * Z39.50 client specifically for Zebra testing. */ @@ -22,13 +22,16 @@ int main(int argc, char **argv) char *target = 0; char *arg; int delay_sec = 0; + int expected_hits=-1; int ret; int retrieve_number = 0; int retrieve_offset = 0; char *format = 0; int pos; + int check_count = -1; + int exit_code = 0; - while ((ret = options("d:n:o:f:", argv, argc, &arg)) != -2) + while ((ret = options("d:n:o:f:c:", argv, argc, &arg)) != -2) { switch (ret) { @@ -50,6 +53,9 @@ int main(int argc, char **argv) case 'f': format = xstrdup(arg); break; + case 'c': + check_count = atoi(arg); + break; default: printf ("%s: unknown option %s\n", prog, arg); printf ("usage:\n%s [options] target query \n", prog); @@ -81,10 +87,21 @@ int main(int argc, char **argv) r = ZOOM_connection_search_pqf (z, query); if ((error = ZOOM_connection_error(z, &errmsg, &addinfo))) - fprintf (stderr, "Error: %s (%d) %s\n", errmsg, error, addinfo); + { + printf ("Error: %s (%d) %s\n", errmsg, error, addinfo); + if (check_count != -1) + exit_code = 10; + } else + { printf ("Result count: %d\n", ZOOM_resultset_size(r)); - + if (check_count != -1 && check_count != ZOOM_resultset_size(r)) + { + printf("Wrong number of hits, expected %d, got %d\n", + expected_hits, ZOOM_resultset_size(r) ); + exit(3); + } + } if (format) ZOOM_resultset_option_set(r, "preferredRecordSyntax", format); for (pos = 0; pos < retrieve_number; pos++) @@ -102,5 +119,5 @@ int main(int argc, char **argv) sleep(delay_sec); ZOOM_resultset_destroy (r); ZOOM_connection_destroy (z); - exit (0); + exit (exit_code); }