Message ID | 1381458811-9854-4-git-send-email-xiawenc@linux.vnet.ibm.com |
---|---|
State | New |
Headers | show |
On Fri, Oct 11, 2013 at 10:33:29AM +0800, Wenchao Xia wrote: > Signed-off-by: Wenchao Xia <xiawenc@linux.vnet.ibm.com> > --- > tests/qemu-iotests/058 | 102 ++++++++++++++++++++++++++++++++++++++++++++ > tests/qemu-iotests/058.out | 32 ++++++++++++++ > tests/qemu-iotests/check | 1 + > tests/qemu-iotests/group | 1 + > 4 files changed, 136 insertions(+), 0 deletions(-) > create mode 100755 tests/qemu-iotests/058 > create mode 100644 tests/qemu-iotests/058.out > > diff --git a/tests/qemu-iotests/058 b/tests/qemu-iotests/058 > new file mode 100755 > index 0000000..5b821cf > --- /dev/null > +++ b/tests/qemu-iotests/058 > @@ -0,0 +1,102 @@ > +#!/bin/bash > +# > +# Test export internal snapshot by qemu-nbd. > +# > +# Copyright (C) 2013 IBM, Inc. > +# > +# Based on 029. > +# > +# 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=xiawenc@linux.vnet.ibm.com > + > +seq=`basename $0` > +echo "QA output created by $seq" > + > +here=`pwd` > +tmp=/tmp/$$ > +status=1 # failure is the default! > + > +nbd_snapshot_port=10850 > +nbd_snapshot_img="nbd:127.0.0.1:$nbd_snapshot_port" > + > +_export_nbd_snapshot() > +{ > + $QEMU_NBD -v -t -b 127.0.0.1 -p $nbd_snapshot_port "$TEST_IMG" -l $1 & > + NBD_SNAPSHOT_PID=$! > + sleep 1 > +} > + > +_export_nbd_snapshot1() > +{ > + $QEMU_NBD -v -t -b 127.0.0.1 -p $nbd_snapshot_port $TEST_IMG -l snapshot.name=$1 & Please quote $TEST_IMG, so that it works with spaced pathnames. > + NBD_SNAPSHOT_PID=$! > + sleep 1 > +} > + > +_cleanup() > +{ > + if [ -n "$NBD_SNAPSHOT_PID" ]; then > + kill $NBD_SNAPSHOT_PID > + fi > + _cleanup_test_img > +} > +trap "_cleanup; exit \$status" 0 1 2 3 15 > + > +# get standard environment, filters and checks > +. ./common.rc > +. ./common.filter > +. ./common.pattern > + > +_supported_fmt qcow2 > +_supported_proto generic > + > +echo > +echo "== preparing image ==" > +_make_test_img 64M > +$QEMU_IO -c 'write -P 0xa 0x1000 0x1000' $TEST_IMG | _filter_qemu_io > +$QEMU_IO -c 'write -P 0xb 0x2000 0x1000' $TEST_IMG | _filter_qemu_io > +$QEMU_IMG snapshot -c sn1 $TEST_IMG > +$QEMU_IO -c 'write -P 0xc 0x1000 0x1000' $TEST_IMG | _filter_qemu_io > +$QEMU_IO -c 'write -P 0xd 0x2000 0x1000' $TEST_IMG | _filter_qemu_io > +_check_test_img > + > +echo > +echo "== verifying the image file with patterns ==" > +$QEMU_IO -c 'read -P 0xc 0x1000 0x1000' $TEST_IMG | _filter_qemu_io > +$QEMU_IO -c 'read -P 0xd 0x2000 0x1000' $TEST_IMG | _filter_qemu_io More quoting needing ($TEST_IMG again) > + > +_export_nbd_snapshot sn1 > + > +echo > +echo "== verifying the exported snapshot with patterns ==" > +$QEMU_IO -c 'read -P 0xa 0x1000 0x1000' $nbd_snapshot_img | _filter_qemu_io > +$QEMU_IO -c 'read -P 0xb 0x2000 0x1000' $nbd_snapshot_img | _filter_qemu_io > + > +kill $NBD_SNAPSHOT_PID > +sleep 1 > + > +_export_nbd_snapshot1 sn1 > + > +echo > +echo "== verifying the exported snapshot with patterns ==" > +$QEMU_IO -c 'read -P 0xa 0x1000 0x1000' $nbd_snapshot_img | _filter_qemu_io > +$QEMU_IO -c 'read -P 0xb 0x2000 0x1000' $nbd_snapshot_img | _filter_qemu_io > + > +# success, all done > +echo "*** done" > +rm -f $seq.full > +status=0 > diff --git a/tests/qemu-iotests/058.out b/tests/qemu-iotests/058.out > new file mode 100644 > index 0000000..cc4b8ca > --- /dev/null > +++ b/tests/qemu-iotests/058.out > @@ -0,0 +1,32 @@ > +QA output created by 058 > + > +== preparing image == > +Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864 > +wrote 4096/4096 bytes at offset 4096 > +4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) > +wrote 4096/4096 bytes at offset 8192 > +4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) > +wrote 4096/4096 bytes at offset 4096 > +4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) > +wrote 4096/4096 bytes at offset 8192 > +4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) > +No errors were found on the image. > + > +== verifying the image file with patterns == > +read 4096/4096 bytes at offset 4096 > +4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) > +read 4096/4096 bytes at offset 8192 > +4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) > + > +== verifying the exported snapshot with patterns == > +read 4096/4096 bytes at offset 4096 > +4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) > +read 4096/4096 bytes at offset 8192 > +4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) > + > +== verifying the exported snapshot with patterns == > +read 4096/4096 bytes at offset 4096 > +4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) > +read 4096/4096 bytes at offset 8192 > +4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) > +*** done > diff --git a/tests/qemu-iotests/check b/tests/qemu-iotests/check > index f5f328f..f879474 100755 > --- a/tests/qemu-iotests/check > +++ b/tests/qemu-iotests/check > @@ -161,6 +161,7 @@ cat <<EOF > QEMU -- $QEMU > QEMU_IMG -- $QEMU_IMG > QEMU_IO -- $QEMU_IO > +QEMU_NBD -- $QEMU_NBD > IMGFMT -- $FULL_IMGFMT_DETAILS > IMGPROTO -- $FULL_IMGPROTO_DETAILS > PLATFORM -- $FULL_HOST_DETAILS > diff --git a/tests/qemu-iotests/group b/tests/qemu-iotests/group > index 1ad02e5..2793e1d 100644 > --- a/tests/qemu-iotests/group > +++ b/tests/qemu-iotests/group > @@ -64,6 +64,7 @@ > 055 rw auto > 056 rw auto backing > 057 rw auto > +058 rw auto > 059 rw auto > 060 rw auto > 061 rw auto > -- > 1.7.1 > >
diff --git a/tests/qemu-iotests/058 b/tests/qemu-iotests/058 new file mode 100755 index 0000000..5b821cf --- /dev/null +++ b/tests/qemu-iotests/058 @@ -0,0 +1,102 @@ +#!/bin/bash +# +# Test export internal snapshot by qemu-nbd. +# +# Copyright (C) 2013 IBM, Inc. +# +# Based on 029. +# +# 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=xiawenc@linux.vnet.ibm.com + +seq=`basename $0` +echo "QA output created by $seq" + +here=`pwd` +tmp=/tmp/$$ +status=1 # failure is the default! + +nbd_snapshot_port=10850 +nbd_snapshot_img="nbd:127.0.0.1:$nbd_snapshot_port" + +_export_nbd_snapshot() +{ + $QEMU_NBD -v -t -b 127.0.0.1 -p $nbd_snapshot_port "$TEST_IMG" -l $1 & + NBD_SNAPSHOT_PID=$! + sleep 1 +} + +_export_nbd_snapshot1() +{ + $QEMU_NBD -v -t -b 127.0.0.1 -p $nbd_snapshot_port $TEST_IMG -l snapshot.name=$1 & + NBD_SNAPSHOT_PID=$! + sleep 1 +} + +_cleanup() +{ + if [ -n "$NBD_SNAPSHOT_PID" ]; then + kill $NBD_SNAPSHOT_PID + fi + _cleanup_test_img +} +trap "_cleanup; exit \$status" 0 1 2 3 15 + +# get standard environment, filters and checks +. ./common.rc +. ./common.filter +. ./common.pattern + +_supported_fmt qcow2 +_supported_proto generic + +echo +echo "== preparing image ==" +_make_test_img 64M +$QEMU_IO -c 'write -P 0xa 0x1000 0x1000' $TEST_IMG | _filter_qemu_io +$QEMU_IO -c 'write -P 0xb 0x2000 0x1000' $TEST_IMG | _filter_qemu_io +$QEMU_IMG snapshot -c sn1 $TEST_IMG +$QEMU_IO -c 'write -P 0xc 0x1000 0x1000' $TEST_IMG | _filter_qemu_io +$QEMU_IO -c 'write -P 0xd 0x2000 0x1000' $TEST_IMG | _filter_qemu_io +_check_test_img + +echo +echo "== verifying the image file with patterns ==" +$QEMU_IO -c 'read -P 0xc 0x1000 0x1000' $TEST_IMG | _filter_qemu_io +$QEMU_IO -c 'read -P 0xd 0x2000 0x1000' $TEST_IMG | _filter_qemu_io + +_export_nbd_snapshot sn1 + +echo +echo "== verifying the exported snapshot with patterns ==" +$QEMU_IO -c 'read -P 0xa 0x1000 0x1000' $nbd_snapshot_img | _filter_qemu_io +$QEMU_IO -c 'read -P 0xb 0x2000 0x1000' $nbd_snapshot_img | _filter_qemu_io + +kill $NBD_SNAPSHOT_PID +sleep 1 + +_export_nbd_snapshot1 sn1 + +echo +echo "== verifying the exported snapshot with patterns ==" +$QEMU_IO -c 'read -P 0xa 0x1000 0x1000' $nbd_snapshot_img | _filter_qemu_io +$QEMU_IO -c 'read -P 0xb 0x2000 0x1000' $nbd_snapshot_img | _filter_qemu_io + +# success, all done +echo "*** done" +rm -f $seq.full +status=0 diff --git a/tests/qemu-iotests/058.out b/tests/qemu-iotests/058.out new file mode 100644 index 0000000..cc4b8ca --- /dev/null +++ b/tests/qemu-iotests/058.out @@ -0,0 +1,32 @@ +QA output created by 058 + +== preparing image == +Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864 +wrote 4096/4096 bytes at offset 4096 +4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) +wrote 4096/4096 bytes at offset 8192 +4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) +wrote 4096/4096 bytes at offset 4096 +4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) +wrote 4096/4096 bytes at offset 8192 +4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) +No errors were found on the image. + +== verifying the image file with patterns == +read 4096/4096 bytes at offset 4096 +4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) +read 4096/4096 bytes at offset 8192 +4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) + +== verifying the exported snapshot with patterns == +read 4096/4096 bytes at offset 4096 +4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) +read 4096/4096 bytes at offset 8192 +4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) + +== verifying the exported snapshot with patterns == +read 4096/4096 bytes at offset 4096 +4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) +read 4096/4096 bytes at offset 8192 +4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) +*** done diff --git a/tests/qemu-iotests/check b/tests/qemu-iotests/check index f5f328f..f879474 100755 --- a/tests/qemu-iotests/check +++ b/tests/qemu-iotests/check @@ -161,6 +161,7 @@ cat <<EOF QEMU -- $QEMU QEMU_IMG -- $QEMU_IMG QEMU_IO -- $QEMU_IO +QEMU_NBD -- $QEMU_NBD IMGFMT -- $FULL_IMGFMT_DETAILS IMGPROTO -- $FULL_IMGPROTO_DETAILS PLATFORM -- $FULL_HOST_DETAILS diff --git a/tests/qemu-iotests/group b/tests/qemu-iotests/group index 1ad02e5..2793e1d 100644 --- a/tests/qemu-iotests/group +++ b/tests/qemu-iotests/group @@ -64,6 +64,7 @@ 055 rw auto 056 rw auto backing 057 rw auto +058 rw auto 059 rw auto 060 rw auto 061 rw auto
Signed-off-by: Wenchao Xia <xiawenc@linux.vnet.ibm.com> --- tests/qemu-iotests/058 | 102 ++++++++++++++++++++++++++++++++++++++++++++ tests/qemu-iotests/058.out | 32 ++++++++++++++ tests/qemu-iotests/check | 1 + tests/qemu-iotests/group | 1 + 4 files changed, 136 insertions(+), 0 deletions(-) create mode 100755 tests/qemu-iotests/058 create mode 100644 tests/qemu-iotests/058.out