]> git.saurik.com Git - apt.git/commitdiff
test, travis: Quieter testing with a new -qq mode
authorJulian Andres Klode <jak@debian.org>
Fri, 19 Aug 2016 18:37:28 +0000 (20:37 +0200)
committerJulian Andres Klode <jak@debian.org>
Mon, 29 Aug 2016 13:42:06 +0000 (15:42 +0200)
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
prepare-release
test/integration/framework
test/integration/run-tests

index 7931bb39a76d285f0d26bc29eaf4df8a99611ad2..131bf4abd43370bcaf416a8c2c55238df7bff6a3 100644 (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
index f740f21526fb98d6ebcf230084ac6e1290528da5..0004de3103ad2745cb69efa8459b6ef7a6d1e231 100755 (executable)
@@ -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
index 243996e141b59f4bd9d2b820087ac428f2305281..9a908a9ec53d77282ac4623a0ef12e56f7d99880 100644 (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 ] ||
index fad249994dd6b434bb68fcca95407f281d78090a..7c0b74ce238921af56cc7258970d49604f699bad 100755 (executable)
@@ -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