2 # tests that updates are reflected immediately # in the registers.
3 # Repeatedly modifies a record and counts hits.
4 # Test 1: with good sleeps in every between - should pass always
8 if [ "$srcdir" != "." ]
10 echo "Jumping over test"
18 echo " init..." >>$LOG
20 # these should not be here, will be created later
21 $srcdir/cleanrecords.sh
24 ../../index/zebraidx -c $srcdir/zebra2.cfg -l $LOG init || exit 1
26 echo " starting server..." >>$LOG
27 ../../index/zebrasrv -D -p z.pid -S -c $srcdir/zebra2.cfg -l $LOG unix:socket
28 test -f z.pid || exit 1
31 echo " update 1..." >>$LOG
32 ../../index/zebraidx -l $LOG -c $srcdir/zebra2.cfg update $srcdir/records || exit 1
35 echo " search 1..." >>$LOG
36 ../api/testclient unix:socket "@attr 1=4 utah" > log || exit 1
37 grep "^Result count: 9$" log >/dev/null || exit 1
40 echo "making a test record..." >>$LOG
41 cp $srcdir/records/esdd0006.grs $srcdir/records/esdd0002.grs
43 echo " indexing it..." >>$LOG
44 ../../index/zebraidx -l $LOG -c $srcdir/zebra2.cfg update $srcdir/records || exit 1
47 echo " search 2..." >>$LOG
48 ../api/testclient unix:socket "@attr 1=4 utah" > log || exit 1
49 grep "^Result count: 10$" log >/dev/null || exit 1
52 echo " 1a: modifying a test record (xyz)..." >>$LOG
53 sed 's/UTAH/XYZ/g' <$srcdir/records/esdd0002.grs >$srcdir/records/esdd0002x.grs
54 mv $srcdir/records/esdd0002x.grs $srcdir/records/esdd0002.grs
56 echo " indexing it..." >>$LOG
57 ../../index/zebraidx -l $LOG -c $srcdir/zebra2.cfg update $srcdir/records || exit 1
60 echo " search 3..." >>$LOG
61 ../api/testclient unix:socket "@attr 1=4 utah" > log || exit 1
62 echo " checking..." >>$LOG
63 grep "^Result count: 9$" log >/dev/null || exit 1
66 echo " 1b: modifying the test record back (utah)..." >>$LOG
67 sed 's/XYZ/UTAH/g' <$srcdir/records/esdd0002.grs >$srcdir/records/esdd0002x.grs
68 mv $srcdir/records/esdd0002x.grs $srcdir/records/esdd0002.grs
70 echo " indexing it..." >>$LOG
71 ../../index/zebraidx -l $LOG -c $srcdir/zebra2.cfg update $srcdir/records || exit 1
74 echo " search 4..." >>$LOG
75 ../api/testclient unix:socket "@attr 1=4 utah" > log || exit 1
76 echo " checking..." >>$LOG
77 grep "^Result count: 10$" log >/dev/null || exit 1
80 echo " 2a: modifying the test record (xyz)..." >>$LOG
81 sed 's/UTAH/XYZ/g' <$srcdir/records/esdd0002.grs >$srcdir/records/esdd0002x.grs
82 mv $srcdir/records/esdd0002x.grs $srcdir/records/esdd0002.grs
84 echo " indexing it..." >>$LOG
85 ../../index/zebraidx -l $LOG -c $srcdir/zebra2.cfg update $srcdir/records || exit 1
88 echo " search 5..." >>$LOG
89 ../api/testclient unix:socket "@attr 1=4 utah" > log || exit 1
90 echo " checking..." >>$LOG
91 grep "^Result count: 9$" log >/dev/null || exit 1
94 echo " 2b: modifying the test record back (utah)..." >>$LOG
95 sed 's/XYZ/UTAH/g' <$srcdir/records/esdd0002.grs >$srcdir/records/esdd0002x.grs
96 mv $srcdir/records/esdd0002x.grs $srcdir/records/esdd0002.grs
99 echo " indexing it..." >>$LOG
100 ../../index/zebraidx -l $LOG -c $srcdir/zebra2.cfg update $srcdir/records || exit 1
103 echo " search 6..." >>$LOG
104 ../api/testclient unix:socket "@attr 1=4 utah" > log || exit 1
105 echo " checking..." >>$LOG
106 grep "^Result count: 10$" log >/dev/null || exit 1
110 echo " 3a: modifying the test record (xyz)..." >>$LOG
111 sed 's/UTAH/XYZ/g' <$srcdir/records/esdd0002.grs >$srcdir/records/esdd0002x.grs
112 mv $srcdir/records/esdd0002x.grs $srcdir/records/esdd0002.grs
115 echo " indexing it..." >>$LOG
116 ../../index/zebraidx -l $LOG -c $srcdir/zebra2.cfg update $srcdir/records || exit 1
119 echo " search 7..." >>$LOG
120 ../api/testclient unix:socket "@attr 1=4 utah" > log || exit 1
121 echo " checking..." >>$LOG
122 grep "^Result count: 9$" log >/dev/null || exit 1
125 echo " 3b: modifying the test record back (utah)..." >>$LOG
126 sed 's/XYZ/UTAH/g' <$srcdir/records/esdd0002.grs >$srcdir/records/esdd0002x.grs
127 mv $srcdir/records/esdd0002x.grs $srcdir/records/esdd0002.grs
129 echo " indexing it..." >>$LOG
130 ../../index/zebraidx -l $LOG -c $srcdir/zebra2.cfg update $srcdir/records || exit 1
133 echo " search 8..." >>$LOG
134 ../api/testclient unix:socket "@attr 1=4 utah" > log || exit 1
135 echo " checking..." >>$LOG
136 grep "^Result count: 10$" log >/dev/null || exit 1
138 echo "stopping server..." >>$LOG
139 test -f z.pid || exit 1
140 kill `cat z.pid` || exit 1
142 $srcdir/cleanrecords.sh