From 9beb11aae47bfe620e45cb816b1c6f93e028d402 Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Mon, 31 Aug 2015 23:22:55 +0200 Subject: [PATCH] test: show the highlevel test for lowerranking ones MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit testsuccess checks the return code, but it does also some autotests based on the command like grepping for dpkg warnings in a apt-get install call – but if this finds something it is just showing the grep command. With this change it will additionally show the first msgtest which in this case will detail the actual apt-get install call. Git-Dch: Ignore --- test/integration/framework | 69 +++++++++++++++++++++++++++++++++++++- 1 file changed, 68 insertions(+), 1 deletion(-) diff --git a/test/integration/framework b/test/integration/framework index 908b56c03..182bec2e4 100644 --- a/test/integration/framework +++ b/test/integration/framework @@ -74,6 +74,9 @@ msgskip() { } msgfail() { if [ -n "$MSGTEST_MSG" ]; then + if [ -n "$MSGTEST_GRP" ] && [ "$MSGTEST_GRP" != 'NEXT' ] && [ "$MSGTEST_GRP" != "$MSGTEST_MSG" ]; then + echo "Part of the test group: $MSGTEST_GRP" + fi echo -n "$MSGTEST_MSG" unset MSGTEST_MSG fi @@ -84,6 +87,20 @@ msgfail() { fi EXIT_CODE=$((EXIT_CODE+1)); } +MSGGROUP_LEVEL=0 +msggroup() { + if [ -n "$1" ]; then + if [ $MSGGROUP_LEVEL = 0 ]; then + MSGTEST_GRP='NEXT' + fi + MSGGROUP_LEVEL=$((MSGGROUP_LEVEL+1)); + else + MSGGROUP_LEVEL=$((MSGGROUP_LEVEL-1)); + if [ $MSGGROUP_LEVEL = 0 ]; then + unset MSGTEST_GRP + fi + fi +} # enable / disable Debugging if [ $MSGLEVEL -le 0 ]; then @@ -96,7 +113,12 @@ fi if [ $MSGLEVEL -le 2 ]; then msgmsg() { true; } msgnmsg() { true; } - msgtest() { MSGTEST_MSG="$(msgprintf "${CINFO}%s" "${CCMD}%s${CINFO}" "…${CNORMAL} " "$@")"; } + msgtest() { + MSGTEST_MSG="$(msgprintf "${CINFO}%s" "${CCMD}%s${CINFO}" "…${CNORMAL} " "$@")" + if [ "$MSGTEST_GRP" = 'NEXT' ]; then + MSGTEST_GRP="$MSGTEST_MSG" + fi + } msgpass() { printf " ${CPASS}P${CNORMAL}"; } fi if [ $MSGLEVEL -le 3 ]; then @@ -1217,6 +1239,7 @@ checkdiff() { } testfileequal() { + msggroup "$0" local MSG='Test for correctness of file' if [ "$1" = '--nomsg' ]; then MSG='' @@ -1241,9 +1264,11 @@ testfileequal() { msgfailoutput '' "$OUTPUT" fi fi + msggroup } testempty() { + msggroup "$0" msgtest "Test for no output of" "$*" local COMPAREFILE="${TMPWORKINGDIRECTORY}/rootdir/tmp/testempty.comparefile" if "$@" >$COMPAREFILE 2>&1 && test ! -s $COMPAREFILE; then @@ -1252,9 +1277,11 @@ testempty() { msgfailoutput '' "$COMPAREFILE" fi aptautotest 'testempty' "$@" + msggroup } testequal() { + msggroup "$0" local MSG='Test of equality of' if [ "$1" = '--nomsg' ]; then MSG='' @@ -1275,9 +1302,11 @@ testequal() { msgfailoutput '' "$OUTPUT" fi aptautotest 'testequal' "$@" + msggroup } testequalor2() { + msggroup "$0" local COMPAREFILE1="${TMPWORKINGDIRECTORY}/rootdir/tmp/testequalor2.comparefile1" local COMPAREFILE2="${TMPWORKINGDIRECTORY}/rootdir/tmp/testequalor2.comparefile2" local COMPAREAGAINST="${TMPWORKINGDIRECTORY}/rootdir/tmp/testequalor2.compareagainst" @@ -1299,9 +1328,11 @@ testequalor2() { msgfailoutput '' "$OUTPUT" fi aptautotest 'testequalor2' "$@" + msggroup } testshowvirtual() { + msggroup "$0" local VIRTUAL="N: Can't select versions from package '$1' as it is purely virtual" local PACKAGE="$1" shift @@ -1323,9 +1354,11 @@ N: No packages found" else msgfailoutput '' "$OUTPUT" fi + msggroup } testnopackage() { + msggroup "$0" msgtest "Test for non-existent packages" "apt-cache show $*" local SHOWPKG="$(aptcache show "$@" 2>&1 | grep '^Package: ')" if [ -n "$SHOWPKG" ]; then @@ -1335,9 +1368,11 @@ testnopackage() { else msgpass fi + msggroup } testdpkgstatus() { + msggroup "$0" local STATE="$1" local NR="$2" shift 2 @@ -1351,17 +1386,23 @@ testdpkgstatus() { else msgpass fi + msggroup } testdpkginstalled() { + msggroup "$0" testdpkgstatus 'ii' "$#" "$@" + msggroup } testdpkgnotinstalled() { + msggroup "$0" testdpkgstatus 'ii' '0' "$@" + msggroup } testmarkedauto() { + msggroup "$0" local COMPAREFILE="${TMPWORKINGDIRECTORY}/rootdir/tmp/testmarkedauto.comparefile" if [ -n "$1" ]; then msgtest 'Test for correctly marked as auto-installed' "$*" @@ -1376,8 +1417,10 @@ testmarkedauto() { else msgfailoutput '' "$OUTPUT" fi + msggroup } testmarkedmanual() { + msggroup "$0" local COMPAREFILE="${TMPWORKINGDIRECTORY}/rootdir/tmp/testmarkedmanual.comparefile" if [ -n "$1" ]; then msgtest 'Test for correctly marked as manually installed' "$*" @@ -1392,11 +1435,15 @@ testmarkedmanual() { else msgfailoutput '' "$OUTPUT" fi + msggroup } msgfailoutput() { if [ -n "$MSGTEST_MSG" ]; then echo + if [ -n "$MSGTEST_GRP" ] && [ "$MSGTEST_GRP" != 'NEXT' ] && [ "$MSGTEST_GRP" != "$MSGTEST_MSG" ]; then + echo "${CFAIL}Part of the test group: $MSGTEST_GRP" + fi echo -n "$MSGTEST_MSG" unset MSGTEST_MSG fi @@ -1431,6 +1478,7 @@ msgfailoutput() { } testsuccess() { + msggroup "$0" if [ "$1" = '--nomsg' ]; then shift else @@ -1463,8 +1511,10 @@ testsuccess() { msgfailoutput "exitcode $EXITCODE" "$OUTPUT" "$@" fi aptautotest 'testsuccess' "$@" + msggroup } testwarning() { + msggroup "$0" if [ "$1" = '--nomsg' ]; then shift else @@ -1490,8 +1540,10 @@ testwarning() { msgfailoutput "exitcode $EXITCODE" "$OUTPUT" "$@" fi aptautotest 'testwarning' "$@" + msggroup } testfailure() { + msggroup "$0" if [ "$1" = '--nomsg' ]; then shift else @@ -1527,28 +1579,36 @@ testfailure() { fi fi aptautotest 'testfailure' "$@" + msggroup } testsuccessequal() { + msggroup "$0" local CMP="$1" shift testsuccess "$@" testfileequal "${TMPWORKINGDIRECTORY}/rootdir/tmp/testsuccess.output" "$CMP" + msggroup } testwarningequal() { + msggroup "$0" local CMP="$1" shift testwarning "$@" testfileequal "${TMPWORKINGDIRECTORY}/rootdir/tmp/testwarning.output" "$CMP" + msggroup } testfailureequal() { + msggroup "$0" local CMP="$1" shift testfailure "$@" testfileequal "${TMPWORKINGDIRECTORY}/rootdir/tmp/testfailure.output" "$CMP" + msggroup } testfailuremsg() { + msggroup "$0" local CMP="$1" shift testfailure "$@" @@ -1563,9 +1623,11 @@ testfailuremsg() { cat "${TMPWORKINGDIRECTORY}/rootdir/tmp/testfailure.output" >"$OUTPUT" msgfailoutput '' "$OUTPUT" fi + msggroup } testfilestats() { + msggroup "$0" msgtest "Test that file $1 has $2 $3" "$4" if [ "$4" "$3" "$(stat --format "$2" "$1")" ]; then msgpass @@ -1578,12 +1640,16 @@ testfilestats() { } >"$OUTPUT" 2>&1 msgfailoutput '' "$OUTPUT" fi + msggroup } testaccessrights() { + msggroup "$0" testfilestats "$1" '%a' '=' "$2" + msggroup } testwebserverlaststatuscode() { + msggroup "$0" local DOWNLOG='rootdir/tmp/webserverstatus-testfile.log' local STATUS='downloaded/webserverstatus-statusfile.log' rm -f "$DOWNLOG" "$STATUS" @@ -1603,6 +1669,7 @@ testwebserverlaststatuscode() { } >"$OUTPUT" 2>&1 msgfailoutput "Status was $(cat "$STATUS")" "$OUTPUT" fi + msggroup } pause() { -- 2.45.2