yeahuh / rpms / qemu-kvm

Forked from rpms/qemu-kvm 2 years ago
Clone
9ae3a8
From 6f81b4847eb68ebdf54a8f1a771e19d112d74152 Mon Sep 17 00:00:00 2001
9ae3a8
Message-Id: <6f81b4847eb68ebdf54a8f1a771e19d112d74152.1418766606.git.jen@redhat.com>
9ae3a8
From: Fam Zheng <famz@redhat.com>
9ae3a8
Date: Thu, 4 Dec 2014 00:04:55 -0600
9ae3a8
Subject: [CHANGE 01/31] qemu-iotests: Test case for backing file deletion
9ae3a8
To: rhvirt-patches@redhat.com,
9ae3a8
    jen@redhat.com
9ae3a8
9ae3a8
RH-Author: Fam Zheng <famz@redhat.com>
9ae3a8
Message-id: <1417651524-18041-2-git-send-email-famz@redhat.com>
9ae3a8
Patchwork-id: 62674
9ae3a8
O-Subject: [RHEL-7.1 qemu-kvm PATCH v5 01/30] qemu-iotests: Test case for backing file deletion
9ae3a8
Bugzilla: 1002493
9ae3a8
RH-Acked-by: Jeffrey Cody <jcody@redhat.com>
9ae3a8
RH-Acked-by: Markus Armbruster <armbru@redhat.com>
9ae3a8
RH-Acked-by: Max Reitz <mreitz@redhat.com>
9ae3a8
9ae3a8
From: Max Reitz <mreitz@redhat.com>
9ae3a8
9ae3a8
Add a test case for trying to open an image file where it is impossible
9ae3a8
to open its backing file (in this case, because it was deleted). When
9ae3a8
doing this, qemu (or qemu-io in this case) should not crash but rather
9ae3a8
print an appropriate error message.
9ae3a8
9ae3a8
Signed-off-by: Max Reitz <mreitz@redhat.com>
9ae3a8
Reviewed-by: Fam Zheng <famz@redhat.com>
9ae3a8
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
9ae3a8
(cherry picked from commit 321fd7d2b88defe11528e4d5a9f686c89ebee1ee)
9ae3a8
Signed-off-by: Fam Zheng <famz@redhat.com>
9ae3a8
Signed-off-by: Jeff E. Nelson <jen@redhat.com>
9ae3a8
9ae3a8
Conflicts:
9ae3a8
	tests/qemu-iotests/group
9ae3a8
Trivial context conflict.
9ae3a8
9ae3a8
Signed-off-by: Jeff E. Nelson <jen@redhat.com>
9ae3a8
---
9ae3a8
 tests/qemu-iotests/069     | 59 ++++++++++++++++++++++++++++++++++++++++++++++
9ae3a8
 tests/qemu-iotests/069.out |  8 +++++++
9ae3a8
 tests/qemu-iotests/group   |  1 +
9ae3a8
 3 files changed, 68 insertions(+)
9ae3a8
 create mode 100755 tests/qemu-iotests/069
9ae3a8
 create mode 100644 tests/qemu-iotests/069.out
9ae3a8
9ae3a8
diff --git a/tests/qemu-iotests/069 b/tests/qemu-iotests/069
9ae3a8
new file mode 100755
9ae3a8
index 0000000..3042803
9ae3a8
--- /dev/null
9ae3a8
+++ b/tests/qemu-iotests/069
9ae3a8
@@ -0,0 +1,59 @@
9ae3a8
+#!/bin/bash
9ae3a8
+#
9ae3a8
+# Test case for deleting a backing file
9ae3a8
+#
9ae3a8
+# Copyright (C) 2013 Red Hat, Inc.
9ae3a8
+#
9ae3a8
+# This program is free software; you can redistribute it and/or modify
9ae3a8
+# it under the terms of the GNU General Public License as published by
9ae3a8
+# the Free Software Foundation; either version 2 of the License, or
9ae3a8
+# (at your option) any later version.
9ae3a8
+#
9ae3a8
+# This program is distributed in the hope that it will be useful,
9ae3a8
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
9ae3a8
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
9ae3a8
+# GNU General Public License for more details.
9ae3a8
+#
9ae3a8
+# You should have received a copy of the GNU General Public License
9ae3a8
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
9ae3a8
+#
9ae3a8
+
9ae3a8
+# creator
9ae3a8
+owner=mreitz@redhat.com
9ae3a8
+
9ae3a8
+seq="$(basename $0)"
9ae3a8
+echo "QA output created by $seq"
9ae3a8
+
9ae3a8
+here="$PWD"
9ae3a8
+tmp=/tmp/$$
9ae3a8
+status=1	# failure is the default!
9ae3a8
+
9ae3a8
+_cleanup()
9ae3a8
+{
9ae3a8
+	_cleanup_test_img
9ae3a8
+}
9ae3a8
+trap "_cleanup; exit \$status" 0 1 2 3 15
9ae3a8
+
9ae3a8
+# get standard environment, filters and checks
9ae3a8
+. ./common.rc
9ae3a8
+. ./common.filter
9ae3a8
+
9ae3a8
+_supported_fmt cow qed qcow qcow2 vmdk
9ae3a8
+_supported_proto generic
9ae3a8
+_supported_os Linux
9ae3a8
+
9ae3a8
+IMG_SIZE=128K
9ae3a8
+
9ae3a8
+echo
9ae3a8
+echo "=== Creating an image with a backing file and deleting that file ==="
9ae3a8
+echo
9ae3a8
+TEST_IMG="$TEST_IMG.base" _make_test_img $IMG_SIZE
9ae3a8
+_make_test_img -b "$TEST_IMG.base" $IMG_SIZE
9ae3a8
+rm -f "$TEST_IMG.base"
9ae3a8
+# Just open the image and close it right again (this should print an error message)
9ae3a8
+$QEMU_IO -c quit "$TEST_IMG" 2>&1 | _filter_testdir | _filter_imgfmt
9ae3a8
+
9ae3a8
+# success, all done
9ae3a8
+echo "*** done"
9ae3a8
+rm -f $seq.full
9ae3a8
+status=0
9ae3a8
diff --git a/tests/qemu-iotests/069.out b/tests/qemu-iotests/069.out
9ae3a8
new file mode 100644
9ae3a8
index 0000000..3648814
9ae3a8
--- /dev/null
9ae3a8
+++ b/tests/qemu-iotests/069.out
9ae3a8
@@ -0,0 +1,8 @@
9ae3a8
+QA output created by 069
9ae3a8
+
9ae3a8
+=== Creating an image with a backing file and deleting that file ===
9ae3a8
+
9ae3a8
+Formatting 'TEST_DIR/t.IMGFMT.base', fmt=IMGFMT size=131072 
9ae3a8
+Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=131072 backing_file='TEST_DIR/t.IMGFMT.base' 
9ae3a8
+qemu-io: can't open device TEST_DIR/t.IMGFMT: Could not open file: No such file or directory
9ae3a8
+*** done
9ae3a8
diff --git a/tests/qemu-iotests/group b/tests/qemu-iotests/group
9ae3a8
index 3fad61d..572438e 100644
9ae3a8
--- a/tests/qemu-iotests/group
9ae3a8
+++ b/tests/qemu-iotests/group
9ae3a8
@@ -71,6 +71,7 @@
9ae3a8
 066 rw auto
9ae3a8
 067 rw auto
9ae3a8
 068 rw auto
9ae3a8
+069 rw auto
9ae3a8
 070 rw auto
9ae3a8
 075 rw auto
9ae3a8
 076 auto
9ae3a8
-- 
9ae3a8
2.1.0
9ae3a8