]> git.saurik.com Git - redis.git/blobdiff - tests/support/util.tcl
Fix for bug 374, thanks to Jeremy Zawodny for reporting and tracing why it was crashing.
[redis.git] / tests / support / util.tcl
index b9c89aa892021b939792eeefaed30e5cf3aff38f..93cb750f048f38d914bdf62c7525fe773728d494 100644 (file)
@@ -140,12 +140,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 +200,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 +216,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