From 9b5460b01c5758f993296f3de90ea7622644ae15 Mon Sep 17 00:00:00 2001 From: Adam Dickmeiss Date: Fri, 13 Aug 2004 13:16:52 +0000 Subject: [PATCH] Add test t6 from Zebra 1.3.16 branch --- test/api/Makefile.am | 7 ++-- test/api/t6.c | 87 ++++++++++++++++++++++++++++++++++++++++++++++++++ test/api/zebra6.cfg | 10 ++++++ 3 files changed, 101 insertions(+), 3 deletions(-) create mode 100644 test/api/t6.c create mode 100644 test/api/zebra6.cfg diff --git a/test/api/Makefile.am b/test/api/Makefile.am index 3d06408..4ab3f93 100644 --- a/test/api/Makefile.am +++ b/test/api/Makefile.am @@ -1,18 +1,19 @@ -# $Id: Makefile.am,v 1.12 2004-06-14 21:43:44 adam Exp $ +# $Id: Makefile.am,v 1.13 2004-08-13 13:16:52 adam Exp $ noinst_PROGRAMS = testclient testclient_SOURCES = testclient.c -check_PROGRAMS = t1 t2 t3 t4 t5 +check_PROGRAMS = t1 t2 t3 t4 t5 t6 TESTS = $(check_PROGRAMS) -EXTRA_DIST=zebra.cfg +EXTRA_DIST=zebra.cfg zebra6.cfg t1_SOURCES = t1.c t2_SOURCES = t2.c t3_SOURCES = t3.c t4_SOURCES = t4.c t5_SOURCES = t5.c +t6_SOURCES = t6.c AM_CPPFLAGS = -I$(top_srcdir)/include $(YAZINC) diff --git a/test/api/t6.c b/test/api/t6.c new file mode 100644 index 0000000..28a4c47 --- /dev/null +++ b/test/api/t6.c @@ -0,0 +1,87 @@ +/* $Id: t6.c,v 1.2 2004-08-13 13:16:52 adam Exp $ + Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,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 + +#include +#include +#include +/* read zebra.cfg from env var srcdir if it exists; otherwise current dir */ +static ZebraService start_service() +{ + char cfg[256]; + char *srcdir = getenv("srcdir"); + sprintf(cfg, "%.200s%szebra6.cfg", srcdir ? srcdir : "", srcdir ? "/" : ""); + return zebra_start(cfg); +} + +int main(int argc, char **argv) +{ + int i; + ZebraService zs; + ZebraHandle zh; + + yaz_log_init_file("t6.log"); + + nmem_init (); + + srand(17); + + zs = start_service(); + zh = zebra_open(zs); + zebra_select_database(zh, "Default"); + zebra_init(zh); + zebra_close(zh); + + for (i = 0; i<100; i++) + { + char rec_buf[5120]; + int j; + + zh = zebra_open (zs); + zebra_select_database(zh, "Default"); + + zebra_begin_trans (zh, 1); + + *rec_buf = '\0'; + strcat(rec_buf, ""); + j = (rand() & 15) + 1; + while (--j >= 0) + { + int c = 65 + (rand() & 15); + sprintf(rec_buf + strlen(rec_buf), "%c ", c); + } + strcat(rec_buf, ""); + j = rand() & 31; + sprintf(rec_buf + strlen(rec_buf), "%d", j); + strcat(rec_buf, ""); + zebra_add_record (zh, rec_buf, strlen(rec_buf)); + + zebra_end_trans (zh); + zebra_close(zh); + } + zebra_stop(zs); + + nmem_exit (); + xmalloc_trav ("x"); + exit (0); +} diff --git a/test/api/zebra6.cfg b/test/api/zebra6.cfg new file mode 100644 index 0000000..7fc4c8d --- /dev/null +++ b/test/api/zebra6.cfg @@ -0,0 +1,10 @@ +# $Id: zebra6.cfg,v 1.2 2004-08-13 13:16:52 adam Exp $ +profilepath: ${srcdir:-.}/../../tab + +attset: bib1.att + +recordType: grs.sgml + +isam: b + +recordId: (bib1,identifier-standard) -- 1.7.10.4