]> git.saurik.com Git - redis.git/blobdiff - tests/support/util.tcl
EVAL replication test: less false positives.
[redis.git] / tests / support / util.tcl
index b9c89aa892021b939792eeefaed30e5cf3aff38f..96af279d84118cbcbe9ea0855ceb9d14c682b914 100644 (file)
@@ -30,12 +30,16 @@ proc zlistAlikeSort {a b} {
 proc warnings_from_file {filename} {
     set lines [split [exec cat $filename] "\n"]
     set matched 0
+    set logall 0
     set result {}
     foreach line $lines {
+        if {[string match {*REDIS BUG REPORT START*} $line]} {
+            set logall 1
+        }
         if {[regexp {^\[\d+\]\s+\d+\s+\w+\s+\d{2}:\d{2}:\d{2} \#} $line]} {
             set matched 1
         }
-        if {$matched} {
+        if {$logall || $matched} {
             lappend result $line
         }
     }
@@ -51,9 +55,11 @@ proc status {r property} {
 
 proc waitForBgsave r {
     while 1 {
-        if {[status r bgsave_in_progress] eq 1} {
-            puts -nonewline "\nWaiting for background save to finish... "
-            flush stdout
+        if {[status r rdb_bgsave_in_progress] eq 1} {
+            if {$::verbose} {
+                puts -nonewline "\nWaiting for background save to finish... "
+                flush stdout
+            }
             after 1000
         } else {
             break
@@ -63,9 +69,11 @@ proc waitForBgsave r {
 
 proc waitForBgrewriteaof r {
     while 1 {
-        if {[status r bgrewriteaof_in_progress] eq 1} {
-            puts -nonewline "\nWaiting for background AOF rewrite to finish... "
-            flush stdout
+        if {[status r aof_rewrite_in_progress] eq 1} {
+            if {$::verbose} {
+                puts -nonewline "\nWaiting for background AOF rewrite to finish... "
+                flush stdout
+            }
             after 1000
         } else {
             break
@@ -75,7 +83,7 @@ proc waitForBgrewriteaof r {
 
 proc wait_for_sync r {
     while 1 {
-        if {[status r master_link_status] eq "down"} {
+        if {[status $r master_link_status] eq "down"} {
             after 10
         } else {
             break
@@ -140,12 +148,19 @@ proc findKeyWithType {r type} {
     return {}
 }
 
-proc createComplexDataset {r ops} {
+proc createComplexDataset {r ops {opt {}}} {
     for {set j 0} {$j < $ops} {incr j} {
         set k [randomKey]
         set k2 [randomKey]
         set f [randomValue]
         set v [randomValue]
+
+        if {[lsearch -exact $opt useexpire] != -1} {
+            if {rand() < 0.1} {
+                {*}$r expire [randomKey] [randomInt 2]
+            }
+        }
+
         randpath {
             set d [expr {rand()}]
         } {
@@ -193,7 +208,7 @@ proc createComplexDataset {r ops} {
                 randpath {{*}$r sadd $k $v} \
                         {{*}$r srem $k $v} \
                         {
-                            set otherset [findKeyWithType r set]
+                            set otherset [findKeyWithType {*}$r set]
                             if {$otherset ne {}} {
                                 randpath {
                                     {*}$r sunionstore $k2 $k $otherset
@@ -209,7 +224,7 @@ proc createComplexDataset {r ops} {
                 randpath {{*}$r zadd $k $d $v} \
                         {{*}$r zrem $k $v} \
                         {
-                            set otherzset [findKeyWithType r zset]
+                            set otherzset [findKeyWithType {*}$r zset]
                             if {$otherzset ne {}} {
                                 randpath {
                                     {*}$r zunionstore $k2 2 $k $otherzset
@@ -283,3 +298,7 @@ proc csvdump r {
 proc csvstring s {
     return "\"$s\""
 }
+
+proc roundFloat f {
+    format "%.10g" $f
+}