]> git.saurik.com Git - redis.git/blobdiff - test-redis.tcl
better handling of non blocking connect on redis-benchmark: EPIPE on read does not...
[redis.git] / test-redis.tcl
index bf89d823bde4df72f5281ef6bf4c079d49bfb625..2dd87f1bd2265dd5f3d6a81959687bdd715a45ee 100644 (file)
@@ -165,6 +165,13 @@ proc main {server port} {
         $r get novar2
     } {foobared}
 
+    test {SETNX will overwrite EXPIREing key} {
+        $r set x 10
+        $r expire x 10000
+        $r setnx x 20
+        $r get x
+    } {20}
+
     test {EXISTS} {
         set res {}
         $r set newkey test
@@ -901,6 +908,13 @@ proc main {server port} {
         list [$r msetnx x1 xxx y2 yyy] [$r get x1] [$r get y2]
     } {1 xxx yyy}
 
+    test {MSETNX should remove all the volatile keys even on failure} {
+        $r mset x 1 y 2 z 3
+        $r expire y 10000
+        $r expire z 10000
+        list [$r msetnx x A y B z C] [$r mget x y z]
+    } {0 {1 {} {}}}
+
     test {ZSET basic ZADD and score update} {
         $r zadd ztmp 10 x
         $r zadd ztmp 20 y
@@ -1077,6 +1091,26 @@ proc main {server port} {
             [$r zrangebyscore zset 0 10 LIMIT 20 10]
     } {{a b} {c d e} {c d e} {}}
 
+    test {ZREMRANGE basics} {
+        $r del zset
+        $r zadd zset 1 a
+        $r zadd zset 2 b
+        $r zadd zset 3 c
+        $r zadd zset 4 d
+        $r zadd zset 5 e
+        list [$r zremrangebyscore zset 2 4] [$r zrange zset 0 -1]
+    } {3 {a e}}
+
+    test {ZREMRANGE from -inf to +inf} {
+        $r del zset
+        $r zadd zset 1 a
+        $r zadd zset 2 b
+        $r zadd zset 3 c
+        $r zadd zset 4 d
+        $r zadd zset 5 e
+        list [$r zremrangebyscore zset -inf +inf] [$r zrange zset 0 -1]
+    } {5 {}}
+
     test {SORT against sorted sets} {
         $r del zset
         $r zadd zset 1 a