sharness/test-lib: use go-sleep to sleep
License: MIT Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Christian Couder committed
Jun 6, 2015 at 23:37 UTC
14a3315dc731d7bc009d62a81246ebee678b8cee
1 file changed
+12
-17
test/sharness/lib/test-lib.sh
+12
-17
@@ -55,38 +55,33 @@ test_cmp_repeat_10_sec() {
55
for i in $(test_seq 1 100)
56
do
57
test_cmp "$1" "$2" >/dev/null && return
58
- sleep 0.1
58
+ go-sleep 100ms
59
done
60
test_cmp "$1" "$2"
61
}
62
63
test_run_repeat_60_sec() {
64
- for i in 1 2 3 4 5 6
64
+ for i in $(test_seq 1 600)
65
do
66
- for i in 1 2 3 4 5 6 7 8 9 10
67
- do
68
- (test_eval_ "$1") && return
69
- sleep 1
70
- done
66
+ (test_eval_ "$1") && return
67
+ go-sleep 100ms
68
done
69
return 1 # failed
70
}
71
72
test_wait_output_n_lines_60_sec() {
76
- for i in 1 2 3 4 5 6
73
+ for i in $(test_seq 1 600)
74
do
78
- for i in 1 2 3 4 5 6 7 8 9 10
79
- do
80
- test $(cat "$1" | wc -l | tr -d " ") -ge $2 && return
81
- sleep 1
82
- done
75
+ test $(cat "$1" | wc -l | tr -d " ") -ge $2 && return
76
+ go-sleep 100ms
77
done
78
actual=$(cat "$1" | wc -l | tr -d " ")
79
test_fsh "expected $2 lines of output. got $actual"
80
}
81
82
test_wait_open_tcp_port_10_sec() {
89
- for i in 1 2 3 4 5 6 7 8 9 10; do
83
+ for i in $(test_seq 1 100)
84
+ do
85
# this is not a perfect check, but it's portable.
86
# cant count on ss. not installed everywhere.
87
# cant count on netstat using : or . as port delim. differ across platforms.
@@ -94,7 +89,7 @@ test_wait_open_tcp_port_10_sec() {
89
if [ $(netstat -aln | egrep "^tcp.*LISTEN" | egrep "[.:]$1" | wc -l) -gt 0 ]; then
90
return 0
91
fi
97
- sleep 1
92
+ go-sleep 100ms
93
done
94
return 1
95
}
@@ -247,13 +242,13 @@ test_kill_repeat_10_sec() {
242
kill $1
243
for i in $(test_seq 1 100)
244
do
250
- sleep 0.1
245
+ go-sleep 100ms
246
! kill -0 $1 2>/dev/null && return
247
done
248
249
# if not, try once more, which will skip graceful exit
250
kill $1
256
- sleep 1
251
+ go-sleep 1s
252
! kill -0 $1 2>/dev/null && return
253
254
# ok, no hope. kill it to prevent it messing with other tests