X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=test%2Ftst_record_conv.c;h=42518b707a67bba226829512cc1748e58011c341;hp=c08b9378677816f490a001e0a137fc940fc65295;hb=ca68610f410cfe2134cf9e6a2437df7b2ea3abdf;hpb=8d691989077a0addcbd840d769dce6700f3d9622 diff --git a/test/tst_record_conv.c b/test/tst_record_conv.c index c08b937..42518b7 100644 --- a/test/tst_record_conv.c +++ b/test/tst_record_conv.c @@ -1,9 +1,6 @@ -/* - * Copyright (C) 2005-2007, 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.13 2007-01-03 08:42:16 adam Exp $ - * */ #include #include @@ -78,12 +75,12 @@ int conv_configure_test(const char *xmlstring, const char *expect_error, 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 @@ -100,7 +97,7 @@ int conv_configure_test(const char *xmlstring, const char *expect_error, if (p) yaz_record_conv_destroy(p); - wrbuf_free(w, 1); + wrbuf_destroy(w); return ret; } @@ -182,32 +179,36 @@ 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_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; } @@ -322,7 +323,7 @@ static void tst_convert2(void) "/>" "", 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); }