mirror of
https://codeberg.org/redict/redict.git
synced 2025-01-22 16:18:28 -05:00
WATCH tests
This commit is contained in:
parent
87c68815c3
commit
c20c189db5
@ -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
66
tests/unit/cas.tcl
Normal 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}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user