[openssh-commits] [openssh] 01/01: Valgrind test: split and move up list.

git+noreply at mindrot.org git+noreply at mindrot.org
Tue Feb 23 11:19:05 AEDT 2021


This is an automated email from the git hooks/post-receive script.

dtucker pushed a commit to branch master
in repository openssh.

commit ffcdd3d90e74176b3bb22937ad1f65a6c1cd3f9d
Author: Darren Tucker <dtucker at dtucker.net>
Date:   Mon Feb 22 08:09:27 2021 +1100

    Valgrind test: split and move up list.
    
    Since the valgrind test takes so long it approaches the limit allowed by
    github, move it to the head of the list so it's the first one started and
    split the longest tests out into a second instance that runs concurrently
    with the first.
---
 .github/configs             | 13 +++++++++++--
 .github/run_test.sh         |  6 +++---
 .github/setup_ci.sh         |  2 +-
 .github/workflows/c-cpp.yml | 14 +++++++++++---
 4 files changed, 26 insertions(+), 9 deletions(-)

diff --git a/.github/configs b/.github/configs
index 280775e1..1c06e00d 100755
--- a/.github/configs
+++ b/.github/configs
@@ -12,6 +12,7 @@ config=$1
 
 TEST_TARGET="tests"
 LTESTS=""
+SKIP_LTESTS=""
 SUDO=sudo	# run with sudo by default
 TEST_SSH_UNSAFE_PERMISSIONS=1
 
@@ -55,14 +56,22 @@ case "$config" in
 	LIBCRYPTOFLAGS="--without-openssl"
 	TEST_TARGET=t-exec
 	;;
-    valgrind)
+    valgrind-1)
 	# rlimit sandbox and FORTIFY_SOURCE confuse Valgrind.
 	CONFIGFLAGS="--without-sandbox --without-hardening"
 	CONFIGFLAGS="$CONFIGFLAGS --with-cppflags=-D_FORTIFY_SOURCE=0"
 	# 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"
+	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"
 	;;
     *)
 	echo "Unknown configuration $config"
diff --git a/.github/run_test.sh b/.github/run_test.sh
index f698996d..66fd5260 100755
--- a/.github/run_test.sh
+++ b/.github/run_test.sh
@@ -6,11 +6,11 @@
 
 set -ex
 
-if [ -z "$LTESTS" ]; then
-    make $TEST_TARGET
+if [ -z "${LTESTS}" ]; then
+    make ${TEST_TARGET} SKIP_LTESTS="${SKIP_LTESTS}"
     result=$?
 else
-    make $TEST_TARGET LTESTS="$LTESTS"
+    make ${TEST_TARGET} SKIP_LTESTS="${SKIP_LTESTS}" LTESTS="${LTESTS}"
     result=$?
 fi
 
diff --git a/.github/setup_ci.sh b/.github/setup_ci.sh
index 831203cf..e53a351c 100755
--- a/.github/setup_ci.sh
+++ b/.github/setup_ci.sh
@@ -53,7 +53,7 @@ for TARGET in $TARGETS; do
     libressl-head)
         INSTALL_LIBRESSL_HEAD=yes
        ;;
-    valgrind)
+    valgrind*)
        PACKAGES="$PACKAGES valgrind"
        ;;
     *) echo "Invalid option '${TARGET}'"
diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml
index 5e79c073..2279e109 100644
--- a/.github/workflows/c-cpp.yml
+++ b/.github/workflows/c-cpp.yml
@@ -12,22 +12,30 @@ jobs:
     strategy:
       fail-fast: false
       matrix:
-        os: [ubuntu-16.04, ubuntu-18.04, ubuntu-20.04, macos-10.15, macos-11.0]
-        configs: [default, pam]
+        # First we test all OSes in the default configuration.
+        os: [ubuntu-20.04, ubuntu-18.04, ubuntu-16.04, macos-10.15, macos-11.0]
+        configs: [default]
         # Then we include any extra configs we want to test for specific VMs.
+        # Valgrind slows things down quite a bit, so start them first.
         include:
+          - { os: ubuntu-20.04, configs: valgrind-1 }
+          - { os: ubuntu-20.04, configs: valgrind-2 }
+          - { os: ubuntu-20.04, configs: pam }
           - { os: ubuntu-20.04, configs: kitchensink }
           - { os: ubuntu-20.04, configs: hardenedmalloc }
           - { os: ubuntu-20.04, configs: libressl-head }
           - { os: ubuntu-20.04, configs: openssl-head }
-          - { os: ubuntu-20.04, configs: valgrind }
+          - { os: ubuntu-18.04, configs: pam }
           - { os: ubuntu-18.04, configs: kerberos5 }
           - { os: ubuntu-18.04, configs: libedit }
           - { os: ubuntu-18.04, configs: sk }
           - { os: ubuntu-18.04, configs: selinux }
           - { os: ubuntu-18.04, configs: kitchensink }
           - { os: ubuntu-18.04, configs: without-openssl }
+          - { os: ubuntu-16.04, configs: pam }
           - { os: ubuntu-16.04, configs: kitchensink }
+          - { os: macos-10.15,  configs: pam }
+          - { os: macos-11.0,   configs: pam }
     runs-on: ${{ matrix.os }}
     steps:
     - uses: actions/checkout at v2

-- 
To stop receiving notification emails like this one, please contact
djm at mindrot.org.


More information about the openssh-commits mailing list