From: Joe Orton Date: Wed, 29 Jul 2020 14:16:14 +0000 (+0000) Subject: Merge r1879370, r1879757, r1879816, r1880404 from trunk: X-Git-Tag: 2.4.45~2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=aad228ac60bf95a329a1468acb2e987eb86bb3d7;p=thirdparty%2Fapache%2Fhttpd.git Merge r1879370, r1879757, r1879816, r1880404 from trunk: Travis changes: a) add job to check for empty APLOGNO() macros b) don't install CPAN stuff if SKIP_TESTING is set c) don't tail the error_log on test suite failure since it's almost always irrelevant shutdown stuff and obscures the actual failures d) use coloured grep output when showing segfaults to make them obvious in the travis error_log output. e.g. https://travis-ci.org/github/apache/httpd/jobs/703517978#L2537 Try removing the cached ~/perl5 to reset the broken worker MPM test job. Actually clear the cache for the worker MPM (missed in r1879757). Update some conditions. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1880407 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/.travis.yml b/.travis.yml index 5ed40e189cd..9fd8ec26905 100644 --- a/.travis.yml +++ b/.travis.yml @@ -43,6 +43,10 @@ jobs: include: - name: Linux Ubuntu, Default module set # ------------------------------------------------------------------------- + - if: *condition_not_24x + name: Empty APLOGNO() test + env: SKIP_TESTING=1 TEST_LOGNO=1 + # ------------------------------------------------------------------------- - name: Linux s390x Ubuntu, all-modules arch: s390x env: CONFIG="--enable-mods-shared=reallyall" @@ -55,7 +59,7 @@ jobs: arch: arm64 env: CONFIG="--enable-mods-shared=reallyall" # ------------------------------------------------------------------------- - - if: branch = trunk + - if: *condition_not_24x name: Linux i386 Ubuntu, Shared MPMs, most modules, maintainer-mode w/-Werror env: CONFIG="--enable-mods-shared=reallyall --disable-xml2enc --disable-proxy-html --enable-mpms-shared=all --enable-maintainer-mode" PKG_CONFIG_PATH="/usr/lib/i386-linux-gnu/pkgconfig" @@ -98,6 +102,7 @@ jobs: # ------------------------------------------------------------------------- - name: Linux Ubuntu, Worker MPM, all-modules env: CONFIG="--enable-mods-shared=reallyall --with-mpm=worker" + CLEAR_CACHE=1 # ------------------------------------------------------------------------- - name: Linux Ubuntu, Shared MPMs, all-modules env: CONFIG="--enable-mods-shared=reallyall --enable-mpms-shared=all" @@ -286,7 +291,8 @@ jobs: # CC=gcc, e.g. for the CC="gcc -m32" case the builds are not correct # otherwise. before_install: - - if [ "$TRAVIS_OS_NAME" = "linux" ]; then + - if [ "$TRAVIS_OS_NAME" = "linux" -a ! -v SKIP_TESTING ]; then + if [ -v CLEAR_CACHE ]; then rm -rf ~/perl5; fi; cpanm --local-lib=~/perl5 local::lib && eval $(perl -I ~/perl5/lib/perl5/ -Mlocal::lib); CC=gcc cpanm --notest Net::SSL LWP::Protocol::https ExtUtils::Embed Test::More AnyEvent DateTime HTTP::DAV Protocol::HTTP2::Client FCGI Apache::Test; fi diff --git a/test/travis_run_linux.sh b/test/travis_run_linux.sh index 818e39a504c..109494b1678 100755 --- a/test/travis_run_linux.sh +++ b/test/travis_run_linux.sh @@ -1,4 +1,15 @@ #!/bin/bash -ex + +# Test for empty APLOGNO() macro use; if the script changes +# any files, the git diff will be non-empty and fail. +if test -v TEST_LOGNO; then + find server modules os -name \*.c | xargs perl \ + docs/log-message-tags/update-log-msg-tags + git diff --exit-code . + : PASSED + exit 0 +fi + ### Installed apr/apr-util don't include the *.m4 files but the ### Debian packages helpfully install them, so use the system APR to buildconf ./buildconf --with-apr=/usr/bin/apr-1-config ${BUILDCONFIG} @@ -75,7 +86,7 @@ if ! test -v SKIP_TESTING; then fi if grep -q 'Segmentation fault' test/perl-framework/t/logs/error_log; then - grep -C5 'Segmentation fault' test/perl-framework/t/logs/error_log + grep --color=always -C5 'Segmentation fault' test/perl-framework/t/logs/error_log RV=2 fi @@ -88,13 +99,9 @@ if ! test -v SKIP_TESTING; then # 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 + grep --color=always -C20 'glibc detected' test/perl-framework/t/logs/error_log RV=4 fi - if test $RV -ne 0 -a -r test/perl-framework/t/logs/error_log; then - tail -n200 test/perl-framework/t/logs/error_log - fi - exit $RV fi