X-Git-Url: https://git.saurik.com/redis.git/blobdiff_plain/d8b6ae3cd6ac9cfab51696b9b35d3c70fa2d55ba..c984d42fb14c72aa8a97e971f0f3d3df189f82d0:/tests/integration/aof.tcl diff --git a/tests/integration/aof.tcl b/tests/integration/aof.tcl index c7ba93c1..a554f9ef 100644 --- a/tests/integration/aof.tcl +++ b/tests/integration/aof.tcl @@ -32,6 +32,7 @@ tags {"aof"} { start_server_aof [list dir $server_path] { test "Unfinished MULTI: Server should not have been started" { + if {$::valgrind} {after 2000} assert_equal 0 [is_alive $srv] } @@ -49,6 +50,7 @@ tags {"aof"} { start_server_aof [list dir $server_path] { test "Short read: Server should not have been started" { + if {$::valgrind} {after 2000} assert_equal 0 [is_alive $srv] } @@ -83,4 +85,47 @@ tags {"aof"} { assert_equal "" [$client get bar] } } + + ## Test that SPOP (that modifies the client its argc/argv) is correctly free'd + create_aof { + append_to_aof [formatCommand sadd set foo] + append_to_aof [formatCommand sadd set bar] + append_to_aof [formatCommand spop set] + } + + start_server_aof [list dir $server_path] { + test "AOF+SPOP: Server should have been started" { + assert_equal 1 [is_alive $srv] + } + + test "AOF+SPOP: Set should have 1 member" { + set client [redis [dict get $srv host] [dict get $srv port]] + assert_equal 1 [$client scard set] + } + } + + ## Test that EXPIREAT is loaded correctly + create_aof { + append_to_aof [formatCommand rpush list foo] + append_to_aof [formatCommand expireat list 1000] + append_to_aof [formatCommand rpush list bar] + } + + start_server_aof [list dir $server_path] { + test "AOF+EXPIRE: Server should have been started" { + assert_equal 1 [is_alive $srv] + } + + test "AOF+EXPIRE: List should be empty" { + set client [redis [dict get $srv host] [dict get $srv port]] + assert_equal 0 [$client llen list] + } + } + + start_server {overrides {appendonly {yes} appendfilename {appendonly.aof}}} { + test {Redis should not try to convert DEL into EXPIREAT for EXPIRE -1} { + r set x 10 + r expire x -1 + } + } }