The Wednesday 18 Jun 2014 à 00:14:10 (+0200), Max Reitz wrote : > Add a new test for qemu-iotests which checks whether the "filename" (and > consequently the "file") attribute is set for images which are opened > over NBD. > > Signed-off-by: Max Reitz <mre...@redhat.com> > --- > tests/qemu-iotests/097 | 72 > ++++++++++++++++++++++++++++++++++++++++++++++ > tests/qemu-iotests/097.out | 13 +++++++++ > tests/qemu-iotests/group | 1 + > 3 files changed, 86 insertions(+) > create mode 100755 tests/qemu-iotests/097 > create mode 100644 tests/qemu-iotests/097.out > > diff --git a/tests/qemu-iotests/097 b/tests/qemu-iotests/097 > new file mode 100755 > index 0000000..c471ef2 > --- /dev/null > +++ b/tests/qemu-iotests/097 > @@ -0,0 +1,72 @@ > +#!/bin/bash > +# > +# Test case for correct filename attribute for NBD > +# > +# 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=mre...@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 generic > +_supported_proto nbd > +_supported_os Linux > + > +function do_run_qemu() > +{ > + $QEMU -nographic -qmp stdio -serial none "$@" > +} > + > +function run_qemu() > +{ > + do_run_qemu "$@" 2>&1 | _filter_testdir | _filter_qmp | sed -e > "s#$TEST_IMG#TEST_IMG#g" > +} > + > +IMG_SIZE=128K > + > +echo > +echo '=== Testing NBD filename ("filename" and "file" should be set to > TEST_IMG) ===' > +echo > + > +_make_test_img $IMG_SIZE > + > +run_qemu -drive file=$TEST_IMG,format=raw,if=none <<QMP > +{ 'execute': 'qmp_capabilities' } > +{ 'execute': 'query-block' } > +{ 'execute': 'quit' } > +QMP > + > +# success, all done > +echo "*** done" > +rm -f $seq.full > +status=0 > diff --git a/tests/qemu-iotests/097.out b/tests/qemu-iotests/097.out > new file mode 100644 > index 0000000..8ee6680 > --- /dev/null > +++ b/tests/qemu-iotests/097.out > @@ -0,0 +1,13 @@ > +QA output created by 097 > + > +=== Testing NBD filename === > + > +Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=131072 > +QMP_VERSION > +{"return": {}} > +{"return": [{"device": "none0", "locked": false, "removable": true, > "inserted": {"iops_rd": 0, "detect_zeroes": "off", "image": {"virtual-size": > 131072, "filename": "TEST_IMG", "format": "raw"}, "iops_wr": 0, "ro": false, > "backing_file_depth": 0, "drv": "raw", "iops": 0, "bps_wr": 0, "encrypted": > false, "bps": 0, "bps_rd": 0, "file": "TEST_IMG", "encryption_key_missing": > false}, "tray_open": false, "type": "unknown"}, {"io-status": "ok", "device": > "ide1-cd0", "locked": false, "removable": true, "tray_open": false, "type": > "unknown"}, {"device": "floppy0", "locked": false, "removable": true, > "tray_open": false, "type": "unknown"}, {"device": "sd0", "locked": false, > "removable": true, "tray_open": false, "type": "unknown"}]}
Is the real filename really TEST_IMG ? or is it some result of the filename being passed in $TEST_IMG ? it's confusing. > +{"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 0f07440..5447660 100644 > --- a/tests/qemu-iotests/group > +++ b/tests/qemu-iotests/group > @@ -99,3 +99,4 @@ > 090 rw auto quick > 091 rw auto > 092 rw auto quick > +097 rw auto > -- > 2.0.0 > >