|
|
218e99 |
From 05d14f4ff759eed41146cc17688db92656388552 Mon Sep 17 00:00:00 2001
|
|
|
218e99 |
From: Max Reitz <mreitz@redhat.com>
|
|
|
218e99 |
Date: Wed, 6 Nov 2013 16:53:31 +0100
|
|
|
218e99 |
Subject: [PATCH 74/87] qemu-iotests: Add basic ability to use binary sample images
|
|
|
218e99 |
|
|
|
218e99 |
RH-Author: Max Reitz <mreitz@redhat.com>
|
|
|
218e99 |
Message-id: <1383756824-6921-9-git-send-email-mreitz@redhat.com>
|
|
|
218e99 |
Patchwork-id: 55563
|
|
|
218e99 |
O-Subject: [RHEL-7.0 qemu-kvm PATCH v2 08/21] qemu-iotests: Add basic ability to use binary sample images
|
|
|
218e99 |
Bugzilla: 980771
|
|
|
218e99 |
RH-Acked-by: Kevin Wolf <kwolf@redhat.com>
|
|
|
218e99 |
RH-Acked-by: Fam Zheng <famz@redhat.com>
|
|
|
218e99 |
RH-Acked-by: Jeffrey Cody <jcody@redhat.com>
|
|
|
218e99 |
|
|
|
218e99 |
From: Jeff Cody <jcody@redhat.com>
|
|
|
218e99 |
|
|
|
218e99 |
BZ: 980771
|
|
|
218e99 |
|
|
|
218e99 |
For image formats that are not "QEMU native", but supported for
|
|
|
218e99 |
compatibility, it is useful to verify that an image created with
|
|
|
218e99 |
the 'gold standard' native tool can be read / written to successfully
|
|
|
218e99 |
by QEMU.
|
|
|
218e99 |
|
|
|
218e99 |
In addition to testing non-native images, this could also be useful to
|
|
|
218e99 |
test against image files created by older versions of QEMU.
|
|
|
218e99 |
|
|
|
218e99 |
This provides a directory to store small sample images, for use by
|
|
|
218e99 |
scripts in tests/qemu-iotests.
|
|
|
218e99 |
|
|
|
218e99 |
Image files should be compressed with bzip2.
|
|
|
218e99 |
|
|
|
218e99 |
To use a sample image from a bash script, the _use_sample_img function
|
|
|
218e99 |
will copy and decompress the image into $TEST_DIR, and set $TEST_IMG to
|
|
|
218e99 |
be the decompressed sample image copy. To cleanup, call
|
|
|
218e99 |
_cleanup_test_img as normal.
|
|
|
218e99 |
|
|
|
218e99 |
Signed-off-by: Jeff Cody <jcody@redhat.com>
|
|
|
218e99 |
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
|
|
|
218e99 |
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
|
|
|
218e99 |
(cherry picked from commit 85edbd375b9ab451c6769011cb6b3e0287dc71e4)
|
|
|
218e99 |
|
|
|
218e99 |
Signed-off-by: Max Reitz <mreitz@redhat.com>
|
|
|
218e99 |
---
|
|
|
218e99 |
tests/qemu-iotests/common.config | 11 +++++++++++
|
|
|
218e99 |
tests/qemu-iotests/common.rc | 16 ++++++++++++++++
|
|
|
218e99 |
tests/qemu-iotests/sample_images/README | 8 ++++++++
|
|
|
218e99 |
3 files changed, 35 insertions(+)
|
|
|
218e99 |
create mode 100644 tests/qemu-iotests/sample_images/README
|
|
|
218e99 |
|
|
|
218e99 |
Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
|
|
|
218e99 |
---
|
|
|
218e99 |
tests/qemu-iotests/common.config | 11 +++++++++++
|
|
|
218e99 |
tests/qemu-iotests/common.rc | 16 ++++++++++++++++
|
|
|
218e99 |
tests/qemu-iotests/sample_images/README | 8 ++++++++
|
|
|
218e99 |
3 files changed, 35 insertions(+), 0 deletions(-)
|
|
|
218e99 |
create mode 100644 tests/qemu-iotests/sample_images/README
|
|
|
218e99 |
|
|
|
218e99 |
diff --git a/tests/qemu-iotests/common.config b/tests/qemu-iotests/common.config
|
|
|
218e99 |
index d794e62..d90a8bc 100644
|
|
|
218e99 |
--- a/tests/qemu-iotests/common.config
|
|
|
218e99 |
+++ b/tests/qemu-iotests/common.config
|
|
|
218e99 |
@@ -125,6 +125,17 @@ fi
|
|
|
218e99 |
|
|
|
218e99 |
export TEST_DIR
|
|
|
218e99 |
|
|
|
218e99 |
+if [ -z "$SAMPLE_IMG_DIR" ]; then
|
|
|
218e99 |
+ SAMPLE_IMG_DIR=`pwd`/sample_images
|
|
|
218e99 |
+fi
|
|
|
218e99 |
+
|
|
|
218e99 |
+if [ ! -d "$SAMPLE_IMG_DIR" ]; then
|
|
|
218e99 |
+ echo "common.config: Error: \$SAMPLE_IMG_DIR ($SAMPLE_IMG_DIR) is not a directory"
|
|
|
218e99 |
+ exit 1
|
|
|
218e99 |
+fi
|
|
|
218e99 |
+
|
|
|
218e99 |
+export SAMPLE_IMG_DIR
|
|
|
218e99 |
+
|
|
|
218e99 |
_readlink()
|
|
|
218e99 |
{
|
|
|
218e99 |
if [ $# -ne 1 ]; then
|
|
|
218e99 |
diff --git a/tests/qemu-iotests/common.rc b/tests/qemu-iotests/common.rc
|
|
|
218e99 |
index 28b39e4..6730955 100644
|
|
|
218e99 |
--- a/tests/qemu-iotests/common.rc
|
|
|
218e99 |
+++ b/tests/qemu-iotests/common.rc
|
|
|
218e99 |
@@ -91,6 +91,18 @@ _set_default_imgopts()
|
|
|
218e99 |
fi
|
|
|
218e99 |
}
|
|
|
218e99 |
|
|
|
218e99 |
+_use_sample_img()
|
|
|
218e99 |
+{
|
|
|
218e99 |
+ SAMPLE_IMG_FILE="${1%\.bz2}"
|
|
|
218e99 |
+ TEST_IMG="$TEST_DIR/$SAMPLE_IMG_FILE"
|
|
|
218e99 |
+ bzcat "$SAMPLE_IMG_DIR/$1" > "$TEST_IMG"
|
|
|
218e99 |
+ if [ $? -ne 0 ]
|
|
|
218e99 |
+ then
|
|
|
218e99 |
+ echo "_use_sample_img error, cannot extract '$SAMPLE_IMG_DIR/$1'"
|
|
|
218e99 |
+ exit 1
|
|
|
218e99 |
+ fi
|
|
|
218e99 |
+}
|
|
|
218e99 |
+
|
|
|
218e99 |
_make_test_img()
|
|
|
218e99 |
{
|
|
|
218e99 |
# extra qemu-img options can be added by tests
|
|
|
218e99 |
@@ -158,6 +170,10 @@ _cleanup_test_img()
|
|
|
218e99 |
rm -f $TEST_DIR/t.$IMGFMT
|
|
|
218e99 |
rm -f $TEST_DIR/t.$IMGFMT.orig
|
|
|
218e99 |
rm -f $TEST_DIR/t.$IMGFMT.base
|
|
|
218e99 |
+ if [ -n "$SAMPLE_IMG_FILE" ]
|
|
|
218e99 |
+ then
|
|
|
218e99 |
+ rm -f "$TEST_DIR/$SAMPLE_IMG_FILE"
|
|
|
218e99 |
+ fi
|
|
|
218e99 |
;;
|
|
|
218e99 |
|
|
|
218e99 |
rbd)
|
|
|
218e99 |
diff --git a/tests/qemu-iotests/sample_images/README b/tests/qemu-iotests/sample_images/README
|
|
|
218e99 |
new file mode 100644
|
|
|
218e99 |
index 0000000..507af5f
|
|
|
218e99 |
--- /dev/null
|
|
|
218e99 |
+++ b/tests/qemu-iotests/sample_images/README
|
|
|
218e99 |
@@ -0,0 +1,8 @@
|
|
|
218e99 |
+This is for small sample images to be used with qemu-iotests, intended for
|
|
|
218e99 |
+non-native formats that QEMU supports for compatibility. The idea is to use
|
|
|
218e99 |
+the native tool to create the sample image.
|
|
|
218e99 |
+
|
|
|
218e99 |
+For instance, a VHDX image in this directory would be an image created not by
|
|
|
218e99 |
+QEMU itself, but rather created by Hyper-V.
|
|
|
218e99 |
+
|
|
|
218e99 |
+Sample images added here must be compressed with bzip2.
|
|
|
218e99 |
--
|
|
|
218e99 |
1.7.1
|
|
|
218e99 |
|