diff options
author | antirez <antirez@gmail.com> | 2018-08-02 18:49:49 +0200 |
---|---|---|
committer | antirez <antirez@gmail.com> | 2018-08-02 18:49:49 +0200 |
commit | 26897c03e2b9a15c5a574c41763aaae7b9c7d66e (patch) | |
tree | 3266e2e3659ce9ceea0886849056302113610be5 /tests | |
parent | d506334b678ea1f0ad2f28b1144365ac7751999a (diff) | |
download | redis-26897c03e2b9a15c5a574c41763aaae7b9c7d66e.tar.gz |
Test suite: new --stop option.
It pauses the test execution once the first failure is found.
Diffstat (limited to 'tests')
-rw-r--r-- | tests/test_helper.tcl | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/tests/test_helper.tcl b/tests/test_helper.tcl index 5d8b149de..753a0f9b9 100644 --- a/tests/test_helper.tcl +++ b/tests/test_helper.tcl @@ -89,6 +89,7 @@ set ::last_progress [clock seconds] set ::active_servers {} ; # Pids of active Redis instances. set ::dont_clean 0 set ::wait_server 0 +set ::stop_on_failure 0 # Set to 1 when we are running in client mode. The Redis test uses a # server-client model to run tests simultaneously. The server instance @@ -302,6 +303,11 @@ proc read_from_test_client fd { puts $err lappend ::failed_tests $err set ::active_clients_task($fd) "(ERR) $data" + if {$::stop_on_failure} { + puts -nonewline "(Test stopped, press enter to continue)" + flush stdout + gets stdin + } } elseif {$status eq {exception}} { puts "\[[colorstr red $status]\]: $data" kill_clients @@ -433,10 +439,11 @@ proc print_help_screen {} { "--clients <num> Number of test clients (default 16)." "--timeout <sec> Test timeout in seconds (default 10 min)." "--force-failure Force the execution of a test that always fails." - "--config <k> <v> extra config file argument" - "--skipfile <file> name of a file containing test names that should be skipped (one per line)" - "--dont-clean don't delete redis log files after the run" - "--wait-server wait after server is started (so that you can attach a debugger)" + "--config <k> <v> Extra config file argument" + "--skipfile <file> Name of a file containing test names that should be skipped (one per line)" + "--dont-clean Don't delete redis log files after the run" + "--stop Blocks once the first test fails" + "--wait-server Wait after server is started (so that you can attach a debugger)" "--help Print this help screen." } "\n"] } @@ -511,6 +518,8 @@ for {set j 0} {$j < [llength $argv]} {incr j} { set ::dont_clean 1 } elseif {$opt eq {--wait-server}} { set ::wait_server 1 + } elseif {$opt eq {--stop}} { + set ::stop_on_failure 1 } elseif {$opt eq {--timeout}} { set ::timeout $arg incr j |