]> git.saurik.com Git - redis.git/blobdiff - test-redis.tcl
Faster version of the function hashing possibly encoded objects, leading to a general...
[redis.git] / test-redis.tcl
index 26e222399a1105eb2b17acc32427e74cc9605fe5..c0a025af2aecde808a002a6d54f8b4eeb33a3801 100644 (file)
@@ -280,20 +280,46 @@ proc main {server port} {
         $r get foo
     } [string repeat "abcd" 1000000]
 
+    test {Very big payload random access} {
+        set err {}
+        array set payload {}
+        for {set j 0} {$j < 100} {incr j} {
+            set size [expr 1+[randomInt 100000]]
+            set buf [string repeat "pl-$j" $size]
+            set payload($j) $buf
+            $r set bigpayload_$j $buf
+        }
+        for {set j 0} {$j < 1000} {incr j} {
+            set index [randomInt 100]
+            set buf [$r get bigpayload_$index]
+            if {$buf != $payload($index)} {
+                set err "Values differ: I set '$payload($index)' but I read back '$buf'"
+                break
+            }
+        }
+        unset payload
+        set _ $err
+    } {}
+
     test {SET 10000 numeric keys and access all them in reverse order} {
+        set err {}
         for {set x 0} {$x < 10000} {incr x} {
             $r set $x $x
         }
         set sum 0
         for {set x 9999} {$x >= 0} {incr x -1} {
-            incr sum [$r get $x]
+            set val [$r get $x]
+            if {$val ne $x} {
+                set err "Eleemnt at position $x is $val instead of $x"
+                break
+            }
         }
-        format $sum
-    } {49995000}
+        set _ $err
+    } {}
 
-    test {DBSIZE should be 10001 now} {
+    test {DBSIZE should be 10101 now} {
         $r dbsize
-    } {10001}
+    } {10101}
 
     test {INCR against non existing key} {
         set res {}
@@ -1207,6 +1233,10 @@ proc main {server port} {
             [$r zrange ztmp 1 -1] [$r zrevrange ztmp 1 -1]
     } {{y x z} {z x y} {x z} {x y}}
 
+    test {ZRANGE WITHSCORES} {
+        $r zrange ztmp 0 -1 withscores
+    } {y 1 x 10 z 30}
+
     test {ZSETs stress tester - sorting is working well?} {
         set delta 0
         for {set test 0} {$test < 2} {incr test} {
@@ -1558,6 +1588,18 @@ proc main {server port} {
         set _ 1
     } {1}
 
+    test {MUTLI / EXEC basics} {
+        $r del mylist
+        $r rpush mylist a
+        $r rpush mylist b
+        $r rpush mylist c
+        $r multi
+        set v1 [$r lrange mylist 0 -1]
+        set v2 [$r ping]
+        set v3 [$r exec]
+        list $v1 $v2 $v3
+    } {QUEUED QUEUED {{a b c} PONG}}
+
     # Leave the user with a clean DB before to exit
     test {FLUSHDB} {
         set aux {}