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: Kevin Wolf <kwolf@redhat.com>, Fam Zheng <famz@redhat.com>,
	qemu-block@nongnu.org
Subject: Re: [Qemu-devel] [Qemu-block] [PATCH v6 08/11] block: add support for --image-opts in block I/O tests
Date: Thu, 24 Mar 2016 22:59:45 +0100	[thread overview]
Message-ID: <56F46351.6000004@redhat.com> (raw)
In-Reply-To: <1458569512-22970-9-git-send-email-berrange@redhat.com>


[-- Attachment #1.1: Type: text/plain, Size: 3943 bytes --]

On 21.03.2016 15:11, Daniel P. Berrange wrote:
> Currently all block tests use the traditional syntax for images
> just specifying a filename. To support the LUKS driver without
> resorting to JSON, the tests need to be able to use the new
> --image-opts argument to qemu-img and qemu-io.
> 
> This introduces a new env variable IMGOPTSSYNTAX. If this is
> set to 'true', then qemu-img/qemu-io should use --image-opts.
> 
> Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
> ---
>  tests/qemu-iotests/common        |  7 ++++-
>  tests/qemu-iotests/common.config | 15 +++++++++--
>  tests/qemu-iotests/common.rc     | 58 +++++++++++++++++++++++++++++-----------
>  3 files changed, 62 insertions(+), 18 deletions(-)
> 

[...]

> diff --git a/tests/qemu-iotests/common.rc b/tests/qemu-iotests/common.rc
> index d9913f8..5eb654b 100644
> --- a/tests/qemu-iotests/common.rc
> +++ b/tests/qemu-iotests/common.rc
> @@ -53,21 +53,43 @@ fi
>  # make sure we have a standard umask
>  umask 022
>  
> -if [ "$IMGPROTO" = "file" ]; then
> -    TEST_IMG=$TEST_DIR/t.$IMGFMT
> -elif [ "$IMGPROTO" = "nbd" ]; then
> -    TEST_IMG_FILE=$TEST_DIR/t.$IMGFMT
> -    TEST_IMG="nbd:127.0.0.1:10810"
> -elif [ "$IMGPROTO" = "ssh" ]; then
> -    TEST_IMG_FILE=$TEST_DIR/t.$IMGFMT
> -    TEST_IMG="ssh://127.0.0.1$TEST_IMG_FILE"
> -elif [ "$IMGPROTO" = "nfs" ]; then
> -    TEST_DIR="nfs://127.0.0.1/$TEST_DIR"
> -    TEST_IMG=$TEST_DIR/t.$IMGFMT
> -elif [ "$IMGPROTO" = "archipelago" ]; then
> -    TEST_IMG="archipelago:at.$IMGFMT"
> +if [ "$IMGOPTSSYNTAX" = "true" ]; then
> +    DRIVER="driver=$IMGFMT"
> +    if [ "$IMGPROTO" = "file" ]; then
> +        TEST_IMG_FILE=$TEST_DIR/t.$IMGFMT
> +        TEST_IMG="$DRIVER,file.filename=$TEST_DIR/t.$IMGFMT"
> +    elif [ "$IMGPROTO" = "nbd" ]; then
> +        TEST_IMG_FILE=$TEST_DIR/t.$IMGFMT
> +        TEST_IMG="$DRIVER,file.driver=nbd,file.host=127.0.0.1,file.port=10810"
> +    elif [ "$IMGPROTO" = "ssh" ]; then
> +        TEST_IMG_FILE=$TEST_DIR/t.$IMGFMT
> +        TEST_IMG="$DRIVER,file.driver=ssh,file.host=127.0.0.1,file.path=$TEST_IMG_FILE"
> +    elif [ "$IMGPROTO" = "nfs" ]; then
> +        TEST_DIR="$DRIVER,file.driver=nfs,file.filename=nfs://127.0.0.1/$TEST_DIR"
> +        TEST_IMG=$TEST_DIR_OPTS/t.$IMGFMT
> +    elif [ "$IMGPROTO" = "archipelago" ]; then
> +        TEST_IMG="$DRIVER,file.driver=archipelago,file.volume=:at.$IMGFMT"
> +    else
> +        TEST_IMG="$DRIVER,file.driver=$IMGPROTO,file.filename=$TEST_DIR/t.$IMGFMT"
> +    fi
>  else
> -    TEST_IMG=$IMGPROTO:$TEST_DIR/t.$IMGFMT
> +    if [ "$IMGPROTO" = "file" ]; then
> +        TEST_IMG_FILE=$TEST_DIR/t.$IMGFMT

This wasn't set before (in this case). Doing so breaks many qcow2+file
tests (28, to be exact), because they rely on being able to do something
like

TEST_IMG="${TEST_IMG}.base" _make_test_img

which fails now because _make_test_img resorts to TEST_IMG_FILE.

I guess the fix would be for them to use TEST_IMG_FILE in those places
instead of TEST_IMG; but it's not always so simple. For instance, test
017 sets TEST_IMG and then relies on the io() function provided by
common.pattern to use that image, so maybe 017 would need to set both
TEST_IMG and TEST_IMG_FILE.

Max

> +        TEST_IMG=$TEST_DIR/t.$IMGFMT
> +    elif [ "$IMGPROTO" = "nbd" ]; then
> +        TEST_IMG_FILE=$TEST_DIR/t.$IMGFMT
> +        TEST_IMG="nbd:127.0.0.1:10810"
> +    elif [ "$IMGPROTO" = "ssh" ]; then
> +        TEST_IMG_FILE=$TEST_DIR/t.$IMGFMT
> +        TEST_IMG="ssh://127.0.0.1$TEST_IMG_FILE"
> +    elif [ "$IMGPROTO" = "nfs" ]; then
> +        TEST_DIR="nfs://127.0.0.1/$TEST_DIR"
> +        TEST_IMG=$TEST_DIR/t.$IMGFMT
> +    elif [ "$IMGPROTO" = "archipelago" ]; then
> +        TEST_IMG="archipelago:at.$IMGFMT"
> +    else
> +        TEST_IMG=$IMGPROTO:$TEST_DIR/t.$IMGFMT
> +    fi
>  fi
>  
>  _optstr_add()


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

  parent reply	other threads:[~2016-03-24 21:59 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-03-21 14:11 [Qemu-devel] [PATCH v6 00/11] Add new LUKS block driver (for 2.6) Daniel P. Berrange
2016-03-21 14:11 ` [Qemu-devel] [PATCH v6 01/11] block: add flag to indicate that no I/O will be performed Daniel P. Berrange
2016-03-21 14:11 ` [Qemu-devel] [PATCH v6 02/11] qemu-img/qemu-io: don't prompt for passwords if not required Daniel P. Berrange
2016-03-21 14:11 ` [Qemu-devel] [PATCH v6 03/11] tests: redirect stderr to stdout for iotests Daniel P. Berrange
2016-03-21 14:11 ` [Qemu-devel] [PATCH v6 04/11] tests: refactor python I/O tests helper main method Daniel P. Berrange
2016-03-21 14:11 ` [Qemu-devel] [PATCH v6 05/11] tests: add output filter to python I/O tests helper Daniel P. Berrange
2016-03-21 14:11 ` [Qemu-devel] [PATCH v6 06/11] block: add generic full disk encryption driver Daniel P. Berrange
2016-03-21 14:11 ` [Qemu-devel] [PATCH v6 07/11] block: move encryption deprecation warning into qcow code Daniel P. Berrange
2016-03-21 20:04   ` Eric Blake
2016-03-21 14:11 ` [Qemu-devel] [PATCH v6 08/11] block: add support for --image-opts in block I/O tests Daniel P. Berrange
2016-03-21 20:08   ` Eric Blake
2016-03-22 10:36     ` Daniel P. Berrange
2016-03-24 21:59   ` Max Reitz [this message]
2016-03-21 14:11 ` [Qemu-devel] [PATCH v6 09/11] block: add support for encryption secrets " Daniel P. Berrange
2016-03-21 20:13   ` Eric Blake
2016-03-21 14:11 ` [Qemu-devel] [PATCH v6 10/11] block: enable testing of LUKS driver with " Daniel P. Berrange
2016-03-21 14:11 ` [Qemu-devel] [PATCH v6 11/11] block: an interoperability test for luks vs dm-crypt/cryptsetup Daniel P. Berrange
2016-03-21 16:50 ` [Qemu-devel] [PATCH v6 00/11] Add new LUKS block driver (for 2.6) Kevin Wolf
2016-03-21 16:53   ` Daniel P. Berrange
2016-03-23 13:53 ` Kevin Wolf
2016-03-29  9:13   ` [Qemu-devel] [Qemu-block] " Kevin Wolf
2016-03-29  9:15     ` Daniel P. Berrange

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=56F46351.6000004@redhat.com \
    --to=mreitz@redhat.com \
    --cc=berrange@redhat.com \
    --cc=famz@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.