summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDarren Tucker <dtucker@dtucker.net>2021-04-07 10:05:10 +1000
committerDarren Tucker <dtucker@dtucker.net>2021-04-07 17:02:27 +1000
commit3674e33fa70dfa1fe69b345bf576113af7b7be11 (patch)
tree1e373b39d76d8644cb8900e27b353560a3b9f234
parent961af266b861e30fce1e26170ee0dbb5bf591f29 (diff)
Further split Valgrind tests.
Even split in two, the Valgrind tests take by far the longest to run, so split them four ways to further increase parallelism.
-rwxr-xr-x.github/configs35
-rw-r--r--.github/workflows/c-cpp.yml2
2 files changed, 26 insertions, 11 deletions
diff --git a/.github/configs b/.github/configs
index 1c06e00d..87c7a6dc 100755
--- a/.github/configs
+++ b/.github/configs
@@ -56,22 +56,35 @@ case "$config" in
LIBCRYPTOFLAGS="--without-openssl"
TEST_TARGET=t-exec
;;
- valgrind-1)
+ valgrind-[1-4])
# rlimit sandbox and FORTIFY_SOURCE confuse Valgrind.
CONFIGFLAGS="--without-sandbox --without-hardening"
CONFIGFLAGS="$CONFIGFLAGS --with-cppflags=-D_FORTIFY_SOURCE=0"
+ TEST_TARGET="t-exec USE_VALGRIND=1"
+ TEST_SSH_ELAPSED_TIMES=1
+ export TEST_SSH_ELAPSED_TIMES
# Valgrind slows things down enough that the agent timeout test
# won't reliably pass, and the unit tests run longer than allowed
- # by github.
- TEST_TARGET="t-exec USE_VALGRIND=1"
- SKIP_LTESTS="agent-timeout rekey try-ciphers cert-userkey integrity"
- ;;
- valgrind-2)
- CONFIGFLAGS="--without-sandbox --without-hardening"
- CONFIGFLAGS="$CONFIGFLAGS --with-cppflags=-D_FORTIFY_SOURCE=0"
- # The rekey test takes >30 min so run separately.
- TEST_TARGET="t-exec USE_VALGRIND=1"
- LTESTS="rekey try-ciphers cert-userkey integrity"
+ # by github so split into three separate tests.
+ tests2="rekey integrity"
+ tests3="krl forward-control sshsig"
+ tests4="cert-userkey cert-hostkey kextype sftp-perm keygen-comment"
+ case "$config" in
+ valgrind-1)
+ # All tests except agent-timeout (which is flaky under valgrind)
+ #) and slow ones that run separately to increase parallelism.
+ SKIP_LTESTS="agent-timeout ${tests2} ${tests3} ${tests4}"
+ ;;
+ valgrind-2)
+ LTESTS="${tests2}"
+ ;;
+ valgrind-3)
+ LTESTS="${tests3}"
+ ;;
+ valgrind-4)
+ LTESTS="${tests4}"
+ ;;
+ esac
;;
*)
echo "Unknown configuration $config"
diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml
index 0e427f90..a712af7c 100644
--- a/.github/workflows/c-cpp.yml
+++ b/.github/workflows/c-cpp.yml
@@ -20,6 +20,8 @@ jobs:
include:
- { os: ubuntu-20.04, configs: valgrind-1 }
- { os: ubuntu-20.04, configs: valgrind-2 }
+ - { os: ubuntu-20.04, configs: valgrind-3 }
+ - { os: ubuntu-20.04, configs: valgrind-4 }
- { os: ubuntu-20.04, configs: pam }
- { os: ubuntu-20.04, configs: kitchensink }
- { os: ubuntu-20.04, configs: hardenedmalloc }