X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=test%2Fapi%2Ft6.c;h=e775f16349a6d9cae09494aa33e7de0c4372c21c;hb=77f01f9b79fd08a6841cf6fdf0a8802cbcdefe5b;hp=35a2cdefef25c6f580e9e2d954b9eb1e6eeb897f;hpb=ec214819d7b9e2f5c362584d8e38f83e13aae600;p=idzebra-moved-to-github.git diff --git a/test/api/t6.c b/test/api/t6.c index 35a2cde..e775f16 100644 --- a/test/api/t6.c +++ b/test/api/t6.c @@ -1,6 +1,6 @@ -/* $Id: t6.c,v 1.3 2004-08-25 09:23:39 adam Exp $ - Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003,2004 - Index Data Aps +/* $Id: t6.c,v 1.8 2005-04-20 10:20:32 adam Exp $ + Copyright (C) 1995-2005 + Index Data ApS This file is part of the Zebra server. @@ -20,69 +20,67 @@ Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -#include +/** t6.c Insert a number of randomly generated words */ -#include -#include -#include +#include "testlib.h" -/* 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; + ZebraService zs = start_up(0, argc, argv); + ZebraHandle zh = zebra_open(zs); - 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++) + for (i = 0; i<10; i++) { - char rec_buf[5120]; - int j; + int l; 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) + for (l = 0; l<1000; l++) { - int c = 65 + (rand() & 15); - sprintf(rec_buf + strlen(rec_buf), "%c ", c); + char rec_buf[5120]; + int j; + *rec_buf = '\0'; + strcat(rec_buf, "<gils><title>"); + if (i == 0) + { + sprintf(rec_buf + strlen(rec_buf), "aaa"); + } + else + { + 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)); } - 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_end_trans(zh); zebra_close(zh); } - zebra_stop(zs); + zh = zebra_open(zs); + + zebra_select_database(zh, "Default"); + + zebra_set_resource(zh, "trunclimit", "2"); + + /* check massive truncation: bug #281 */ + do_query(__LINE__, zh, "@attr 1=4 @attr 2=1 z", -1); - nmem_exit (); - xmalloc_trav ("x"); - exit (0); + return close_down(zh, zs, 0); }