You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by yl...@apache.org on 2020/12/11 13:15:00 UTC

svn commit: r1884311 - in /httpd/httpd/branches/2.4.x: ./ .travis.yml test/travis_before_linux.sh test/travis_run_linux.sh

Author: ylavic
Date: Fri Dec 11 13:15:00 2020
New Revision: 1884311

URL: http://svn.apache.org/viewvc?rev=1884311&view=rev
Log:
Merge r1879441, r1879448, r1879594, r1883854, r1884136, r1884292 from trunk:

Add additional test suite runs for the prefork & event pool-debug builds:
- run with SSLSessionCache defined (after r1879430)
- run with "SSLProtocol TLSv1.2"


Adjust for r1879447 to specify shmcb is tested when 
TEST_SSL_SESSCACHE is defined. [skip ci]


For TEST_SSL=1 runs, test SSLSessionCache with shmcb, memcached
and redis socache providers.  Force TLSv1.2 for these runs since
TLSv1.3 doesn't use the cache.


Stop testing if a core dump was generated during the main test suite run.


Add ASan (AddressSanitizer) build and tests to ci.


ci: add a run for MPM worker w/ pool-debug.


Submitted by: jorton, ylavic, ylavic

Index: .travis.yml
===================================================================
--- .travis.yml	(revision 1884310)
+++ .travis.yml	(working copy)
@@ -250,6 +250,13 @@ jobs:
            TEST_MALLOC=1 TEST_SSL=1
            CLEAR_CACHE=1
     # -------------------------------------------------------------------------
+    - name: Linux Ubuntu, Shared MPMs (worker), pool-debug, SSL/TLS variants
+      env: APR_VERSION=1.7.x APR_CONFIG="--enable-pool-debug"
+           APU_VERSION=1.7.x APU_CONFIG="--with-crypto --with-ldap"
+           CONFIG="--enable-mods-shared=reallyall --enable-mpms-shared=all --with-mpm=worker"
+           TEST_MALLOC=1 TEST_SSL=1
+           CLEAR_CACHE=1
+    # -------------------------------------------------------------------------
     - name: Linux Ubuntu, Shared MPMs (prefork), pool-debug, SSL/TLS variants
       env: APR_VERSION=1.7.x APR_CONFIG="--enable-pool-debug"
            APU_VERSION=1.7.x APU_CONFIG="--with-crypto --with-ldap"
Index: test/travis_before_linux.sh
===================================================================
--- test/travis_before_linux.sh	(revision 1884310)
+++ test/travis_before_linux.sh	(working copy)
@@ -104,6 +104,13 @@ if test -v TEST_LDAP -a -x test/perl-framework/scr
     popd
 fi
 
+if test -v TEST_SSL; then
+    pushd test/perl-framework
+       ./scripts/memcached-init.sh
+       ./scripts/redis-init.sh
+    popd
+fi
+
 if test -v APR_VERSION; then
     install_apx apr ${APR_VERSION} "${APR_CONFIG}"
     APU_CONFIG="$APU_CONFIG --with-apr=$HOME/root/apr-${APR_VERSION}"
Index: test/travis_run_linux.sh
===================================================================
--- test/travis_run_linux.sh	(revision 1884310)
+++ test/travis_run_linux.sh	(working copy)
@@ -77,6 +77,10 @@ if ! test -v SKIP_TESTING; then
         export UBSAN_OPTIONS="log_path=$PWD/ubsan.log"
     fi
 
+    if test -v TEST_ASAN; then
+        export ASAN_OPTIONS="log_path=$PWD/asan.log"
+    fi
+
     if test -v WITH_TEST_SUITE; then
         make check TESTS="${TESTS}" TEST_CONFIG="${TEST_ARGS}"
         RV=$?
@@ -88,8 +92,25 @@ if ! test -v SKIP_TESTING; then
             RV=$?
         popd
     fi
-    if test -v LITMUS; then
+
+    # Skip further testing if a core dump was created during the test
+    # suite run above.
+    if test $RV -eq 0 -a -f test/perl-framework/t/core; then
+        RV=4
+    fi            
+    
+    if test -v TEST_SSL -a $RV -eq 0; then
         pushd test/perl-framework
+            for cache in shmcb redis:localhost:6379 memcache:localhost:11211; do
+                SSL_SESSCACHE=$cache ./t/TEST -sslproto TLSv1.2 -defines TEST_SSL_SESSCACHE t/ssl
+                RV=$?
+                test $RV -eq 0 || break
+            done
+        popd
+    fi
+
+    if test -v LITMUS -a $RV -eq 0; then
+        pushd test/perl-framework
            mkdir -p t/htdocs/modules/dav
            ./t/TEST -start
            # litmus uses $TESTS, so unset it.
@@ -123,9 +144,18 @@ if ! test -v SKIP_TESTING; then
         RV=3
     fi
 
+    if test -v TEST_ASAN && ls asan.log.* &> /dev/null; then
+        cat asan.log.*
+
+        # ASan can report memory leaks, fail on errors only
+        if grep -q "ERROR: AddressSanitizer:" `ls asan.log.*`; then
+            RV=4
+        fi
+    fi
+
     if test -f test/perl-framework/t/core; then
         gdb -ex 'thread apply all backtrace' -batch ./httpd test/perl-framework/t/core
-        RV=4
+        RV=5
     fi
 
     exit $RV
Index: .
===================================================================
--- .	(revision 1884310)
+++ .	(working copy)

Property changes on: .
___________________________________________________________________
Modified: svn:mergeinfo
## -0,0 +0,1 ##
   Merged /httpd/httpd/trunk:r1879441,1879448,1879594,1883854,1884136,1884292

Modified:
    httpd/httpd/branches/2.4.x/   (props changed)
    httpd/httpd/branches/2.4.x/.travis.yml
    httpd/httpd/branches/2.4.x/test/travis_before_linux.sh
    httpd/httpd/branches/2.4.x/test/travis_run_linux.sh

Propchange: httpd/httpd/branches/2.4.x/
------------------------------------------------------------------------------
  Merged /httpd/httpd/trunk:r1879441,1879448,1879594,1883854,1884136,1884292

Modified: httpd/httpd/branches/2.4.x/.travis.yml
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/.travis.yml?rev=1884311&r1=1884310&r2=1884311&view=diff
==============================================================================
--- httpd/httpd/branches/2.4.x/.travis.yml (original)
+++ httpd/httpd/branches/2.4.x/.travis.yml Fri Dec 11 13:15:00 2020
@@ -250,6 +250,13 @@ jobs:
            TEST_MALLOC=1 TEST_SSL=1
            CLEAR_CACHE=1
     # -------------------------------------------------------------------------
+    - name: Linux Ubuntu, Shared MPMs (worker), pool-debug, SSL/TLS variants
+      env: APR_VERSION=1.7.x APR_CONFIG="--enable-pool-debug"
+           APU_VERSION=1.7.x APU_CONFIG="--with-crypto --with-ldap"
+           CONFIG="--enable-mods-shared=reallyall --enable-mpms-shared=all --with-mpm=worker"
+           TEST_MALLOC=1 TEST_SSL=1
+           CLEAR_CACHE=1
+    # -------------------------------------------------------------------------
     - name: Linux Ubuntu, Shared MPMs (prefork), pool-debug, SSL/TLS variants
       env: APR_VERSION=1.7.x APR_CONFIG="--enable-pool-debug"
            APU_VERSION=1.7.x APU_CONFIG="--with-crypto --with-ldap"

Modified: httpd/httpd/branches/2.4.x/test/travis_before_linux.sh
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/test/travis_before_linux.sh?rev=1884311&r1=1884310&r2=1884311&view=diff
==============================================================================
--- httpd/httpd/branches/2.4.x/test/travis_before_linux.sh (original)
+++ httpd/httpd/branches/2.4.x/test/travis_before_linux.sh Fri Dec 11 13:15:00 2020
@@ -104,6 +104,13 @@ if test -v TEST_LDAP -a -x test/perl-fra
     popd
 fi
 
+if test -v TEST_SSL; then
+    pushd test/perl-framework
+       ./scripts/memcached-init.sh
+       ./scripts/redis-init.sh
+    popd
+fi
+
 if test -v APR_VERSION; then
     install_apx apr ${APR_VERSION} "${APR_CONFIG}"
     APU_CONFIG="$APU_CONFIG --with-apr=$HOME/root/apr-${APR_VERSION}"

Modified: httpd/httpd/branches/2.4.x/test/travis_run_linux.sh
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/test/travis_run_linux.sh?rev=1884311&r1=1884310&r2=1884311&view=diff
==============================================================================
--- httpd/httpd/branches/2.4.x/test/travis_run_linux.sh (original)
+++ httpd/httpd/branches/2.4.x/test/travis_run_linux.sh Fri Dec 11 13:15:00 2020
@@ -77,6 +77,10 @@ if ! test -v SKIP_TESTING; then
         export UBSAN_OPTIONS="log_path=$PWD/ubsan.log"
     fi
 
+    if test -v TEST_ASAN; then
+        export ASAN_OPTIONS="log_path=$PWD/asan.log"
+    fi
+
     if test -v WITH_TEST_SUITE; then
         make check TESTS="${TESTS}" TEST_CONFIG="${TEST_ARGS}"
         RV=$?
@@ -88,7 +92,24 @@ if ! test -v SKIP_TESTING; then
             RV=$?
         popd
     fi
-    if test -v LITMUS; then
+
+    # Skip further testing if a core dump was created during the test
+    # suite run above.
+    if test $RV -eq 0 -a -f test/perl-framework/t/core; then
+        RV=4
+    fi            
+    
+    if test -v TEST_SSL -a $RV -eq 0; then
+        pushd test/perl-framework
+            for cache in shmcb redis:localhost:6379 memcache:localhost:11211; do
+                SSL_SESSCACHE=$cache ./t/TEST -sslproto TLSv1.2 -defines TEST_SSL_SESSCACHE t/ssl
+                RV=$?
+                test $RV -eq 0 || break
+            done
+        popd
+    fi
+
+    if test -v LITMUS -a $RV -eq 0; then
         pushd test/perl-framework
            mkdir -p t/htdocs/modules/dav
            ./t/TEST -start
@@ -123,9 +144,18 @@ if ! test -v SKIP_TESTING; then
         RV=3
     fi
 
+    if test -v TEST_ASAN && ls asan.log.* &> /dev/null; then
+        cat asan.log.*
+
+        # ASan can report memory leaks, fail on errors only
+        if grep -q "ERROR: AddressSanitizer:" `ls asan.log.*`; then
+            RV=4
+        fi
+    fi
+
     if test -f test/perl-framework/t/core; then
         gdb -ex 'thread apply all backtrace' -batch ./httpd test/perl-framework/t/core
-        RV=4
+        RV=5
     fi
 
     exit $RV