]> git.saurik.com Git - redis.git/blobdiff - test-redis.tcl
multi bulk requests in redis-benchmark, default fsync policy changed to everysec...
[redis.git] / test-redis.tcl
index dacd6e5f725f298692f48c812672aa8c31d3ed5d..14a1256e0ff8380bd161d99720cd0cd2349ee93d 100644 (file)
@@ -280,6 +280,27 @@ 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} {
@@ -294,11 +315,11 @@ proc main {server port} {
             }
         }
         set _ $err
-    } {49995000}
+    } {}
 
-    test {DBSIZE should be 10001 now} {
+    test {DBSIZE should be 10101 now} {
         $r dbsize
-    } {10001}
+    } {10101}
 
     test {INCR against non existing key} {
         set res {}
@@ -1579,6 +1600,29 @@ proc main {server port} {
         list $v1 $v2 $v3
     } {QUEUED QUEUED {{a b c} PONG}}
 
+    test {APPEND basics} {
+        list [$r append foo bar] [$r get foo] \
+             [$r append foo 100] [$r get foo]
+    } {3 bar 6 bar100}
+
+    test {APPEND fuzzing} {
+        set err {}
+        foreach type {binary alpha compr} {
+            set buf {}
+            $r del x
+            for {set i 0} {$i < 1000} {incr i} {
+                set bin [randstring 0 10 $type]
+                append buf $bin
+                $r append x $bin
+            }
+            if {$buf != [$r get x]} {
+                set err "Expected '$buf' found '[$r get x]'"
+                break
+            }
+        }
+        set _ $err
+    } {}
+
     # Leave the user with a clean DB before to exit
     test {FLUSHDB} {
         set aux {}