xref: /openbmc/qemu/tests/qemu-iotests/192 (revision 11a82d14293cd66f428f535741717ff338c0722b)
1*11a82d14SPhilippe Mathieu-Daudé#!/usr/bin/env bash
2dd7fdaadSFam Zheng#
3dd7fdaadSFam Zheng# Test NBD export with -incoming (non-shared storage migration use case from
4dd7fdaadSFam Zheng# libvirt)
5dd7fdaadSFam Zheng#
6dd7fdaadSFam Zheng# Copyright (C) 2017 Red Hat, Inc.
7dd7fdaadSFam Zheng#
8dd7fdaadSFam Zheng# This program is free software; you can redistribute it and/or modify
9dd7fdaadSFam Zheng# it under the terms of the GNU General Public License as published by
10dd7fdaadSFam Zheng# the Free Software Foundation; either version 2 of the License, or
11dd7fdaadSFam Zheng# (at your option) any later version.
12dd7fdaadSFam Zheng#
13dd7fdaadSFam Zheng# This program is distributed in the hope that it will be useful,
14dd7fdaadSFam Zheng# but WITHOUT ANY WARRANTY; without even the implied warranty of
15dd7fdaadSFam Zheng# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16dd7fdaadSFam Zheng# GNU General Public License for more details.
17dd7fdaadSFam Zheng#
18dd7fdaadSFam Zheng# You should have received a copy of the GNU General Public License
19dd7fdaadSFam Zheng# along with this program.  If not, see <http://www.gnu.org/licenses/>.
20dd7fdaadSFam Zheng#
21dd7fdaadSFam Zheng
22dd7fdaadSFam Zheng# creator
23dd7fdaadSFam Zhengowner=famz@redhat.com
24dd7fdaadSFam Zheng
25dd7fdaadSFam Zhengseq=`basename $0`
26dd7fdaadSFam Zhengecho "QA output created by $seq"
27dd7fdaadSFam Zheng
28dd7fdaadSFam Zhengstatus=1	# failure is the default!
29dd7fdaadSFam Zheng
30dd7fdaadSFam Zheng_cleanup()
31dd7fdaadSFam Zheng{
32dd7fdaadSFam Zheng	_cleanup_test_img
33dd7fdaadSFam Zheng}
34dd7fdaadSFam Zhengtrap "_cleanup; exit \$status" 0 1 2 3 15
35dd7fdaadSFam Zheng
36dd7fdaadSFam Zheng# get standard environment, filters and checks
37dd7fdaadSFam Zheng. ./common.rc
38dd7fdaadSFam Zheng. ./common.filter
390127b79eSDaniel P. Berrange. ./common.qemu
40dd7fdaadSFam Zheng
41dd7fdaadSFam Zheng_supported_fmt generic
42dd7fdaadSFam Zheng_supported_proto file
43dd7fdaadSFam Zheng_supported_os Linux
44dd7fdaadSFam Zheng
45dd7fdaadSFam Zhengif [ "$QEMU_DEFAULT_MACHINE" != "pc" ]; then
46dd7fdaadSFam Zheng    _notrun "Requires a PC machine"
47dd7fdaadSFam Zhengfi
48dd7fdaadSFam Zheng
49dd7fdaadSFam Zhengsize=64M
50dd7fdaadSFam Zheng_make_test_img $size
51dd7fdaadSFam Zheng
520127b79eSDaniel P. Berrangeif test "$IMGOPTSSYNTAX" = "true"
530127b79eSDaniel P. Berrangethen
540127b79eSDaniel P. Berrange    DRIVE_ARG=if=ide,id=drive0,$TEST_IMG
550127b79eSDaniel P. Berrangeelse
560127b79eSDaniel P. Berrange    DRIVE_ARG=if=ide,id=drive0,format=$IMGFMT,file=$TEST_IMG
570127b79eSDaniel P. Berrangefi
580127b79eSDaniel P. Berrange
590127b79eSDaniel P. Berrangeqemu_comm_method="monitor"
600127b79eSDaniel P. Berrange_launch_qemu -drive $DRIVE_ARG -incoming defer
610127b79eSDaniel P. Berrangeh=$QEMU_HANDLE
620127b79eSDaniel P. BerrangeQEMU_COMM_TIMEOUT=1
630127b79eSDaniel P. Berrange
640127b79eSDaniel P. Berrange_send_qemu_cmd $h "nbd_server_start unix:$TEST_DIR/nbd" "(qemu)"
650127b79eSDaniel P. Berrange_send_qemu_cmd $h "nbd_server_add -w drive0" "(qemu)"
660127b79eSDaniel P. Berrange_send_qemu_cmd $h "q" "(qemu)"
67dd7fdaadSFam Zheng
68dd7fdaadSFam Zheng# success, all done
69dd7fdaadSFam Zhengecho "*** done"
70dd7fdaadSFam Zhengrm -f $seq.full
71dd7fdaadSFam Zhengstatus=0
72