Fix logging of record type
[idzebra-moved-to-github.git] / test / api / testlib.h
index 6c2e3fa..298e880 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: testlib.h,v 1.12 2005-04-28 11:25:24 adam Exp $
+/* $Id: testlib.h,v 1.17 2005-12-15 13:28:32 adam Exp $
    Copyright (C) 1995-2005
    Index Data ApS
 
@@ -56,7 +56,7 @@ void start_log(int argc, char **argv);
  * and uses that if need be. 
  * The name defaults to zebra.cfg, if null or emtpy
  */
-ZebraService start_service(char *cfgname);
+ZebraService start_service(const char *cfgname);
 
 
 /** 
@@ -76,15 +76,26 @@ 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, char *query, int exphits,
+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 
  * the first hit, that it contains the given string, and that it 
@@ -104,3 +115,6 @@ void meta_query(int lineno, ZebraHandle zh, char *query, int exphits,
  * if filter given by name does not exist, exit nicely but warn in log 
  */
 void check_filter(ZebraService zs, const char *name);
+
+#define TL_ASSERT(x) if (!(x)) { yaz_log(YLOG_FATAL, "%s:%d TL_ASSERT(%s) failed",  __FILE__, __LINE__, #x); exit(1); }
+#define TL_ASSERT2(x,m) if (!(x)) { yaz_log(YLOG_WARN, "%s", m); yaz_log(YLOG_FATAL, "%s:%d TL_ASSERT(%s) failed",  __FILE__, __LINE__, #x); exit(1); }