qemu-block
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-block] [PATCH v3] tests/qemu-iotests: re-format output to for


From: Alex Bennée
Subject: Re: [Qemu-block] [PATCH v3] tests/qemu-iotests: re-format output to for make check-block
Date: Fri, 10 May 2019 12:10:48 +0100
User-agent: mu4e 1.3.1; emacs 26.1

Thomas Huth <address@hidden> 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 <address@hidden>
>> Message-Id: <address@hidden>
>>
>> ---
>> 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?

>
>  Thomas


--
Alex Bennée



reply via email to

[Prev in Thread] Current Thread [Next in Thread]