X-Git-Url: https://git.saurik.com/redis.git/blobdiff_plain/9ebed7cf066267c0fe91f100f50c028fc4cec23f..27b0ccca71251edf3bc18dec41cedb43b487fe9f:/test-redis.tcl?ds=inline diff --git a/test-redis.tcl b/test-redis.tcl index 9b546722..0fc1e7df 100644 --- a/test-redis.tcl +++ b/test-redis.tcl @@ -178,7 +178,7 @@ proc createComplexDataset {r ops} { } proc datasetDigest r { - set keys [lsort [split [$r keys *] " "]] + set keys [lsort [$r keys *]] set digest {} foreach k $keys { set t [$r type $k] @@ -204,7 +204,7 @@ proc datasetDigest r { set aux [::sha1::sha1 -hex [$r zrange $k 0 -1]] } } default { - error "Type not supported" + error "Type not supported: $t" } } if {$aux eq {}} continue @@ -952,7 +952,6 @@ proc main {server port} { $r sort tosort {DESC} } [lsort -decreasing -integer $res] -while 1 { test {SORT speed, sorting 10000 elements list using BY, 100 times} { set start [clock clicks -milliseconds] for {set i 0} {$i < 100} {incr i} { @@ -963,7 +962,7 @@ while 1 { flush stdout format {} } {} -} + test {SORT speed, sorting 10000 elements list directly, 100 times} { set start [clock clicks -milliseconds] for {set i 0} {$i < 100} {incr i} { @@ -1193,6 +1192,18 @@ while 1 { $r zcard ztmp-blabla } {0} + test {ZRANK basics} { + $r zadd zranktmp 10 x + $r zadd zranktmp 20 y + $r zadd zranktmp 30 z + list [$r zrank zranktmp x] [$r zrank zranktmp y] [$r zrank zranktmp z] + } {0 1 2} + + test {ZRANK - after deletion} { + $r zrem zranktmp y + list [$r zrank zranktmp x] [$r zrank zranktmp z] + } {0 1} + test {ZSCORE} { set aux {} set err {} @@ -1517,6 +1528,31 @@ while 1 { format $diff } {0} + test {ZSETs ZRANK augmented skip list stress testing} { + set err {} + $r del myzset + for {set k 0} {$k < 10000} {incr k} { + set i [expr {$k%1000}] + if {[expr rand()] < .2} { + $r zrem myzset $i + } else { + set score [expr rand()] + $r zadd myzset $score $i + } + set card [$r zcard myzset] + if {$card > 0} { + set index [randomInt $card] + set ele [lindex [$r zrange myzset $index $index] 0] + set rank [$r zrank myzset $ele] + if {$rank != $index} { + set err "$ele RANK is wrong! ($rank != $index)" + break + } + } + } + set _ $err + } {} + foreach fuzztype {binary alpha compr} { test "FUZZ stresser with data model $fuzztype" { set err 0 @@ -1664,6 +1700,18 @@ while 1 { list $v1 $v2 $v3 } {QUEUED QUEUED {{a b c} PONG}} + test {DISCARD} { + $r del mylist + $r rpush mylist a + $r rpush mylist b + $r rpush mylist c + $r multi + set v1 [$r del mylist] + set v2 [$r discard] + set v3 [$r lrange mylist 0 -1] + list $v1 $v2 $v3 + } {QUEUED OK {a b c}} + test {APPEND basics} { list [$r append foo bar] [$r get foo] \ [$r append foo 100] [$r get foo]