-/* $Id: testlib.h,v 1.11 2005-04-15 10:47:49 adam Exp $
+/* $Id: testlib.h,v 1.17 2005-12-15 13:28:32 adam Exp $
Copyright (C) 1995-2005
Index Data ApS
#include <yaz/log.h>
#include <idzebra/api.h>
-int log_level;
-
-
/**
* start_up : Does all the usual start functions
* - nmem_init
* 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);
/**
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, 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
* 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); }