Redis test: More reliable BRPOPLPUSH replication test.

Now it uses the new wait_for_condition testing primitive.
Also wait_for_condition implementation was fixed in this commit to properly
escape the expr command and its argument.
This commit is contained in:
antirez 2012-04-26 11:25:13 +02:00
parent 57356b80cd
commit 28ccb53008
2 changed files with 6 additions and 3 deletions

View File

@ -10,8 +10,11 @@ start_server {tags {"repl"}} {
set rd [redis_deferring_client]
$rd brpoplpush a b 5
r lpush a foo
after 1000
assert_equal [r debug digest] [r -1 debug digest]
wait_for_condition 50 100 {
[r debug digest] eq [r -1 debug digest]
} else {
fail "Master and slave have different digest: [r debug digest] VS [r -1 debug digest]"
}
}
test {BRPOPLPUSH replication, list exists} {

View File

@ -53,7 +53,7 @@ proc assert_type {type key} {
# executed.
proc wait_for_condition {maxtries delay e _else_ elsescript} {
while {[incr maxtries -1] >= 0} {
if {[uplevel 1 expr $e]} break
if {[uplevel 1 [list expr $e]]} break
after $delay
}
if {$maxtries == -1} {