From: "Alex Bennée" <alex.bennee@linaro.org> To: thuth@redhat.com Cc: qemu-devel@nongnu.org, "Alex Bennée" <alex.bennee@linaro.org>, "Kevin Wolf" <kwolf@redhat.com>, "Max Reitz" <mreitz@redhat.com>, "open list:Block layer core" <qemu-block@nongnu.org> Subject: [Qemu-devel] [RFC PATCH] tests/qemu-iotests: re-format output to for make check-block Date: Fri, 3 May 2019 15:39:04 +0100 [thread overview] Message-ID: <20190503143904.31211-1-alex.bennee@linaro.org> (raw) This attempts to clean-up the output to better match the output of the rest of the QEMU check system. This includes: - formatting as " TEST iotest: nnn" - calculating time diff at the end - only dumping config on failure Signed-off-by: Alex Bennée <alex.bennee@linaro.org> --- tests/qemu-iotests/check | 71 +++++++++++++++++++--------------------- 1 file changed, 34 insertions(+), 37 deletions(-) diff --git a/tests/qemu-iotests/check b/tests/qemu-iotests/check index 922c5d1d3d..2ffc14113e 100755 --- a/tests/qemu-iotests/check +++ b/tests/qemu-iotests/check @@ -633,12 +633,6 @@ _wallclock() date "+%H %M %S" | awk '{ print $1*3600 + $2*60 + $3 }' } -_timestamp() -{ - now=$(date "+%T") - printf %s " [$now]" -} - _wrapup() { if $showme @@ -709,19 +703,6 @@ trap "_wrapup; exit \$status" 0 1 2 3 15 FULL_IMGFMT_DETAILS=$(_full_imgfmt_details) FULL_HOST_DETAILS=$(_full_platform_details) -cat <<EOF -QEMU -- "$QEMU_PROG" $QEMU_OPTIONS -QEMU_IMG -- "$QEMU_IMG_PROG" $QEMU_IMG_OPTIONS -QEMU_IO -- "$QEMU_IO_PROG" $QEMU_IO_OPTIONS -QEMU_NBD -- "$QEMU_NBD_PROG" $QEMU_NBD_OPTIONS -IMGFMT -- $FULL_IMGFMT_DETAILS -IMGPROTO -- $IMGPROTO -PLATFORM -- $FULL_HOST_DETAILS -TEST_DIR -- $TEST_DIR -SOCKET_SCM_HELPER -- $SOCKET_SCM_HELPER - -EOF - seq="check" [ -n "$TESTS_REMAINING_LOG" ] && echo $list > $TESTS_REMAINING_LOG @@ -729,7 +710,9 @@ seq="check" for seq in $list do err=false - printf %s "$seq" + reason="" + times="" + if [ -n "$TESTS_REMAINING_LOG" ] ; then sed -e "s/$seq//" -e 's/ / /' -e 's/^ *//' $TESTS_REMAINING_LOG > $TESTS_REMAINING_LOG.tmp mv $TESTS_REMAINING_LOG.tmp $TESTS_REMAINING_LOG @@ -738,7 +721,7 @@ do if $showme then - echo + echo " TEST iotest: $seq (not actually run)" continue elif [ -f expunged ] && $expunge && egrep "^$seq([ ]|\$)" expunged >/dev/null then @@ -753,17 +736,11 @@ do # really going to try and run this one # rm -f $seq.out.bad - lasttime=$(sed -n -e "/^$seq /s/.* //p" <$TIMESTAMP_FILE) - if [ "X$lasttime" != X ]; then - printf %s " ${lasttime}s ..." - else - printf " " # prettier output with timestamps. - fi rm -f core $seq.notrun rm -f $seq.casenotrun start=$(_wallclock) - $timestamp && printf %s " [$(date "+%T")]" + $timestamp && times="[$(date "+%T")]" if [ "$(head -n 1 "$source_iotests/$seq")" == "#!/usr/bin/env python" ]; then run_command="$PYTHON $seq" @@ -781,26 +758,26 @@ do $run_command >$tmp.out 2>&1) fi sts=$? - $timestamp && _timestamp + $timestamp && times="$times -> [$(date "+%T")]" stop=$(_wallclock) if [ -f core ] then - printf " [dumped core]" mv core $seq.core + reason="dumped core $seq.core" err=true fi if [ -f $seq.notrun ] then - $timestamp || printf " [not run] " - $timestamp && echo " [not run]" && printf %s " $seq -- " + $timestamp || reason="[not run]" + $timestamp && reason="[not run] $seq -- " cat $seq.notrun notrun="$notrun $seq" else if [ $sts -ne 0 ] then - printf %s " [failed, exit status $sts]" + reason=$(printf %s "[failed, exit status $sts]") err=true fi @@ -821,22 +798,27 @@ do if [ ! -f "$reference" ] then - echo " - no qualified output" + reason=" - no qualified output" err=true else if diff -w "$reference" $tmp.out >/dev/null 2>&1 then - echo "" if $err then : else - echo "$seq $(expr $stop - $start)" >>$tmp.time + lasttime=$(sed -n -e "/^$seq /s/.* //p" <$TIMESTAMP_FILE) + thistime=$(expr $stop - $start) + echo "$seq $thistime" >>$tmp.time + + if [ "X$lasttime" != X ]; then + times="$times ${thistime}s (last ${lasttime}s)" + fi fi else - echo " - output mismatch (see $seq.out.bad)" mv $tmp.out $seq.out.bad $diff -w "$reference" "$PWD"/$seq.out.bad + reason=" - output mismatch (see $seq.out.bad)" err=true fi fi @@ -852,9 +834,24 @@ do # if $err then + echo " TEST iotest: $seq FAILED $reason" + cat <<EOF +QEMU -- "$QEMU_PROG" $QEMU_OPTIONS +QEMU_IMG -- "$QEMU_IMG_PROG" $QEMU_IMG_OPTIONS +QEMU_IO -- "$QEMU_IO_PROG" $QEMU_IO_OPTIONS +QEMU_NBD -- "$QEMU_NBD_PROG" $QEMU_NBD_OPTIONS +IMGFMT -- $FULL_IMGFMT_DETAILS +IMGPROTO -- $IMGPROTO +PLATFORM -- $FULL_HOST_DETAILS +TEST_DIR -- $TEST_DIR +SOCKET_SCM_HELPER -- $SOCKET_SCM_HELPER + +EOF bad="$bad $seq" n_bad=$(expr $n_bad + 1) quick=false + else + echo " TEST iotest: $seq $times" fi [ -f $seq.notrun ] || try=$(expr $try + 1) -- 2.20.1
WARNING: multiple messages have this Message-ID (diff)
From: "Alex Bennée" <alex.bennee@linaro.org> To: thuth@redhat.com Cc: "Kevin Wolf" <kwolf@redhat.com>, "Alex Bennée" <alex.bennee@linaro.org>, qemu-devel@nongnu.org, "open list:Block layer core" <qemu-block@nongnu.org>, "Max Reitz" <mreitz@redhat.com> Subject: [Qemu-devel] [RFC PATCH] tests/qemu-iotests: re-format output to for make check-block Date: Fri, 3 May 2019 15:39:04 +0100 [thread overview] Message-ID: <20190503143904.31211-1-alex.bennee@linaro.org> (raw) Message-ID: <20190503143904.uhQaurPlQeEMnBju9bleDDDPG6Q8L7uvD_fJK-obF_Q@z> (raw) This attempts to clean-up the output to better match the output of the rest of the QEMU check system. This includes: - formatting as " TEST iotest: nnn" - calculating time diff at the end - only dumping config on failure Signed-off-by: Alex Bennée <alex.bennee@linaro.org> --- tests/qemu-iotests/check | 71 +++++++++++++++++++--------------------- 1 file changed, 34 insertions(+), 37 deletions(-) diff --git a/tests/qemu-iotests/check b/tests/qemu-iotests/check index 922c5d1d3d..2ffc14113e 100755 --- a/tests/qemu-iotests/check +++ b/tests/qemu-iotests/check @@ -633,12 +633,6 @@ _wallclock() date "+%H %M %S" | awk '{ print $1*3600 + $2*60 + $3 }' } -_timestamp() -{ - now=$(date "+%T") - printf %s " [$now]" -} - _wrapup() { if $showme @@ -709,19 +703,6 @@ trap "_wrapup; exit \$status" 0 1 2 3 15 FULL_IMGFMT_DETAILS=$(_full_imgfmt_details) FULL_HOST_DETAILS=$(_full_platform_details) -cat <<EOF -QEMU -- "$QEMU_PROG" $QEMU_OPTIONS -QEMU_IMG -- "$QEMU_IMG_PROG" $QEMU_IMG_OPTIONS -QEMU_IO -- "$QEMU_IO_PROG" $QEMU_IO_OPTIONS -QEMU_NBD -- "$QEMU_NBD_PROG" $QEMU_NBD_OPTIONS -IMGFMT -- $FULL_IMGFMT_DETAILS -IMGPROTO -- $IMGPROTO -PLATFORM -- $FULL_HOST_DETAILS -TEST_DIR -- $TEST_DIR -SOCKET_SCM_HELPER -- $SOCKET_SCM_HELPER - -EOF - seq="check" [ -n "$TESTS_REMAINING_LOG" ] && echo $list > $TESTS_REMAINING_LOG @@ -729,7 +710,9 @@ seq="check" for seq in $list do err=false - printf %s "$seq" + reason="" + times="" + if [ -n "$TESTS_REMAINING_LOG" ] ; then sed -e "s/$seq//" -e 's/ / /' -e 's/^ *//' $TESTS_REMAINING_LOG > $TESTS_REMAINING_LOG.tmp mv $TESTS_REMAINING_LOG.tmp $TESTS_REMAINING_LOG @@ -738,7 +721,7 @@ do if $showme then - echo + echo " TEST iotest: $seq (not actually run)" continue elif [ -f expunged ] && $expunge && egrep "^$seq([ ]|\$)" expunged >/dev/null then @@ -753,17 +736,11 @@ do # really going to try and run this one # rm -f $seq.out.bad - lasttime=$(sed -n -e "/^$seq /s/.* //p" <$TIMESTAMP_FILE) - if [ "X$lasttime" != X ]; then - printf %s " ${lasttime}s ..." - else - printf " " # prettier output with timestamps. - fi rm -f core $seq.notrun rm -f $seq.casenotrun start=$(_wallclock) - $timestamp && printf %s " [$(date "+%T")]" + $timestamp && times="[$(date "+%T")]" if [ "$(head -n 1 "$source_iotests/$seq")" == "#!/usr/bin/env python" ]; then run_command="$PYTHON $seq" @@ -781,26 +758,26 @@ do $run_command >$tmp.out 2>&1) fi sts=$? - $timestamp && _timestamp + $timestamp && times="$times -> [$(date "+%T")]" stop=$(_wallclock) if [ -f core ] then - printf " [dumped core]" mv core $seq.core + reason="dumped core $seq.core" err=true fi if [ -f $seq.notrun ] then - $timestamp || printf " [not run] " - $timestamp && echo " [not run]" && printf %s " $seq -- " + $timestamp || reason="[not run]" + $timestamp && reason="[not run] $seq -- " cat $seq.notrun notrun="$notrun $seq" else if [ $sts -ne 0 ] then - printf %s " [failed, exit status $sts]" + reason=$(printf %s "[failed, exit status $sts]") err=true fi @@ -821,22 +798,27 @@ do if [ ! -f "$reference" ] then - echo " - no qualified output" + reason=" - no qualified output" err=true else if diff -w "$reference" $tmp.out >/dev/null 2>&1 then - echo "" if $err then : else - echo "$seq $(expr $stop - $start)" >>$tmp.time + lasttime=$(sed -n -e "/^$seq /s/.* //p" <$TIMESTAMP_FILE) + thistime=$(expr $stop - $start) + echo "$seq $thistime" >>$tmp.time + + if [ "X$lasttime" != X ]; then + times="$times ${thistime}s (last ${lasttime}s)" + fi fi else - echo " - output mismatch (see $seq.out.bad)" mv $tmp.out $seq.out.bad $diff -w "$reference" "$PWD"/$seq.out.bad + reason=" - output mismatch (see $seq.out.bad)" err=true fi fi @@ -852,9 +834,24 @@ do # if $err then + echo " TEST iotest: $seq FAILED $reason" + cat <<EOF +QEMU -- "$QEMU_PROG" $QEMU_OPTIONS +QEMU_IMG -- "$QEMU_IMG_PROG" $QEMU_IMG_OPTIONS +QEMU_IO -- "$QEMU_IO_PROG" $QEMU_IO_OPTIONS +QEMU_NBD -- "$QEMU_NBD_PROG" $QEMU_NBD_OPTIONS +IMGFMT -- $FULL_IMGFMT_DETAILS +IMGPROTO -- $IMGPROTO +PLATFORM -- $FULL_HOST_DETAILS +TEST_DIR -- $TEST_DIR +SOCKET_SCM_HELPER -- $SOCKET_SCM_HELPER + +EOF bad="$bad $seq" n_bad=$(expr $n_bad + 1) quick=false + else + echo " TEST iotest: $seq $times" fi [ -f $seq.notrun ] || try=$(expr $try + 1) -- 2.20.1
next reply other threads:[~2019-05-03 14:39 UTC|newest] Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-05-03 14:39 Alex Bennée [this message] 2019-05-03 14:39 ` [Qemu-devel] [RFC PATCH] tests/qemu-iotests: re-format output to for make check-block Alex Bennée 2019-05-03 15:02 ` Thomas Huth 2019-05-03 15:02 ` Thomas Huth 2019-05-03 16:15 ` Alex Bennée 2019-05-03 16:15 ` Alex Bennée 2019-05-05 15:54 ` Thomas Huth 2019-05-05 15:54 ` Thomas Huth 2019-05-06 17:14 ` Vladimir Sementsov-Ogievskiy 2019-05-06 18:53 ` Alex Bennée 2019-05-06 17:32 ` Eric Blake 2019-05-06 19:02 ` Alex Bennée 2019-05-05 16:01 ` Thomas Huth 2019-05-05 16:01 ` Thomas Huth 2019-05-07 8:10 ` Kevin Wolf
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20190503143904.31211-1-alex.bennee@linaro.org \ --to=alex.bennee@linaro.org \ --cc=kwolf@redhat.com \ --cc=mreitz@redhat.com \ --cc=qemu-block@nongnu.org \ --cc=qemu-devel@nongnu.org \ --cc=thuth@redhat.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).