From: Adam Dickmeiss Date: Wed, 9 Apr 2008 11:54:29 +0000 (+0200) Subject: Renamed safari1 test to test_safari. X-Git-Tag: v2.0.30~11 X-Git-Url: http://git.indexdata.com/?p=idzebra-moved-to-github.git;a=commitdiff_plain;h=4717561b3bc0bcd508b5d017079bd99b3a27dd84 Renamed safari1 test to test_safari. --- diff --git a/test/api/.gitignore b/test/api/.gitignore index b2fd701..4f8516d 100644 --- a/test/api/.gitignore +++ b/test/api/.gitignore @@ -4,7 +4,7 @@ Makefile Makefile.in t[0-9] t[0-9][0-9] -safari1 +test_safari *.mf *.LCK *.log diff --git a/test/api/Makefile.am b/test/api/Makefile.am index b0e96c1..478f57a 100644 --- a/test/api/Makefile.am +++ b/test/api/Makefile.am @@ -3,7 +3,7 @@ noinst_PROGRAMS = testclient testclient_SOURCES = testclient.c simpletests = t0 t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 t11 t12 t13 t14 t15 t16 t17 -safaritests = safari1 +safaritests = test_safari check_PROGRAMS = $(simpletests) $(safaritests) TESTS = $(check_PROGRAMS) @@ -33,7 +33,7 @@ t15_SOURCES = t15.c t16_SOURCES = t16.c t17_SOURCES = t17.c -safari1_SOURCES = safari1.c testlib.c +test_safari_SOURCES = test_safari.c testlib.c AM_CPPFLAGS = -I$(top_srcdir)/include $(YAZINC) diff --git a/test/api/safari.cfg b/test/api/safari.cfg deleted file mode 100644 index b422bfd..0000000 --- a/test/api/safari.cfg +++ /dev/null @@ -1,13 +0,0 @@ -profilepath: ${srcdir:-.}/../../tab - -attset: bib1.att - -recordType: safari2 - -segment: 1024 - -isam: b - -# Set up modulePath -modulePath: ../../index/.libs - diff --git a/test/api/safari1.c b/test/api/safari1.c deleted file mode 100644 index d903f96..0000000 --- a/test/api/safari1.c +++ /dev/null @@ -1,179 +0,0 @@ -/* 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 -Software Foundation; either version 2, or (at your option) any later -version. - -Zebra is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -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 this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - -*/ - -/* safari1 - insert a few Safari records */ - -#include "testlib.h" - -const char *myrec[] = -{ - "1234\n" /* ID first record */ - /* chunk owner seq idx term */ - "00024338 125060 0 1 any the\n" - "00024338 125060 0 2 any art\n" - "00024338 125060 0 3 any mand\n" - , - "5678\n" /* other record - same owner id */ - "00024339 125060 0 1 any den\n" - "00024339 125060 0 2 any gamle\n" - "00024339 125060 0 3 any mand\n" - , - "5678\n" /* same record chunk id as before .. */ - "00024339 125060 0 1 any the\n" - "00024339 125060 0 2 any gamle\n" - "00024339 125060 0 3 any mand\n" - , - "1000\n" /* separate record */ - "00024339 125061 0 1 any the\n" - "00024339 125061 0 2 any gamle\n" - "00024339 125061 0 3 any mand\n" - "w 00024339 125661 0 4 any Hello\n" - , - "1001\n" /* separate record */ - "00024340 125062 0 1 any the\n" - "00024340 125062 0 1 any the\n" /* DUP KEY, bug #432 */ - "00024340 125062 0 2 any old\n" - "00024340 125062 0 3 any mand\n" - , - "1002\n" /* segment testing record */ - "00024341 125062 0 1 title a\n" - "00024341 125062 0 2 title b\n" - - "00024341 125062 1 1024 title b\n" - "00024341 125062 1 1025 title c\n" - "00024341 125062 1 1026 title d\n" - "00024341 125062 1 1027 title e\n" - "00024341 125062 1 1028 title f\n" - - "00024341 125062 2 2048 title g\n" - "00024341 125062 2 2049 title c\n" - , - - 0 -}; - -static void tst(int argc, char **argv) -{ - zint ids[3]; - zint limits[3]; - ZebraService zs = tl_start_up("safari.cfg", argc, argv); - - ZebraHandle zh = zebra_open(zs, 0); - - YAZ_CHECK(tl_init_data(zh, myrec)); - - YAZ_CHECK(tl_query(zh, "@attr 4=3 @attr 1=any the", 3)); - YAZ_CHECK(tl_query(zh, "@attr 4=3 @attr 1=any den", 0)); - YAZ_CHECK(tl_query(zh, "@attr 4=3 @attr 1=any @and the art", 1)); - YAZ_CHECK(tl_query(zh, "@attr 4=3 @attr 1=any @and den gamle", 0)); - YAZ_CHECK(tl_query(zh, "@attr 4=3 @attr 1=any @and the gamle", 1)); - YAZ_CHECK(tl_query(zh, "@attr 4=3 @attr 1=any @and the of", 0)); - - YAZ_CHECK(tl_query(zh, "@attr 1=any hello", 1)); - - /* verify that we get these records exactly */ - ids[0] = 24338; - ids[1] = 24339; - ids[2] = 24340; - YAZ_CHECK(tl_meta_query(zh, "@attr 4=3 @attr 1=any mand", 3, ids)); - - YAZ_CHECK_EQ(tl_fetch_compare(zh, 1, "R", yaz_oid_recsyn_sutrs, - myrec[0]), ZEBRA_OK); - YAZ_CHECK_EQ(tl_fetch_compare(zh, 2, "R", yaz_oid_recsyn_sutrs, - myrec[2]), ZEBRA_OK); - YAZ_CHECK_EQ(tl_fetch_compare(zh, 3, "R", yaz_oid_recsyn_sutrs, - myrec[4]), ZEBRA_OK); - YAZ_CHECK_EQ(tl_fetch_compare(zh, 1, "zebra::facet::any:0", - yaz_oid_recsyn_xml, - "\n" - " \n" - " mand\n" - " the\n" - " art\n" - " gamle\n" - " old\n" - " \n" - "\n"), ZEBRA_OK); - YAZ_CHECK_EQ(tl_fetch_compare(zh, 1, "zebra::facet::any:0:2", - yaz_oid_recsyn_xml, - "\n" - " \n" - " mand\n" - " the\n" - " \n" - "\n"), ZEBRA_OK); - - /* limit to 125061 */ - limits[0] = 125061; - limits[1] = 0; - zebra_set_limit(zh, 0, limits); - ids[0] = 24339; - YAZ_CHECK(tl_meta_query(zh, "@attr 4=3 @attr 1=any mand", 1, ids)); - - /* limit to 125060, 125061 */ - limits[0] = 125061; - limits[1] = 125060; - limits[2] = 0; - zebra_set_limit(zh, 0, limits); - ids[0] = 24338; - ids[1] = 24339; - YAZ_CHECK(tl_meta_query(zh, "@attr 4=3 @attr 1=any mand", 2, ids)); - - /* all except 125062 */ - limits[0] = 125062; - limits[1] = 0; - zebra_set_limit(zh, 1, limits); - - ids[0] = 24338; - ids[1] = 24339; - YAZ_CHECK(tl_meta_query(zh, "@attr 4=3 @attr 1=any mand", 2, ids)); - - /* no limit */ - zebra_set_limit(zh, 1, 0); - YAZ_CHECK(tl_query(zh, "@attr 4=3 @attr 1=any mand", 3)); - - /* test segments */ - YAZ_CHECK(tl_query(zh, "@attr 4=3 @attr 1=title a", 1)); - YAZ_CHECK(tl_query(zh, "@attr 4=3 @attr 1=title b", 1)); - YAZ_CHECK(tl_query(zh, "@attr 4=3 @attr 1=title c", 1)); - - YAZ_CHECK(tl_query(zh, "@attr 4=3 @attr 1=title @and a b", 1)); - YAZ_CHECK(tl_query(zh, "@attr 4=3 @attr 1=title @and a c", 1)); - - YAZ_CHECK(tl_query(zh, "@attr 4=3 @attr 1=title @and c d", 1)); - YAZ_CHECK(tl_query(zh, "@attr 4=3 @attr 1=title @and b f", 1)); - YAZ_CHECK(tl_query(zh, "@attr 4=3 @attr 1=title @and f g", 0)); - YAZ_CHECK(tl_query(zh, "@attr 4=3 @attr 1=title @and g f", 0)); - YAZ_CHECK(tl_query(zh, "@attr 4=3 @attr 1=title @and d g", 0)); - YAZ_CHECK(tl_query(zh, "@attr 4=3 @attr 1=title @and g c", 0)); - YAZ_CHECK(tl_query(zh, "@attr 4=3 @attr 1=title @and c g", 0)); - YAZ_CHECK(tl_query(zh, "@attr 4=3 @attr 1=title @and c c", 1)); - - YAZ_CHECK(tl_close_down(zh, zs)); -} - -TL_MAIN -/* - * Local variables: - * c-basic-offset: 4 - * indent-tabs-mode: nil - * End: - * vim: shiftwidth=4 tabstop=8 expandtab - */ - diff --git a/test/api/test_safari.c b/test/api/test_safari.c new file mode 100644 index 0000000..e28ac6d --- /dev/null +++ b/test/api/test_safari.c @@ -0,0 +1,181 @@ +/* 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 +Software Foundation; either version 2, or (at your option) any later +version. + +Zebra is distributed in the hope that it will be useful, but WITHOUT ANY +WARRANTY; without even the implied warranty of MERCHANTABILITY or +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 this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +*/ + +/** \file + \brief test safari filter + */ + +#include "testlib.h" + +const char *myrec[] = +{ + "1234\n" /* ID first record */ + /* chunk owner seq idx term */ + "00024338 125060 0 1 any the\n" + "00024338 125060 0 2 any art\n" + "00024338 125060 0 3 any mand\n" + , + "5678\n" /* other record - same owner id */ + "00024339 125060 0 1 any den\n" + "00024339 125060 0 2 any gamle\n" + "00024339 125060 0 3 any mand\n" + , + "5678\n" /* same record chunk id as before .. */ + "00024339 125060 0 1 any the\n" + "00024339 125060 0 2 any gamle\n" + "00024339 125060 0 3 any mand\n" + , + "1000\n" /* separate record */ + "00024339 125061 0 1 any the\n" + "00024339 125061 0 2 any gamle\n" + "00024339 125061 0 3 any mand\n" + "w 00024339 125661 0 4 any Hello\n" + , + "1001\n" /* separate record */ + "00024340 125062 0 1 any the\n" + "00024340 125062 0 1 any the\n" /* DUP KEY, bug #432 */ + "00024340 125062 0 2 any old\n" + "00024340 125062 0 3 any mand\n" + , + "1002\n" /* segment testing record */ + "00024341 125062 0 1 title a\n" + "00024341 125062 0 2 title b\n" + + "00024341 125062 1 1024 title b\n" + "00024341 125062 1 1025 title c\n" + "00024341 125062 1 1026 title d\n" + "00024341 125062 1 1027 title e\n" + "00024341 125062 1 1028 title f\n" + + "00024341 125062 2 2048 title g\n" + "00024341 125062 2 2049 title c\n" + , + + 0 +}; + +static void tst(int argc, char **argv) +{ + zint ids[3]; + zint limits[3]; + ZebraService zs = tl_start_up("test_safari.cfg", argc, argv); + + ZebraHandle zh = zebra_open(zs, 0); + + YAZ_CHECK(tl_init_data(zh, myrec)); + + YAZ_CHECK(tl_query(zh, "@attr 4=3 @attr 1=any the", 3)); + YAZ_CHECK(tl_query(zh, "@attr 4=3 @attr 1=any den", 0)); + YAZ_CHECK(tl_query(zh, "@attr 4=3 @attr 1=any @and the art", 1)); + YAZ_CHECK(tl_query(zh, "@attr 4=3 @attr 1=any @and den gamle", 0)); + YAZ_CHECK(tl_query(zh, "@attr 4=3 @attr 1=any @and the gamle", 1)); + YAZ_CHECK(tl_query(zh, "@attr 4=3 @attr 1=any @and the of", 0)); + + YAZ_CHECK(tl_query(zh, "@attr 1=any hello", 1)); + + /* verify that we get these records exactly */ + ids[0] = 24338; + ids[1] = 24339; + ids[2] = 24340; + YAZ_CHECK(tl_meta_query(zh, "@attr 4=3 @attr 1=any mand", 3, ids)); + + YAZ_CHECK_EQ(tl_fetch_compare(zh, 1, "R", yaz_oid_recsyn_sutrs, + myrec[0]), ZEBRA_OK); + YAZ_CHECK_EQ(tl_fetch_compare(zh, 2, "R", yaz_oid_recsyn_sutrs, + myrec[2]), ZEBRA_OK); + YAZ_CHECK_EQ(tl_fetch_compare(zh, 3, "R", yaz_oid_recsyn_sutrs, + myrec[4]), ZEBRA_OK); + YAZ_CHECK_EQ(tl_fetch_compare(zh, 1, "zebra::facet::any:0", + yaz_oid_recsyn_xml, + "\n" + " \n" + " mand\n" + " the\n" + " art\n" + " gamle\n" + " old\n" + " \n" + "\n"), ZEBRA_OK); + YAZ_CHECK_EQ(tl_fetch_compare(zh, 1, "zebra::facet::any:0:2", + yaz_oid_recsyn_xml, + "\n" + " \n" + " mand\n" + " the\n" + " \n" + "\n"), ZEBRA_OK); + + /* limit to 125061 */ + limits[0] = 125061; + limits[1] = 0; + zebra_set_limit(zh, 0, limits); + ids[0] = 24339; + YAZ_CHECK(tl_meta_query(zh, "@attr 4=3 @attr 1=any mand", 1, ids)); + + /* limit to 125060, 125061 */ + limits[0] = 125061; + limits[1] = 125060; + limits[2] = 0; + zebra_set_limit(zh, 0, limits); + ids[0] = 24338; + ids[1] = 24339; + YAZ_CHECK(tl_meta_query(zh, "@attr 4=3 @attr 1=any mand", 2, ids)); + + /* all except 125062 */ + limits[0] = 125062; + limits[1] = 0; + zebra_set_limit(zh, 1, limits); + + ids[0] = 24338; + ids[1] = 24339; + YAZ_CHECK(tl_meta_query(zh, "@attr 4=3 @attr 1=any mand", 2, ids)); + + /* no limit */ + zebra_set_limit(zh, 1, 0); + YAZ_CHECK(tl_query(zh, "@attr 4=3 @attr 1=any mand", 3)); + + /* test segments */ + YAZ_CHECK(tl_query(zh, "@attr 4=3 @attr 1=title a", 1)); + YAZ_CHECK(tl_query(zh, "@attr 4=3 @attr 1=title b", 1)); + YAZ_CHECK(tl_query(zh, "@attr 4=3 @attr 1=title c", 1)); + + YAZ_CHECK(tl_query(zh, "@attr 4=3 @attr 1=title @and a b", 1)); + YAZ_CHECK(tl_query(zh, "@attr 4=3 @attr 1=title @and a c", 1)); + + YAZ_CHECK(tl_query(zh, "@attr 4=3 @attr 1=title @and c d", 1)); + YAZ_CHECK(tl_query(zh, "@attr 4=3 @attr 1=title @and b f", 1)); + YAZ_CHECK(tl_query(zh, "@attr 4=3 @attr 1=title @and f g", 0)); + YAZ_CHECK(tl_query(zh, "@attr 4=3 @attr 1=title @and g f", 0)); + YAZ_CHECK(tl_query(zh, "@attr 4=3 @attr 1=title @and d g", 0)); + YAZ_CHECK(tl_query(zh, "@attr 4=3 @attr 1=title @and g c", 0)); + YAZ_CHECK(tl_query(zh, "@attr 4=3 @attr 1=title @and c g", 0)); + YAZ_CHECK(tl_query(zh, "@attr 4=3 @attr 1=title @and c c", 1)); + + YAZ_CHECK(tl_close_down(zh, zs)); +} + +TL_MAIN +/* + * Local variables: + * c-basic-offset: 4 + * indent-tabs-mode: nil + * End: + * vim: shiftwidth=4 tabstop=8 expandtab + */ + diff --git a/test/api/test_safari.cfg b/test/api/test_safari.cfg new file mode 100644 index 0000000..b422bfd --- /dev/null +++ b/test/api/test_safari.cfg @@ -0,0 +1,13 @@ +profilepath: ${srcdir:-.}/../../tab + +attset: bib1.att + +recordType: safari2 + +segment: 1024 + +isam: b + +# Set up modulePath +modulePath: ../../index/.libs +