summaryrefslogtreecommitdiffstats
path: root/tests/unit/quit.tcl
diff options
context:
space:
mode:
Diffstat (limited to 'tests/unit/quit.tcl')
-rw-r--r--tests/unit/quit.tcl33
1 files changed, 33 insertions, 0 deletions
diff --git a/tests/unit/quit.tcl b/tests/unit/quit.tcl
new file mode 100644
index 0000000..50ccab1
--- /dev/null
+++ b/tests/unit/quit.tcl
@@ -0,0 +1,33 @@
+start_server {tags {"quit"}} {
+
+ 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]
+
+ }
+}