diff options
author | Julian Andres Klode <jak@debian.org> | 2016-08-19 20:37:28 +0200 |
---|---|---|
committer | Julian Andres Klode <jak@debian.org> | 2016-08-29 15:42:06 +0200 |
commit | 30ea7a60404ee53393235827202968393951d106 (patch) | |
tree | 2be661bdec61ac068b72c67e20291a014ca40772 | |
parent | 30749ef1edb33a91401bd7e4da7a4474e7bc2f6a (diff) |
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
-rw-r--r-- | .travis.yml | 7 | ||||
-rwxr-xr-x | prepare-release | 2 | ||||
-rw-r--r-- | test/integration/framework | 5 | ||||
-rwxr-xr-x | 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 |