[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [RFC PATCH] tests/qemu-iotests: re-format output to for mak
From: |
Alex Bennée |
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 |
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 <address@hidden>
---
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
- [Qemu-devel] [RFC PATCH] tests/qemu-iotests: re-format output to for make check-block,
Alex Bennée <=
- Re: [Qemu-devel] [RFC PATCH] tests/qemu-iotests: re-format output to for make check-block, Thomas Huth, 2019/05/03
- Re: [Qemu-devel] [RFC PATCH] tests/qemu-iotests: re-format output to for make check-block, Alex Bennée, 2019/05/03
- Re: [Qemu-devel] [RFC PATCH] tests/qemu-iotests: re-format output to for make check-block, Thomas Huth, 2019/05/05
- Re: [Qemu-devel] [RFC PATCH] tests/qemu-iotests: re-format output to for make check-block, Vladimir Sementsov-Ogievskiy, 2019/05/06
- Re: [Qemu-devel] [RFC PATCH] tests/qemu-iotests: re-format output to for make check-block, Alex Bennée, 2019/05/06
- Re: [Qemu-devel] [RFC PATCH] tests/qemu-iotests: re-format output to for make check-block, Eric Blake, 2019/05/06
- Re: [Qemu-devel] [RFC PATCH] tests/qemu-iotests: re-format output to for make check-block, Alex Bennée, 2019/05/06
- Re: [Qemu-devel] [RFC PATCH] tests/qemu-iotests: re-format output to for make check-block, Thomas Huth, 2019/05/05
- Re: [Qemu-devel] [RFC PATCH] tests/qemu-iotests: re-format output to for make check-block, Kevin Wolf, 2019/05/07