X-Git-Url: http://git.indexdata.com/?p=idzebra-moved-to-github.git;a=blobdiff_plain;f=test%2Fapi%2Ft13.c;h=47e38ef8f9e5ccd51bca4af7d58fcf92b7df42f9;hp=d390122521de0801949bd1f16c3fceb94d50475b;hb=1922579d92e1a9559d4c3ab4f1cf461f56c83c3b;hpb=6c3da5ae754ebcd91827f61f1d402129fe379093 diff --git a/test/api/t13.c b/test/api/t13.c index d390122..47e38ef 100644 --- a/test/api/t13.c +++ b/test/api/t13.c @@ -1,8 +1,5 @@ -/* $Id: t13.c,v 1.3 2005-09-13 13:15:24 adam Exp $ - Copyright (C) 1995-2005 - Index Data ApS - -This file is part of the Zebra server. +/* This file is part of the Zebra server. + Copyright (C) 1995-2008 Index Data Zebra is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free @@ -15,17 +12,18 @@ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License -along with Zebra; see the file LICENSE.zebra. If not, write to the -Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA -02111-1307, USA. +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ /** 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 */ @@ -35,29 +33,27 @@ void tst() int i; default_res = res_open(0, 0); /* completely empty */ - if (!default_res) - exit(1); + YAZ_CHECK(default_res); + res_set(default_res, "name1", "value1"); temp_res = res_open(0, 0); /* completely empty */ - if (!temp_res) - exit(1); + 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 +61,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 +75,49 @@ void tst() res_close(default_res); } -int main(int argc, char **argv) +static void tst_no_config(void) { - tst(); - exit(0); + static char *xml_buf = "myx"; + ZebraService zs; + ZebraHandle zh; + zint 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_update_record(zh /* handle */, + action_insert, + "grs.sgml" /* record type */, + &sysno, 0 /* match */, + 0 /* fname */, + xml_buf, strlen(xml_buf)), + ZEBRA_OK); + + zebra_close(zh); + zebra_stop(zs); } + +static void tst(int argc, char **argv) +{ + tst_res(); + tst_no_config(); +} + +TL_MAIN +/* + * Local variables: + * c-basic-offset: 4 + * indent-tabs-mode: nil + * End: + * vim: shiftwidth=4 tabstop=8 expandtab + */ +