Bug fix: missing close (and leaking file handle)
[idzebra-moved-to-github.git] / test / testclient.c
index 24509f4..7fddccd 100644 (file)
@@ -1,11 +1,16 @@
 /*
- * $Id: testclient.c,v 1.5 2002-11-09 22:26:19 adam Exp $
+ * $Id: testclient.c,v 1.10 2003-02-28 15:34:21 adam Exp $
  *
  * Z39.50 client specifically for Zebra testing.
  */
 
 #include <stdlib.h>
 #include <stdio.h>
+#ifdef WIN32
+#else
+#include <unistd.h>
+#endif
+
 #include <yaz/xmalloc.h>
 #include <yaz/options.h>
 #include <yaz/zoom.h>
@@ -22,6 +27,7 @@ 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;
@@ -58,7 +64,7 @@ int main(int argc, char **argv)
         default:
             printf ("%s: unknown option %s\n", prog, arg);
             printf ("usage:\n%s [options] target query \n", prog);
-            printf (" eg.  bagel.indexdata.dk/gils computer\n");
+            printf (" eg.  indexdata.dk/gils computer\n");
             exit (1);
         }
     }
@@ -73,7 +79,6 @@ int main(int argc, char **argv)
         printf (" -o off       offset for records - counting from 0.\n");
         printf (" -f format    set record syntax. Default: none\n");
         printf (" -d sec       delay a number of seconds before exit.\n");
-        printf ("Options\n");
         exit (3);
     }
     z = ZOOM_connection_new (target, 0);
@@ -95,13 +100,17 @@ int main(int argc, char **argv)
     {
        printf ("Result count: %d\n", ZOOM_resultset_size(r));
        if (check_count != -1 && check_count != ZOOM_resultset_size(r))
-            exit_code = 10;
+       {
+           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++)
     {
-        size_t len;
+        int len;
         const char *rec =
             ZOOM_record_get(
                 ZOOM_resultset_record(r, pos + retrieve_offset),
@@ -114,5 +123,5 @@ int main(int argc, char **argv)
        sleep(delay_sec);
     ZOOM_resultset_destroy (r);
     ZOOM_connection_destroy (z);
-    exit (0);
+    exit (exit_code);
 }