Omit CVS Id. Update copyright year.
[idzebra-moved-to-github.git] / test / gils / timing2.sh
1 #!/bin/sh
2 # Demonstrated that updates depend on file timestamps
3
4 srcdir=${srcdir:-"."}
5
6 if [ "$srcdir" != "." ]
7     then
8     echo "Jumping over test"
9     exit 0
10 fi
11
12 LOG=timing2.log
13
14 rm -f $LOG
15
16 echo "  init..." >>$LOG
17 rm -f log timeref[12]
18 # these should not be here, will be created later
19 $srcdir/cleanrecords.sh
20
21 ../../index/zebraidx -c $srcdir/zebra2.cfg -l $LOG init || exit 1
22 touch timeref1  # make an early timestamp
23
24 echo "  starting server..." >>$LOG
25 ../../index/zebrasrv -D -p z.pid -S -c $srcdir/zebra2.cfg -l $LOG unix:socket
26 test -f z.pid || exit 1
27 sleep 1
28 touch timeref2  # make a later timestamp
29
30 echo "  update 1..." >>$LOG
31 ../../index/zebraidx -l $LOG -c $srcdir/zebra2.cfg update $srcdir/records || exit 1
32
33 echo "  search 1..." >>$LOG
34 ../api/testclient unix:socket "@attr 1=4 utah" > log || exit 1
35 grep "^Result count: 9$" log >/dev/null || exit 1
36
37 echo "making a test record..." >>$LOG
38 cp $srcdir/records/esdd0006.grs $srcdir/records/esdd0002.grs
39 touch -r timeref1 $srcdir/records/esdd0002.grs
40
41 echo "  indexing it..." >>$LOG
42 ../../index/zebraidx -l $LOG -c $srcdir/zebra2.cfg update $srcdir/records || exit 1
43
44 echo "  search 2..." >>$LOG
45 ../api/testclient unix:socket "@attr 1=4 utah" > log || exit 1
46 grep "^Result count: 10$" log >/dev/null || exit 1
47
48 echo "  modifying a test record (xyz)..." >>$LOG
49 sed 's/UTAH/XYZ/g' <$srcdir/records/esdd0002.grs >$srcdir/records/esdd0002x.grs
50 mv $srcdir/records/esdd0002x.grs $srcdir/records/esdd0002.grs
51 touch -r timeref1 $srcdir/records/esdd0002.grs # reset timestamp to 'early'
52
53 echo "    not indexing it..." >>$LOG
54 ../../index/zebraidx -l $LOG -c $srcdir/zebra2.cfg update $srcdir/records || exit 1
55
56 echo "    search 3..." >>$LOG
57 ../api/testclient unix:socket "@attr 1=4 utah" > log || exit 1
58 echo "    checking..." >>$LOG
59 grep "^Result count: 10$" log >/dev/null || exit 1
60
61 echo "  touching its timestamp..." >>$LOG
62 touch -r timeref2 $srcdir/records/esdd0002.grs # set timestamp to 'late'
63
64 echo "    indexing it..." >>$LOG
65 ../../index/zebraidx -l $LOG -c $srcdir/zebra2.cfg update $srcdir/records || exit 1
66
67 echo "    search 4..." >>$LOG
68 ../api/testclient unix:socket "@attr 1=4 utah" > log || exit 1
69 echo "    checking..." >>$LOG
70 grep "^Result count: 9$" log >/dev/null || exit 1
71
72 echo "stopping server..." >>$LOG
73 test -f z.pid || exit 1
74 kill `cat z.pid` || exit 1
75 rm -f log timeref[12]
76 $srcdir/cleanrecords.sh
77 rm -f z.pid
78