mirror of
				https://github.com/qemu/qemu.git
				synced 2025-10-31 12:07:31 +00:00 
			
		
		
		
	 f91ecbd74e
			
		
	
	
		f91ecbd74e
		
	
	
	
	
		
			
			Just rm will not delete external data files. Use _rm_test_img every time we delete a test image. (In the process, clean up the indentation of every _cleanup() this patch touches.) ((Also, use quotes consistently. I am happy to see unquoted instances like "rm -rf $TEST_DIR/..." go.)) Signed-off-by: Max Reitz <mreitz@redhat.com> Reviewed-by: Maxim Levitsky <mlevitsk@redhat.com> Message-id: 20191107163708.833192-16-mreitz@redhat.com Signed-off-by: Max Reitz <mreitz@redhat.com>
		
			
				
	
	
		
			115 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			115 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/usr/bin/env bash
 | |
| # Check live snapshot, followed by active commit, and another snapshot.
 | |
| #
 | |
| # This test is to catch the error case of BZ #1300209:
 | |
| # https://bugzilla.redhat.com/show_bug.cgi?id=1300209
 | |
| #
 | |
| # Copyright (C) 2016 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=jcody@redhat.com
 | |
| 
 | |
| seq=`basename $0`
 | |
| echo "QA output created by $seq"
 | |
| 
 | |
| status=1	# failure is the default!
 | |
| 
 | |
| TMP_SNAP1=${TEST_DIR}/tmp.qcow2
 | |
| TMP_SNAP2=${TEST_DIR}/tmp2.qcow2
 | |
| 
 | |
| _cleanup()
 | |
| {
 | |
|     _cleanup_qemu
 | |
|     for img in "${TEST_IMG}" "${TMP_SNAP1}" "${TMP_SNAP2}"; do
 | |
|         _rm_test_img "$img"
 | |
|     done
 | |
| }
 | |
| 
 | |
| 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
 | |
| 
 | |
| size=512M
 | |
| 
 | |
| _make_test_img $size
 | |
| 
 | |
| echo
 | |
| echo === Launching QEMU ===
 | |
| echo
 | |
| 
 | |
| qemu_comm_method="qmp"
 | |
| _launch_qemu -drive file="${TEST_IMG}",if=virtio
 | |
| h=$QEMU_HANDLE
 | |
| 
 | |
| 
 | |
| echo
 | |
| echo === Performing Live Snapshot 1 ===
 | |
| echo
 | |
| 
 | |
| _send_qemu_cmd $h "{ 'execute': 'qmp_capabilities' }" "return"
 | |
| 
 | |
| 
 | |
| # First live snapshot, new overlay as active layer
 | |
| _send_qemu_cmd $h "{ 'execute': 'blockdev-snapshot-sync',
 | |
|                                 'arguments': {
 | |
|                                              'device': 'virtio0',
 | |
|                                              'snapshot-file':'${TMP_SNAP1}',
 | |
|                                              'format': 'qcow2'
 | |
|                                              }
 | |
|                     }" "return"
 | |
| 
 | |
| echo
 | |
| echo === Performing block-commit on active layer ===
 | |
| echo
 | |
| 
 | |
| # Block commit on active layer, push the new overlay into base
 | |
| _send_qemu_cmd $h "{ 'execute': 'block-commit',
 | |
|                                 'arguments': {
 | |
|                                                  'device': 'virtio0'
 | |
|                                               }
 | |
|                     }" "READY"
 | |
| 
 | |
| _send_qemu_cmd $h "{ 'execute': 'block-job-complete',
 | |
|                                 'arguments': {
 | |
|                                                 'device': 'virtio0'
 | |
|                                               }
 | |
|                    }" '"status": "null"'
 | |
| 
 | |
| echo
 | |
| echo === Performing Live Snapshot 2 ===
 | |
| echo
 | |
| 
 | |
| # New live snapshot, new overlays as active layer
 | |
| _send_qemu_cmd $h "{ 'execute': 'blockdev-snapshot-sync',
 | |
|                                 'arguments': {
 | |
|                                                 'device': 'virtio0',
 | |
|                                                 'snapshot-file':'${TMP_SNAP2}',
 | |
|                                                 'format': 'qcow2'
 | |
|                                               }
 | |
|                    }" "return"
 | |
| 
 | |
| # success, all done
 | |
| echo "*** done"
 | |
| rm -f $seq.full
 | |
| status=0
 |