summaryrefslogtreecommitdiffstats
path: root/qemu/tests/qemu-iotests/085
diff options
context:
space:
mode:
Diffstat (limited to 'qemu/tests/qemu-iotests/085')
-rwxr-xr-xqemu/tests/qemu-iotests/085243
1 files changed, 0 insertions, 243 deletions
diff --git a/qemu/tests/qemu-iotests/085 b/qemu/tests/qemu-iotests/085
deleted file mode 100755
index aa77eca77..000000000
--- a/qemu/tests/qemu-iotests/085
+++ /dev/null
@@ -1,243 +0,0 @@
-#!/bin/bash
-#
-# Live snapshot tests
-#
-# This tests live snapshots of images on a running QEMU instance, using
-# QMP commands. Both single disk snapshots, and transactional group
-# snapshots are performed.
-#
-# Copyright (C) 2014 Red Hat, Inc.
-# Copyright (C) 2015 Igalia, S.L.
-#
-# 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`
-status=1 # failure is the default!
-
-snapshot_virt0="snapshot-v0.qcow2"
-snapshot_virt1="snapshot-v1.qcow2"
-
-SNAPSHOTS=10
-
-_cleanup()
-{
- _cleanup_qemu
- for i in $(seq 1 ${SNAPSHOTS})
- do
- rm -f "${TEST_DIR}/${i}-${snapshot_virt0}"
- rm -f "${TEST_DIR}/${i}-${snapshot_virt1}"
- done
- rm -f "${TEST_IMG}.1" "${TEST_IMG}.2"
-
-}
-trap "_cleanup; exit \$status" 0 1 2 3 15
-
-# get standard environment, filters and checks
-. ./common.rc
-. ./common.filter
-. ./common.qemu
-
-_supported_fmt qcow2
-_supported_proto file
-_supported_os Linux
-
-
-# ${1}: unique identifier for the snapshot filename
-function create_single_snapshot()
-{
- cmd="{ 'execute': 'blockdev-snapshot-sync',
- 'arguments': { 'device': 'virtio0',
- 'snapshot-file':'${TEST_DIR}/${1}-${snapshot_virt0}',
- 'format': 'qcow2' } }"
- _send_qemu_cmd $h "${cmd}" "return"
-}
-
-# ${1}: unique identifier for the snapshot filename
-function create_group_snapshot()
-{
- cmd="{ 'execute': 'transaction', 'arguments':
- {'actions': [
- { 'type': 'blockdev-snapshot-sync', 'data' :
- { 'device': 'virtio0',
- 'snapshot-file': '${TEST_DIR}/${1}-${snapshot_virt0}' } },
- { 'type': 'blockdev-snapshot-sync', 'data' :
- { 'device': 'virtio1',
- 'snapshot-file': '${TEST_DIR}/${1}-${snapshot_virt1}' } } ]
- } }"
-
- _send_qemu_cmd $h "${cmd}" "return"
-}
-
-# ${1}: unique identifier for the snapshot filename
-# ${2}: true: open backing images; false: don't open them (default)
-function add_snapshot_image()
-{
- if [ "${2}" = "true" ]; then
- extra_params=""
- else
- extra_params="'backing': '', "
- fi
- base_image="${TEST_DIR}/$((${1}-1))-${snapshot_virt0}"
- snapshot_file="${TEST_DIR}/${1}-${snapshot_virt0}"
- _make_test_img -b "${base_image}" "$size"
- mv "${TEST_IMG}" "${snapshot_file}"
- cmd="{ 'execute': 'blockdev-add', 'arguments':
- { 'options':
- { 'driver': 'qcow2', 'node-name': 'snap_${1}', ${extra_params}
- 'file':
- { 'driver': 'file', 'filename': '${snapshot_file}',
- 'node-name': 'file_${1}' } } } }"
- _send_qemu_cmd $h "${cmd}" "return"
-}
-
-# ${1}: unique identifier for the snapshot filename
-# ${2}: expected response, defaults to 'return'
-function blockdev_snapshot()
-{
- cmd="{ 'execute': 'blockdev-snapshot',
- 'arguments': { 'node': 'virtio0',
- 'overlay':'snap_${1}' } }"
- _send_qemu_cmd $h "${cmd}" "${2:-return}"
-}
-
-size=128M
-
-_make_test_img $size
-mv "${TEST_IMG}" "${TEST_IMG}.1"
-_make_test_img $size
-mv "${TEST_IMG}" "${TEST_IMG}.2"
-
-echo
-echo === Running QEMU ===
-echo
-
-qemu_comm_method="qmp"
-_launch_qemu -drive file="${TEST_IMG}.1",if=virtio -drive file="${TEST_IMG}.2",if=virtio
-h=$QEMU_HANDLE
-
-echo
-echo === Sending capabilities ===
-echo
-
-_send_qemu_cmd $h "{ 'execute': 'qmp_capabilities' }" "return"
-
-# Tests for the blockdev-snapshot-sync command
-
-echo
-echo === Create a single snapshot on virtio0 ===
-echo
-
-create_single_snapshot 1
-
-
-echo
-echo === Invalid command - missing device and nodename ===
-echo
-
-_send_qemu_cmd $h "{ 'execute': 'blockdev-snapshot-sync',
- 'arguments': { 'snapshot-file':'${TEST_DIR}/1-${snapshot_virt0}',
- 'format': 'qcow2' } }" "error"
-
-echo
-echo === Invalid command - missing snapshot-file ===
-echo
-
-_send_qemu_cmd $h "{ 'execute': 'blockdev-snapshot-sync',
- 'arguments': { 'device': 'virtio0',
- 'format': 'qcow2' } }" "error"
-echo
-echo
-echo === Create several transactional group snapshots ===
-echo
-
-for i in $(seq 2 ${SNAPSHOTS})
-do
- create_group_snapshot ${i}
-done
-
-# Tests for the blockdev-snapshot command
-
-echo
-echo === Create a couple of snapshots using blockdev-snapshot ===
-echo
-
-SNAPSHOTS=$((${SNAPSHOTS}+1))
-add_snapshot_image ${SNAPSHOTS}
-blockdev_snapshot ${SNAPSHOTS}
-
-SNAPSHOTS=$((${SNAPSHOTS}+1))
-add_snapshot_image ${SNAPSHOTS}
-blockdev_snapshot ${SNAPSHOTS}
-
-echo
-echo === Invalid command - cannot create a snapshot using a file BDS ===
-echo
-
-_send_qemu_cmd $h "{ 'execute': 'blockdev-snapshot',
- 'arguments': { 'node':'virtio0',
- 'overlay':'file_${SNAPSHOTS}' }
- }" "error"
-
-echo
-echo === Invalid command - snapshot node used as active layer ===
-echo
-
-blockdev_snapshot ${SNAPSHOTS} error
-
-_send_qemu_cmd $h "{ 'execute': 'blockdev-snapshot',
- 'arguments': { 'node':'virtio0',
- 'overlay':'virtio0' }
- }" "error"
-
-_send_qemu_cmd $h "{ 'execute': 'blockdev-snapshot',
- 'arguments': { 'node':'virtio0',
- 'overlay':'virtio1' }
- }" "error"
-
-echo
-echo === Invalid command - snapshot node used as backing hd ===
-echo
-
-blockdev_snapshot $((${SNAPSHOTS}-1)) error
-
-echo
-echo === Invalid command - snapshot node has a backing image ===
-echo
-
-SNAPSHOTS=$((${SNAPSHOTS}+1))
-add_snapshot_image ${SNAPSHOTS} true
-blockdev_snapshot ${SNAPSHOTS} error
-
-echo
-echo === Invalid command - The node does not exist ===
-echo
-
-blockdev_snapshot $((${SNAPSHOTS}+1)) error
-
-_send_qemu_cmd $h "{ 'execute': 'blockdev-snapshot',
- 'arguments': { 'node':'nodevice',
- 'overlay':'snap_${SNAPSHOTS}' }
- }" "error"
-
-# success, all done
-echo "*** done"
-rm -f $seq.full
-status=0