Browse Source

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
tags/debian/1.3_rc3
Julian Andres Klode 4 years ago
parent
commit
30ea7a6040
4 changed files with 38 additions and 10 deletions
  1. +3
    -4
      .travis.yml
  2. +1
    -1
      prepare-release
  3. +5
    -0
      test/integration/framework
  4. +29
    -5
      test/integration/run-tests

+ 3
- 4
.travis.yml View File

@@ -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

+ 1
- 1
prepare-release View File

@@ -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


+ 5
- 0
test/integration/framework View File

@@ -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 ] ||


+ 29
- 5
test/integration/run-tests View File

@@ -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


Loading…
Cancel
Save