diff --git a/.github/workflows/endurance.yml b/.github/workflows/endurance.yml index 24c5f540d..dcc4d4574 100644 --- a/.github/workflows/endurance.yml +++ b/.github/workflows/endurance.yml @@ -18,5 +18,5 @@ jobs: - name: test-multithread (5X) run: | sudo apt-get install -y tcl8.5 - ./runtest --loopn 5 --config server-threads 3 --clients 5 + ./runtest --loopn 5 --config server-threads 3 --clients 5 --endurance diff --git a/tests/test_helper.tcl b/tests/test_helper.tcl index 52acb1747..f579fb567 100644 --- a/tests/test_helper.tcl +++ b/tests/test_helper.tcl @@ -104,6 +104,7 @@ set ::dont_clean 0 set ::wait_server 0 set ::stop_on_failure 0 set ::loop 0 +set ::endurance 0 set ::tlsdir "tests/tls" # Set to 1 when we are running in client mode. The Redis test uses a @@ -215,9 +216,13 @@ proc s {args} { # test server, so that the test server will send them again to # clients once the clients are idle. proc run_solo {name code} { - if {$::numclients == 1 || $::loop < 0 || $::external} { + if {$::numclients == 1 || $::loop < 0 || $::external || $::endurance} { # run_solo is not supported in these scenarios, just run the code. - eval $code + if {$::endurance} { + puts "Skipping solo tests because endurance mode is enabled" + } else { + eval $code + } return } send_data_packet $::test_server_fd run_solo [list $name $code] @@ -620,6 +625,8 @@ for {set j 0} {$j < [llength $argv]} {incr j} { } elseif {$opt eq {--timeout}} { set ::timeout $arg incr j + } elseif {$opt eq {--endurance}} { + set ::endurance 1 } elseif {$opt eq {--help}} { print_help_screen exit 0