From: antirez Date: Tue, 6 Jul 2010 16:30:38 +0000 (+0200) Subject: improved random dataset creation in test: del, sunionstore, zunionstore X-Git-Url: https://git.saurik.com/redis.git/commitdiff_plain/b056ca39f2d37957164c5bfc04c466b64aa6087e?hp=8b654e54c490161983e42a328675e484e404e2d2 improved random dataset creation in test: del, sunionstore, zunionstore --- diff --git a/tests/support/util.tcl b/tests/support/util.tcl index 36bc90d9..ae758f4c 100644 --- a/tests/support/util.tcl +++ b/tests/support/util.tcl @@ -127,9 +127,23 @@ proc randomKey {} { } } +proc findKeyWithType {r type} { + for {set j 0} {$j < 20} {incr j} { + set k [$r randomkey] + if {$k eq {}} { + return {} + } + if {[$r type $k] eq $type} { + return $k + } + } + return {} +} + proc createComplexDataset {r ops} { for {set j 0} {$j < $ops} {incr j} { set k [randomKey] + set k2 [randomKey] set f [randomValue] set v [randomValue] randpath { @@ -158,6 +172,8 @@ proc createComplexDataset {r ops} { $r zadd $k $d $v } { $r hset $k $f $v + } { + $r del $k } set t [$r type $k] } @@ -175,11 +191,23 @@ proc createComplexDataset {r ops} { } {set} { randpath {$r sadd $k $v} \ - {$r srem $k $v} + {$r srem $k $v} \ + { + set otherset [findKeyWithType r set] + if {$otherset ne {}} { + $r sunionstore $k2 $k $otherset + } + } } {zset} { randpath {$r zadd $k $d $v} \ - {$r zrem $k $v} + {$r zrem $k $v} \ + { + set otherzset [findKeyWithType r zset] + if {$otherzset ne {}} { + $r zunionstore $k2 2 $k $otherzset + } + } } {hash} { randpath {$r hset $k $f $v} \