123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- set testmodule [file normalize tests/modules/timer.so]
- start_server {tags {"modules"}} {
- r module load $testmodule
- test {RM_CreateTimer: a sequence of timers work} {
- # We can't guarantee same-ms but we try using MULTI/EXEC
- r multi
- for {set i 0} {$i < 20} {incr i} {
- r test.createtimer 10 timer-incr-key
- }
- r exec
- after 500
- assert_equal 20 [r get timer-incr-key]
- }
- test {RM_GetTimer: basic sanity} {
- # Getting non-existing timer
- assert_equal {} [r test.gettimer 0]
- # Getting a real timer
- set id [r test.createtimer 10000 timer-incr-key]
- set info [r test.gettimer $id]
- assert_equal "timer-incr-key" [lindex $info 0]
- set remaining [lindex $info 1]
- assert {$remaining < 10000 && $remaining > 1}
- }
- test {RM_StopTimer: basic sanity} {
- r set "timer-incr-key" 0
- set id [r test.createtimer 1000 timer-incr-key]
- assert_equal 1 [r test.stoptimer $id]
- # Wait to be sure timer doesn't execute
- after 2000
- assert_equal 0 [r get timer-incr-key]
- # Stop non-existing timer
- assert_equal 0 [r test.stoptimer $id]
- }
- test {Timer appears non-existing after it fires} {
- r set "timer-incr-key" 0
- set id [r test.createtimer 10 timer-incr-key]
- # verify timer fired
- after 500
- assert_equal 1 [r get timer-incr-key]
- # verify id does not exist
- assert_equal {} [r test.gettimer $id]
- }
- }
|