Allow record subsystem to return system numbers (document ID) with a fake
[idzebra-moved-to-github.git] / test / api / testlib.h
index 3ce9288..ce7c1d0 100644 (file)
@@ -1,6 +1,6 @@
-/* $Id: testlib.h,v 1.5 2004-11-29 21:55:28 adam Exp $
-   Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003,2004
-   Index Data Aps
+/* $Id: testlib.h,v 1.15 2005-08-09 12:30:47 adam Exp $
+   Copyright (C) 1995-2005
+   Index Data ApS
 
 This file is part of the Zebra server.
 
@@ -23,13 +23,11 @@ Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
 /** testlib - utilities for the api tests */
 
 #include <stdlib.h>
-#include <yaz/ylog.h>
+#include <yaz/yconfig.h>
 #include <yaz/pquery.h>
+#include <yaz/log.h>
 #include <idzebra/api.h>
 
-int log_level;
-
-
 /** 
  * start_up : Does all the usual start functions
  *    - nmem_init
@@ -40,6 +38,12 @@ int log_level;
  */
 ZebraService start_up(char *cfgname, int argc, char **argv);
 
+/**
+ * get_srcdir : returns the source dir. Most often ".", but when
+ * making distcheck, some other dir 
+ */
+const char *get_srcdir();
+
 /** 
  * start_log: open a log file 
  */
@@ -66,14 +70,31 @@ ZebraService start_service(char *cfgname);
 int close_down(ZebraHandle zh, ZebraService zs, int retcode);
 
 /** inits the database and inserts test data */
-void init_data( ZebraHandle zh, const char **recs);
+void init_data(ZebraHandle zh, const char **recs);
 
 
 /**
  * do_query does a simple query, and checks that the number of hits matches
  */
-int do_query(int lineno, ZebraHandle zh, char *query, int exphits);
+int do_query(int lineno, ZebraHandle zh, const char *query, zint exphits);
+
 
+/**
+ * do_query does a simple query, and checks that error is what is expected
+ */
+int do_query_x(int lineno, ZebraHandle zh, const char *query, zint exphits,
+              int experror);
+
+/**
+ * do_scan is a utility for scan testing 
+ */
+void do_scan(int lineno, ZebraHandle zh, const char *query,
+            int pos, int num,  /* input params */
+            int exp_pos, int exp_num,  int exp_partial, /* expected result */
+            const char **exp_entries  /* expected entries (or NULL) */
+    );
+
+void do_sort(ZebraHandle zh, const char *query, zint hits, zint *exp);
 
 /** 
  * ranking_query makes a query, checks number of hits, and for 
@@ -89,3 +110,8 @@ void ranking_query(int lineno, ZebraHandle zh, char *query,
  */
 void meta_query(int lineno, ZebraHandle zh, char *query, int exphits,
                zint *ids);
+
+/**
+ * if filter given by name does not exist, exit nicely but warn in log 
+ */
+void check_filter(ZebraService zs, const char *name);