From 29b4d50820806980bcde3f77a59832bf37aefa52 Mon Sep 17 00:00:00 2001 From: Adam Dickmeiss Date: Tue, 14 Dec 2004 09:47:55 +0000 Subject: [PATCH] Added test/espec --- test/espec/Makefile.am | 27 ++++++++++++++++++ test/espec/brief.est | 5 ++++ test/espec/rec1.xml | 20 +++++++++++++ test/espec/root.abs | 11 +++++++ test/espec/t1.c | 74 ++++++++++++++++++++++++++++++++++++++++++++++++ test/espec/zebra.cfg | 12 ++++++++ 6 files changed, 149 insertions(+) create mode 100644 test/espec/Makefile.am create mode 100644 test/espec/brief.est create mode 100644 test/espec/rec1.xml create mode 100644 test/espec/root.abs create mode 100644 test/espec/t1.c create mode 100644 test/espec/zebra.cfg diff --git a/test/espec/Makefile.am b/test/espec/Makefile.am new file mode 100644 index 0000000..b36cb4f --- /dev/null +++ b/test/espec/Makefile.am @@ -0,0 +1,27 @@ +# $Id: Makefile.am,v 1.1 2004-12-14 09:47:55 adam Exp $ + +check_PROGRAMS = t1 + +TESTS = $(check_PROGRAMS) + +EXTRA_DIST = zebra.cfg rec1.xml root.abs brief.est + +t1_SOURCES = t1.c + +AM_CPPFLAGS = -I$(top_srcdir)/include $(YAZINC) + +zebralibs = \ + ../../index/libidzebra-api.la \ + ../../rset/libidzebra-rset.la \ + ../../recctrl/libidzebra-recctrl.la \ + ../../dict/libidzebra-dict.la \ + ../../isams/libidzebra-isams.la \ + ../../isamc/libidzebra-isamc.la \ + ../../isamb/libidzebra-isamb.la \ + ../../data1/libidzebra-data1.la \ + ../../bfile/libidzebra-bfile.la \ + ../../dfa/libidzebra-dfa.la \ + ../../util/libidzebra-util.la + +LDADD = ../api/libtestlib.a $(zebralibs) $(YAZLALIB) + diff --git a/test/espec/brief.est b/test/espec/brief.est new file mode 100644 index 0000000..84dd066 --- /dev/null +++ b/test/espec/brief.est @@ -0,0 +1,5 @@ +# $Id: brief.est,v 1.1 2004-12-14 09:47:55 adam Exp $ +simpleelement (3,l22) +simpleelement (3,idzebra)/(3,filename) + + diff --git a/test/espec/rec1.xml b/test/espec/rec1.xml new file mode 100644 index 0000000..1ae7151 --- /dev/null +++ b/test/espec/rec1.xml @@ -0,0 +1,20 @@ + + + + X211 + + + X212 + + + X213 + + + + + X221 + + + X2 X3 + + diff --git a/test/espec/root.abs b/test/espec/root.abs new file mode 100644 index 0000000..d429016 --- /dev/null +++ b/test/espec/root.abs @@ -0,0 +1,11 @@ +# $Id: root.abs,v 1.1 2004-12-14 09:47:55 adam Exp $ + +name root +reference WAIS-schema +attset bib1.att +tagset generic.tag + +esetname B brief.est +esetname F @ + +xelm /* any:w diff --git a/test/espec/t1.c b/test/espec/t1.c new file mode 100644 index 0000000..c74b743 --- /dev/null +++ b/test/espec/t1.c @@ -0,0 +1,74 @@ +/* $Id: t1.c,v 1.1 2004-12-14 09:47:55 adam Exp $ + Copyright (C) 2003,2004 + Index Data Aps + +This file is part of the Zebra server. + +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 Zebra; see the file LICENSE.zebra. If not, write to the +Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA +02111-1307, USA. +*/ + +#include "../api/testlib.h" + +int main(int argc, char **argv) +{ + ZebraService zs = start_up(0, argc, argv); + ZebraHandle zh = zebra_open(zs); + ZebraMetaRecord *recs; + char path[256]; + int i, errs = 0; + + zebra_select_database(zh, "Default"); + + zebra_init(zh); + + zebra_begin_trans(zh, 1); + for (i = 1; i <= 1; i++) + { + sprintf(path, "%.200s/rec%d.xml", get_srcdir(), i); + zebra_repository_update(zh, path); + } + zebra_end_trans(zh); + zebra_commit(zh); + + do_query(__LINE__,zh, "@attr 1=1016 X2", 1); + do_query(__LINE__,zh, "@attr 1=1016 {X2 X3}", 1); + +#if 0 + recs = zebra_meta_records_create_range (zh, "rsetname", 1, 4); + if (!recs) + { + fprintf(stderr, "recs==0\n"); + exit(1); + } + if (recs[0].sysno != 3) + errs++; + if (recs[1].sysno != 2) + errs++; + if (recs[2].sysno != 4) + errs++; + if (recs[3].sysno != 5) + errs++; + + zebra_meta_records_destroy (zh, recs, 4); +#endif + + if (errs) + { + fprintf(stderr, "%d sysnos did not match\n", errs); + exit(1); + } + return close_down(zh, zs, 0); +} diff --git a/test/espec/zebra.cfg b/test/espec/zebra.cfg new file mode 100644 index 0000000..42286c8 --- /dev/null +++ b/test/espec/zebra.cfg @@ -0,0 +1,12 @@ +# Simple Zebra configuration file +# $Id: zebra.cfg,v 1.1 2004-12-14 09:47:55 adam Exp $ +# +# Where the schema files, attribute files, etc are located. +profilePath: ${srcdir:-.}:${srcdir:-.}/../../tab + +# Files that describe the attribute sets supported. +attset: bib1.att +attset: explain.att + +recordtype.xml: grs.xml +isam: b -- 1.7.10.4