The test cases verify that: + --start works + --define --start works + --no-define --start works + --start works in combination with --add and --remove + combination of --start --update isn't valid + combination of --define --no-define --start isn't valid Signed-off-by: Marc Hartmayer <mhartmay@xxxxxxxxxxxxx> Reviewed-by: Boris Fiuczynski <fiuczy@xxxxxxxxxxxxx> --- .../compare/virt-xml-add-disk-basic-start.xml | 11 ++++ ...virt-xml-add-disk-create-storage-start.xml | 11 ++++ .../virt-xml-add-host-device-start.xml | 14 +++++ .../virt-xml-remove-disk-path-start.xml | 20 +++++++ .../virt-xml-start-select-disk-bootorder.xml | 33 +++++++++++ .../virt-xml-start-select-disk-bootorder2.xml | 32 ++++++++++ tests/clitest.py | 17 ++++++ tests/testsuite.xml | 58 +++++++++++++++++++ 8 files changed, 196 insertions(+) create mode 100644 tests/cli-test-xml/compare/virt-xml-add-disk-basic-start.xml create mode 100644 tests/cli-test-xml/compare/virt-xml-add-disk-create-storage-start.xml create mode 100644 tests/cli-test-xml/compare/virt-xml-add-host-device-start.xml create mode 100644 tests/cli-test-xml/compare/virt-xml-remove-disk-path-start.xml create mode 100644 tests/cli-test-xml/compare/virt-xml-start-select-disk-bootorder.xml create mode 100644 tests/cli-test-xml/compare/virt-xml-start-select-disk-bootorder2.xml diff --git a/tests/cli-test-xml/compare/virt-xml-add-disk-basic-start.xml b/tests/cli-test-xml/compare/virt-xml-add-disk-basic-start.xml new file mode 100644 index 000000000000..0071d9e76aa7 --- /dev/null +++ b/tests/cli-test-xml/compare/virt-xml-add-disk-basic-start.xml @@ -0,0 +1,11 @@ + <model type="cirrus" vram="16384" heads="1" primary="yes"/> + </video> + <memballoon model="virtio"/> ++ <disk type="file" device="disk"> ++ <source file="/dev/default-pool/testvol1.img"/> ++ <target dev="vdf" bus="virtio"/> ++ </disk> + </devices> + </domain> + +Domain 'test-state-shutoff' started successfully. \ No newline at end of file diff --git a/tests/cli-test-xml/compare/virt-xml-add-disk-create-storage-start.xml b/tests/cli-test-xml/compare/virt-xml-add-disk-create-storage-start.xml new file mode 100644 index 000000000000..6a02dcc36485 --- /dev/null +++ b/tests/cli-test-xml/compare/virt-xml-add-disk-create-storage-start.xml @@ -0,0 +1,11 @@ + <model type="cirrus" vram="16384" heads="1" primary="yes"/> + </video> + <memballoon model="virtio"/> ++ <disk type="file" device="disk"> ++ <source file="/dev/default-pool/new1.img"/> ++ <target dev="hdd" bus="ide"/> ++ </disk> + </devices> + </domain> + +Domain 'test-state-shutoff' started successfully. \ No newline at end of file diff --git a/tests/cli-test-xml/compare/virt-xml-add-host-device-start.xml b/tests/cli-test-xml/compare/virt-xml-add-host-device-start.xml new file mode 100644 index 000000000000..b3db52793710 --- /dev/null +++ b/tests/cli-test-xml/compare/virt-xml-add-host-device-start.xml @@ -0,0 +1,14 @@ + <model type="cirrus" vram="16384" heads="1" primary="yes"/> + </video> + <memballoon model="virtio"/> ++ <hostdev mode="subsystem" type="usb" managed="yes"> ++ <source> ++ <vendor id="0x04b3"/> ++ <product id="0x4485"/> ++ </source> ++ </hostdev> + </devices> + </domain> + +Domain 'test-state-shutoff' defined successfully. +Domain 'test-state-shutoff' started successfully. \ No newline at end of file diff --git a/tests/cli-test-xml/compare/virt-xml-remove-disk-path-start.xml b/tests/cli-test-xml/compare/virt-xml-remove-disk-path-start.xml new file mode 100644 index 000000000000..e04db8fba761 --- /dev/null +++ b/tests/cli-test-xml/compare/virt-xml-remove-disk-path-start.xml @@ -0,0 +1,20 @@ + <on_lockfailure>poweroff</on_lockfailure> + <devices> + <emulator>/usr/lib/xen/bin/qemu-dm</emulator> +- <disk type="block" device="disk"> +- <driver name="qemu"/> +- <source dev="/dev/null"/> +- <target dev="vda" bus="virtio"/> +- <boot order="10"/> +- </disk> +- <disk type="block" device="disk"> +- <driver name="qemu"/> +- <source dev="/dev/null"/> +- <target dev="vdb" bus="virtio"/> +- <boot order="3"/> +- </disk> + <disk type="block" device="cdrom"> + <target dev="hdc" bus="ide"/> + <readonly/> + +Domain 'test-state-shutoff' started successfully. \ No newline at end of file diff --git a/tests/cli-test-xml/compare/virt-xml-start-select-disk-bootorder.xml b/tests/cli-test-xml/compare/virt-xml-start-select-disk-bootorder.xml new file mode 100644 index 000000000000..280d9fc5f078 --- /dev/null +++ b/tests/cli-test-xml/compare/virt-xml-start-select-disk-bootorder.xml @@ -0,0 +1,33 @@ + <driver name="qemu"/> + <source dev="/dev/null"/> + <target dev="vda" bus="virtio"/> +- <boot order="10"/> ++ <boot order="1"/> + </disk> + <disk type="block" device="disk"> + <driver name="qemu"/> + <source dev="/dev/null"/> + <target dev="vdb" bus="virtio"/> +- <boot order="3"/> ++ <boot order="4"/> + </disk> + <disk type="block" device="cdrom"> + <target dev="hdc" bus="ide"/> + <readonly/> +- <boot order="1"/> ++ <boot order="2"/> + <address type="drive" controller="0" bus="1" target="0" unit="0"/> + </disk> + <controller type="ide" index="0"/> +@@ + <source network="default"/> + <target dev="testnet0"/> + <model type="virtio"/> +- <boot order="2"/> ++ <boot order="3"/> + </interface> + <interface type="network"> + <mac address="52:54:00:11:fa:28"/> + +Domain 'test-state-shutoff' defined successfully. +Domain 'test-state-shutoff' started successfully. \ No newline at end of file diff --git a/tests/cli-test-xml/compare/virt-xml-start-select-disk-bootorder2.xml b/tests/cli-test-xml/compare/virt-xml-start-select-disk-bootorder2.xml new file mode 100644 index 000000000000..1144f4c5221b --- /dev/null +++ b/tests/cli-test-xml/compare/virt-xml-start-select-disk-bootorder2.xml @@ -0,0 +1,32 @@ + <driver name="qemu"/> + <source dev="/dev/null"/> + <target dev="vda" bus="virtio"/> +- <boot order="10"/> ++ <boot order="1"/> + </disk> + <disk type="block" device="disk"> + <driver name="qemu"/> + <source dev="/dev/null"/> + <target dev="vdb" bus="virtio"/> +- <boot order="3"/> ++ <boot order="4"/> + </disk> + <disk type="block" device="cdrom"> + <target dev="hdc" bus="ide"/> + <readonly/> +- <boot order="1"/> ++ <boot order="2"/> + <address type="drive" controller="0" bus="1" target="0" unit="0"/> + </disk> + <controller type="ide" index="0"/> +@@ + <source network="default"/> + <target dev="testnet0"/> + <model type="virtio"/> +- <boot order="2"/> ++ <boot order="3"/> + </interface> + <interface type="network"> + <mac address="52:54:00:11:fa:28"/> + +Domain 'test-state-shutoff' started successfully. \ No newline at end of file diff --git a/tests/clitest.py b/tests/clitest.py index 9670f2228bd5..dde64d535687 100644 --- a/tests/clitest.py +++ b/tests/clitest.py @@ -894,6 +894,7 @@ c = vixml.add_category("misc", "") c.add_valid("--help") # basic --help test c.add_valid("--sound=? --tpm=?") # basic introspection test c.add_valid("test-state-shutoff --edit --update --boot menu=on") # --update with inactive VM, should work but warn +c.add_invalid("test-state-shutoff --edit --update --boot menu=on --start") c.add_invalid("test --edit --hostdev driver_name=vfio") # Guest has no hostdev to edit c.add_invalid("test --edit --cpu host-passthrough --boot hd,network") # Specified more than 1 option c.add_invalid("test --edit") # specified no edit option @@ -969,6 +970,12 @@ c.add_compare("--edit /tmp/foobar2 --disk shareable=off,readonly=on", "edit-sele c.add_compare("--edit mac=00:11:7f:33:44:55 --network target=nic55", "edit-select-network-mac") c.add_compare("--edit target=hda --disk boot_order=1", "edit-select-disk-bootorder") +c = vixml.add_category("edit and start selection", "test-state-shutoff --print-diff --start") +c.add_compare("--define --edit target=vda --disk boot_order=1", "start-select-disk-bootorder") +c.add_invalid("--define --no-define --edit target=vda --disk boot_order=1") +c.add_compare("--edit target=vda --disk boot_order=1", "start-select-disk-bootorder2") +c.add_compare("--no-define --edit target=vda --disk boot_order=1", "start-select-disk-bootorder2") + c = vixml.add_category("edit selection 2", "test-collide --print-diff --define") c.add_compare("--edit target=hda --disk boot_order=1", "edit-select-disk-bootorder2") @@ -996,6 +1003,16 @@ c.add_compare("--remove-device --disk /dev/null", "remove-disk-path") c.add_compare("--remove-device --video all", "remove-video-all", check_version="1.3.3") # check_version=video primary= attribute c.add_compare("--remove-device --host-device 0x04b3:0x4485", "remove-hostdev-name", check_version="1.2.11") # check_version=video ram output change +c = vixml.add_category("add/rm devices and start", "test-state-shutoff --print-diff --start") +c.add_invalid("--add-device --pm suspend_to_disk=yes") # --add-device without a device +c.add_invalid("--remove-device --clock utc") # --remove-device without a dev +# one test in combination with --define +c.add_compare("--define --add-device --host-device usb_device_4b3_4485_noserial", "add-host-device-start") +# all other test cases without +c.add_compare("--add-device --disk %(EXISTIMG1)s,bus=virtio,target=vdf", "add-disk-basic-start") +c.add_compare("--add-device --disk %(NEWIMG1)s,size=.01", "add-disk-create-storage-start") +c.add_compare("--remove-device --disk /dev/null", "remove-disk-path-start") + c = vixml.add_category("add/rm devices OS KVM", "--connect %(URI-KVM)s test --print-diff --define") c.add_compare("--add-device --disk %(EXISTIMG1)s", "kvm-add-disk-os-from-xml") # Guest OS (none) from XML c.add_compare("--add-device --disk %(EXISTIMG1)s --os-variant fedora28", "kvm-add-disk-os-from-cmdline") # Guest OS (fedora) provided on command line diff --git a/tests/testsuite.xml b/tests/testsuite.xml index fa0a077f6706..2e6f0fd627a7 100644 --- a/tests/testsuite.xml +++ b/tests/testsuite.xml @@ -289,6 +289,64 @@ <memory>1048576</memory> <bootloader>/tmp/bootfoo</bootloader> <test:runstate>5</test:runstate> + <metadata> + <libosinfo:libosinfo xmlns:libosinfo="http://libosinfo.org/xmlns/libvirt/domain/1.0"> + <libosinfo:os id="http://fedoraproject.org/fedora/17"/> + </libosinfo:libosinfo> + </metadata> + <currentMemory>204800</currentMemory> + <memory>409600</memory> + <uuid>12345678-1234-1234-1234-123456789012</uuid> + <os> + <type arch="i686" machine="foobar">hvm</type> + </os> + <features> + <acpi/> + <apic/> + <hyperv> + <vapic state="off"/> + <spinlocks state="on" retries="12287"/> + </hyperv> + <vmport state="off"/> + </features> + <on_poweroff>destroy</on_poweroff> + <on_reboot>restart</on_reboot> + <on_crash>destroy</on_crash> + <on_lockfailure>poweroff</on_lockfailure> + <devices> + <emulator>/usr/lib/xen/bin/qemu-dm</emulator> + <disk type="block" device="disk"> + <driver name="qemu"/> + <source dev="/dev/null"/> + <target dev="vda" bus="virtio"/> + <boot order="10"/> + </disk> + <disk type="block" device="disk"> + <driver name="qemu"/> + <source dev="/dev/null"/> + <target dev="vdb" bus="virtio"/> + <boot order="3"/> + </disk> + <disk type="block" device="cdrom"> + <target dev="hdc" bus="ide"/> + <readonly/> + <boot order="1"/> + </disk> + <interface type="network"> + <source network="default"/> + <mac address="22:22:33:44:55:66"/> + <model type="virtio"/> + <boot order="2"/> + </interface> + <interface type="network"> + <source network="default"/> + <mac address="52:54:00:11:fa:28"/> + <model type="virtio"/> + </interface> + <graphics type="vnc" display=":3.4" xauth="/tmp/.Xauthority"/> + <console type="pty"/> + <memballoon model="virtio"/> + </devices> </domain> -- 2.17.0 _______________________________________________ virt-tools-list mailing list virt-tools-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/virt-tools-list