summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulian Andres Klode <jak@debian.org>2016-08-19 20:37:28 +0200
committerJulian Andres Klode <jak@debian.org>2016-08-29 15:42:06 +0200
commit30ea7a60404ee53393235827202968393951d106 (patch)
tree2be661bdec61ac068b72c67e20291a014ca40772
parent30749ef1edb33a91401bd7e4da7a4474e7bc2f6a (diff)
downloadapt-30ea7a60404ee53393235827202968393951d106.tar.gz
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.yml7
-rwxr-xr-xprepare-release2
-rw-r--r--test/integration/framework5
-rwxr-xr-xtest/integration/run-tests34
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