]> git.saurik.com Git - redis.git/commitdiff
Redis test: More reliable BRPOPLPUSH replication test.
authorantirez <antirez@gmail.com>
Thu, 26 Apr 2012 09:25:13 +0000 (11:25 +0200)
committerantirez <antirez@gmail.com>
Thu, 26 Apr 2012 09:25:13 +0000 (11:25 +0200)
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.

tests/integration/replication.tcl
tests/support/test.tcl

index 7c1edb550a2ae0a65095610fca3259e529e41ea0..3689181f840d4226d384ac6581e632a5cefcd1c2 100644 (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} {
index 91ab8117be1b33856942e7e3c02bd98bc687a257..480c674e05b48ee8d6bc95d0916af0b5c966b953 100644 (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} {