From 5a4f9f27e7982d2784c17dc053c8629e13c9d7e8 Mon Sep 17 00:00:00 2001 From: Pieter Noordhuis Date: Fri, 15 Oct 2010 12:54:53 +0200 Subject: [PATCH] Add tests for OK on QUIT --- tests/test_helper.tcl | 1 + tests/unit/quit.tcl | 40 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 tests/unit/quit.tcl diff --git a/tests/test_helper.tcl b/tests/test_helper.tcl index a6c3e833..4c207f64 100644 --- a/tests/test_helper.tcl +++ b/tests/test_helper.tcl @@ -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" diff --git a/tests/unit/quit.tcl b/tests/unit/quit.tcl new file mode 100644 index 00000000..4cf440ab --- /dev/null +++ b/tests/unit/quit.tcl @@ -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] + + } +} -- 2.45.2