From 30ea7a60404ee53393235827202968393951d106 Mon Sep 17 00:00:00 2001 From: Julian Andres Klode Date: Fri, 19 Aug 2016 20:37:28 +0200 Subject: test, travis: Quieter testing with a new -qq mode Introduce a new -qq mode for our integration test framework, and make travis use it. The new -qq mode sets MSGLEVEL to 1. In MSGLEVEL=1, no messages are generated for passed tests, and all testcase filenames are printed in the same line. Also install first in travis, do not ls the installed output and run the install with chronic, so we only get output if it failed. Gbp-Dch: ignore --- .travis.yml | 7 +++---- prepare-release | 2 +- test/integration/framework | 5 +++++ test/integration/run-tests | 34 +++++++++++++++++++++++++++++----- 4 files changed, 38 insertions(+), 10 deletions(-) diff --git a/.travis.yml b/.travis.yml index 7931bb39a..131bf4abd 100644 --- a/.travis.yml +++ b/.travis.yml @@ -17,8 +17,7 @@ before_script: - make -C build -j4 script: - CTEST_OUTPUT_ON_FAILURE=1 make -C build test - - ./test/integration/run-tests -q + - chronic make -C build install DESTDIR=$PWD/rootdir + - ./test/integration/run-tests -qq - sudo adduser --force-badname --system --home /nonexistent --no-create-home --quiet _apt || true - - sudo ./test/integration/run-tests -q - - make -C build install DESTDIR=$PWD/rootdir - - find rootdir -print0 | xargs -0 ls -ld + - sudo ./test/integration/run-tests -qq diff --git a/prepare-release b/prepare-release index f740f2152..0004de310 100755 --- a/prepare-release +++ b/prepare-release @@ -178,7 +178,7 @@ elif [ "$1" = 'buildlog' ]; then shift done elif [ "$1" = 'travis-ci' ]; then - apt-get install -qy --no-install-recommends dctrl-tools equivs gdebi-core + apt-get install -qy --no-install-recommends dctrl-tools equivs gdebi-core moreutils test_deb_control > test-control equivs-build test-control diff --git a/test/integration/framework b/test/integration/framework index 243996e14..9a908a9ec 100644 --- a/test/integration/framework +++ b/test/integration/framework @@ -5,6 +5,8 @@ EXIT_CODE=0 while [ -n "$1" ]; do if [ "$1" = "-q" ]; then export MSGLEVEL=2 + elif [ "$1" = "-qq" ]; then + export MSGLEVEL=1 elif [ "$1" = "-v" ]; then export MSGLEVEL=4 elif [ "$1" = '--color=no' ]; then @@ -142,6 +144,9 @@ if [ $MSGLEVEL -le 4 ]; then msgdebug() { true; } msgndebug() { true; } fi +if [ $MSGLEVEL -le 1 ]; then + msgpass() { true; } +fi msgdone() { if [ "$1" = "debug" -a $MSGLEVEL -le 4 ] || [ "$1" = "info" -a $MSGLEVEL -le 3 ] || diff --git a/test/integration/run-tests b/test/integration/run-tests index fad249994..7c0b74ce2 100755 --- a/test/integration/run-tests +++ b/test/integration/run-tests @@ -5,6 +5,8 @@ TESTTORUN='' while [ -n "$1" ]; do if [ "$1" = "-q" ]; then export MSGLEVEL=2 + elif [ "$1" = "-qq" ]; then + export MSGLEVEL=1 elif [ "$1" = "-v" ]; then export MSGLEVEL=4 elif [ "$1" = '--color=no' ]; then @@ -50,7 +52,9 @@ if [ -n "$TESTTORUN" ]; then CURRENTTRAP="rm -f \"$OUTPUT\"; $CURRENTTRAP" trap "$CURRENTTRAP" 0 HUP INT QUIT ILL ABRT FPE SEGV PIPE TERM { - if [ "$MSGLEVEL" -le 2 ]; then + if [ "$MSGLEVEL" -le 1 ]; then + printf "${TESTTORUN##*/}" + elif [ "$MSGLEVEL" -le 2 ]; then printf "${CTEST}Testcase ${CHIGH}${TESTTORUN##*/}${CRESET}: " else printf "${CTEST}Run Testcase ${CHIGH}${TESTTORUN##*/}${CRESET}\n" @@ -58,12 +62,20 @@ if [ -n "$TESTTORUN" ]; then if ! "$TESTTORUN"; then FAIL='yes' if [ "$MSGLEVEL" -le 2 ]; then + printf >&2 "\n${CHIGH}Running ${TESTTORUN##*/} -> FAILED${CRESET}\n" + elif [ "$MSGLEVEL" -le 2 ]; then printf >&2 "\n${CHIGH}Running ${TESTTORUN##*/} -> FAILED${CRESET}" else echo >&2 "${CHIGH}Running ${TESTTORUN##*/} -> FAILED${CRESET}" fi + else + if [ "$MSGLEVEL" -le 1 ]; then + printf " " + fi fi - if [ "$MSGLEVEL" -le 2 ]; then + if [ "$MSGLEVEL" -le 1 ]; then + : + elif [ "$MSGLEVEL" -le 2 ]; then echo fi } >"$OUTPUT" 2>&1 @@ -96,8 +108,13 @@ if [ -n "$APT_TEST_JOBS" ]; then exec $parallel -j "$APT_TEST_JOBS" "./$(basename "$0")" -- $(echo "$TESTLIST") fi TOTAL="$(echo "$TESTLIST" | wc -l)" +if [ "$MSGLEVEL" -le 1 ]; then + printf "${CTEST}Running testcases${CRESET}: " +fi for testcase in $TESTLIST; do - if [ "$MSGLEVEL" -le 2 ]; then + if [ "$MSGLEVEL" -le 1 ]; then + printf "${testcase##*/}" + elif [ "$MSGLEVEL" -le 2 ]; then printf "($(($ALL+1))/${TOTAL}) ${CTEST}Testcase ${CHIGH}${testcase##*/}${CRESET}: " else printf "${CTEST}Run Testcase ($(($ALL+1))/${TOTAL}) ${CHIGH}${testcase##*/}${CRESET}\n" @@ -105,16 +122,23 @@ for testcase in $TESTLIST; do if ! ${testcase}; then FAIL=$((FAIL+1)) FAILED_TESTS="$FAILED_TESTS ${testcase##*/}" - if [ "$MSGLEVEL" -le 2 ]; then + if [ "$MSGLEVEL" -le 1 ]; then + printf >&2 "\n${CHIGH}Running ${testcase##*/} -> FAILED${CRESET}\n" + elif [ "$MSGLEVEL" -le 2 ]; then printf >&2 "\n${CHIGH}Running ${testcase##*/} -> FAILED${CRESET}" else echo >&2 "${CHIGH}Running ${testcase##*/} -> FAILED${CRESET}" fi else PASS=$((PASS+1)) + if [ "$MSGLEVEL" -le 1 ]; then + printf " " + fi fi ALL=$((ALL+1)) - if [ "$MSGLEVEL" -le 2 ]; then + if [ "$MSGLEVEL" -le 1 ]; then + : + elif [ "$MSGLEVEL" -le 2 ]; then echo fi done -- cgit v1.2.3