Rename C-based tests
[yaz-moved-to-github.git] / test / tst_retrieval.c
diff --git a/test/tst_retrieval.c b/test/tst_retrieval.c
deleted file mode 100644 (file)
index 89ba159..0000000
+++ /dev/null
@@ -1,334 +0,0 @@
-/* This file is part of the YAZ toolkit.
- * Copyright (C) 1995-2010 Index Data
- * See the file LICENSE for details.
- */
-#include <yaz/retrieval.h>
-#include <yaz/test.h>
-#include <yaz/wrbuf.h>
-#include <string.h>
-#include <yaz/log.h>
-
-#if HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#if YAZ_HAVE_XSLT
-
-#include <libxml/parser.h>
-#include <libxml/tree.h>
-
-yaz_retrieval_t conv_configure(const char *xmlstring, WRBUF w)
-{
-    xmlDocPtr doc = xmlParseMemory(xmlstring, strlen(xmlstring));
-    if (!doc)
-    {
-        wrbuf_printf(w, "xmlParseMemory");
-        return 0;
-    }
-    else
-    {
-        xmlNodePtr ptr = xmlDocGetRootElement(doc);
-        yaz_retrieval_t p = yaz_retrieval_create();
-
-        if (p)
-        {
-            const char *srcdir = getenv("srcdir");
-            if (srcdir)
-                yaz_retrieval_set_path(p, srcdir);
-        }
-        if (!ptr)
-        {
-            wrbuf_printf(w, "xmlDocGetRootElement");
-            yaz_retrieval_destroy(p);
-            p = 0;
-        }
-        else if (!p)
-        {
-            wrbuf_printf(w, "yaz_retrieval_create");
-        }
-        else
-        {
-            int r = yaz_retrieval_configure(p, ptr);
-            
-            if (r)
-            {
-                wrbuf_puts(w, yaz_retrieval_get_error(p));
-                yaz_retrieval_destroy(p);
-                p = 0;
-            }
-        }
-        xmlFreeDoc(doc);
-        return p;
-    }    
-}
-
-int conv_configure_test(const char *xmlstring, const char *expect_error,
-                        yaz_retrieval_t *pt)
-{
-    WRBUF w = wrbuf_alloc();
-    int ret;
-
-    yaz_retrieval_t p = conv_configure(xmlstring, w);
-
-    if (!p)
-    {
-        if (expect_error && !strcmp(wrbuf_cstr(w), expect_error))
-            ret = 1;
-        else
-        {
-            ret = 0;
-            printf("%s\n", wrbuf_cstr(w));
-        }
-    }
-    else
-    {
-        if (expect_error)
-        {
-            ret = 0;
-            yaz_retrieval_destroy(p);
-        }
-        else
-        {
-            if (pt)
-                *pt = p;
-            else
-                yaz_retrieval_destroy(p);
-            ret = 1;
-        }
-    }
-    wrbuf_destroy(w);
-    return ret;
-}
-
-static void tst_configure(void)
-{
-    YAZ_CHECK(conv_configure_test("<bad", 
-                                  "xmlParseMemory", 0));
-
-    YAZ_CHECK(conv_configure_test("<bad/>", 
-                                  "Expected element <retrievalinfo>", 0));
-
-    YAZ_CHECK(conv_configure_test("<retrievalinfo/>", 0, 0));
-
-    YAZ_CHECK(conv_configure_test("<retrievalinfo><bad/></retrievalinfo>",
-                                  "Element <retrievalinfo>:"
-                                  " expected element <retrieval>, got <bad>",
-                                  0));
-
-    YAZ_CHECK(conv_configure_test("<retrievalinfo><retrieval/>"
-                                  "</retrievalinfo>",
-                                  "Missing 'syntax' attribute", 0));
-
-
-    YAZ_CHECK(conv_configure_test("<retrievalinfo>"
-                                  "<retrieval" 
-                                  " unknown=\"unknown\""
-                                  ">"
-                                  "</retrieval>"
-                                  "</retrievalinfo>",
-                                  "Element <retrieval>:  expected attributes "
-                                  "'syntax', identifier' or 'name', got "
-                                  "'unknown'", 0));
-
-    YAZ_CHECK(conv_configure_test("<retrievalinfo>"
-                                  "<retrieval" 
-                                  " syntax=\"unknown_synt\""
-                                  ">"
-                                  "</retrieval>"
-                                  "</retrievalinfo>",
-                                  "Element <retrieval>:  unknown attribute "
-                                  "value syntax='unknown_synt'", 0));
-
-    YAZ_CHECK(conv_configure_test("<retrievalinfo>"
-                                  "<retrieval" 
-                                  " syntax=\"usmarc\""
-                                  "/>"
-                                  "</retrievalinfo>",
-                                  0, 0));
-
-    YAZ_CHECK(conv_configure_test("<retrievalinfo>"
-                                  "<retrieval" 
-                                  " syntax=\"usmarc\""
-                                  " name=\"marcxml\"/>"
-                                  "</retrievalinfo>",
-                                  0, 0));
-
-
-    YAZ_CHECK(conv_configure_test("<retrievalinfo>"
-                                  "<retrieval" 
-                                  " syntax=\"usmarc\""
-                                  " name=\"marcxml\"" 
-                                  " identifier=\"info:srw/schema/1/marcxml-v1.1\""
-                                  "/>"
-                                  "</retrievalinfo>",
-                                  0, 0));
-
-
-
-    YAZ_CHECK(conv_configure_test("<retrievalinfo>"
-                                  "<retrieval" 
-                                  " syntax=\"usmarc\""
-                                  " identifier=\"info:srw/schema/1/marcxml-v1.1\""
-                                  " name=\"marcxml\">"
-                                  "<convert/>"
-                                  "</retrieval>" 
-                                  "</retrievalinfo>",
-                                  "Element <retrieval>: expected zero or one element "
-                                  "<backend>, got <convert>", 0));
-
-    YAZ_CHECK(conv_configure_test("<retrievalinfo>"
-                                  "<retrieval" 
-                                  " syntax=\"usmarc\""
-                                  " identifier=\"info:srw/schema/1/marcxml-v1.1\""
-                                  " name=\"marcxml\">"
-                                  " <backend syntax=\"usmarc\""
-                                  " schema=\"marcxml\""
-                                  "/>"
-                                  "</retrieval>"
-                                  "</retrievalinfo>",
-                                  "Element <backend>: expected attributes 'syntax' or 'name,"
-                                  " got 'schema'", 0));
-
-    YAZ_CHECK(conv_configure_test("<retrievalinfo>"
-                                  "<retrieval" 
-                                  " syntax=\"usmarc\""
-                                  " identifier=\"info:srw/schema/1/marcxml-v1.1\""
-                                  " name=\"marcxml\">"
-                                  " <backend syntax=\"usmarc\""
-                                  " name=\"marcxml\""
-                                  "/>"
-                                  "</retrieval>"
-                                  "</retrievalinfo>",
-                                  0, 0));
-
-    YAZ_CHECK(conv_configure_test("<retrievalinfo>"
-                                  "<retrieval" 
-                                  " syntax=\"usmarc\""
-                                  " identifier=\"info:srw/schema/1/marcxml-v1.1\""
-                                  " name=\"marcxml\">"
-                                  " <backend syntax=\"unknown\""
-                                  "/>"
-                                  "</retrieval>"
-                                  "</retrievalinfo>",
-                                  "Element <backend syntax='unknown'>: "
-                                  "attribute 'syntax' has invalid value "
-                                  "'unknown'", 0));
-
-
-    YAZ_CHECK(conv_configure_test("<retrievalinfo>"
-                                  "<retrieval" 
-                                  " syntax=\"usmarc\""
-                                  " identifier=\"info:srw/schema/1/marcxml-v1.1\""
-                                    " name=\"marcxml\">"
-                                  " <backend syntax=\"usmarc\""
-                                  " unknown=\"silly\""
-                                  "/>"
-                                  "</retrieval>"
-                                  "</retrievalinfo>",
-                                  "Element <backend>: expected attributes "
-                                  "'syntax' or 'name, got 'unknown'", 0));
-
-
-    YAZ_CHECK(conv_configure_test("<retrievalinfo>"
-                                  "<retrieval syntax=\"usmarc\">"
-                                  "<backend syntax=\"xml\" name=\"dc\">"
-                                  "<xslt stylesheet=\"tst_record_conv.xsl\"/>"
-                                  "<marc"
-                                  " inputcharset=\"utf-8\""
-                                  " outputcharset=\"non-existent\""
-                                  " inputformat=\"xml\""
-                                  " outputformat=\"marc\""
-                                  "/>"
-                                  "</backend>"
-                                  "</retrieval>"
-                                  "</retrievalinfo>",
-                                  "Element <marc inputcharset='utf-8'"
-                                  " outputcharset='non-existent'>: Unsupported character"
-                                  " set mapping defined by attribute values", 0));
-
-    YAZ_CHECK(conv_configure_test("<retrievalinfo>"
-                                  "<retrieval syntax=\"usmarc\">"
-                                  "<backend syntax=\"xml\" name=\"dc\">"
-                                  "<xslt stylesheet=\"tst_record_conv.xsl\"/>"
-                                  "<marc"
-                                  " inputcharset=\"utf-8\""
-                                  " outputcharset=\"marc-8\""
-                                  " inputformat=\"not-existent\""
-                                  " outputformat=\"marc\""
-                                  "/>"
-                                  "</backend>"
-                                  "</retrieval>"
-                                  "</retrievalinfo>",
-                                  "Element <marc inputformat='not-existent'>:  Unsupported"
-                                  " input format defined by attribute value", 0));
-
-    YAZ_CHECK(conv_configure_test("<retrievalinfo>"
-                                  "<retrieval syntax=\"usmarc\">"
-                                  "<backend syntax=\"xml\" name=\"dc\">"
-                                  "<xslt stylesheet=\"tst_record_conv.xsl\"/>"
-                                  "<marc"
-                                  " inputcharset=\"utf-8\""
-                                  " outputcharset=\"marc-8\""
-                                  " inputformat=\"xml\""
-                                  " outputformat=\"marc\""
-                                  "/>"
-                                  "</backend>"
-                                  "</retrieval>"
-                                  "</retrievalinfo>",
-                                  0, 0));
-
-    YAZ_CHECK(conv_configure_test(
-                                  "<retrievalinfo "
-                                  " xmlns=\"http://indexdata.com/yaz\" version=\"1.0\">"
-                                  "<retrieval syntax=\"grs-1\"/>"
-                                  "<retrieval syntax=\"usmarc\" name=\"F\"/>"
-                                  "<retrieval syntax=\"usmarc\" name=\"B\"/>"
-                                  "<retrieval syntax=\"xml\" name=\"marcxml\" "
-                                  "           identifier=\"info:srw/schema/1/marcxml-v1.1\">"
-                                  "  <backend syntax=\"usmarc\" name=\"F\">"
-                                  "    <marc inputformat=\"marc\" outputformat=\"marcxml\" "
-                                  "            inputcharset=\"marc-8\"/>"
-                                  "  </backend>"
-                                  "</retrieval>"
-                                  "<retrieval syntax=\"xml\" name=\"danmarc\">"
-                                  "  <backend syntax=\"usmarc\" name=\"F\">"
-                                  "    <marc inputformat=\"marc\" outputformat=\"marcxchange\" "
-                                  "          inputcharset=\"marc-8\"/>"
-                                  "  </backend>"
-                                  "</retrieval>"
-                                  "<retrieval syntax=\"xml\" name=\"dc\" "
-                                  "           identifier=\"info:srw/schema/1/dc-v1.1\">"
-                                  "  <backend syntax=\"usmarc\" name=\"F\">"
-                                  "    <marc inputformat=\"marc\" outputformat=\"marcxml\" "
-                                  "          inputcharset=\"marc-8\"/>"
-                                  "    <xslt stylesheet=\"tst_record_conv.xsl\"/> "
-                                  "  </backend>"
-                                  "</retrieval>"
-                                  "</retrievalinfo>",
-                                  0, 0));
-
-}
-
-#endif
-
-int main(int argc, char **argv)
-{
-    YAZ_CHECK_INIT(argc, argv);
-
-    yaz_log_xml_errors(0, 0 /* disable it */);
-
-#if YAZ_HAVE_XSLT
-    tst_configure();
-#endif
-    YAZ_CHECK_TERM;
-}
-
-/*
- * Local variables:
- * c-basic-offset: 4
- * c-file-style: "Stroustrup"
- * indent-tabs-mode: nil
- * End:
- * vim: shiftwidth=4 tabstop=8 expandtab
- */
-