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.
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} {
# 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} {