qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Thomas Huth <thuth@redhat.com>
To: "Alex Bennée" <alex.bennee@linaro.org>, qemu-devel@nongnu.org
Cc: kwolf@redhat.com, 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 12:48:33 +0200	[thread overview]
Message-ID: <55dd9cf4-cb06-48b1-0cec-ff03113c7c17@redhat.com> (raw)
In-Reply-To: <20190510102918.2705-1-alex.bennee@linaro.org>

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?

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	other threads:[~2019-05-10 10:55 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 [this message]
2019-05-10 11:10   ` Alex Bennée
2019-05-10 11:16     ` Thomas Huth
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=55dd9cf4-cb06-48b1-0cec-ff03113c7c17@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).