xref: /qemu/tests/qemu-iotests/192 (revision 0127b79e8b9f91c69885e8d425648c16f3bb12ec)
1dd7fdaadSFam Zheng#!/bin/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 Zhenghere=`pwd`
29dd7fdaadSFam Zhengstatus=1	# failure is the default!
30dd7fdaadSFam Zheng
31dd7fdaadSFam Zheng_cleanup()
32dd7fdaadSFam Zheng{
33dd7fdaadSFam Zheng	_cleanup_test_img
34dd7fdaadSFam Zheng}
35dd7fdaadSFam Zhengtrap "_cleanup; exit \$status" 0 1 2 3 15
36dd7fdaadSFam Zheng
37dd7fdaadSFam Zheng# get standard environment, filters and checks
38dd7fdaadSFam Zheng. ./common.rc
39dd7fdaadSFam Zheng. ./common.filter
40*0127b79eSDaniel P. Berrange. ./common.qemu
41dd7fdaadSFam Zheng
42dd7fdaadSFam Zheng_supported_fmt generic
43dd7fdaadSFam Zheng_supported_proto file
44dd7fdaadSFam Zheng_supported_os Linux
45dd7fdaadSFam Zheng
46dd7fdaadSFam Zhengif [ "$QEMU_DEFAULT_MACHINE" != "pc" ]; then
47dd7fdaadSFam Zheng    _notrun "Requires a PC machine"
48dd7fdaadSFam Zhengfi
49dd7fdaadSFam Zheng
50dd7fdaadSFam Zhengsize=64M
51dd7fdaadSFam Zheng_make_test_img $size
52dd7fdaadSFam Zheng
53*0127b79eSDaniel P. Berrangeif test "$IMGOPTSSYNTAX" = "true"
54*0127b79eSDaniel P. Berrangethen
55*0127b79eSDaniel P. Berrange    DRIVE_ARG=if=ide,id=drive0,$TEST_IMG
56*0127b79eSDaniel P. Berrangeelse
57*0127b79eSDaniel P. Berrange    DRIVE_ARG=if=ide,id=drive0,format=$IMGFMT,file=$TEST_IMG
58*0127b79eSDaniel P. Berrangefi
59*0127b79eSDaniel P. Berrange
60*0127b79eSDaniel P. Berrangeqemu_comm_method="monitor"
61*0127b79eSDaniel P. Berrange_launch_qemu -drive $DRIVE_ARG -incoming defer
62*0127b79eSDaniel P. Berrangeh=$QEMU_HANDLE
63*0127b79eSDaniel P. BerrangeQEMU_COMM_TIMEOUT=1
64*0127b79eSDaniel P. Berrange
65*0127b79eSDaniel P. Berrange_send_qemu_cmd $h "nbd_server_start unix:$TEST_DIR/nbd" "(qemu)"
66*0127b79eSDaniel P. Berrange_send_qemu_cmd $h "nbd_server_add -w drive0" "(qemu)"
67*0127b79eSDaniel P. Berrange_send_qemu_cmd $h "q" "(qemu)"
68dd7fdaadSFam Zheng
69dd7fdaadSFam Zheng# success, all done
70dd7fdaadSFam Zhengecho "*** done"
71dd7fdaadSFam Zhengrm -f $seq.full
72dd7fdaadSFam Zhengstatus=0
73