X-Git-Url: https://git.saurik.com/redis.git/blobdiff_plain/9b30e1a207c3ce25e942c58e2e42021b452cfa3f..674df1eef514169b5bea0a4d4e841aabee0209c9:/tests/unit/cas.tcl diff --git a/tests/unit/cas.tcl b/tests/unit/cas.tcl index b8506796..082fba35 100644 --- a/tests/unit/cas.tcl +++ b/tests/unit/cas.tcl @@ -1,4 +1,4 @@ -start_server default.conf {} { +start_server {tags {"cas"}} { test {EXEC works on WATCHed key not modified} { r watch x y z r watch k @@ -111,4 +111,46 @@ start_server default.conf {} { r ping r exec } {PONG} + + test {WATCH will consider touched keys target of EXPIRE} { + r del x + r set x foo + r watch x + r expire x 10 + r multi + r ping + r exec + } {} + + test {WATCH will not consider touched expired keys} { + r del x + r set x foo + r expire x 1 + r watch x + after 1100 + r multi + r ping + r exec + } {PONG} + + test {DISCARD should clear the WATCH dirty flag on the client} { + r watch x + r set x 10 + r multi + r discard + r multi + r incr x + r exec + } {11} + + test {DISCARD should UNWATCH all the keys} { + r watch x + r set x 10 + r multi + r discard + r set x 10 + r multi + r incr x + r exec + } {11} }