X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=test%2Fapi%2Ftest_sortidx.c;h=908fd8a78cc1c18b4df5b4d3150f43b3ec2acdb5;hb=250de4ed23a44f5eb3552db317eef0d0fbe3265c;hp=961e9457885f4f15d5abc3118a40f2ad897f7915;hpb=af102b1fb451ba27bfa7343528c4240b3ab3a80b;p=idzebra-moved-to-github.git diff --git a/test/api/test_sortidx.c b/test/api/test_sortidx.c index 961e945..908fd8a 100644 --- a/test/api/test_sortidx.c +++ b/test/api/test_sortidx.c @@ -1,5 +1,5 @@ /* This file is part of the Zebra server. - Copyright (C) 1995-2008 Index Data + Copyright (C) 2004-2013 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 @@ -17,16 +17,20 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ +#if HAVE_CONFIG_H +#include +#endif #include #include #include "testlib.h" -static void sort_add_cstr(zebra_sort_index_t si, const char *str) +static void sort_add_cstr(zebra_sort_index_t si, const char *str, + zint section_id) { WRBUF w = wrbuf_alloc(); wrbuf_puts(w, str); wrbuf_putc(w, '\0'); - zebra_sort_add(si, w); + zebra_sort_add(si, section_id, w); wrbuf_destroy(w); } @@ -39,38 +43,38 @@ static void tst1(zebra_sort_index_t si) zebra_sort_type(si, my_type); zebra_sort_sysno(si, sysno); - YAZ_CHECK_EQ(zebra_sort_read(si, w), 0); + YAZ_CHECK_EQ(zebra_sort_read(si, 0, w), 0); - sort_add_cstr(si, "abcde1"); + sort_add_cstr(si, "abcde1", 0); zebra_sort_sysno(si, sysno); - YAZ_CHECK_EQ(zebra_sort_read(si, w), 1); + YAZ_CHECK_EQ(zebra_sort_read(si, 0, w), 1); YAZ_CHECK(!strcmp(wrbuf_cstr(w), "abcde1")); zebra_sort_sysno(si, sysno+1); - YAZ_CHECK_EQ(zebra_sort_read(si, w), 0); + YAZ_CHECK_EQ(zebra_sort_read(si, 0, w), 0); zebra_sort_sysno(si, sysno-1); - YAZ_CHECK_EQ(zebra_sort_read(si, w), 0); + YAZ_CHECK_EQ(zebra_sort_read(si, 0, w), 0); zebra_sort_sysno(si, sysno); - zebra_sort_delete(si); - YAZ_CHECK_EQ(zebra_sort_read(si, w), 0); + zebra_sort_delete(si, 0); + YAZ_CHECK_EQ(zebra_sort_read(si, 0, w), 0); zebra_sort_type(si, my_type); zebra_sort_sysno(si, sysno); - YAZ_CHECK_EQ(zebra_sort_read(si, w), 0); + YAZ_CHECK_EQ(zebra_sort_read(si, 0, w), 0); wrbuf_rewind(w); - sort_add_cstr(si, "abcde1"); + sort_add_cstr(si, "abcde1", 0); zebra_sort_sysno(si, sysno); - YAZ_CHECK_EQ(zebra_sort_read(si, w), 1); + YAZ_CHECK_EQ(zebra_sort_read(si, 0, w), 1); YAZ_CHECK(!strcmp(wrbuf_cstr(w), "abcde1")); zebra_sort_sysno(si, sysno); - zebra_sort_delete(si); + zebra_sort_delete(si, 0); wrbuf_destroy(w); } @@ -85,22 +89,25 @@ static void tst2(zebra_sort_index_t si) for (sysno = 1; sysno < 50; sysno++) { + zint input_section_id = 12345; + zint output_section_id = 0; WRBUF w1 = wrbuf_alloc(); WRBUF w2 = wrbuf_alloc(); zebra_sort_sysno(si, sysno); - YAZ_CHECK_EQ(zebra_sort_read(si, w2), 0); - + YAZ_CHECK_EQ(zebra_sort_read(si, 0, w2), 0); + for (i = 0; i < 600; i++) /* 600 * 6 < max size =4K */ wrbuf_write(w1, "12345", 6); - - zebra_sort_add(si, w1); - + + zebra_sort_add(si, input_section_id, w1); + zebra_sort_sysno(si, sysno); - - YAZ_CHECK_EQ(zebra_sort_read(si, w2), 1); - + + YAZ_CHECK_EQ(zebra_sort_read(si, &output_section_id, w2), 1); + YAZ_CHECK_EQ(wrbuf_len(w1), wrbuf_len(w2)); YAZ_CHECK(!memcmp(wrbuf_buf(w1), wrbuf_buf(w2), wrbuf_len(w2))); + YAZ_CHECK_EQ(input_section_id, output_section_id); wrbuf_destroy(w1); wrbuf_destroy(w2); } @@ -154,6 +161,7 @@ TL_MAIN /* * Local variables: * c-basic-offset: 4 + * c-file-style: "Stroustrup" * indent-tabs-mode: nil * End: * vim: shiftwidth=4 tabstop=8 expandtab