X-Git-Url: https://git.saurik.com/redis.git/blobdiff_plain/794e6ce14ff85f00b0d3e86365e9cc45a90d3bcf..aa2bf6ba8bec776c02d8055ac856d96926137895:/tests/unit/expire.tcl diff --git a/tests/unit/expire.tcl b/tests/unit/expire.tcl index b88ff821..57497fe5 100644 --- a/tests/unit/expire.tcl +++ b/tests/unit/expire.tcl @@ -79,9 +79,9 @@ start_server {tags {"expire"}} { for {set j 0} {$j < 3} {incr j} { r del x r setex x 1 somevalue - after 997 + after 900 set a [r get x] - after 1002 + after 1100 set b [r get x] if {$a eq {somevalue} && $b eq {}} break } @@ -95,23 +95,23 @@ start_server {tags {"expire"}} { for {set j 0} {$j < 3} {incr j} { r del x y z r psetex x 100 somevalue - after 97 + after 80 set a [r get x] - after 102 + after 120 set b [r get x] r set x somevalue r pexpire x 100 - after 97 + after 80 set c [r get x] - after 102 + after 120 set d [r get x] r set x somevalue r pexpireat x [expr ([clock seconds]*1000)+100] - after 97 + after 80 set e [r get x] - after 102 + after 120 set f [r get x] if {$a eq {somevalue} && $b eq {} && @@ -121,13 +121,31 @@ start_server {tags {"expire"}} { list $a $b } {somevalue {}} - test {PTTL returns millisecond time to live} { + test {TTL returns tiem to live in seconds} { + r del x + r setex x 10 somevalue + set ttl [r ttl x] + assert {$ttl > 8 && $ttl <= 10} + } + + test {PTTL returns time to live in milliseconds} { r del x r setex x 1 somevalue set ttl [r pttl x] assert {$ttl > 900 && $ttl <= 1000} } + test {TTL / PTTL return -1 if key has no expire} { + r del x + r set x hello + list [r ttl x] [r pttl x] + } {-1 -1} + + test {TTL / PTTL return -2 if key does not exit} { + r del x + list [r ttl x] [r pttl x] + } {-2 -2} + test {Redis should actively expire keys incrementally} { r flushdb r psetex key1 500 a @@ -141,4 +159,15 @@ start_server {tags {"expire"}} { set size2 [r dbsize] list $size1 $size2 } {3 0} + + test {5 keys in, 5 keys out} { + r flushdb + r set a c + r expire a 5 + r set t c + r set e c + r set s c + r set foo b + lsort [r keys *] + } {a e foo s t} }