All of lore.kernel.org
 help / color / mirror / Atom feed
From: Max Reitz <mreitz@redhat.com>
To: "Daniel P. Berrange" <berrange@redhat.com>, qemu-devel@nongnu.org
Cc: Eric Blake <eblake@redhat.com>,
	qemu-block@nongnu.org, Kevin Wolf <kwolf@redhat.com>
Subject: Re: [Qemu-devel] [PATCH v5 2/5] iotests: fix remainining tests to work with LUKS
Date: Wed, 31 May 2017 17:33:26 +0200	[thread overview]
Message-ID: <f7fef0e4-7703-9b60-3bd9-bf1b12628cae@redhat.com> (raw)
In-Reply-To: <20170509173342.29286-3-berrange@redhat.com>

[-- Attachment #1: Type: text/plain, Size: 6385 bytes --]

On 2017-05-09 19:33, Daniel P. Berrange wrote:
> The tests 033, 140, 145 and 157 were all broken
> when run with LUKS, since they did not correctly use
> the required image opts args syntax to specify the
> decryption secret. Further, the 120 test simply does
> not make sense to run with luks, as the scenario
> exercised is not relevant.
> 
> The test 181 was broken when run with LUKS because
> it didn't take account of fact that $TEST_IMG was
> already in image opts syntax. The launch_qemu
> helper also didn't register the secret object
> providing the LUKS password.
> 
> Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
> ---
>  tests/qemu-iotests/033         | 12 ++++++++++--
>  tests/qemu-iotests/120         |  1 +
>  tests/qemu-iotests/140         | 11 ++++++++++-
>  tests/qemu-iotests/145         | 19 +++++++++++++++++--
>  tests/qemu-iotests/157         | 17 ++++++++++++++---
>  tests/qemu-iotests/157.out     | 16 ++++++++--------
>  tests/qemu-iotests/174         |  2 +-
>  tests/qemu-iotests/181         | 21 ++++++++++++++++-----
>  tests/qemu-iotests/common.qemu |  9 +++++++--
>  9 files changed, 84 insertions(+), 24 deletions(-)

[...]

> diff --git a/tests/qemu-iotests/140 b/tests/qemu-iotests/140
> index 8c80a5a..0a2105c 100755
> --- a/tests/qemu-iotests/140
> +++ b/tests/qemu-iotests/140
> @@ -52,8 +52,17 @@ _make_test_img 64k
>  
>  $QEMU_IO -c 'write -P 42 0 64k' "$TEST_IMG" | _filter_qemu_io
>  
> +if test "$IMGOPTSSYNTAX" = "true"
> +then
> +    SYSEMU_DRIVE_ARG=if=none,media=cdrom,id=drv,$TEST_IMG

I would like to propose wrapping this (or at least $TEST_IMG) in quotes,
but I'm aware of the fact that the whole test environment breaks if you
have a TEST_DIR with whitespace in it, so I don't mind...

(But it is a bit weird to put $TEST_IMG into quotes below and then use
$SYSEMU_DRIVE_ARG unquoted.)

> +    SYSEMU_EXTRA_ARGS=""
> +else
> +    SYSEMU_DRIVE_ARG=if=none,media=cdrom,id=drv,file="$TEST_IMG",driver=$IMGFMT
> +    SYSEMU_EXTRA_ARGS=""
> +fi
> +
>  keep_stderr=y \
> -_launch_qemu -drive if=none,media=cdrom,id=drv,file="$TEST_IMG",format=$IMGFMT \
> +_launch_qemu $SYSEMU_EXTRA_ARGS -drive $SYSEMU_DRIVE_ARG \

But could you drop the $SYSEMU_EXTRA_ARGS? It doesn't seem to serve a
purpose (anymore, now that you added this to _launch_qemu itself).

>      2> >(_filter_nbd)
>  
>  _send_qemu_cmd $QEMU_HANDLE \
> diff --git a/tests/qemu-iotests/145 b/tests/qemu-iotests/145
> index e6c6bc4..9cfa940 100755
> --- a/tests/qemu-iotests/145
> +++ b/tests/qemu-iotests/145
> @@ -43,8 +43,23 @@ _supported_proto generic
>  _supported_os Linux
>  
>  _make_test_img 1M
> -echo quit | $QEMU -nographic -hda "$TEST_IMG" -incoming 'exec:true' -snapshot -serial none -monitor stdio |
> -    _filter_qemu | _filter_hmp
> +
> +if test "$IMGOPTSSYNTAX" = "true"
> +then
> +    SYSEMU_DRIVE_ARG=if=none,$TEST_IMG
> +    SYSEMU_EXTRA_ARGS=""
> +    if [ -n "$IMGKEYSECRET" ]; then
> +	SECRET_ARG="secret,id=keysec0,data=$IMGKEYSECRET"
> +	SYSEMU_EXTRA_ARGS="-object $SECRET_ARG"

Please use spaces instead of tabs.

(I know there are a lot of tabs in the test files already, but according
to CODING_STYLE, that is just wrong.)

> +    fi
> +else
> +    SYSEMU_DRIVE_ARG=if=none,file="$TEST_IMG",driver=$IMGFMT
> +    SYSEMU_EXTRA_ARGS=""
> +fi
> +
> +echo quit | $QEMU -nographic $SYSEMU_EXTRA_ARGS  -drive $SYSEMU_DRIVE_ARG \
> +                  -incoming 'exec:true' -snapshot -serial none -monitor stdio \
> +          | _filter_qemu | _filter_hmp
>  
>  # success, all done
>  echo "*** done"
> diff --git a/tests/qemu-iotests/157 b/tests/qemu-iotests/157
> index 8d939cb..f5d22fa 100755
> --- a/tests/qemu-iotests/157
> +++ b/tests/qemu-iotests/157
> @@ -43,7 +43,6 @@ _supported_os Linux
>  
>  function do_run_qemu()
>  {
> -    echo Testing: "$@"
>      (
>          if ! test -t 0; then
>              while read cmd; do
> @@ -63,7 +62,18 @@ function run_qemu()
>  
>  
>  size=128M
> -drive="if=none,file=$TEST_IMG,driver=$IMGFMT"
> +if test "$IMGOPTSSYNTAX" = "true"
> +then
> +    SYSEMU_DRIVE_ARG=if=none,$TEST_IMG
> +    SYSEMU_EXTRA_ARGS=""
> +    if [ -n "$IMGKEYSECRET" ]; then
> +	SECRET_ARG="secret,id=keysec0,data=$IMGKEYSECRET"
> +	SYSEMU_EXTRA_ARGS="-object $SECRET_ARG"

s/\t/    /g

> +    fi
> +else
> +    SYSEMU_DRIVE_ARG=if=none,file="$TEST_IMG",driver=$IMGFMT
> +    SYSEMU_EXTRA_ARGS=""
> +fi
>  
>  _make_test_img $size
>  
> @@ -76,8 +86,9 @@ echo
>  
>  for cache in "writeback" "writethrough"; do
>      for wce in "" ",write-cache=auto" ",write-cache=on" ",write-cache=off"; do
> +        echo "Testing: cache='$cache' wce='$wce'"
>          echo "info block" \
> -            | run_qemu -drive "$drive,cache=$cache" \
> +            | run_qemu $SYSEMU_EXTRA_ARGS -drive "$SYSEMU_DRIVE_ARG,cache=$cache" \
>                         -device "virtio-blk,drive=none0$wce" \
>              | grep -e "Testing" -e "Cache mode"
>      done

[...]

> index e969a2a..71a3b21 100755
> --- a/tests/qemu-iotests/181
> +++ b/tests/qemu-iotests/181
> @@ -55,13 +55,24 @@ echo
>  
>  qemu_comm_method="monitor"
>  
> -_launch_qemu \
> -    -drive file="${TEST_IMG}",cache=${CACHEMODE},driver=$IMGFMT,id=disk
> +if [ "$IMGOPTSSYNTAX" = "true" ]; the> +  _launch_qemu \

More coding style nit picks: This should be indented with four spaces.

With the style fixed (and maybe Eric's comment addressed) or an explicit
"CODING_STYLE has no power over me!" statement, and with
SYSEMU_EXTRA_ARGS dropped above:

Reviewed-by: Max Reitz <mreitz@redhat.com>

> +      -drive "${TEST_IMG}",cache=${CACHEMODE},id=disk
> +else
> +  _launch_qemu \
> +      -drive file="${TEST_IMG}",cache=${CACHEMODE},driver=$IMGFMT,id=disk
> +fi
>  src=$QEMU_HANDLE
>  
> -_launch_qemu \
> -    -drive file="${TEST_IMG}",cache=${CACHEMODE},driver=$IMGFMT,id=disk \
> -    -incoming "unix:${MIG_SOCKET}"
> +if [ "$IMGOPTSSYNTAX" = "true" ]; then
> +  _launch_qemu \
> +      -drive "${TEST_IMG}",cache=${CACHEMODE},id=disk \
> +      -incoming "unix:${MIG_SOCKET}"
> +else
> +  _launch_qemu \
> +      -drive file="${TEST_IMG}",cache=${CACHEMODE},driver=$IMGFMT,id=disk \
> +      -incoming "unix:${MIG_SOCKET}"
> +fi
>  dest=$QEMU_HANDLE
>  
>  echo


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 498 bytes --]

  parent reply	other threads:[~2017-05-31 15:33 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-05-09 17:33 [Qemu-devel] [PATCH v5 0/5] Improve I/O tests coverage of LUKS Daniel P. Berrange
2017-05-09 17:33 ` [Qemu-devel] [PATCH v5 1/5] iotests: skip 159 & 170 with luks format Daniel P. Berrange
2017-05-31 15:12   ` Max Reitz
2017-05-09 17:33 ` [Qemu-devel] [PATCH v5 2/5] iotests: fix remainining tests to work with LUKS Daniel P. Berrange
2017-05-09 17:49   ` Eric Blake
2017-05-31 15:33   ` Max Reitz [this message]
2017-05-31 15:59     ` Eric Blake
2017-05-31 16:08       ` Max Reitz
2017-06-01  8:36     ` Daniel P. Berrange
2017-05-09 17:33 ` [Qemu-devel] [PATCH v5 3/5] iotests: reduce PBKDF iterations when testing LUKS Daniel P. Berrange
2017-05-31 15:41   ` Max Reitz
2017-05-09 17:33 ` [Qemu-devel] [PATCH v5 4/5] iotests: add more LUKS hash combination tests Daniel P. Berrange
2017-05-31 16:09   ` Max Reitz
2017-05-09 17:33 ` [Qemu-devel] [PATCH v5 5/5] iotests: chown LUKS device before qemu-io launches Daniel P. Berrange
2017-05-31 16:15   ` Max Reitz
2017-06-01  8:40     ` Daniel P. Berrange
2017-06-07 12:33       ` Max Reitz

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=f7fef0e4-7703-9b60-3bd9-bf1b12628cae@redhat.com \
    --to=mreitz@redhat.com \
    --cc=berrange@redhat.com \
    --cc=eblake@redhat.com \
    --cc=kwolf@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.