From 3674e33fa70dfa1fe69b345bf576113af7b7be11 Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Wed, 7 Apr 2021 10:05:10 +1000 Subject: 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. --- .github/configs | 35 ++++++++++++++++++++++++----------- .github/workflows/c-cpp.yml | 2 ++ 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 } -- cgit v1.2.3