From: Thomas Huth <thuth@redhat.com>
To: "Alex Bennée" <alex.bennee@linaro.org>
Cc: kwolf@redhat.com, qemu-devel@nongnu.org, qemu-block@nongnu.org,
mreitz@redhat.com
Subject: Re: [Qemu-devel] [PATCH v3] tests/qemu-iotests: re-format output to for make check-block
Date: Fri, 10 May 2019 13:16:11 +0200 [thread overview]
Message-ID: <7f306cf4-1e4a-acbf-d4b5-24547d59617e@redhat.com> (raw)
In-Reply-To: <87lfze4laf.fsf@zen.linaroharston>
On 10/05/2019 13.10, Alex Bennée wrote:
>
> Thomas Huth <thuth@redhat.com> writes:
>
>> On 10/05/2019 12.29, Alex Bennée wrote:
>>> This attempts to clean-up the output to better match the output of the
>>> rest of the QEMU check system when called with -pretty. This includes:
>>>
>>> - formatting as " TEST iotest: nnn"
>>> - calculating time diff at the end
>>> - only dumping config on failure (when -pretty enabled)
>>>
>>> The existing output is mostly preserved although the dumping of the
>>> old time at the start "Ns ..." was removed to keep the logic simple.
>>> The timestamp mode can still be used to see which tests are "hanging".
>>>
>>> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
>>> Message-Id: <20190503143904.31211-1-alex.bennee@linaro.org>
>>>
>>> ---
>>> v3
>>> - revert echo to printf
>>> - add _report_test_start
>>> ---
>>> tests/qemu-iotests/check | 101 ++++++++++++++++++++++++++-------------
>>> 1 file changed, 68 insertions(+), 33 deletions(-)
>>>
>>> diff --git a/tests/qemu-iotests/check b/tests/qemu-iotests/check
>>> index 922c5d1d3d3..ac481f905bf 100755
>>> --- a/tests/qemu-iotests/check
>>> +++ b/tests/qemu-iotests/check
>>> @@ -27,6 +27,7 @@ bad=""
>>> notrun=""
>>> casenotrun=""
>>> interrupt=true
>>> +pretty=false
>>>
>>> # by default don't output timestamps
>>> timestamp=${TIMESTAMP:=false}
>>> @@ -88,6 +89,22 @@ _full_platform_details()
>>> echo "$os/$platform $host $kernel"
>>> }
>>>
>>> +_full_env_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
>>> +}
>>> +
>>> # $1 = prog to look for
>>> set_prog_path()
>>> {
>>> @@ -256,6 +273,7 @@ other options
>>> -o options -o options to pass to qemu-img create/convert
>>> -T output timestamps
>>> -c mode cache mode
>>> + -pretty pretty print output for make check
>>
>> "pretty" is likely just a matter of taste ... so maybe this should be
>> named differently instead? "--makecheck" ? Or "--one-shot" ?
>>
>>> testlist options
>>> -g group[,group...] include tests from these groups
>>> @@ -403,7 +421,10 @@ testlist options
>>> command -v xxdiff >/dev/null 2>&1 && diff=xxdiff
>>> fi
>>> ;;
>>> -
>>> + -pretty) # pretty print output
>>> + pretty=true
>>> + xpand=false
>>> + ;;
>>> -n) # show me, don't do it
>>> showme=true
>>> xpand=false
>>> @@ -704,23 +725,30 @@ END { if (NR > 0) {
>>>
>>> trap "_wrapup; exit \$status" 0 1 2 3 15
>>>
>>> +# Report the test start and results, optionally pretty printing for make
>>> +# args: $seq
>>> +_report_test_start()
>>> +{
>>> + if $pretty; then
>>> + printf " TEST iotest: %s" "$1"
>>
>> Could you maybe change the "iotest:" into "iotest-$IMGFMT:" ? ... so
>> that when you run "make check SPEED=slow" you also see which kind of
>> format is currently under test?
>
> Sure I can do that.
>
>>
>> And this currently also does not play very nicely when running "make -j8
>> check" in parallel:
>>
>> [...]
>> TEST iotest: 001 TEST check-qtest-alpha: tests/qmp-test
>> TEST check-qtest-alpha: tests/qmp-cmd-test
>> TEST check-qtest-aarch64: tests/boot-serial-test
>> TEST check-qtest-aarch64: tests/migration-test
>> TEST check-qtest-arm: tests/tmp105-test
>> TEST check-unit: tests/check-qnum
>> TEST check-unit: tests/check-qstring
>> TEST check-unit: tests/check-qlist
>> TEST check-unit: tests/check-qnull
>> 2s (last 2s)
>> TEST iotest: 002 TEST check-qtest-arm: tests/pca9552-test
>> TEST check-unit: tests/check-qobject
>> TEST check-qtest-cris: tests/qmp-test
>> [...]
>>
>> I think the "make check" mode should only print out one time for each
>> test, preferable at the end, like the other tests (like qtests) are
>> doing it...?
>
> *sigh* and this is of course why deferred everything to the end in the
> last revision. Should we just assume the -pretty/-make whatever is
> incompatible with -T for the timestamp mode?
Fine for me. ... and maybe that's one more reason to call the parameter
rather "-makecheck" or so instead, so that it is clear that this mode is
not to be mixed with other parameters that influence the output.
Thomas
next prev parent reply other threads:[~2019-05-10 11:18 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-05-10 10:29 [Qemu-devel] [PATCH v3] tests/qemu-iotests: re-format output to for make check-block Alex Bennée
2019-05-10 10:48 ` Thomas Huth
2019-05-10 11:10 ` Alex Bennée
2019-05-10 11:16 ` Thomas Huth [this message]
2019-05-10 11:28 ` Thomas Huth
2019-05-10 11:56 ` Alex Bennée
2019-05-10 14:07 ` Kevin Wolf
2019-05-22 15:29 ` Alex Bennée
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=7f306cf4-1e4a-acbf-d4b5-24547d59617e@redhat.com \
--to=thuth@redhat.com \
--cc=alex.bennee@linaro.org \
--cc=kwolf@redhat.com \
--cc=mreitz@redhat.com \
--cc=qemu-block@nongnu.org \
--cc=qemu-devel@nongnu.org \
/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: link
Be 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).