From: Joe Orton Date: Thu, 20 Feb 2020 14:36:46 +0000 (+0000) Subject: Add gcc 9 job, enable enhanced malloc debugging for pool-debug job. X-Git-Tag: 2.5.0-alpha2-ci-test-only~1635 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=10ddf63930ebcdf73c86684d86941678f83a5cee;p=thirdparty%2Fapache%2Fhttpd.git Add gcc 9 job, enable enhanced malloc debugging for pool-debug job. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1874256 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/.travis.yml b/.travis.yml index e4102465a20..ce91188dd06 100644 --- a/.travis.yml +++ b/.travis.yml @@ -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" diff --git a/test/travis_run_linux.sh b/test/travis_run_linux.sh index c20feb95879..8f0a2fc6db1 100755 --- a/test/travis_run_linux.sh +++ b/test/travis_run_linux.sh @@ -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