From c91241451b5de214392028a4ce81adad8359e77f Mon Sep 17 00:00:00 2001 From: Binbin Date: Mon, 20 Mar 2023 17:58:20 +0800 Subject: Fix new subscribe mode test in reply-schemas-validator (#11939) The reason is in reply-schemas-validator, the resp of the client we create will be client_default_resp (currently 3): ``` client *createClient(connection *conn) { client *c = zmalloc(sizeof(client)); #ifdef LOG_REQ_RES reqresReset(c, 0); c->resp = server.client_default_resp; #else c->resp = 2; #endif } ``` But current_resp3 in redis-cli will be inconsistent with it, the test adds a simple hello 3 to avoid this failure, test was added in #11873. Added help descriptions for dont-pre-clean option, it was added in #10273 --- tests/integration/redis-cli.tcl | 6 ++++++ tests/test_helper.tcl | 1 + 2 files changed, 7 insertions(+) (limited to 'tests') diff --git a/tests/integration/redis-cli.tcl b/tests/integration/redis-cli.tcl index 50f4a2e83..2c39d720a 100644 --- a/tests/integration/redis-cli.tcl +++ b/tests/integration/redis-cli.tcl @@ -194,6 +194,10 @@ start_server {tags {"cli"}} { } test_interactive_cli "Subscribed mode" { + if {$::force_resp3} { + run_command $fd "hello 3" + } + set reading "Reading messages... (press Ctrl-C to quit or any key to type command)\r" set erase "\033\[K"; # Erases the "Reading messages..." line. @@ -215,6 +219,8 @@ start_server {tags {"cli"}} { assert_equal $erase$unsub1$unsub2$reading \ [run_command $fd "unsubscribe ch1 ch2"] + run_command $fd "hello 2" + # Command forbidden in subscribed mode (RESP2). set err "(error) ERR Can't execute 'get': only (P|S)SUBSCRIBE / (P|S)UNSUBSCRIBE / PING / QUIT / RESET are allowed in this context\n" assert_equal $erase$err$reading [run_command $fd "get k"] diff --git a/tests/test_helper.tcl b/tests/test_helper.tcl index 807995593..922cb438d 100644 --- a/tests/test_helper.tcl +++ b/tests/test_helper.tcl @@ -616,6 +616,7 @@ proc print_help_screen {} { "--skiptest Test name or regexp pattern (if starts with '/') to skip. This option can be repeated." "--tags Run only tests having specified tags or not having '-' prefixed tags." "--dont-clean Don't delete redis log files after the run." + "--dont-pre-clean Don't delete existing redis log files before the run." "--no-latency Skip latency measurements and validation by some tests." "--stop Blocks once the first test fails." "--loop Execute the specified set of tests forever." -- cgit v1.2.1