mirror of
https://codeberg.org/redict/redict.git
synced 2025-01-22 16:18:28 -05:00
Add tests for OK on QUIT
This commit is contained in:
parent
941c9fa285
commit
5a4f9f27e7
@ -115,6 +115,7 @@ proc execute_everything {} {
|
||||
execute_tests "unit/expire"
|
||||
execute_tests "unit/other"
|
||||
execute_tests "unit/cas"
|
||||
execute_tests "unit/quit"
|
||||
execute_tests "integration/replication"
|
||||
execute_tests "integration/aof"
|
||||
# execute_tests "integration/redis-cli"
|
||||
|
40
tests/unit/quit.tcl
Normal file
40
tests/unit/quit.tcl
Normal file
@ -0,0 +1,40 @@
|
||||
start_server {tags {"quit"}} {
|
||||
proc format_command {args} {
|
||||
set cmd "*[llength $args]\r\n"
|
||||
foreach a $args {
|
||||
append cmd "$[string length $a]\r\n$a\r\n"
|
||||
}
|
||||
set _ $cmd
|
||||
}
|
||||
|
||||
test "QUIT returns OK" {
|
||||
reconnect
|
||||
assert_equal OK [r quit]
|
||||
assert_error * {r ping}
|
||||
}
|
||||
|
||||
test "Pipelined commands after QUIT must not be executed" {
|
||||
reconnect
|
||||
r write [format_command quit]
|
||||
r write [format_command set foo bar]
|
||||
r flush
|
||||
assert_equal OK [r read]
|
||||
assert_error * {r read}
|
||||
|
||||
reconnect
|
||||
assert_equal {} [r get foo]
|
||||
}
|
||||
|
||||
test "Pipelined commands after QUIT that exceed read buffer size" {
|
||||
reconnect
|
||||
r write [format_command quit]
|
||||
r write [format_command set foo [string repeat "x" 1024]]
|
||||
r flush
|
||||
assert_equal OK [r read]
|
||||
assert_error * {r read}
|
||||
|
||||
reconnect
|
||||
assert_equal {} [r get foo]
|
||||
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user