From 8f170520029ded9cf0b7600f5ae07ecf73a9a34d Mon Sep 17 00:00:00 2001 From: Adam Dickmeiss Date: Thu, 2 Dec 2004 15:02:52 +0000 Subject: [PATCH] sort test now using api --- test/sort/Makefile.am | 28 ++++++++++++++++---- test/sort/sort1.c | 69 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 92 insertions(+), 5 deletions(-) create mode 100644 test/sort/sort1.c diff --git a/test/sort/Makefile.am b/test/sort/Makefile.am index f3f433e..f3f8e5c 100644 --- a/test/sort/Makefile.am +++ b/test/sort/Makefile.am @@ -1,10 +1,28 @@ -# $Id: Makefile.am,v 1.3 2004-07-28 09:47:41 adam Exp $ +# $Id: Makefile.am,v 1.4 2004-12-02 15:02:52 adam Exp $ -check_SCRIPTS = test1.sh +check_PROGRAMS = sort1 -TESTS = $(check_SCRIPTS) +TESTS = $(check_PROGRAMS) EXTRA_DIST = zebra.cfg default.idx string-hat.chr \ - rec1.xml rec2.xml rec3.xml rec4.xml zebra.cfg my.abs \ - $(check_SCRIPTS) + rec1.xml rec2.xml rec3.xml rec4.xml zebra.cfg my.abs + +sort1_SOURCES = sort1.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/sort/sort1.c b/test/sort/sort1.c new file mode 100644 index 0000000..6b09f25 --- /dev/null +++ b/test/sort/sort1.c @@ -0,0 +1,69 @@ +/* $Id: sort1.c,v 1.1 2004-12-02 15:02:52 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 errs = 0; + + zebra_select_database(zh, "Default"); + + zebra_init(zh); + + zebra_begin_trans(zh, 1); + sprintf(path, "%.200s/recs", get_srcdir()); + zebra_repository_update(zh, path); + zebra_end_trans(zh); + zebra_commit(zh); + + do_query(__LINE__,zh, "@or computer @attr 7=1 @attr 1=30 0", 4); + + 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); + + if (errs) + { + fprintf(stderr, "%d sysnos did not match\n", errs); + exit(1); + } + + return close_down(zh, zs, 0); +} -- 1.7.10.4