X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=test%2Fapi%2Ft7.c;h=0c4d308d899d48b8b842ba58ec479bb2cfccce75;hb=6cb032fd2ece4742e3516e0941507143f677e5cd;hp=2378a6a097b4917493514d713d9a46f2a793d50d;hpb=4989a5fc444f3bca0f094f1ac2bfe4f04af5e666;p=idzebra-moved-to-github.git diff --git a/test/api/t7.c b/test/api/t7.c index 2378a6a..0c4d308 100644 --- a/test/api/t7.c +++ b/test/api/t7.c @@ -1,6 +1,6 @@ -/* $Id: t7.c,v 1.3 2004-10-28 15:24:36 heikki Exp $ - Copyright (C) 2004 - Index Data Aps +/* $Id: t7.c,v 1.9 2005-05-11 12:39:38 adam Exp $ + Copyright (C) 1995-2005 + Index Data ApS This file is part of the Zebra server. @@ -20,81 +20,84 @@ Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -#include -#include -#include -#include +/** t7.c sorting */ #include "testlib.h" +#include - -int main(int argc, char **argv) -{ - ZebraService zs; - ZebraHandle zh; - const char *recs[] = { +const char *recs[] = { "\n" " My title\n" "\n", 0}; - const char *setname1="set1"; - const char *setname2="set2"; - const char *setname3="set3"; + + +int main(int argc, char **argv) +{ + const char *setname1 = "set1"; + const char *setname2 = "set2"; + const char *setname3 = "set3"; int status; - int rc; + ZEBRA_RES ret; + ZebraService zs = start_up(0, argc, argv); + ZebraHandle zh = zebra_open (zs); ODR odr_input = odr_createmem (ODR_DECODE); ODR odr_output = odr_createmem (ODR_ENCODE); YAZ_PQF_Parser parser = yaz_pqf_create(); - Z_RPNQuery *query = yaz_pqf_parse(parser, odr_input, - "@attr 1=4 my"); - Z_SortKeySpecList *spec = - yaz_sort_spec (odr_output, "@attr 1=4 id"); - int hits; + Z_RPNQuery *query = yaz_pqf_parse(parser, odr_input, "@attr 1=4 my"); + Z_SortKeySpecList *spec = yaz_sort_spec (odr_output, "1=4 <"); + zint hits; - yaz_log_init_file("t7.log"); + init_data(zh, recs); - nmem_init (); - - zs = start_service(""); /* default to zebra.cfg */ - zh = zebra_open (zs); - - init_data(zh,recs); - - - zebra_begin_trans (zh, 0); + zebra_begin_trans(zh, 0); - zebra_search_RPN (zh, odr_input, query, setname1, &hits); + ret = zebra_search_RPN(zh, odr_input, query, setname1, &hits); + if (ret == ZEBRA_FAIL) + { + int code = zebra_errCode(zh); + printf("search returned ERROR, OK was expected ret=%d " + "code=%d\n", ret, code); + } - rc=zebra_sort(zh, odr_output, 1, &setname1, setname2, spec, &status); - if (rc) + ret = zebra_sort(zh, odr_output, 1, &setname1, setname2, spec, &status); + if (ret == ZEBRA_FAIL) { - printf("sort A returned %d %d \n",rc,status); + int code = zebra_errCode(zh); + printf("sort A returned ERROR, OK was expected ret=%d status=%d " + "code=%d\n", ret, status, code); exit(1); } - rc=zebra_sort(zh, odr_output, 1, &setname2, setname3, spec, &status); - if (rc) + ret = zebra_sort(zh, odr_output, 1, &setname2, setname3, spec, &status); + if (ret == ZEBRA_FAIL) { - printf("sort B returned %d %d \n",rc,status); + int code = zebra_errCode(zh); + printf("sort B returned ERROR, OK was expected ret=%d status=%d " + "code=%d\n", ret, status, code); exit(1); } - zebra_end_trans (zh); + spec = yaz_sort_spec(odr_output, "1=5 <"); /* invalid sort spec */ + + ret = zebra_sort(zh, odr_output, 1, &setname1, setname2, spec, &status); + if (ret == ZEBRA_OK) + { + printf("sort C returned OK, ERROR was expected ret=%d status=%d\n", + ret, status); + exit(1); + } + zebra_end_trans(zh); yaz_pqf_destroy(parser); /* - zebra_deleleResultSet(zh, Z_DeleteRequest_list, + zebra_deleteResultSet(zh, Z_DeleteRequest_list, 1, &setnamep, &status); */ - odr_destroy (odr_input); - odr_destroy (odr_output); + odr_destroy(odr_input); + odr_destroy(odr_output); - zebra_commit (zh); - zebra_close (zh); - zebra_stop (zs); + zebra_commit(zh); - nmem_exit (); - xmalloc_trav ("x"); - logf(LOG_LOG,"========= all tests OK"); - exit (0); + return close_down(zh, zs, 0); }