diff mbox

[2/2] iotests: Add test for non-existing backing file

Message ID 1414413009-9008-3-git-send-email-mreitz@redhat.com
State New
Headers show

Commit Message

Max Reitz Oct. 27, 2014, 12:30 p.m. UTC
Test the error message when a COW file is about to be created which is
supposed to inherit the size of its backing file, while the backing file
given does not actually exist.

Signed-off-by: Max Reitz <mreitz@redhat.com>
---
 tests/qemu-iotests/111     | 53 ++++++++++++++++++++++++++++++++++++++++++++++
 tests/qemu-iotests/111.out |  3 +++
 tests/qemu-iotests/group   |  1 +
 3 files changed, 57 insertions(+)
 create mode 100755 tests/qemu-iotests/111
 create mode 100644 tests/qemu-iotests/111.out

Comments

Eric Blake Oct. 27, 2014, 5:14 p.m. UTC | #1
On 10/27/2014 06:30 AM, Max Reitz wrote:
> Test the error message when a COW file is about to be created which is
> supposed to inherit the size of its backing file, while the backing file
> given does not actually exist.
> 
> Signed-off-by: Max Reitz <mreitz@redhat.com>
> ---

> +
> +$QEMU_IMG create -f $IMGFMT -b "$TEST_IMG.inexistent" "$TEST_IMG" 2>&1 \
> +    | _filter_testdir | _filter_imgfmt

inexistent it a nonexistent word :)  But it correctly tests the problem.

> +++ b/tests/qemu-iotests/111.out
> @@ -0,0 +1,3 @@
> +QA output created by 111
> +qemu-img: TEST_DIR/t.IMGFMT: Could not open 'TEST_DIR/t.IMGFMT.inexistent': No such file or directory

I'm okay whether you leave the test as-is, or s/in/non/ in two places.
Max Reitz Oct. 28, 2014, 8:29 a.m. UTC | #2
On 2014-10-27 at 18:14, Eric Blake wrote:
> On 10/27/2014 06:30 AM, Max Reitz wrote:
>> Test the error message when a COW file is about to be created which is
>> supposed to inherit the size of its backing file, while the backing file
>> given does not actually exist.
>>
>> Signed-off-by: Max Reitz <mreitz@redhat.com>
>> ---
>> +
>> +$QEMU_IMG create -f $IMGFMT -b "$TEST_IMG.inexistent" "$TEST_IMG" 2>&1 \
>> +    | _filter_testdir | _filter_imgfmt
> inexistent it a nonexistent word :)  But it correctly tests the problem.

I was tempted to use .nai, which would be "does not exist" in Japanese, 
but then I went for http://en.wiktionary.org/wiki/inexistent :-P

I'd be fine with whatever.

Max

>> +++ b/tests/qemu-iotests/111.out
>> @@ -0,0 +1,3 @@
>> +QA output created by 111
>> +qemu-img: TEST_DIR/t.IMGFMT: Could not open 'TEST_DIR/t.IMGFMT.inexistent': No such file or directory
> I'm okay whether you leave the test as-is, or s/in/non/ in two places.
diff mbox

Patch

diff --git a/tests/qemu-iotests/111 b/tests/qemu-iotests/111
new file mode 100755
index 0000000..6011c94
--- /dev/null
+++ b/tests/qemu-iotests/111
@@ -0,0 +1,53 @@ 
+#!/bin/bash
+#
+# Test case for non-existing backing file when creating a qcow2 image
+# and not specifying the size
+#
+# 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=mreitz@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 qed qcow qcow2 vmdk
+_supported_proto file
+_supported_os Linux
+_unsupported_imgopts "subformat=monolithicFlat" "subformat=twoGbMaxExtentFlat"
+
+$QEMU_IMG create -f $IMGFMT -b "$TEST_IMG.inexistent" "$TEST_IMG" 2>&1 \
+    | _filter_testdir | _filter_imgfmt
+
+# success, all done
+echo '*** done'
+rm -f $seq.full
+status=0
diff --git a/tests/qemu-iotests/111.out b/tests/qemu-iotests/111.out
new file mode 100644
index 0000000..683c01a
--- /dev/null
+++ b/tests/qemu-iotests/111.out
@@ -0,0 +1,3 @@ 
+QA output created by 111
+qemu-img: TEST_DIR/t.IMGFMT: Could not open 'TEST_DIR/t.IMGFMT.inexistent': No such file or directory
+*** done
diff --git a/tests/qemu-iotests/group b/tests/qemu-iotests/group
index 9bbd5d3..0a4ab3a 100644
--- a/tests/qemu-iotests/group
+++ b/tests/qemu-iotests/group
@@ -109,3 +109,4 @@ 
 105 rw auto quick
 107 rw auto quick
 108 rw auto quick
+111 rw auto quick