From c96ac614a8b5ea299ad7df6eeb56ea94cd59e3d8 Mon Sep 17 00:00:00 2001 From: Peter Krempa Date: Tue, 19 Mar 2024 15:19:26 +0100 Subject: [PATCH] virshtest: Reimplement 'virsh-output' test MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adapt the 'tests/virsh-output-commands' file from 'virsh-output' test as a source. Apart from expanding the bash function to each command, I've also had to drop the negative tests for argument population, as a command parsing error aborts the execution of the script right away rather than just reporting the error. Signed-off-by: Peter Krempa Reviewed-by: Ján Tomko --- tests/meson.build | 1 - tests/virsh-output | 29 -- tests/virsh-output-commands | 94 ------ tests/virsh-output.out | 496 ---------------------------- tests/virshtest.c | 1 + tests/virshtestdata/attach-disk.in | 79 +++++ tests/virshtestdata/attach-disk.out | 343 +++++++++++++++++++ 7 files changed, 423 insertions(+), 620 deletions(-) delete mode 100755 tests/virsh-output delete mode 100755 tests/virsh-output-commands delete mode 100644 tests/virsh-output.out create mode 100755 tests/virshtestdata/attach-disk.in create mode 100644 tests/virshtestdata/attach-disk.out diff --git a/tests/meson.build b/tests/meson.build index 849a513f33..b70fe7732e 100644 --- a/tests/meson.build +++ b/tests/meson.build @@ -695,7 +695,6 @@ if conf.has('WITH_LIBVIRTD') 'virsh-cpuset', 'virsh-define-dev-segfault', 'virsh-int-overflow', - 'virsh-output', 'virsh-read-bufsiz', 'virsh-read-non-seekable', 'virsh-schedinfo', diff --git a/tests/virsh-output b/tests/virsh-output deleted file mode 100755 index aa2d386c39..0000000000 --- a/tests/virsh-output +++ /dev/null @@ -1,29 +0,0 @@ -#!/bin/sh - -. "$(dirname $0)/test-lib.sh" - -test_expensive - -if [ ! -x /bin/bash ]; then - echo skipping test - no bash - exit 77 -fi - -mock_xdg_ || framework_failure - -export LIBVIRT_DEFAULT_URI='test:///default' -ln -s $abs_top_builddir/tools/virsh virsh - -$abs_top_srcdir/tests/virsh-output-commands > out 2>&1 - -echo end >> out - -if compare $abs_top_srcdir/tests/virsh-output.out out; then - exit 0 -else - if [ "x$VIR_TEST_REGENERATE_OUTPUT" = "x1" ]; then - cp out $abs_top_srcdir/tests/virsh-output.out - fi - - exit 1 -fi diff --git a/tests/virsh-output-commands b/tests/virsh-output-commands deleted file mode 100755 index d8e73fc1ac..0000000000 --- a/tests/virsh-output-commands +++ /dev/null @@ -1,94 +0,0 @@ -#!/bin/bash - -attach_disk() -{ - ./virsh attach-disk --print-xml --domain testdom $@ --source /nonexistent/file -} - -set -x - -./virsh attach-disk -./virsh attach-disk --print-xml --domain testdom $@ --source "" -./virsh attach-disk --print-xml --domain testdom $@ --source "" --sourcetype file -./virsh attach-disk --print-xml --domain testdom $@ --source "" --sourcetype blah -attach_disk --target hda -attach_disk --target hda --sourcetype file -attach_disk --target hda --sourcetype block -attach_disk --target hda --sourcetype nothing -attach_disk --target hda --sourcetype file --type disk -attach_disk --target hda --sourcetype block --type disk -attach_disk --target hda --sourcetype file --type cdrom -attach_disk --target hda --sourcetype block --type cdrom -attach_disk --target hda --sourcetype file --type blah -attach_disk --target hda --sourcetype block --type blah -attach_disk --target hda --sourcetype file --type disk --driver testdriver -attach_disk --target hda --sourcetype file --type disk --subdriver qcow2 -attach_disk --target hda --sourcetype file --type disk --subdriver raw -attach_disk --target hda --sourcetype file --type disk --cache none -attach_disk --target hda --sourcetype file --type disk --subdriver qcow2 --cache none -attach_disk --target hda --sourcetype file --type disk --subdriver qcow2 --serial TEST_SERIAL -attach_disk --target hda --sourcetype file --type disk --mode readonly -attach_disk --target hda --sourcetype file --type disk --mode shareable -attach_disk --target hda --sourcetype file --type disk --mode whatever -attach_disk --target hda --sourcetype file --type disk --subdriver qcow2 --alias testalias -attach_disk --target hda --sourcetype file --type disk --rawio -attach_disk --target hda --sourcetype file --type disk --multifunction -attach_disk --target hda --sourcetype file --type disk --subdriver qcow2 --alias testalias --iothread 3 --mode readonly --cache none --driver qemu - -attach_disk --target hda --sourcetype file --type disk --address ide:1.2.3 -attach_disk --target hda --sourcetype file --type disk --address ide:1.2.4 -attach_disk --target hda --sourcetype file --type disk --address ide:1:2:5 -attach_disk --target sda --sourcetype file --type disk --address ide:1.2.3 -attach_disk --target vda --sourcetype file --type disk --address ide:1.2.3 - -attach_disk --target sda --sourcetype file --type disk --address usb:12.34 -attach_disk --target sda --sourcetype file --type disk --address usb:12.3 -attach_disk --target sda --sourcetype file --type disk --address usb:12:34 -attach_disk --target vda --sourcetype file --type disk --address usb:12.34 -attach_disk --target hda --sourcetype file --type disk --address usb:12.34 - -attach_disk --target sda --sourcetype file --type disk --address scsi:1.2.3 -attach_disk --target sda --sourcetype file --type disk --address scsi:1.2.4 -attach_disk --target sda --sourcetype file --type disk --address scsi:1:2:5 -attach_disk --target hda --sourcetype file --type disk --address scsi:1.2.3 -attach_disk --target vda --sourcetype file --type disk --address scsi:1.2.3 - -attach_disk --target sda --sourcetype file --type disk --address sata:1.2.3 -attach_disk --target sda --sourcetype file --type disk --address sata:1.2.4 -attach_disk --target sda --sourcetype file --type disk --address sata:1:2:5 -attach_disk --target hda --sourcetype file --type disk --address sata:1.2.3 -attach_disk --target vda --sourcetype file --type disk --address sata:1.2.3 - -attach_disk --target vda --sourcetype file --type disk --address pci:12.34.56.78 -attach_disk --target vda --sourcetype file --type disk --address pci:12:34:56:78 -attach_disk --target vda --sourcetype file --type disk --address pci:12.34.56.aa -attach_disk --target hda --sourcetype file --type disk --address pci:12.34.56.aa -attach_disk --target sda --sourcetype file --type disk --address pci:12.34.56.aa - -attach_disk --target vda --sourcetype file --type disk --address pci:12.34.56.78 --multifunction -attach_disk --target vda --sourcetype file --type disk --address pci:12:34:56:78 --multifunction -attach_disk --target vda --sourcetype file --type disk --address pci:12.34.56.aa --multifunction - -attach_disk --target vda --sourcetype file --type disk --address ccw:12.34.56 -attach_disk --target vda --sourcetype file --type disk --address ccw:12:34:56 -attach_disk --target vda --sourcetype file --type disk --address ccw:12.34.56 -attach_disk --target hda --sourcetype file --type disk --address ccw:12.34.56 -attach_disk --target sda --sourcetype file --type disk --address ccw:12.34.56 - -attach_disk --target vda --sourcetype file --type disk --address test:12.34.56 -attach_disk --target vda --sourcetype file --type disk --address test:12:34:56 -attach_disk --target vda --sourcetype file --type disk --address test:12.34.56 - -./virsh attach-disk --print-xml --domain testdom $@ --source "" --source-protocol AAA -./virsh attach-disk --print-xml --domain testdom $@ --source "" --source-protocol AAA -attach_disk --target hda --source-protocol AAA --sourcetype file -attach_disk --target hda --sourcetype network -attach_disk --target hda --sourcetype network --source-protocol TEST --source-host-name hostname -attach_disk --target hda --sourcetype network --source-protocol TEST --source-host-name hostname:port -attach_disk --target hda --sourcetype network --source-protocol TEST --source-host-name hostname: -attach_disk --target hda --sourcetype network --source-protocol TEST --source-host-name :port -attach_disk --target hda --sourcetype network --source-protocol TEST --source-host-name : -attach_disk --target hda --sourcetype network --source-protocol TEST --source-host-name hostname:port --source-host-transport trnsp -attach_disk --target hda --sourcetype network --source-protocol TEST --source-host-transport trnsp -attach_disk --target hda --sourcetype network --source-protocol TEST --source-host-transport trnsp --source-host-socket /nonexistent/socket -attach_disk --target hda --sourcetype network --source-protocol TEST --source-host-socket /nonexistent/socket diff --git a/tests/virsh-output.out b/tests/virsh-output.out deleted file mode 100644 index d8ef641c2a..0000000000 --- a/tests/virsh-output.out +++ /dev/null @@ -1,496 +0,0 @@ -+ ./virsh attach-disk -error: command 'attach-disk' requires option -error: command 'attach-disk' requires option -error: command 'attach-disk' requires option -+ ./virsh attach-disk --print-xml --domain testdom --source '' -error: command 'attach-disk' requires option -+ ./virsh attach-disk --print-xml --domain testdom --source '' --sourcetype file -error: command 'attach-disk' requires option -+ ./virsh attach-disk --print-xml --domain testdom --source '' --sourcetype blah -error: command 'attach-disk' requires option -+ attach_disk --target hda -+ ./virsh attach-disk --print-xml --domain testdom --target hda --source /nonexistent/file - - - - - -+ attach_disk --target hda --sourcetype file -+ ./virsh attach-disk --print-xml --domain testdom --target hda --sourcetype file --source /nonexistent/file - - - - - -+ attach_disk --target hda --sourcetype block -+ ./virsh attach-disk --print-xml --domain testdom --target hda --sourcetype block --source /nonexistent/file - - - - - -+ attach_disk --target hda --sourcetype nothing -+ ./virsh attach-disk --print-xml --domain testdom --target hda --sourcetype nothing --source /nonexistent/file -error: Unknown source type: 'nothing' - -+ attach_disk --target hda --sourcetype file --type disk -+ ./virsh attach-disk --print-xml --domain testdom --target hda --sourcetype file --type disk --source /nonexistent/file - - - - - -+ attach_disk --target hda --sourcetype block --type disk -+ ./virsh attach-disk --print-xml --domain testdom --target hda --sourcetype block --type disk --source /nonexistent/file - - - - - -+ attach_disk --target hda --sourcetype file --type cdrom -+ ./virsh attach-disk --print-xml --domain testdom --target hda --sourcetype file --type cdrom --source /nonexistent/file - - - - - -+ attach_disk --target hda --sourcetype block --type cdrom -+ ./virsh attach-disk --print-xml --domain testdom --target hda --sourcetype block --type cdrom --source /nonexistent/file - - - - - -+ attach_disk --target hda --sourcetype file --type blah -+ ./virsh attach-disk --print-xml --domain testdom --target hda --sourcetype file --type blah --source /nonexistent/file - - - - - -+ attach_disk --target hda --sourcetype block --type blah -+ ./virsh attach-disk --print-xml --domain testdom --target hda --sourcetype block --type blah --source /nonexistent/file - - - - - -+ attach_disk --target hda --sourcetype file --type disk --driver testdriver -+ ./virsh attach-disk --print-xml --domain testdom --target hda --sourcetype file --type disk --driver testdriver --source /nonexistent/file - - - - - - -+ attach_disk --target hda --sourcetype file --type disk --subdriver qcow2 -+ ./virsh attach-disk --print-xml --domain testdom --target hda --sourcetype file --type disk --subdriver qcow2 --source /nonexistent/file - - - - - - -+ attach_disk --target hda --sourcetype file --type disk --subdriver raw -+ ./virsh attach-disk --print-xml --domain testdom --target hda --sourcetype file --type disk --subdriver raw --source /nonexistent/file - - - - - - -+ attach_disk --target hda --sourcetype file --type disk --cache none -+ ./virsh attach-disk --print-xml --domain testdom --target hda --sourcetype file --type disk --cache none --source /nonexistent/file - - - - - - -+ attach_disk --target hda --sourcetype file --type disk --subdriver qcow2 --cache none -+ ./virsh attach-disk --print-xml --domain testdom --target hda --sourcetype file --type disk --subdriver qcow2 --cache none --source /nonexistent/file - - - - - - -+ attach_disk --target hda --sourcetype file --type disk --subdriver qcow2 --serial TEST_SERIAL -+ ./virsh attach-disk --print-xml --domain testdom --target hda --sourcetype file --type disk --subdriver qcow2 --serial TEST_SERIAL --source /nonexistent/file - - - - - TEST_SERIAL - - -+ attach_disk --target hda --sourcetype file --type disk --mode readonly -+ ./virsh attach-disk --print-xml --domain testdom --target hda --sourcetype file --type disk --mode readonly --source /nonexistent/file - - - - - - -+ attach_disk --target hda --sourcetype file --type disk --mode shareable -+ ./virsh attach-disk --print-xml --domain testdom --target hda --sourcetype file --type disk --mode shareable --source /nonexistent/file - - - - - - -+ attach_disk --target hda --sourcetype file --type disk --mode whatever -+ ./virsh attach-disk --print-xml --domain testdom --target hda --sourcetype file --type disk --mode whatever --source /nonexistent/file -error: No support for whatever in command 'attach-disk' - -+ attach_disk --target hda --sourcetype file --type disk --subdriver qcow2 --alias testalias -+ ./virsh attach-disk --print-xml --domain testdom --target hda --sourcetype file --type disk --subdriver qcow2 --alias testalias --source /nonexistent/file - - - - - - - -+ attach_disk --target hda --sourcetype file --type disk --rawio -+ ./virsh attach-disk --print-xml --domain testdom --target hda --sourcetype file --type disk --rawio --source /nonexistent/file - - - - - -+ attach_disk --target hda --sourcetype file --type disk --multifunction -+ ./virsh attach-disk --print-xml --domain testdom --target hda --sourcetype file --type disk --multifunction --source /nonexistent/file - - - - - -+ attach_disk --target hda --sourcetype file --type disk --subdriver qcow2 --alias testalias --iothread 3 --mode readonly --cache none --driver qemu -+ ./virsh attach-disk --print-xml --domain testdom --target hda --sourcetype file --type disk --subdriver qcow2 --alias testalias --iothread 3 --mode readonly --cache none --driver qemu --source /nonexistent/file - - - - - - - - -+ attach_disk --target hda --sourcetype file --type disk --address ide:1.2.3 -+ ./virsh attach-disk --print-xml --domain testdom --target hda --sourcetype file --type disk --address ide:1.2.3 --source /nonexistent/file - - - -
- - -+ attach_disk --target hda --sourcetype file --type disk --address ide:1.2.4 -+ ./virsh attach-disk --print-xml --domain testdom --target hda --sourcetype file --type disk --address ide:1.2.4 --source /nonexistent/file - - - -
- - -+ attach_disk --target hda --sourcetype file --type disk --address ide:1:2:5 -+ ./virsh attach-disk --print-xml --domain testdom --target hda --sourcetype file --type disk --address ide:1:2:5 --source /nonexistent/file - - - -
- - -+ attach_disk --target sda --sourcetype file --type disk --address ide:1.2.3 -+ ./virsh attach-disk --print-xml --domain testdom --target sda --sourcetype file --type disk --address ide:1.2.3 --source /nonexistent/file -error: expecting a scsi:00.00.00 or usb:00.00 or sata:00.00.00 address. - -+ attach_disk --target vda --sourcetype file --type disk --address ide:1.2.3 -+ ./virsh attach-disk --print-xml --domain testdom --target vda --sourcetype file --type disk --address ide:1.2.3 --source /nonexistent/file -error: expecting a pci:0000.00.00.00 or ccw:00.0.0000 address. - -+ attach_disk --target sda --sourcetype file --type disk --address usb:12.34 -+ ./virsh attach-disk --print-xml --domain testdom --target sda --sourcetype file --type disk --address usb:12.34 --source /nonexistent/file - - - -
- - -+ attach_disk --target sda --sourcetype file --type disk --address usb:12.3 -+ ./virsh attach-disk --print-xml --domain testdom --target sda --sourcetype file --type disk --address usb:12.3 --source /nonexistent/file - - - -
- - -+ attach_disk --target sda --sourcetype file --type disk --address usb:12:34 -+ ./virsh attach-disk --print-xml --domain testdom --target sda --sourcetype file --type disk --address usb:12:34 --source /nonexistent/file - - - -
- - -+ attach_disk --target vda --sourcetype file --type disk --address usb:12.34 -+ ./virsh attach-disk --print-xml --domain testdom --target vda --sourcetype file --type disk --address usb:12.34 --source /nonexistent/file -error: expecting a pci:0000.00.00.00 or ccw:00.0.0000 address. - -+ attach_disk --target hda --sourcetype file --type disk --address usb:12.34 -+ ./virsh attach-disk --print-xml --domain testdom --target hda --sourcetype file --type disk --address usb:12.34 --source /nonexistent/file -error: expecting an ide:00.00.00 address. - -+ attach_disk --target sda --sourcetype file --type disk --address scsi:1.2.3 -+ ./virsh attach-disk --print-xml --domain testdom --target sda --sourcetype file --type disk --address scsi:1.2.3 --source /nonexistent/file - - - -
- - -+ attach_disk --target sda --sourcetype file --type disk --address scsi:1.2.4 -+ ./virsh attach-disk --print-xml --domain testdom --target sda --sourcetype file --type disk --address scsi:1.2.4 --source /nonexistent/file - - - -
- - -+ attach_disk --target sda --sourcetype file --type disk --address scsi:1:2:5 -+ ./virsh attach-disk --print-xml --domain testdom --target sda --sourcetype file --type disk --address scsi:1:2:5 --source /nonexistent/file - - - -
- - -+ attach_disk --target hda --sourcetype file --type disk --address scsi:1.2.3 -+ ./virsh attach-disk --print-xml --domain testdom --target hda --sourcetype file --type disk --address scsi:1.2.3 --source /nonexistent/file -error: expecting an ide:00.00.00 address. - -+ attach_disk --target vda --sourcetype file --type disk --address scsi:1.2.3 -+ ./virsh attach-disk --print-xml --domain testdom --target vda --sourcetype file --type disk --address scsi:1.2.3 --source /nonexistent/file -error: expecting a pci:0000.00.00.00 or ccw:00.0.0000 address. - -+ attach_disk --target sda --sourcetype file --type disk --address sata:1.2.3 -+ ./virsh attach-disk --print-xml --domain testdom --target sda --sourcetype file --type disk --address sata:1.2.3 --source /nonexistent/file - - - -
- - -+ attach_disk --target sda --sourcetype file --type disk --address sata:1.2.4 -+ ./virsh attach-disk --print-xml --domain testdom --target sda --sourcetype file --type disk --address sata:1.2.4 --source /nonexistent/file - - - -
- - -+ attach_disk --target sda --sourcetype file --type disk --address sata:1:2:5 -+ ./virsh attach-disk --print-xml --domain testdom --target sda --sourcetype file --type disk --address sata:1:2:5 --source /nonexistent/file - - - -
- - -+ attach_disk --target hda --sourcetype file --type disk --address sata:1.2.3 -+ ./virsh attach-disk --print-xml --domain testdom --target hda --sourcetype file --type disk --address sata:1.2.3 --source /nonexistent/file -error: expecting an ide:00.00.00 address. - -+ attach_disk --target vda --sourcetype file --type disk --address sata:1.2.3 -+ ./virsh attach-disk --print-xml --domain testdom --target vda --sourcetype file --type disk --address sata:1.2.3 --source /nonexistent/file -error: expecting a pci:0000.00.00.00 or ccw:00.0.0000 address. - -+ attach_disk --target vda --sourcetype file --type disk --address pci:12.34.56.78 -+ ./virsh attach-disk --print-xml --domain testdom --target vda --sourcetype file --type disk --address pci:12.34.56.78 --source /nonexistent/file - - - -
- - -+ attach_disk --target vda --sourcetype file --type disk --address pci:12:34:56:78 -+ ./virsh attach-disk --print-xml --domain testdom --target vda --sourcetype file --type disk --address pci:12:34:56:78 --source /nonexistent/file - - - -
- - -+ attach_disk --target vda --sourcetype file --type disk --address pci:12.34.56.aa -+ ./virsh attach-disk --print-xml --domain testdom --target vda --sourcetype file --type disk --address pci:12.34.56.aa --source /nonexistent/file - - - -
- - -+ attach_disk --target hda --sourcetype file --type disk --address pci:12.34.56.aa -+ ./virsh attach-disk --print-xml --domain testdom --target hda --sourcetype file --type disk --address pci:12.34.56.aa --source /nonexistent/file -error: expecting an ide:00.00.00 address. - -+ attach_disk --target sda --sourcetype file --type disk --address pci:12.34.56.aa -+ ./virsh attach-disk --print-xml --domain testdom --target sda --sourcetype file --type disk --address pci:12.34.56.aa --source /nonexistent/file -error: expecting a scsi:00.00.00 or usb:00.00 or sata:00.00.00 address. - -+ attach_disk --target vda --sourcetype file --type disk --address pci:12.34.56.78 --multifunction -+ ./virsh attach-disk --print-xml --domain testdom --target vda --sourcetype file --type disk --address pci:12.34.56.78 --multifunction --source /nonexistent/file - - - -
- - -+ attach_disk --target vda --sourcetype file --type disk --address pci:12:34:56:78 --multifunction -+ ./virsh attach-disk --print-xml --domain testdom --target vda --sourcetype file --type disk --address pci:12:34:56:78 --multifunction --source /nonexistent/file - - - -
- - -+ attach_disk --target vda --sourcetype file --type disk --address pci:12.34.56.aa --multifunction -+ ./virsh attach-disk --print-xml --domain testdom --target vda --sourcetype file --type disk --address pci:12.34.56.aa --multifunction --source /nonexistent/file - - - -
- - -+ attach_disk --target vda --sourcetype file --type disk --address ccw:12.34.56 -+ ./virsh attach-disk --print-xml --domain testdom --target vda --sourcetype file --type disk --address ccw:12.34.56 --source /nonexistent/file - - - -
- - -+ attach_disk --target vda --sourcetype file --type disk --address ccw:12:34:56 -+ ./virsh attach-disk --print-xml --domain testdom --target vda --sourcetype file --type disk --address ccw:12:34:56 --source /nonexistent/file - - - -
- - -+ attach_disk --target vda --sourcetype file --type disk --address ccw:12.34.56 -+ ./virsh attach-disk --print-xml --domain testdom --target vda --sourcetype file --type disk --address ccw:12.34.56 --source /nonexistent/file - - - -
- - -+ attach_disk --target hda --sourcetype file --type disk --address ccw:12.34.56 -+ ./virsh attach-disk --print-xml --domain testdom --target hda --sourcetype file --type disk --address ccw:12.34.56 --source /nonexistent/file -error: expecting an ide:00.00.00 address. - -+ attach_disk --target sda --sourcetype file --type disk --address ccw:12.34.56 -+ ./virsh attach-disk --print-xml --domain testdom --target sda --sourcetype file --type disk --address ccw:12.34.56 --source /nonexistent/file -error: expecting a scsi:00.00.00 or usb:00.00 or sata:00.00.00 address. - -+ attach_disk --target vda --sourcetype file --type disk --address test:12.34.56 -+ ./virsh attach-disk --print-xml --domain testdom --target vda --sourcetype file --type disk --address test:12.34.56 --source /nonexistent/file -error: Invalid address. - -+ attach_disk --target vda --sourcetype file --type disk --address test:12:34:56 -+ ./virsh attach-disk --print-xml --domain testdom --target vda --sourcetype file --type disk --address test:12:34:56 --source /nonexistent/file -error: Invalid address. - -+ attach_disk --target vda --sourcetype file --type disk --address test:12.34.56 -+ ./virsh attach-disk --print-xml --domain testdom --target vda --sourcetype file --type disk --address test:12.34.56 --source /nonexistent/file -error: Invalid address. - -+ ./virsh attach-disk --print-xml --domain testdom --source '' --source-protocol AAA -error: command 'attach-disk' requires option -+ ./virsh attach-disk --print-xml --domain testdom --source '' --source-protocol AAA -error: command 'attach-disk' requires option -+ attach_disk --target hda --source-protocol AAA --sourcetype file -+ ./virsh attach-disk --print-xml --domain testdom --target hda --source-protocol AAA --sourcetype file --source /nonexistent/file -error: --source-protocol option requires --sourcetype network - -+ attach_disk --target hda --sourcetype network -+ ./virsh attach-disk --print-xml --domain testdom --target hda --sourcetype network --source /nonexistent/file -error: --source-protocol option requires --sourcetype network - -+ attach_disk --target hda --sourcetype network --source-protocol TEST --source-host-name hostname -+ ./virsh attach-disk --print-xml --domain testdom --target hda --sourcetype network --source-protocol TEST --source-host-name hostname --source /nonexistent/file - - - - - - - -+ attach_disk --target hda --sourcetype network --source-protocol TEST --source-host-name hostname:port -+ ./virsh attach-disk --print-xml --domain testdom --target hda --sourcetype network --source-protocol TEST --source-host-name hostname:port --source /nonexistent/file - - - - - - - -+ attach_disk --target hda --sourcetype network --source-protocol TEST --source-host-name hostname: -+ ./virsh attach-disk --print-xml --domain testdom --target hda --sourcetype network --source-protocol TEST --source-host-name hostname: --source /nonexistent/file - - - - - - - -+ attach_disk --target hda --sourcetype network --source-protocol TEST --source-host-name :port -+ ./virsh attach-disk --print-xml --domain testdom --target hda --sourcetype network --source-protocol TEST --source-host-name :port --source /nonexistent/file - - - - - - - -+ attach_disk --target hda --sourcetype network --source-protocol TEST --source-host-name : -+ ./virsh attach-disk --print-xml --domain testdom --target hda --sourcetype network --source-protocol TEST --source-host-name : --source /nonexistent/file - - - - - - - -+ attach_disk --target hda --sourcetype network --source-protocol TEST --source-host-name hostname:port --source-host-transport trnsp -+ ./virsh attach-disk --print-xml --domain testdom --target hda --sourcetype network --source-protocol TEST --source-host-name hostname:port --source-host-transport trnsp --source /nonexistent/file - - - - - - - -+ attach_disk --target hda --sourcetype network --source-protocol TEST --source-host-transport trnsp -+ ./virsh attach-disk --print-xml --domain testdom --target hda --sourcetype network --source-protocol TEST --source-host-transport trnsp --source /nonexistent/file - - - - - - - -+ attach_disk --target hda --sourcetype network --source-protocol TEST --source-host-transport trnsp --source-host-socket /nonexistent/socket -+ ./virsh attach-disk --print-xml --domain testdom --target hda --sourcetype network --source-protocol TEST --source-host-transport trnsp --source-host-socket /nonexistent/socket --source /nonexistent/file - - - - - - - -+ attach_disk --target hda --sourcetype network --source-protocol TEST --source-host-socket /nonexistent/socket -+ ./virsh attach-disk --print-xml --domain testdom --target hda --sourcetype network --source-protocol TEST --source-host-socket /nonexistent/socket --source /nonexistent/file -error: Option --source-host-transport is required by option --source-host-socket - -end diff --git a/tests/virshtest.c b/tests/virshtest.c index 34217f1db1..06d8d6f2cc 100644 --- a/tests/virshtest.c +++ b/tests/virshtest.c @@ -212,6 +212,7 @@ mymain(void) /* The 'numeric-parsing-event' invokes virsh event with a 1 second timeout, * thus is marked expensive */ DO_TEST_SCRIPT_FULL("numeric-parsing-event", true, NULL, VIRSH_DEFAULT); + DO_TEST_SCRIPT("attach-disk", NULL, VIRSH_DEFAULT); VIR_FREE(custom_uri); return ret == 0 ? EXIT_SUCCESS : EXIT_FAILURE; diff --git a/tests/virshtestdata/attach-disk.in b/tests/virshtestdata/attach-disk.in new file mode 100755 index 0000000000..f46b12f6dc --- /dev/null +++ b/tests/virshtestdata/attach-disk.in @@ -0,0 +1,79 @@ +attach-disk --print-xml --domain testdom --source /nonexistent/file --target hda +attach-disk --print-xml --domain testdom --source /nonexistent/file --target hda --sourcetype file +attach-disk --print-xml --domain testdom --source /nonexistent/file --target hda --sourcetype block +attach-disk --print-xml --domain testdom --source /nonexistent/file --target hda --sourcetype nothing +attach-disk --print-xml --domain testdom --source /nonexistent/file --target hda --sourcetype file --type disk +attach-disk --print-xml --domain testdom --source /nonexistent/file --target hda --sourcetype block --type disk +attach-disk --print-xml --domain testdom --source /nonexistent/file --target hda --sourcetype file --type cdrom +attach-disk --print-xml --domain testdom --source /nonexistent/file --target hda --sourcetype block --type cdrom +attach-disk --print-xml --domain testdom --source /nonexistent/file --target hda --sourcetype file --type blah +attach-disk --print-xml --domain testdom --source /nonexistent/file --target hda --sourcetype block --type blah +attach-disk --print-xml --domain testdom --source /nonexistent/file --target hda --sourcetype file --type disk --driver testdriver +attach-disk --print-xml --domain testdom --source /nonexistent/file --target hda --sourcetype file --type disk --subdriver qcow2 +attach-disk --print-xml --domain testdom --source /nonexistent/file --target hda --sourcetype file --type disk --subdriver raw +attach-disk --print-xml --domain testdom --source /nonexistent/file --target hda --sourcetype file --type disk --cache none +attach-disk --print-xml --domain testdom --source /nonexistent/file --target hda --sourcetype file --type disk --subdriver qcow2 --cache none +attach-disk --print-xml --domain testdom --source /nonexistent/file --target hda --sourcetype file --type disk --subdriver qcow2 --serial TEST_SERIAL +attach-disk --print-xml --domain testdom --source /nonexistent/file --target hda --sourcetype file --type disk --mode readonly +attach-disk --print-xml --domain testdom --source /nonexistent/file --target hda --sourcetype file --type disk --mode shareable +attach-disk --print-xml --domain testdom --source /nonexistent/file --target hda --sourcetype file --type disk --mode whatever +attach-disk --print-xml --domain testdom --source /nonexistent/file --target hda --sourcetype file --type disk --subdriver qcow2 --alias testalias +attach-disk --print-xml --domain testdom --source /nonexistent/file --target hda --sourcetype file --type disk --rawio +attach-disk --print-xml --domain testdom --source /nonexistent/file --target hda --sourcetype file --type disk --multifunction +attach-disk --print-xml --domain testdom --source /nonexistent/file --target hda --sourcetype file --type disk --subdriver qcow2 --alias testalias --iothread 3 --mode readonly --cache none --driver qemu + +attach-disk --print-xml --domain testdom --source /nonexistent/file --target hda --sourcetype file --type disk --address ide:1.2.3 +attach-disk --print-xml --domain testdom --source /nonexistent/file --target hda --sourcetype file --type disk --address ide:1.2.4 +attach-disk --print-xml --domain testdom --source /nonexistent/file --target hda --sourcetype file --type disk --address ide:1:2:5 +attach-disk --print-xml --domain testdom --source /nonexistent/file --target sda --sourcetype file --type disk --address ide:1.2.3 +attach-disk --print-xml --domain testdom --source /nonexistent/file --target vda --sourcetype file --type disk --address ide:1.2.3 + +attach-disk --print-xml --domain testdom --source /nonexistent/file --target sda --sourcetype file --type disk --address usb:12.34 +attach-disk --print-xml --domain testdom --source /nonexistent/file --target sda --sourcetype file --type disk --address usb:12.3 +attach-disk --print-xml --domain testdom --source /nonexistent/file --target sda --sourcetype file --type disk --address usb:12:34 +attach-disk --print-xml --domain testdom --source /nonexistent/file --target vda --sourcetype file --type disk --address usb:12.34 +attach-disk --print-xml --domain testdom --source /nonexistent/file --target hda --sourcetype file --type disk --address usb:12.34 + +attach-disk --print-xml --domain testdom --source /nonexistent/file --target sda --sourcetype file --type disk --address scsi:1.2.3 +attach-disk --print-xml --domain testdom --source /nonexistent/file --target sda --sourcetype file --type disk --address scsi:1.2.4 +attach-disk --print-xml --domain testdom --source /nonexistent/file --target sda --sourcetype file --type disk --address scsi:1:2:5 +attach-disk --print-xml --domain testdom --source /nonexistent/file --target hda --sourcetype file --type disk --address scsi:1.2.3 +attach-disk --print-xml --domain testdom --source /nonexistent/file --target vda --sourcetype file --type disk --address scsi:1.2.3 + +attach-disk --print-xml --domain testdom --source /nonexistent/file --target sda --sourcetype file --type disk --address sata:1.2.3 +attach-disk --print-xml --domain testdom --source /nonexistent/file --target sda --sourcetype file --type disk --address sata:1.2.4 +attach-disk --print-xml --domain testdom --source /nonexistent/file --target sda --sourcetype file --type disk --address sata:1:2:5 +attach-disk --print-xml --domain testdom --source /nonexistent/file --target hda --sourcetype file --type disk --address sata:1.2.3 +attach-disk --print-xml --domain testdom --source /nonexistent/file --target vda --sourcetype file --type disk --address sata:1.2.3 + +attach-disk --print-xml --domain testdom --source /nonexistent/file --target vda --sourcetype file --type disk --address pci:12.34.56.78 +attach-disk --print-xml --domain testdom --source /nonexistent/file --target vda --sourcetype file --type disk --address pci:12:34:56:78 +attach-disk --print-xml --domain testdom --source /nonexistent/file --target vda --sourcetype file --type disk --address pci:12.34.56.aa +attach-disk --print-xml --domain testdom --source /nonexistent/file --target hda --sourcetype file --type disk --address pci:12.34.56.aa +attach-disk --print-xml --domain testdom --source /nonexistent/file --target sda --sourcetype file --type disk --address pci:12.34.56.aa + +attach-disk --print-xml --domain testdom --source /nonexistent/file --target vda --sourcetype file --type disk --address pci:12.34.56.78 --multifunction +attach-disk --print-xml --domain testdom --source /nonexistent/file --target vda --sourcetype file --type disk --address pci:12:34:56:78 --multifunction +attach-disk --print-xml --domain testdom --source /nonexistent/file --target vda --sourcetype file --type disk --address pci:12.34.56.aa --multifunction + +attach-disk --print-xml --domain testdom --source /nonexistent/file --target vda --sourcetype file --type disk --address ccw:12.34.56 +attach-disk --print-xml --domain testdom --source /nonexistent/file --target vda --sourcetype file --type disk --address ccw:12:34:56 +attach-disk --print-xml --domain testdom --source /nonexistent/file --target vda --sourcetype file --type disk --address ccw:12.34.56 +attach-disk --print-xml --domain testdom --source /nonexistent/file --target hda --sourcetype file --type disk --address ccw:12.34.56 +attach-disk --print-xml --domain testdom --source /nonexistent/file --target sda --sourcetype file --type disk --address ccw:12.34.56 + +attach-disk --print-xml --domain testdom --source /nonexistent/file --target vda --sourcetype file --type disk --address test:12.34.56 +attach-disk --print-xml --domain testdom --source /nonexistent/file --target vda --sourcetype file --type disk --address test:12:34:56 +attach-disk --print-xml --domain testdom --source /nonexistent/file --target vda --sourcetype file --type disk --address test:12.34.56 + +attach-disk --print-xml --domain testdom --source /nonexistent/file --target hda --source-protocol AAA --sourcetype file +attach-disk --print-xml --domain testdom --source /nonexistent/file --target hda --sourcetype network +attach-disk --print-xml --domain testdom --source /nonexistent/file --target hda --sourcetype network --source-protocol TEST --source-host-name hostname +attach-disk --print-xml --domain testdom --source /nonexistent/file --target hda --sourcetype network --source-protocol TEST --source-host-name hostname:port +attach-disk --print-xml --domain testdom --source /nonexistent/file --target hda --sourcetype network --source-protocol TEST --source-host-name hostname: +attach-disk --print-xml --domain testdom --source /nonexistent/file --target hda --sourcetype network --source-protocol TEST --source-host-name :port +attach-disk --print-xml --domain testdom --source /nonexistent/file --target hda --sourcetype network --source-protocol TEST --source-host-name : +attach-disk --print-xml --domain testdom --source /nonexistent/file --target hda --sourcetype network --source-protocol TEST --source-host-name hostname:port --source-host-transport trnsp +attach-disk --print-xml --domain testdom --source /nonexistent/file --target hda --sourcetype network --source-protocol TEST --source-host-transport trnsp +attach-disk --print-xml --domain testdom --source /nonexistent/file --target hda --sourcetype network --source-protocol TEST --source-host-transport trnsp --source-host-socket /nonexistent/socket +attach-disk --print-xml --domain testdom --source /nonexistent/file --target hda --sourcetype network --source-protocol TEST --source-host-socket /nonexistent/socket diff --git a/tests/virshtestdata/attach-disk.out b/tests/virshtestdata/attach-disk.out new file mode 100644 index 0000000000..4f7fe7d8e0 --- /dev/null +++ b/tests/virshtestdata/attach-disk.out @@ -0,0 +1,343 @@ + + + + + + + + + + + + + + + +error: Unknown source type: 'nothing' + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + TEST_SERIAL + + + + + + + + + + + + + + +error: No support for whatever in command 'attach-disk' + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + +
+ + + + + +
+ + +error: expecting a scsi:00.00.00 or usb:00.00 or sata:00.00.00 address. + +error: expecting a pci:0000.00.00.00 or ccw:00.0.0000 address. + + + + +
+ + + + + +
+ + + + + +
+ + +error: expecting a pci:0000.00.00.00 or ccw:00.0.0000 address. + +error: expecting an ide:00.00.00 address. + + + + +
+ + + + + +
+ + + + + +
+ + +error: expecting an ide:00.00.00 address. + +error: expecting a pci:0000.00.00.00 or ccw:00.0.0000 address. + + + + +
+ + + + + +
+ + + + + +
+ + +error: expecting an ide:00.00.00 address. + +error: expecting a pci:0000.00.00.00 or ccw:00.0.0000 address. + + + + +
+ + + + + +
+ + + + + +
+ + +error: expecting an ide:00.00.00 address. + +error: expecting a scsi:00.00.00 or usb:00.00 or sata:00.00.00 address. + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + +error: expecting an ide:00.00.00 address. + +error: expecting a scsi:00.00.00 or usb:00.00 or sata:00.00.00 address. + +error: Invalid address. + +error: Invalid address. + +error: Invalid address. + +error: --source-protocol option requires --sourcetype network + +error: --source-protocol option requires --sourcetype network + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +error: Option --source-host-transport is required by option --source-host-socket + + +## Exit code: 1