From: "Benoît Canet" <benoit.canet@irqsave.net>
To: Kevin Wolf <kwolf@redhat.com>
Cc: qemu-devel@nongnu.org, stefanha@redhat.com, armbru@redhat.com
Subject: Re: [Qemu-devel] [PATCH 3/3] qemu-iotests: Test a few blockdev-add error cases
Date: Thu, 6 Mar 2014 17:13:00 +0100 [thread overview]
Message-ID: <20140306161300.GF22291@irqsave.net> (raw)
In-Reply-To: <1394120669-4675-4-git-send-email-kwolf@redhat.com>
The Thursday 06 Mar 2014 à 16:44:29 (+0100), Kevin Wolf wrote :
> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
> ---
> tests/qemu-iotests/087 | 122 +++++++++++++++++++++++++++++++++++++++++++++
> tests/qemu-iotests/087.out | 40 +++++++++++++++
> tests/qemu-iotests/group | 1 +
> 3 files changed, 163 insertions(+)
> create mode 100755 tests/qemu-iotests/087
> create mode 100644 tests/qemu-iotests/087.out
>
> diff --git a/tests/qemu-iotests/087 b/tests/qemu-iotests/087
> new file mode 100755
> index 0000000..53b6c43
> --- /dev/null
> +++ b/tests/qemu-iotests/087
> @@ -0,0 +1,122 @@
> +#!/bin/bash
> +#
> +# Test unsupported blockdev-add cases
> +#
> +# Copyright (C) 2014 Red Hat, Inc.
> +#
> +# This program is free software; you can redistribute it and/or modify
> +# it under the terms of the GNU General Public License as published by
> +# the Free Software Foundation; either version 2 of the License, or
> +# (at your option) any later version.
> +#
> +# This program is distributed in the hope that it will be useful,
> +# but WITHOUT ANY WARRANTY; without even the implied warranty of
> +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> +# GNU General Public License for more details.
> +#
> +# You should have received a copy of the GNU General Public License
> +# along with this program. If not, see <http://www.gnu.org/licenses/>.
> +#
> +
> +# creator
> +owner=kwolf@redhat.com
> +
> +seq=`basename $0`
> +echo "QA output created by $seq"
> +
> +here=`pwd`
> +tmp=/tmp/$$
> +status=1 # failure is the default!
> +
> +# get standard environment, filters and checks
> +. ./common.rc
> +. ./common.filter
> +
> +_supported_fmt qcow2
> +_supported_proto file
> +_supported_os Linux
> +
> +function do_run_qemu()
> +{
> + echo Testing: "$@"
> + $QEMU -nographic -qmp stdio -serial none "$@"
> + echo
> +}
> +
> +function run_qemu()
> +{
> + do_run_qemu "$@" 2>&1 | _filter_testdir | _filter_qmp | sed -e 's/\("actual-size":\s*\)[0-9]\+/\1SIZE/g'
> +}
> +
> +size=128M
> +
> +_make_test_img $size
> +
> +echo
> +echo === Missing ID ===
> +echo
> +
> +run_qemu <<EOF
> +{ "execute": "qmp_capabilities" }
> +{ "execute": "blockdev-add",
> + "arguments": {
> + "options": {
> + "driver": "$IMGFMT",
> + "file": {
> + "driver": "file",
> + "filename": "$TEST_IMG"
> + }
> + }
> + }
> + }
> +{ "execute": "quit" }
> +EOF
> +
> +echo
> +echo === aio=native without O_DIRECT ===
> +echo
> +
> +run_qemu <<EOF
> +{ "execute": "qmp_capabilities" }
> +{ "execute": "blockdev-add",
> + "arguments": {
> + "options": {
> + "driver": "$IMGFMT",
> + "id": "disk",
> + "aio": "native",
> + "file": {
> + "driver": "file",
> + "filename": "$TEST_IMG"
> + }
> + }
> + }
> + }
> +{ "execute": "quit" }
> +EOF
> +
> +echo
> +echo === Encrypted image ===
> +echo
> +
> +_make_test_img -o encryption=on $size
> +run_qemu <<EOF
> +{ "execute": "qmp_capabilities" }
> +{ "execute": "blockdev-add",
> + "arguments": {
> + "options": {
> + "driver": "$IMGFMT",
> + "id": "disk",
> + "file": {
> + "driver": "file",
> + "filename": "$TEST_IMG"
> + }
> + }
> + }
> + }
> +{ "execute": "quit" }
> +EOF
> +
> +# success, all done
> +echo "*** done"
> +rm -f $seq.full
> +status=0
> diff --git a/tests/qemu-iotests/087.out b/tests/qemu-iotests/087.out
> new file mode 100644
> index 0000000..b871032
> --- /dev/null
> +++ b/tests/qemu-iotests/087.out
> @@ -0,0 +1,40 @@
> +QA output created by 087
> +Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728
> +
> +=== Missing ID ===
> +
> +Testing:
> +QMP_VERSION
> +{"return": {}}
> +{"error": {"class": "GenericError", "desc": "Block device needs an ID"}}
> +{"return": {}}
> +{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "SHUTDOWN"}
> +{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "DEVICE_TRAY_MOVED", "data": {"device": "ide1-cd0", "tray-open": true}}
> +{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "DEVICE_TRAY_MOVED", "data": {"device": "floppy0", "tray-open": true}}
> +
> +
> +=== aio=native without O_DIRECT ===
> +
> +Testing:
> +QMP_VERSION
> +{"return": {}}
> +{"error": {"class": "GenericError", "desc": "aio=native requires cache.direct=true"}}
> +{"return": {}}
> +{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "SHUTDOWN"}
> +{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "DEVICE_TRAY_MOVED", "data": {"device": "ide1-cd0", "tray-open": true}}
> +{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "DEVICE_TRAY_MOVED", "data": {"device": "floppy0", "tray-open": true}}
> +
> +
> +=== Encrypted image ===
> +
> +Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 encryption=on
> +Testing:
> +QMP_VERSION
> +{"return": {}}
> +{"error": {"class": "GenericError", "desc": "blockdev-add doesn't support encrypted devices"}}
> +{"return": {}}
> +{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "SHUTDOWN"}
> +{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "DEVICE_TRAY_MOVED", "data": {"device": "ide1-cd0", "tray-open": true}}
> +{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "DEVICE_TRAY_MOVED", "data": {"device": "floppy0", "tray-open": true}}
> +
> +*** done
> diff --git a/tests/qemu-iotests/group b/tests/qemu-iotests/group
> index 901730d..9ec62d2 100644
> --- a/tests/qemu-iotests/group
> +++ b/tests/qemu-iotests/group
> @@ -86,3 +86,4 @@
> 081 rw auto
> 082 rw auto quick
> 086 rw auto quick
> +087 rw auto quick
> --
> 1.8.1.4
>
>
Reviewed-by: Benoit Canet <benoit@irqsave.net>
prev parent reply other threads:[~2014-03-06 16:13 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-03-06 15:44 [Qemu-devel] [PATCH 0/3] blockdev: blockdev-add error path fixes and tests Kevin Wolf
2014-03-06 15:44 ` [Qemu-devel] [PATCH 1/3] blockdev: Fail blockdev-add with encrypted images Kevin Wolf
2014-03-06 16:02 ` Benoît Canet
2014-03-06 16:21 ` Eric Blake
2014-03-06 15:44 ` [Qemu-devel] [PATCH 2/3] blockdev: Fix NULL pointer dereference in blockdev-add Kevin Wolf
2014-03-06 16:06 ` Benoît Canet
2014-03-06 16:22 ` Eric Blake
2014-03-06 15:44 ` [Qemu-devel] [PATCH 3/3] qemu-iotests: Test a few blockdev-add error cases Kevin Wolf
2014-03-06 16:13 ` Benoît Canet [this message]
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=20140306161300.GF22291@irqsave.net \
--to=benoit.canet@irqsave.net \
--cc=armbru@redhat.com \
--cc=kwolf@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@redhat.com \
/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).