* [Qemu-devel] [PATCH 0/2] qemu-iotests with sample images, vhdx read test
@ 2013-09-20 3:48 Jeff Cody
2013-09-20 3:48 ` [Qemu-devel] [PATCH 1/2] block: qemu-iotests - add basic ability to use binary sample images Jeff Cody
2013-09-20 3:48 ` [Qemu-devel] [PATCH 2/2] block: qemu-iotests for vhdx, read sample dynamic image Jeff Cody
0 siblings, 2 replies; 11+ messages in thread
From: Jeff Cody @ 2013-09-20 3:48 UTC (permalink / raw)
To: qemu-devel; +Cc: kwolf, famz, stefanha
This provides:
Patch 1/2: A basic framework for using sample image files. This is intended
to be sample images created with the image format native tool; e.g.
a VHDX image created with Hyper-V.
Patch 2/2: VHDX read test on a sample image created with Hyper-V.
Jeff Cody (2):
block: qemu-iotests - add basic ability to use binary sample images
block: qemu-iotests for vhdx, read sample dynamic image
tests/qemu-iotests/064 | 62 +++++++++++++++++++++
tests/qemu-iotests/064.out | 14 +++++
tests/qemu-iotests/common | 6 ++
tests/qemu-iotests/common.config | 11 ++++
tests/qemu-iotests/common.rc | 9 +++
tests/qemu-iotests/group | 1 +
tests/qemu-iotests/sample_images/MANIFEST | 7 +++
tests/qemu-iotests/sample_images/README | 8 +++
.../sample_images/iotest-dynamic-1G.vhdx.bz2 | Bin 0 -> 874 bytes
9 files changed, 118 insertions(+)
create mode 100755 tests/qemu-iotests/064
create mode 100644 tests/qemu-iotests/064.out
create mode 100644 tests/qemu-iotests/sample_images/MANIFEST
create mode 100644 tests/qemu-iotests/sample_images/README
create mode 100644 tests/qemu-iotests/sample_images/iotest-dynamic-1G.vhdx.bz2
--
1.8.3.1
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Qemu-devel] [PATCH 1/2] block: qemu-iotests - add basic ability to use binary sample images
2013-09-20 3:48 [Qemu-devel] [PATCH 0/2] qemu-iotests with sample images, vhdx read test Jeff Cody
@ 2013-09-20 3:48 ` Jeff Cody
2013-09-20 12:32 ` Stefan Hajnoczi
2013-09-20 12:46 ` Eric Blake
2013-09-20 3:48 ` [Qemu-devel] [PATCH 2/2] block: qemu-iotests for vhdx, read sample dynamic image Jeff Cody
1 sibling, 2 replies; 11+ messages in thread
From: Jeff Cody @ 2013-09-20 3:48 UTC (permalink / raw)
To: qemu-devel; +Cc: kwolf, famz, stefanha
For image formats that are not "QEMU native", but supported for
compatibility, it is useful to verify that an image created with
the 'gold standard' native tool can be read / written to successfully
by QEMU.
In addition to testing non-native images, this could also be useful to
test against image files created by older versions of QEMU.
This provides a directory to store small sample images, for use by
scripts in tests/qemu-iotests.
The MANIFEST file should be updated when a new image is added to the
directory, to give some idea about the nature of the image and the
data store therein.
Image files should be compressed with bzip2.
To use a sample image from a bash script, the _use_sample_img function
will copy and decompress the image into $TEST_DIR, and set $TEST_IMG to
be the decompressed sample image copy. To cleanup, call
_cleanup_test_img as normal.
Signed-off-by: Jeff Cody <jcody@redhat.com>
---
tests/qemu-iotests/common.config | 11 +++++++++++
tests/qemu-iotests/common.rc | 9 +++++++++
tests/qemu-iotests/sample_images/MANIFEST | 2 ++
tests/qemu-iotests/sample_images/README | 8 ++++++++
4 files changed, 30 insertions(+)
create mode 100644 tests/qemu-iotests/sample_images/MANIFEST
create mode 100644 tests/qemu-iotests/sample_images/README
diff --git a/tests/qemu-iotests/common.config b/tests/qemu-iotests/common.config
index d794e62..d90a8bc 100644
--- a/tests/qemu-iotests/common.config
+++ b/tests/qemu-iotests/common.config
@@ -125,6 +125,17 @@ fi
export TEST_DIR
+if [ -z "$SAMPLE_IMG_DIR" ]; then
+ SAMPLE_IMG_DIR=`pwd`/sample_images
+fi
+
+if [ ! -d "$SAMPLE_IMG_DIR" ]; then
+ echo "common.config: Error: \$SAMPLE_IMG_DIR ($SAMPLE_IMG_DIR) is not a directory"
+ exit 1
+fi
+
+export SAMPLE_IMG_DIR
+
_readlink()
{
if [ $# -ne 1 ]; then
diff --git a/tests/qemu-iotests/common.rc b/tests/qemu-iotests/common.rc
index 28b39e4..d52f344 100644
--- a/tests/qemu-iotests/common.rc
+++ b/tests/qemu-iotests/common.rc
@@ -91,6 +91,14 @@ _set_default_imgopts()
fi
}
+_use_sample_img()
+{
+ cp $SAMPLE_IMG_DIR/"$1" $TEST_DIR
+ bunzip2 $TEST_DIR/"$1"
+ SAMPLE_IMG_FILE="${1%\.bz2}"
+ TEST_IMG=$TEST_DIR/$SAMPLE_IMG_FILE
+}
+
_make_test_img()
{
# extra qemu-img options can be added by tests
@@ -158,6 +166,7 @@ _cleanup_test_img()
rm -f $TEST_DIR/t.$IMGFMT
rm -f $TEST_DIR/t.$IMGFMT.orig
rm -f $TEST_DIR/t.$IMGFMT.base
+ rm -f $TEST_DIR/$SAMPLE_IMG_FILE
;;
rbd)
diff --git a/tests/qemu-iotests/sample_images/MANIFEST b/tests/qemu-iotests/sample_images/MANIFEST
new file mode 100644
index 0000000..7abf287
--- /dev/null
+++ b/tests/qemu-iotests/sample_images/MANIFEST
@@ -0,0 +1,2 @@
+ Image Filename | Description
+------------------------------------------------------------------------------
diff --git a/tests/qemu-iotests/sample_images/README b/tests/qemu-iotests/sample_images/README
new file mode 100644
index 0000000..9321b00
--- /dev/null
+++ b/tests/qemu-iotests/sample_images/README
@@ -0,0 +1,8 @@
+This is for small sample images to be used with qemu-iotests, intended for
+non-native formats that QEMU supports for compatibility. The idea is to use
+the native tool to create the sample image.
+
+For instance, a VHDX image in this directory would be an image created not by
+QEMU itself, but rather created by Hyper-V.
+
+Sample images added here should be described in the MANIFEST file.
--
1.8.3.1
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [Qemu-devel] [PATCH 2/2] block: qemu-iotests for vhdx, read sample dynamic image
2013-09-20 3:48 [Qemu-devel] [PATCH 0/2] qemu-iotests with sample images, vhdx read test Jeff Cody
2013-09-20 3:48 ` [Qemu-devel] [PATCH 1/2] block: qemu-iotests - add basic ability to use binary sample images Jeff Cody
@ 2013-09-20 3:48 ` Jeff Cody
2013-09-20 9:10 ` [Qemu-devel] [PATCH 2/2] block: qemu-iotests for vhdx, read sample dynamic imagee Alex Bennée
1 sibling, 1 reply; 11+ messages in thread
From: Jeff Cody @ 2013-09-20 3:48 UTC (permalink / raw)
To: qemu-devel; +Cc: kwolf, famz, stefanha
This adds the VHDX format to the qemu-iotests format, and adds
a read test. The test reads from an existing sample image, that
was created with Hyper-V under Windwos Server 2012.
The image file is a 1GB dynamic image, with 32MB blocks.
The pattern 0xa5 exists from 0MB-33MB (past a block size boundary)
The pattern 0x96 exists from 33MB-66MB (past another block boundary,
and leaving a partial blank block)
>From 66MB-1024MB, all reads should return 0.
Although 1GB dynamic image with 66MB of data, the bzip2'ed image
file size is only 874 bytes.
Signed-off-by: Jeff Cody <jcody@redhat.com>
---
tests/qemu-iotests/064 | 62 +++++++++++++++++++++
tests/qemu-iotests/064.out | 14 +++++
tests/qemu-iotests/common | 6 ++
tests/qemu-iotests/group | 1 +
tests/qemu-iotests/sample_images/MANIFEST | 5 ++
.../sample_images/iotest-dynamic-1G.vhdx.bz2 | Bin 0 -> 874 bytes
6 files changed, 88 insertions(+)
create mode 100755 tests/qemu-iotests/064
create mode 100644 tests/qemu-iotests/064.out
create mode 100644 tests/qemu-iotests/sample_images/iotest-dynamic-1G.vhdx.bz2
diff --git a/tests/qemu-iotests/064 b/tests/qemu-iotests/064
new file mode 100755
index 0000000..6a17bdb
--- /dev/null
+++ b/tests/qemu-iotests/064
@@ -0,0 +1,62 @@
+#!/bin/bash
+#
+# Test VHDX read/write from a sample image created with Hyper-V
+#
+# Copyright (C) 2013 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=jcody@redhat.com
+
+seq=`basename $0`
+echo "QA output created by $seq"
+
+here=`pwd`
+tmp=/tmp/$$
+status=1 # failure is the default!
+
+_cleanup()
+{
+ _cleanup_test_img
+}
+trap "_cleanup; exit \$status" 0 1 2 3 15
+
+# get standard environment, filters and checks
+. ./common.rc
+. ./common.filter
+
+_supported_fmt vhdx
+_supported_proto generic
+_supported_os Linux
+
+_use_sample_img iotest-dynamic-1G.vhdx.bz2
+
+echo
+echo "=== Verify pattern 0xa5, 0 - 33MB ==="
+$QEMU_IO -c "read -pP 0xa5 0 33M" $TEST_IMG | _filter_qemu_io
+
+echo
+echo "=== Verify pattern 0x96, 33M - 66M ==="
+$QEMU_IO -c "read -pP 0x96 33M 33M" $TEST_IMG | _filter_qemu_io
+
+echo
+echo "=== Verify pattern 0x00, 66M - 1024M ==="
+$QEMU_IO -c "read -pP 0x00 66M 958M" $TEST_IMG | _filter_qemu_io
+
+# success, all done
+echo "*** done"
+rm -f $seq.full
+status=0
diff --git a/tests/qemu-iotests/064.out b/tests/qemu-iotests/064.out
new file mode 100644
index 0000000..b9e8e4a
--- /dev/null
+++ b/tests/qemu-iotests/064.out
@@ -0,0 +1,14 @@
+QA output created by 064
+
+=== Verify pattern 0xa5, 0 - 33MB ===
+read 34603008/34603008 bytes at offset 0
+33 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
+
+=== Verify pattern 0x96, 33M - 66M ===
+read 34603008/34603008 bytes at offset 34603008
+33 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
+
+=== Verify pattern 0x00, 66M - 1024M ===
+read 1004535808/1004535808 bytes at offset 69206016
+958 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
+*** done
diff --git a/tests/qemu-iotests/common b/tests/qemu-iotests/common
index fecaf85..311c9e4 100644
--- a/tests/qemu-iotests/common
+++ b/tests/qemu-iotests/common
@@ -133,6 +133,7 @@ check options
-qed test qed
-vdi test vdi
-vpc test vpc
+ -vhdx test vhdx
-vmdk test vmdk
-rbd test rbd
-sheepdog test sheepdog
@@ -195,6 +196,11 @@ testlist options
xpand=false
;;
+ -vhdx)
+ IMGFMT=vhdx
+ xpand=false
+ ;;
+
-rbd)
IMGPROTO=rbd
xpand=false
diff --git a/tests/qemu-iotests/group b/tests/qemu-iotests/group
index 1ad02e5..9e950fd 100644
--- a/tests/qemu-iotests/group
+++ b/tests/qemu-iotests/group
@@ -69,3 +69,4 @@
061 rw auto
062 rw auto
063 rw auto
+064 rw auto
diff --git a/tests/qemu-iotests/sample_images/MANIFEST b/tests/qemu-iotests/sample_images/MANIFEST
index 7abf287..6e4a7ef 100644
--- a/tests/qemu-iotests/sample_images/MANIFEST
+++ b/tests/qemu-iotests/sample_images/MANIFEST
@@ -1,2 +1,7 @@
Image Filename | Description
------------------------------------------------------------------------------
+iotest-dynamic-1G.vhdx.bz2 | 1GB dynamic VHDX image with block size of 32 MB.
+ | This image file has a pattern of 33MB of 0xa5,
+ | followed by 33MB of 0x96, followed by zeroes.
+ | Created with Hyper-V on Windows Server 2012.
+ |
diff --git a/tests/qemu-iotests/sample_images/iotest-dynamic-1G.vhdx.bz2 b/tests/qemu-iotests/sample_images/iotest-dynamic-1G.vhdx.bz2
new file mode 100644
index 0000000000000000000000000000000000000000..77d97a0bae2e45b84ad489a77788084cc09331e0
GIT binary patch
literal 874
zcmV-w1C{(jT4*^jL0KkKS)@Vdf&hZIfB*mY_ijz2|NMXYGlTE%z2+coecwBIyV?7?
zRYF<0^&db2mkJrM&`P9@s2TtO0000000001paz-%27#ae0017K&}e8HN-(1kVrigg
z13&{nXwU!#fB~QY0000000001pg_pcpwKcJX_G+7gwSGQGHB2;7>oqbhyZB84Gbd_
zCQULjF*ML*U`z^<ku<01QIpj3N(ZFK)6~-=)Mx+=JwOB0G|{FZpglkU8fXAC(dh%q
zHq|us0A%$&Lxl0c7NkVLFGMRq07UW*2)3emj1{>kK$s^jUBKR?z~CteOe$Qc!=`MK
zpppgLEo&~>A_R+6h=@Ddl1ZgN7+7*hWL09_s<d&+mMmjjw<LrCx2PjFk~{@nV^|kz
z6;cuaQLw8m>{bL}swE6xrU?On8VxK`u45pSB}p6^9?4@FBo_q60jNQ8)7nwfo~p{X
z21&Hu-QCr>IEs=a0NK%&p{HE(oeD(TehV85d6fuURBs<`t5K&|m^Maoo0fjdi=f}{
z>E$yWvA4r~wZiNcLm<7lTF>T|a9Q1JFM7G$o)?hwxePeOZq}`A`za=Z)W^WEd#*Qp
z#kZ!X0!i<$>Ta+f8L@u+=r$sPWWhg>cfbk7O*y(bhdvqNE8G<%ccZNIDKSnW9b)lr
z?+BB(@#_SGMX@o$bqc@{OqyW;7?h|wi9+N-4D|@7-dVn6g4ihCM|pt2A}N5VGk<5?
z{FoRKTsV)8P`B0_=}2A^fU(eP{;OfF)7siztdO#@z6*HnA0O+ly16Hl#BjL02H~Lm
zU#o1s*F84YWNZGN7x>n4q>?0voA1&{kdPzmvi42q4UHtuzRJ>PzbPk0x?j$@OjIC3
z291dl2@(l)mGJeNMy5-7djC|iYdFpGgRa2BeV-I!Lj_~=H)^bLy>S7`E*Kbz7L6m%
z!pI?M^X|&xFCh=b`Ky@r+f7T@9xGSDdF)KJ&1d`VHFb7cxH1v|W<-)Ch@CnRAp<+?
z+_Yc$iVDdxn#!(cW8fGi)&T|p2nYZGK>!1RnrIY~H<Tz)=_E*(j#5Pu)m2EUIYNaE
zB#I@zVuG?vrm|0*DoOy!8h{0W000C45I_K7m<m%&lp-yPP>8%;$rRy2Ky^V+T-`Z@
A&j0`b
literal 0
HcmV?d00001
--
1.8.3.1
^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [Qemu-devel] [PATCH 2/2] block: qemu-iotests for vhdx, read sample dynamic imagee
2013-09-20 3:48 ` [Qemu-devel] [PATCH 2/2] block: qemu-iotests for vhdx, read sample dynamic image Jeff Cody
@ 2013-09-20 9:10 ` Alex Bennée
2013-09-20 9:18 ` Kevin Wolf
0 siblings, 1 reply; 11+ messages in thread
From: Alex Bennée @ 2013-09-20 9:10 UTC (permalink / raw)
To: Jeff Cody; +Cc: kwolf, famz, qemu-devel, stefanha
jcody@redhat.com writes:
> This adds the VHDX format to the qemu-iotests format, and adds
> a read test. The test reads from an existing sample image, that
> was created with Hyper-V under Windwos Server 2012.
>
> The image file is a 1GB dynamic image, with 32MB blocks.
>
> The pattern 0xa5 exists from 0MB-33MB (past a block size boundary)
>
> The pattern 0x96 exists from 33MB-66MB (past another block boundary,
> and leaving a partial blank block)
>
> From 66MB-1024MB, all reads should return 0.
>
> Although 1GB dynamic image with 66MB of data, the bzip2'ed image
> file size is only 874 bytes.
I take it there is additional meta-data in there generated by Windows
Server itself? Otherwise I would be tempted to write a tool to generate
the image on demand so it could be used to trigger other edge cases when
found.
Having said that 874 bytes certainly isn't to heavy a burden for the
repository ;-)
I'm currently pondering what the best way of supporting system images
(i.e. kernel+rootfs) would be to make system regression testing easier.
Unfortunately those images would be far too large to carry in the repo
although there may be some sub-module annex type thing I could try.
--
Alex Bennée
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Qemu-devel] [PATCH 2/2] block: qemu-iotests for vhdx, read sample dynamic imagee
2013-09-20 9:10 ` [Qemu-devel] [PATCH 2/2] block: qemu-iotests for vhdx, read sample dynamic imagee Alex Bennée
@ 2013-09-20 9:18 ` Kevin Wolf
2013-09-20 10:54 ` Alex Bennée
2013-09-20 11:24 ` Jeff Cody
0 siblings, 2 replies; 11+ messages in thread
From: Kevin Wolf @ 2013-09-20 9:18 UTC (permalink / raw)
To: Alex Bennée; +Cc: Jeff Cody, famz, qemu-devel, stefanha
Am 20.09.2013 um 11:10 hat Alex Bennée geschrieben:
>
> jcody@redhat.com writes:
>
> > This adds the VHDX format to the qemu-iotests format, and adds
> > a read test. The test reads from an existing sample image, that
> > was created with Hyper-V under Windwos Server 2012.
> >
> > The image file is a 1GB dynamic image, with 32MB blocks.
> >
> > The pattern 0xa5 exists from 0MB-33MB (past a block size boundary)
> >
> > The pattern 0x96 exists from 33MB-66MB (past another block boundary,
> > and leaving a partial blank block)
> >
> > From 66MB-1024MB, all reads should return 0.
> >
> > Although 1GB dynamic image with 66MB of data, the bzip2'ed image
> > file size is only 874 bytes.
>
> I take it there is additional meta-data in there generated by Windows
> Server itself? Otherwise I would be tempted to write a tool to generate
> the image on demand so it could be used to trigger other edge cases when
> found.
>
> Having said that 874 bytes certainly isn't to heavy a burden for the
> repository ;-)
Eventually, qemu-img will be able to create VHDX images, but I think the
point is that we compare against real Hyper-V VHDX images to ensure that
we're really reading the spec the same way as they do.
> I'm currently pondering what the best way of supporting system images
> (i.e. kernel+rootfs) would be to make system regression testing easier.
> Unfortunately those images would be far too large to carry in the repo
> although there may be some sub-module annex type thing I could try.
Sounds like you're looking for qemu-tests?
http://git.qemu.org/?p=qemu-test.git;a=summary
Kevin
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Qemu-devel] [PATCH 2/2] block: qemu-iotests for vhdx, read sample dynamic imagee
2013-09-20 9:18 ` Kevin Wolf
@ 2013-09-20 10:54 ` Alex Bennée
2013-09-20 11:24 ` Jeff Cody
1 sibling, 0 replies; 11+ messages in thread
From: Alex Bennée @ 2013-09-20 10:54 UTC (permalink / raw)
To: Kevin Wolf; +Cc: famz, Jeff Cody, Alex Bennée, qemu-devel, stefanha
kwolf@redhat.com writes:
> Am 20.09.2013 um 11:10 hat Alex Bennée geschrieben:
>>
>> jcody@redhat.com writes:
>>
<<snip>>
>> I'm currently pondering what the best way of supporting system images
>> (i.e. kernel+rootfs) would be to make system regression testing easier.
>> Unfortunately those images would be far too large to carry in the repo
>> although there may be some sub-module annex type thing I could try.
>
> Sounds like you're looking for qemu-tests?
>
> http://git.qemu.org/?p=qemu-test.git;a=summary
Thanks, Stefan H had already pointed me at that. I'm currently thinking
of painless ways to integrate those sort of tests in the main tree to
further the regression testing stuff I'm looking at.
Anyway I have already diverted enough of topic so I'll save that
discussion for another thread ;-)
--
Alex Bennée
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Qemu-devel] [PATCH 2/2] block: qemu-iotests for vhdx, read sample dynamic imagee
2013-09-20 9:18 ` Kevin Wolf
2013-09-20 10:54 ` Alex Bennée
@ 2013-09-20 11:24 ` Jeff Cody
1 sibling, 0 replies; 11+ messages in thread
From: Jeff Cody @ 2013-09-20 11:24 UTC (permalink / raw)
To: Kevin Wolf; +Cc: famz, Alex Bennée, qemu-devel, stefanha
On Fri, Sep 20, 2013 at 11:18:14AM +0200, Kevin Wolf wrote:
> Am 20.09.2013 um 11:10 hat Alex Bennée geschrieben:
> >
> > jcody@redhat.com writes:
> >
> > > This adds the VHDX format to the qemu-iotests format, and adds
> > > a read test. The test reads from an existing sample image, that
> > > was created with Hyper-V under Windwos Server 2012.
> > >
> > > The image file is a 1GB dynamic image, with 32MB blocks.
> > >
> > > The pattern 0xa5 exists from 0MB-33MB (past a block size boundary)
> > >
> > > The pattern 0x96 exists from 33MB-66MB (past another block boundary,
> > > and leaving a partial blank block)
> > >
> > > From 66MB-1024MB, all reads should return 0.
> > >
> > > Although 1GB dynamic image with 66MB of data, the bzip2'ed image
> > > file size is only 874 bytes.
> >
> > I take it there is additional meta-data in there generated by Windows
> > Server itself? Otherwise I would be tempted to write a tool to generate
> > the image on demand so it could be used to trigger other edge cases when
> > found.
> >
> > Having said that 874 bytes certainly isn't to heavy a burden for the
> > repository ;-)
>
> Eventually, qemu-img will be able to create VHDX images, but I think the
> point is that we compare against real Hyper-V VHDX images to ensure that
> we're really reading the spec the same way as they do.
>
Exactly. If we use qemu-img to generate test images, we aren't really
testing QEMU's compatibility with non-native formats.
Also, it may be useful to occasionally put native images (qcow2, qed)
in the sample_images directory for some major release, so that we can
run some image format regression tests on image format code changes.
> > I'm currently pondering what the best way of supporting system images
> > (i.e. kernel+rootfs) would be to make system regression testing easier.
> > Unfortunately those images would be far too large to carry in the repo
> > although there may be some sub-module annex type thing I could try.
>
> Sounds like you're looking for qemu-tests?
>
> http://git.qemu.org/?p=qemu-test.git;a=summary
>
There is also autotest:
https://github.com/autotest/virt-test/wiki
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Qemu-devel] [PATCH 1/2] block: qemu-iotests - add basic ability to use binary sample images
2013-09-20 3:48 ` [Qemu-devel] [PATCH 1/2] block: qemu-iotests - add basic ability to use binary sample images Jeff Cody
@ 2013-09-20 12:32 ` Stefan Hajnoczi
2013-09-20 12:41 ` Jeff Cody
2013-09-20 12:46 ` Eric Blake
1 sibling, 1 reply; 11+ messages in thread
From: Stefan Hajnoczi @ 2013-09-20 12:32 UTC (permalink / raw)
To: Jeff Cody; +Cc: kwolf, famz, qemu-devel, stefanha
On Thu, Sep 19, 2013 at 11:48:42PM -0400, Jeff Cody wrote:
> For image formats that are not "QEMU native", but supported for
> compatibility, it is useful to verify that an image created with
> the 'gold standard' native tool can be read / written to successfully
> by QEMU.
>
> In addition to testing non-native images, this could also be useful to
> test against image files created by older versions of QEMU.
>
> This provides a directory to store small sample images, for use by
> scripts in tests/qemu-iotests.
>
> The MANIFEST file should be updated when a new image is added to the
> directory, to give some idea about the nature of the image and the
> data store therein.
I'd drop the MANIFEST because metadata tends to get out-of-sync or is
ignored. The MANIFEST file can cause patch conflicts. Test code or the
commit message can describe the contents of the image so I don't see the
need to create another copy of this information.
> diff --git a/tests/qemu-iotests/common.rc b/tests/qemu-iotests/common.rc
> index 28b39e4..d52f344 100644
> --- a/tests/qemu-iotests/common.rc
> +++ b/tests/qemu-iotests/common.rc
> @@ -91,6 +91,14 @@ _set_default_imgopts()
> fi
> }
>
> +_use_sample_img()
> +{
> + cp $SAMPLE_IMG_DIR/"$1" $TEST_DIR
> + bunzip2 $TEST_DIR/"$1"
bzcat? It eliminates the temporary copy.
> @@ -158,6 +166,7 @@ _cleanup_test_img()
> rm -f $TEST_DIR/t.$IMGFMT
> rm -f $TEST_DIR/t.$IMGFMT.orig
> rm -f $TEST_DIR/t.$IMGFMT.base
> + rm -f $TEST_DIR/$SAMPLE_IMG_FILE
It seems that qemu-iotests doesn't care for paths with spaces.
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Qemu-devel] [PATCH 1/2] block: qemu-iotests - add basic ability to use binary sample images
2013-09-20 12:32 ` Stefan Hajnoczi
@ 2013-09-20 12:41 ` Jeff Cody
0 siblings, 0 replies; 11+ messages in thread
From: Jeff Cody @ 2013-09-20 12:41 UTC (permalink / raw)
To: Stefan Hajnoczi; +Cc: kwolf, famz, qemu-devel, stefanha
On Fri, Sep 20, 2013 at 02:32:26PM +0200, Stefan Hajnoczi wrote:
> On Thu, Sep 19, 2013 at 11:48:42PM -0400, Jeff Cody wrote:
> > For image formats that are not "QEMU native", but supported for
> > compatibility, it is useful to verify that an image created with
> > the 'gold standard' native tool can be read / written to successfully
> > by QEMU.
> >
> > In addition to testing non-native images, this could also be useful to
> > test against image files created by older versions of QEMU.
> >
> > This provides a directory to store small sample images, for use by
> > scripts in tests/qemu-iotests.
> >
> > The MANIFEST file should be updated when a new image is added to the
> > directory, to give some idea about the nature of the image and the
> > data store therein.
>
> I'd drop the MANIFEST because metadata tends to get out-of-sync or is
> ignored. The MANIFEST file can cause patch conflicts. Test code or the
> commit message can describe the contents of the image so I don't see the
> need to create another copy of this information.
>
OK, good point.
> > diff --git a/tests/qemu-iotests/common.rc b/tests/qemu-iotests/common.rc
> > index 28b39e4..d52f344 100644
> > --- a/tests/qemu-iotests/common.rc
> > +++ b/tests/qemu-iotests/common.rc
> > @@ -91,6 +91,14 @@ _set_default_imgopts()
> > fi
> > }
> >
> > +_use_sample_img()
> > +{
> > + cp $SAMPLE_IMG_DIR/"$1" $TEST_DIR
> > + bunzip2 $TEST_DIR/"$1"
>
> bzcat? It eliminates the temporary copy.
>
Sure
> > @@ -158,6 +166,7 @@ _cleanup_test_img()
> > rm -f $TEST_DIR/t.$IMGFMT
> > rm -f $TEST_DIR/t.$IMGFMT.orig
> > rm -f $TEST_DIR/t.$IMGFMT.base
> > + rm -f $TEST_DIR/$SAMPLE_IMG_FILE
>
> It seems that qemu-iotests doesn't care for paths with spaces.
For v2, I'll go through all the scripts (I think TEST_DIR is used in
some of the 0?? scripts as well) and make sure it is quoted (along
with SAMPLE_IMG_DIR).
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Qemu-devel] [PATCH 1/2] block: qemu-iotests - add basic ability to use binary sample images
2013-09-20 3:48 ` [Qemu-devel] [PATCH 1/2] block: qemu-iotests - add basic ability to use binary sample images Jeff Cody
2013-09-20 12:32 ` Stefan Hajnoczi
@ 2013-09-20 12:46 ` Eric Blake
2013-09-20 13:23 ` Jeff Cody
1 sibling, 1 reply; 11+ messages in thread
From: Eric Blake @ 2013-09-20 12:46 UTC (permalink / raw)
To: Jeff Cody; +Cc: kwolf, famz, qemu-devel, stefanha
[-- Attachment #1: Type: text/plain, Size: 1102 bytes --]
On 09/19/2013 09:48 PM, Jeff Cody wrote:
> For image formats that are not "QEMU native", but supported for
> compatibility, it is useful to verify that an image created with
> the 'gold standard' native tool can be read / written to successfully
> by QEMU.
>
> In addition to testing non-native images, this could also be useful to
> test against image files created by older versions of QEMU.
>
> This provides a directory to store small sample images, for use by
> scripts in tests/qemu-iotests.
>
> The MANIFEST file should be updated when a new image is added to the
> directory, to give some idea about the nature of the image and the
> data store therein.
>
> Image files should be compressed with bzip2.
Why bzip2? xz beats bzip2 in both compression ratio and decompression
speed; or if you are worried about portability, gzip is present on more
machines. bzip2 will probably be around for some time, but it is no
longer the compression engine of choice.
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library http://libvirt.org
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 621 bytes --]
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Qemu-devel] [PATCH 1/2] block: qemu-iotests - add basic ability to use binary sample images
2013-09-20 12:46 ` Eric Blake
@ 2013-09-20 13:23 ` Jeff Cody
0 siblings, 0 replies; 11+ messages in thread
From: Jeff Cody @ 2013-09-20 13:23 UTC (permalink / raw)
To: Eric Blake; +Cc: kwolf, famz, qemu-devel, stefanha
On Fri, Sep 20, 2013 at 06:46:56AM -0600, Eric Blake wrote:
> On 09/19/2013 09:48 PM, Jeff Cody wrote:
> > For image formats that are not "QEMU native", but supported for
> > compatibility, it is useful to verify that an image created with
> > the 'gold standard' native tool can be read / written to successfully
> > by QEMU.
> >
> > In addition to testing non-native images, this could also be useful to
> > test against image files created by older versions of QEMU.
> >
> > This provides a directory to store small sample images, for use by
> > scripts in tests/qemu-iotests.
> >
> > The MANIFEST file should be updated when a new image is added to the
> > directory, to give some idea about the nature of the image and the
> > data store therein.
> >
> > Image files should be compressed with bzip2.
>
> Why bzip2? xz beats bzip2 in both compression ratio and decompression
> speed; or if you are worried about portability, gzip is present on more
> machines. bzip2 will probably be around for some time, but it is no
> longer the compression engine of choice.
>
iotest-dynamic-1G.vhdx compressed with gzip, xv, and bzip2:
gzip: 102548 bytes
xv: 15892 bytes
bzip2: 874 bytes
I think bzip2 is particularly well suited for image files with
hyper-repetitive consecutive bytes due to its use of RLE. I don't
know that all sample images will have data like that, but chances are
good many will - and even if they don't, bzip2 is not horrible
compared to xz even on normal data.
-Jeff
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2013-09-20 13:23 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-09-20 3:48 [Qemu-devel] [PATCH 0/2] qemu-iotests with sample images, vhdx read test Jeff Cody
2013-09-20 3:48 ` [Qemu-devel] [PATCH 1/2] block: qemu-iotests - add basic ability to use binary sample images Jeff Cody
2013-09-20 12:32 ` Stefan Hajnoczi
2013-09-20 12:41 ` Jeff Cody
2013-09-20 12:46 ` Eric Blake
2013-09-20 13:23 ` Jeff Cody
2013-09-20 3:48 ` [Qemu-devel] [PATCH 2/2] block: qemu-iotests for vhdx, read sample dynamic image Jeff Cody
2013-09-20 9:10 ` [Qemu-devel] [PATCH 2/2] block: qemu-iotests for vhdx, read sample dynamic imagee Alex Bennée
2013-09-20 9:18 ` Kevin Wolf
2013-09-20 10:54 ` Alex Bennée
2013-09-20 11:24 ` Jeff Cody
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).