Dont log each indexed entry
[idzebra-moved-to-github.git] / test / api / testlib.c
index b9c1b1e..3029a7c 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: testlib.c,v 1.6 2004-11-29 21:55:28 adam Exp $
+/* $Id: testlib.c,v 1.9 2004-12-14 11:23:15 adam Exp $
    Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003,2004
    Index Data Aps
 
@@ -23,6 +23,7 @@ Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
 /** testlib - utilities for the api tests */
 
 #include <assert.h>
+#include <yaz/log.h>
 #include <yaz/pquery.h>
 #include <idzebra/api.h>
 #include "testlib.h"
@@ -60,18 +61,27 @@ ZebraService start_up(char *cfgname, int argc, char **argv)
     return start_service(cfgname);
 }
 
+/**
+ * get_srcdir: return env srcdir or . (if does does not exist)
+ */
+const char *get_srcdir()
+{
+    const char *srcdir = getenv("srcdir");
+    if (!srcdir || ! *srcdir)
+        srcdir=".";
+    return srcdir;
+
+}
 /** start_service - do a zebra_start with a decent config name */
 ZebraService start_service(char *cfgname)
 {
     char cfg[256];
-    char *srcdir = getenv("srcdir");
+    const char *srcdir = get_srcdir();
     ZebraService zs;
-    if (!srcdir || ! *srcdir)
-        srcdir=".";
     if (!cfgname || ! *cfgname )
         cfgname="zebra.cfg";
 
-    sprintf(cfg, "%.200s/%s",srcdir, cfgname);
+    sprintf(cfg, "%.200s/%.50s", srcdir, cfgname);
     zs=zebra_start(cfg);
     if (!zs)
     {
@@ -249,3 +259,32 @@ void meta_query(int lineno, ZebraHandle zh, char *query, int exphits,
     free(positions);
 }
 
+struct finfo {
+    const char *name;
+    int occurred;
+};
+
+static void filter_cb(void *cd, const char *name)
+{
+    struct finfo *f = (struct finfo*) cd;
+    if (!strcmp(f->name, name))
+       f->occurred = 1;
+}
+
+void check_filter(ZebraService zs, const char *name)
+{
+    struct finfo f;
+
+    f.name = name;
+    f.occurred = 0;
+    zebra_filter_info(zs, &f, filter_cb);
+    if (!f.occurred)
+    {
+       yaz_log(YLOG_WARN, "Filter %s does not exist.", name);
+       exit(0);
+    }
+}
+
+
+
+