Use PTHREAD_CFLAGS for all test sources
[yaz-moved-to-github.git] / test / tst_record_conv.c
index 6683b84..33ede53 100644 (file)
@@ -1,16 +1,12 @@
-/*
- * Copyright (C) 2005-2007, Index Data ApS
+/* This file is part of the YAZ toolkit.
+ * Copyright (C) 1995-2010 Index Data
  * See the file LICENSE for details.
- *
- * $Id: tst_record_conv.c,v 1.14 2007-03-19 14:40:07 adam Exp $
- *
  */
 #include <yaz/record_conv.h>
 #include <yaz/test.h>
 #include <yaz/wrbuf.h>
 #include <string.h>
 #include <yaz/log.h>
-#include <yaz/libxml2_error.h>
 
 #if HAVE_CONFIG_H
 #include <config.h>
@@ -182,21 +178,15 @@ static int conv_convert_test(yaz_record_conv_t p,
             {
                 ret = 0;
             }
-            else if (strlen(output_expect_record) != wrbuf_len(output_record))
-            {
-                int expect_len = strlen(output_expect_record);
-                ret = 0;
-                printf("output_record expect-len=%d got-len=%d\n", expect_len,
-                       wrbuf_len(output_record));
-                printf("got-output_record = %s\n", wrbuf_cstr(output_record));
-                printf("output_expect_record = %s\n", output_expect_record);
-            }
-            else if (memcmp(output_expect_record, wrbuf_buf(output_record),
-                            strlen(output_expect_record)))
+            else if (strcmp(output_expect_record, wrbuf_cstr(output_record)))
             {
                 ret = 0;
-                printf("got-output_record = %s\n", wrbuf_cstr(output_record));
-                printf("output_expect_record = %s\n", output_expect_record);
+                printf("got-output_record len=%ld: %s\n", 
+                       (long) wrbuf_len(output_record),
+                       wrbuf_cstr(output_record));
+                printf("output_expect_record len=%ld %s\n",
+                       (long) strlen(output_expect_record),
+                       output_expect_record);
             }
             else
             {
@@ -208,6 +198,22 @@ static int conv_convert_test(yaz_record_conv_t p,
     return ret;
 }
 
+static int conv_convert_test_iter(yaz_record_conv_t p,
+                                  const char *input_record,
+                                  const char *output_expect_record,
+                                  int num_iter)
+{
+    int i;
+    int ret;
+    for (i = 0; i < num_iter; i++)
+    {
+        ret = conv_convert_test(p, input_record, output_expect_record);
+        if (!ret)
+            break;
+    }
+    return ret;
+}
+
 static void tst_convert1(void)
 {
     yaz_record_conv_t p = 0;
@@ -318,7 +324,7 @@ static void tst_convert2(void)
                                   "/>"
                                   "</backend>",
                                   0, &p));
-    YAZ_CHECK(conv_convert_test(p, marcxml_rec, iso2709_rec));
+    YAZ_CHECK(conv_convert_test_iter(p, marcxml_rec, iso2709_rec, 100));
     yaz_record_conv_destroy(p);
 }
 
@@ -327,7 +333,7 @@ static void tst_convert2(void)
 int main(int argc, char **argv)
 {
     YAZ_CHECK_INIT(argc, argv);
-    libxml2_error_to_yazlog(0 /* disable log */, 0);
+    yaz_log_xml_errors(0, 0 /* disable log */);
 #if YAZ_HAVE_XML2
     tst_configure();
 #endif
@@ -341,6 +347,7 @@ int main(int argc, char **argv)
 /*
  * Local variables:
  * c-basic-offset: 4
+ * c-file-style: "Stroustrup"
  * indent-tabs-mode: nil
  * End:
  * vim: shiftwidth=4 tabstop=8 expandtab