From 08842f8d6e48219ed9a46cc0dc233021c7884fbb Mon Sep 17 00:00:00 2001 From: John Sully Date: Sun, 7 Jun 2020 16:59:59 -0400 Subject: [PATCH] Endurance mode for tests ignore flaky ones Former-commit-id: 515bb0e6bda8abcab4f8b4cd693084594c734007 --- .github/workflows/endurance.yml | 2 +- tests/test_helper.tcl | 11 +++++++++-- 2 files changed, 10 insertions(+), 3 deletions(-) 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