qemu-devel
[Top][All Lists]
Advanced

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

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


From: Thomas Huth
Subject: Re: [Qemu-devel] [PATCH v3] tests/qemu-iotests: re-format output to for make check-block
Date: Fri, 10 May 2019 12:48:33 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.6.1

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?

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...?

 Thomas



reply via email to

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