update redame
[beanstalkd.git] / sh-tests / binlog-sizelimit.sh
blob2844ebf3195c2047cf8f5f961610c3aeba29d8e3
1 #!/usr/bin/env bash
3 . "sh-tests/common.functions"
5 server=localhost
6 tmpdir="$TMPDIR"
7 size=1024
8 test -z "$tmpdir" && tmpdir=/tmp
9 out1="${tmpdir}/bnch$$.1"
10 out2="${tmpdir}/bnch$$.2"
11 logdir="${tmpdir}/bnch$$.d"
12 nc="sh-tests/netcat.py"
14 fail() {
15 printf 'On line '
16 caller
17 echo ' ' "$@"
18 exit 1
21 cleanup() {
22 killbeanstalkd
23 rm -rf "$logdir" "$out1" "$out2"
26 catch() {
27 echo '' Interrupted
28 exit 3
31 # Yuck.
32 fsize() {
33 ls -l -- "$@" | awk '{ print $5 }'
36 trap cleanup EXIT
37 trap catch HUP INT QUIT TERM
39 if [ ! -x ./beanstalkd ]; then
40 echo "Executable ./beanstalkd not found; do you need to compile first?"
41 exit 2
44 start_beanstalkd $logdir "-s $size"
46 # Check that the first binlog file is the proper size.
47 test "$(fsize "$logdir"/binlog.1)" -eq $size || fail first binlog wrong size
49 # Insert enough jobs to create a second binlog file
50 $nc $server $port <<EOF > "$out1"
51 put 0 0 100 50
52 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
53 put 0 0 100 50
54 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
55 put 0 0 100 50
56 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
57 put 0 0 100 50
58 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
59 put 0 0 100 50
60 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
61 put 0 0 100 50
62 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
63 put 0 0 100 50
64 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
65 put 0 0 100 50
66 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
67 put 0 0 100 50
68 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
69 put 0 0 100 50
70 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
71 put 0 0 100 50
72 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
73 put 0 0 100 50
74 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
75 put 0 0 100 50
76 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
77 put 0 0 100 50
78 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
79 put 0 0 100 50
80 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
81 put 0 0 100 50
82 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
83 put 0 0 100 50
84 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
85 put 0 0 100 50
86 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
87 put 0 0 100 50
88 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
89 put 0 0 100 50
90 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
91 quit
92 EOF
94 diff - "$out1" <<EOF
95 INSERTED 1
96 INSERTED 2
97 INSERTED 3
98 INSERTED 4
99 INSERTED 5
100 INSERTED 6
101 INSERTED 7
102 INSERTED 8
103 INSERTED 9
104 INSERTED 10
105 INSERTED 11
106 INSERTED 12
107 INSERTED 13
108 INSERTED 14
109 INSERTED 15
110 INSERTED 16
111 INSERTED 17
112 INSERTED 18
113 INSERTED 19
114 INSERTED 20
116 res=$?
117 test "$res" -eq 0 || exit $res
119 # Check that the first binlog file is still the proper size.
120 if ! test "$(fsize "$logdir"/binlog.1)" -le $size
121 then
122 fail first binlog grew too big
125 # Check that the second binlog file is the proper size.
126 if ! test "$(fsize "$logdir"/binlog.2)" -le $size
127 then
128 fail second binlog grew too big