diff --git a/tests/unit/expire.tcl b/tests/unit/expire.tcl index 444525f36..8bcdc16b7 100644 --- a/tests/unit/expire.tcl +++ b/tests/unit/expire.tcl @@ -92,7 +92,7 @@ start_server {tags {"expire"}} { # This test is very likely to do a false positive if the # server is under pressure, so if it does not work give it a few more # chances. - for {set j 0} {$j < 3} {incr j} { + for {set j 0} {$j < 30} {incr j} { r del x y z r psetex x 100 somevalue after 80 @@ -108,18 +108,22 @@ start_server {tags {"expire"}} { set d [r get x] r set x somevalue - r pexpireat x [expr ([clock seconds]*1000)+100] - after 80 + set now [r time] + r pexpireat x [expr ([lindex $now 0]*1000)+([lindex $now 1]/1000)+200] + after 20 set e [r get x] - after 120 + after 220 set f [r get x] if {$a eq {somevalue} && $b eq {} && $c eq {somevalue} && $d eq {} && $e eq {somevalue} && $f eq {}} break } - list $a $b - } {somevalue {}} + if {$::verbose} { + puts "sub-second expire test attempts: $j" + } + list $a $b $c $d $e $f + } {somevalue {} somevalue {} somevalue {}} test {TTL returns time to live in seconds} { r del x