-/*
- * Copyright (C) 2005-2006, Index Data ApS
+/* This file is part of the YAZ toolkit.
+ * Copyright (C) 1995-2008 Index Data
* See the file LICENSE for details.
- *
- * $Id: tst_record_conv.c,v 1.12 2006-12-12 10:41:39 marc Exp $
- *
*/
#include <yaz/record_conv.h>
#include <yaz/test.h>
if (!p)
{
- if (expect_error && !strcmp(wrbuf_buf(w), expect_error))
+ if (expect_error && !strcmp(wrbuf_cstr(w), expect_error))
ret = 1;
else
{
ret = 0;
- printf("%.*s\n", wrbuf_len(w), wrbuf_buf(w));
+ printf("%s\n", wrbuf_cstr(w));
}
}
else
if (p)
yaz_record_conv_destroy(p);
- wrbuf_free(w, 1);
+ wrbuf_destroy(w);
return ret;
}
{
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_len(output_record), wrbuf_buf(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_len(output_record), wrbuf_buf(output_record));
- printf("output_expect_record = %s\n",
- output_expect_record);
+ printf("got-output_record len=%d: %s\n",
+ wrbuf_len(output_record),wrbuf_cstr(output_record));
+ printf("output_expect_record len=%d %s\n",
+ strlen(output_expect_record), output_expect_record);
}
else
{
ret = 1;
}
}
- wrbuf_free(output_record, 1);
+ wrbuf_destroy(output_record);
+ }
+ 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;
}
"/>"
"</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);
}