]> git.ipfire.org Git - thirdparty/apache/httpd.git/commitdiff
Add gcc 9 job, enable enhanced malloc debugging for pool-debug job.
authorJoe Orton <jorton@apache.org>
Thu, 20 Feb 2020 14:36:46 +0000 (14:36 +0000)
committerJoe Orton <jorton@apache.org>
Thu, 20 Feb 2020 14:36:46 +0000 (14:36 +0000)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1874256 13f79535-47bb-0310-9956-ffa450edef68

.travis.yml
test/travis_run_linux.sh

index e4102465a206e7d48fe2a7fe09ebbac3c3e03d97..ce91188dd06d04ed2131f8d1e8f72112dfda903d 100644 (file)
@@ -82,8 +82,6 @@ matrix:
            SKIP_TESTING=1
       addons:
         apt:
-          sources:
-            - ubuntu-toolchain-r-test
           packages:
             - gcc-8
             - libtool-bin
@@ -98,6 +96,27 @@ matrix:
             - libjansson-dev
             - libpcre2-dev
     # -------------------------------------------------------------------------
+    - name: Linux Ubuntu, GCC 9 maintainer-mode w/-Werror
+      env: CONFIG="--enable-mods-shared=reallyall --enable-maintainer-mode NOTEST_CFLAGS=-Werror CC=gcc-9"
+           SKIP_TESTING=1
+      addons:
+        apt:
+          sources:
+            - sourceline: 'ppa:ubuntu-toolchain-r/test'
+          packages:
+            - gcc-9
+            - libtool-bin
+            - libapr1-dev
+            - libaprutil1-dev
+            - perl-doc
+            - lua5.3-dev
+            - libbrotli-dev
+            - libcurl4-openssl-dev
+            - libsystemd-dev
+            - libnghttp2-dev
+            - libjansson-dev
+            - libpcre2-dev
+    # -------------------------------------------------------------------------
     # MFLAGS= works around https://bz.apache.org/bugzilla/show_bug.cgi?id=63942
     - if: branch != 2.4.x
       name: Linux Ubuntu, Regenerate ap_expr
@@ -136,9 +155,9 @@ matrix:
     # -------------------------------------------------------------------------
     - name: Linux Ubuntu, APR 1.7.0 --enable-pool-debug, APR-util 1.6.1
       env: APR_VERSION=1.7.0 APR_CONFIG="--enable-pool-debug"
-           APU_VERSION=1.6.1
-           APU_CONFIG="--with-crypto"
+           APU_VERSION=1.6.1 APU_CONFIG="--with-crypto"
            CONFIG="--enable-mods-shared=reallyall"
+           TEST_MALLOC=1
     # -------------------------------------------------------------------------
     - name: Linux Ubuntu, litmus WebDAV tests
       env: CONFIG="--enable-dav --enable-dav-fs"
index c20feb958799059ef6a855f83cb20ea20f9479d1..8f0a2fc6db15b06c01b58f38561762a02ff0f0d7 100755 (executable)
@@ -29,6 +29,12 @@ make $MFLAGS
 if ! test -v SKIP_TESTING; then
     set +e
 
+    if test -v TEST_MALLOC; then
+        # Enable enhanced glibc malloc debugging, see mallopt(3)
+        export MALLOC_PERTURB_=65 MALLOC_CHECK_=3
+        export LIBC_FATAL_STDERR_=1
+    fi
+
     if test -v TEST_UBSAN; then
         export UBSAN_OPTIONS="log_path=$PWD/ubsan.log"
     fi
@@ -58,10 +64,19 @@ if ! test -v SKIP_TESTING; then
         grep -C5 'Segmentation fault' test/perl-framework/t/logs/error_log
         RV=2
     fi
+
     if test -v TEST_UBSAN && ls ubsan.log.* &> /dev/null; then
         cat ubsan.log.*
         RV=3
     fi
 
+    # With LIBC_FATAL_STDERR_/MALLOC_CHECK_ glibc will abort when
+    # malloc errors are detected.  This should get caught by the
+    # segfault grep above, but in case it is not, catch it here too:
+    if grep 'glibc detected' test/perl-framework/t/logs/error_log; then
+        grep -C20 'glibc detected' test/perl-framework/t/logs/error_log
+        RV=4
+    fi
+
     exit $RV
 fi