X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=test%2Fapi%2Ft13.c;h=f04125b811fd7863336ce47c117110613086a49d;hb=2172d9cde5ac3e0f8bf17838aa7b1ac360f87049;hp=360ba739d878c0c15f1ab42af0734bf903b19be5;hpb=3d3d0cebd23fa527a7e9d5d728e3c744acb37580;p=idzebra-moved-to-github.git diff --git a/test/api/t13.c b/test/api/t13.c index 360ba73..f04125b 100644 --- a/test/api/t13.c +++ b/test/api/t13.c @@ -1,4 +1,4 @@ -/* $Id: t13.c,v 1.2 2005-09-13 11:51:07 adam Exp $ +/* $Id: t13.c,v 1.7 2006-03-31 16:02:56 adam Exp $ Copyright (C) 1995-2005 Index Data ApS @@ -23,9 +23,10 @@ Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA /** test resources */ #include #include +#include "testlib.h" #include -void tst() +static void tst_res(void) { Res default_res; /* default resources */ Res temp_res; /* temporary resources */ @@ -34,30 +35,28 @@ void tst() const char *val; int i; - default_res = res_open(0, 0, 0); /* completely empty */ - if (!default_res) - exit(1); + default_res = res_open(0, 0); /* completely empty */ + YAZ_CHECK(default_res); + res_set(default_res, "name1", "value1"); - temp_res = res_open(0, 0, 0); /* completely empty */ - if (!temp_res) - exit(1); + temp_res = res_open(0, 0); /* completely empty */ + YAZ_CHECK(temp_res); zs = zebra_start_res(0, default_res, temp_res); - if (!zs) - exit(2); + YAZ_CHECK(zs); zh = zebra_open(zs, 0); + YAZ_CHECK(zh); - zebra_select_database(zh, "Default"); + YAZ_CHECK(zebra_select_database(zh, "Default") == ZEBRA_OK); /* run this a few times so we can see leaks easier */ for (i = 0; i<10; i++) { /* we should find the name1 from default_res */ val = zebra_get_resource(zh, "name1", 0); - if (!val || strcmp(val, "value1")) - exit(3); + YAZ_CHECK(val && !strcmp(val, "value1")); /* make local override */ res_set(temp_res, "name1", "value2"); @@ -65,16 +64,13 @@ void tst() /* we should find the name1 from temp_res */ val = zebra_get_resource(zh, "name1", 0); - if (!val || strcmp(val, "value2")) - exit(4); + YAZ_CHECK(val && !strcmp(val, "value2")); val = zebra_get_resource(zh, "name4", 0); - if (!val || strcmp(val, "value4")) - exit(4); + YAZ_CHECK(val && !strcmp(val, "value4")); res_clear(temp_res); } - zebra_close(zh); zebra_stop(zs); @@ -82,8 +78,42 @@ void tst() res_close(default_res); } -int main(int argc, char **argv) +static void tst_no_config(void) +{ + static char *xml_buf = "myx"; + ZebraService zs; + ZebraHandle zh; + SYSNO sysno = 0; + + zs = zebra_start_res(0, 0, 0); + YAZ_CHECK(zs); + + zh = zebra_open(zs, 0); + YAZ_CHECK(zh); + + YAZ_CHECK_EQ(zebra_select_database(zh, "Default"), ZEBRA_OK); + + YAZ_CHECK_EQ(zebra_init(zh), ZEBRA_OK); + + zebra_set_resource(zh, "profilePath", "${srcdir:-.}/../../tab"); + + YAZ_CHECK_EQ(zebra_insert_record(zh /* handle */, + "grs.sgml" /* record type */, + &sysno, 0 /* match */, + 0 /* fname */, + xml_buf, strlen(xml_buf), + 0 /* force_update */), + ZEBRA_OK); + + zebra_close(zh); + zebra_stop(zs); +} + +static void tst(int argc, char **argv) { - tst(); - exit(0); + tl_start_log(argc, argv); + tst_res(); + tst_no_config(); } + +TL_MAIN