]> git.saurik.com Git - redis.git/commitdiff
EXPIRE tests
authorantirez <antirez@gmail.com>
Fri, 20 Nov 2009 13:36:32 +0000 (14:36 +0100)
committerantirez <antirez@gmail.com>
Fri, 20 Nov 2009 13:36:32 +0000 (14:36 +0100)
TODO
test-redis.tcl

diff --git a/TODO b/TODO
index 70db8357fc85372e8b602ab9da7070fdaec424b8..165fee4263ede86d645cddd93421b3f3bcd1ea83 100644 (file)
--- a/TODO
+++ b/TODO
@@ -3,7 +3,7 @@ VERSION 1.1 TODO
 * For now only the last argument gets integer encoded, so make sure that: 1) every multi bulk commands implemented will have the last arg that is indeed a value, and not used otherwise. 2) to explicitly call the function to encode the object in MSET and other commands where there are multiple "values".
 * Man pages for MSET MSETNX and SRANDMEMBER, Z-commands, ...
 * Use strcoll() to compare objects in sorted sets, like it already happens for SORT.
-* RPOPLPUSH, EXPIRE, EXPIREAT, ZSCORE, SRANDMEMBER tests.
+* Tests for: EXPIREAT, ZSCORE, SRANDMEMBER, SORT with #.
 * Write docs for the "STORE" operaiton of SORT, and GET "#" option.
 * Append only mode: testing and a command to rebuild the log from scratch.
 * Redis-cli should be able to select a different DB than 0 using some switch.
index cae0c025b91c19c539e40b5ef93af791aaf51a4f..d3837026b81ceb7a45f73576c5efb52e5c864749 100644 (file)
@@ -934,6 +934,32 @@ proc main {server port} {
         format $delta
     } {0}
 
+    test {EXPIRE - don't set timeouts multiple times} {
+        $r set x foobar
+        set v1 [$r expire x 5]
+        set v2 [$r ttl x]
+        set v3 [$r expire x 10]
+        set v4 [$r ttl x]
+        list $v1 $v2 $v3 $v4
+    } {1 5 0 5}
+
+    test {EXPIRE - It should be still possible to read 'x'} {
+        $r get x
+    } {foobar}
+
+    test {EXPIRE - After 6 seconds the key should no longer be here} {
+        after 6000
+        list [$r get x] [$r exists x]
+    } {{} 0}
+
+    test {EXPIRE - Delete on write policy} {
+        $r del x
+        $r lpush x foo
+        $r expire x 1000
+        $r lpush x bar
+        $r lrange x 0 -1
+    } {bar}
+
     test {ZSETs skiplist implementation backlink consistency test} {
         set diff 0
         set elements 10000