WATCH tests

This commit is contained in:
antirez 2010-05-25 14:04:46 +02:00
parent 87c68815c3
commit c20c189db5
2 changed files with 68 additions and 0 deletions

View File

@ -67,6 +67,7 @@ proc main {} {
execute_tests "unit/sort" execute_tests "unit/sort"
execute_tests "unit/expire" execute_tests "unit/expire"
execute_tests "unit/other" execute_tests "unit/other"
execute_tests "unit/cas"
execute_tests "integration/replication" execute_tests "integration/replication"
execute_tests "integration/aof" execute_tests "integration/aof"
@ -81,6 +82,7 @@ proc main {} {
execute_tests "unit/sort" execute_tests "unit/sort"
execute_tests "unit/expire" execute_tests "unit/expire"
execute_tests "unit/other" execute_tests "unit/other"
execute_tests "unit/cas"
puts "\n[expr $::passed+$::failed] tests, $::passed passed, $::failed failed" puts "\n[expr $::passed+$::failed] tests, $::passed passed, $::failed failed"
if {$::failed > 0} { if {$::failed > 0} {

66
tests/unit/cas.tcl Normal file
View File

@ -0,0 +1,66 @@
start_server default.conf {} {
test {EXEC works on WATCHed key not modified} {
r watch x y z
r watch k
r multi
r ping
r exec
} {PONG}
test {EXEC fail on WATCHed key modified (1 key of 1 watched)} {
r set x 30
r watch x
r set x 40
r multi
r ping
r exec
} {}
test {EXEC fail on WATCHed key modified (1 key of 5 watched)} {
r set x 30
r watch a b x k z
r set x 40
r multi
r ping
r exec
} {}
test {After successful EXEC key is no longer watched} {
r set x 30
r watch x
r multi
r ping
r exec
r set x 40
r multi
r ping
r exec
} {PONG}
test {After failed EXEC key is no longer watched} {
r set x 30
r watch x
r set x 40
r multi
r ping
r exec
r set x 40
r multi
r ping
r exec
} {PONG}
test {It is possible to UNWATCH} {
r set x 30
r watch x
r set x 40
r unwatch
r multi
r ping
r exec
} {PONG}
test {UNWATCH when there is nothing watched works as expected} {
r unwatch
} {OK}
}