X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=test%2Ftstodrstack.c;h=2cde413c2941b7965de5fe3f08a03fc458c4902b;hp=06b724afca5dc39bd99ad862429a2bd2ef981e9d;hb=eceac7b7869288887b1b14212208e73ab54116db;hpb=aa8977f5880c963f6754cc0c4bfa05ef023e83a4 diff --git a/test/tstodrstack.c b/test/tstodrstack.c index 06b724a..2cde413 100644 --- a/test/tstodrstack.c +++ b/test/tstodrstack.c @@ -1,15 +1,24 @@ +/* This file is part of the YAZ toolkit. + * Copyright (C) 1995-2009 Index Data + * See the file LICENSE for details. + */ #include #include #include +#include /** \brief build a 100 level query */ -void test1() +void test1(void) { ODR odr = odr_createmem(ODR_ENCODE); YAZ_PQF_Parser parser = yaz_pqf_create(); Z_RPNQuery *rpn_query; char qstr[10000]; int i; + int ret; + + YAZ_CHECK(odr); + YAZ_CHECK(parser); *qstr = '\0'; for (i = 0; i<100; i++) @@ -17,37 +26,33 @@ void test1() strcat(qstr, "1"); rpn_query = yaz_pqf_parse (parser, odr, qstr); + YAZ_CHECK(rpn_query); - if (!rpn_query) - exit(1); - - if (!z_RPNQuery(odr, &rpn_query, 0, 0)) - { - odr_perror(odr, "Encoding query"); - exit(1); - } + ret = z_RPNQuery(odr, &rpn_query, 0, 0); + YAZ_CHECK(ret); yaz_pqf_destroy(parser); odr_destroy(odr); } /** \brief build a circular referenced query */ -void test2() +void test2(void) { ODR odr = odr_createmem(ODR_ENCODE); YAZ_PQF_Parser parser = yaz_pqf_create(); Z_RPNQuery *rpn_query; + int ret; - rpn_query = yaz_pqf_parse (parser, odr, "@and @and a b c"); + YAZ_CHECK(odr); - if (!rpn_query) - exit(1); + rpn_query = yaz_pqf_parse (parser, odr, "@and @and a b c"); + YAZ_CHECK(rpn_query); - /* make a bad recursive refernce */ + /* make the circular reference */ rpn_query->RPNStructure->u.complex->s1 = rpn_query->RPNStructure; - if (!z_RPNQuery(odr, &rpn_query, 0, 0)) - odr_perror(odr, "Encoding query"); + ret = z_RPNQuery(odr, &rpn_query, 0, 0); /* should fail */ + YAZ_CHECK(!ret); yaz_pqf_destroy(parser); odr_destroy(odr); @@ -55,14 +60,17 @@ void test2() int main(int argc, char **argv) { + YAZ_CHECK_INIT(argc, argv); test1(); test2(); - exit(0); + YAZ_CHECK_TERM; } /* * Local variables: * c-basic-offset: 4 + * c-file-style: "Stroustrup" * indent-tabs-mode: nil * End: * vim: shiftwidth=4 tabstop=8 expandtab */ +