Signed-off-by: Luke Yue <lukedyue(a)gmail.com>
---
examples/xml/test/testdomfc5.xml | 51 ++++++++++++++++++++++++++
examples/xml/test/testnode.xml | 1 +
examples/xml/test/testnodeinline.xml | 51 ++++++++++++++++++++++++++
tests/virshtest.c | 54 +++++++++++++++++++++++-----
4 files changed, 148 insertions(+), 9 deletions(-)
create mode 100644 examples/xml/test/testdomfc5.xml
diff --git a/examples/xml/test/testdomfc5.xml b/examples/xml/test/testdomfc5.xml
new file mode 100644
index 0000000000..a8afc211f6
--- /dev/null
+++ b/examples/xml/test/testdomfc5.xml
@@ -0,0 +1,51 @@
+<domain type='test'>
+ <name>fc5</name>
+ <uuid>08721f993d1d4aec96eb97803297bb36</uuid>
+ <cpu mode='custom'>
+ <model>Deprecated-Test</model>
+ <vendor>Libvirt</vendor>
+ <topology sockets='1' dies='1' cores='4'
threads='1'/>
+ </cpu>
+ <os>
+ <type>hvm</type>
+ <loader>/usr/lib/xen/boot/hvmloader</loader>
+ <dtb>/root/ppc.dtb</dtb>
+ <boot dev='hd'/>
+ </os>
+ <memory>2097152</memory>
+ <vcpu>4</vcpu>
+ <on_poweroff>destroy</on_poweroff>
+ <on_reboot>restart</on_reboot>
+ <on_crash>restart</on_crash>
+ <features>
+ <pae/>
+ <acpi/>
+ <apic/>
+ </features>
+ <devices>
+ <emulator>/usr/lib/xen/bin/qemu-dm</emulator>
+ <interface type='bridge'>
+ <source bridge='xenbr0'/>
+ <mac address='00:16:3e:5d:c7:26'/>
+ <script path='vif-bridge'/>
+ </interface>
+ <disk type='file'>
+ <source file='/root/fv0'/>
+ <target dev='hda'/>
+ </disk>
+ <disk type='block' device='cdrom'>
+ <source dev='/dev/sr0'/>
+ <target dev='hdb' bus='ide'/>
+ <readonly/>
+ </disk>
+ <disk type='file' device='floppy'>
+ <source file='/root/fd.img'/>
+ <target dev='fda'/>
+ </disk>
+ <disk type='block' device='lun' rawio='yes'>
+ <source
dev='/dev/disk/by-path/ip-127.0.0.1:3260-iscsi-test.target-lun-0'/>
+ <target dev='sda' bus='scsi'/>
+ </disk>
+ <graphics type='vnc' port='5904'/>
+ </devices>
+</domain>
diff --git a/examples/xml/test/testnode.xml b/examples/xml/test/testnode.xml
index 001e353b1d..64d1590a30 100644
--- a/examples/xml/test/testnode.xml
+++ b/examples/xml/test/testnode.xml
@@ -9,6 +9,7 @@
-->
<domain file="testdomfv0.xml"/>
<domain file="testdomfc4.xml"/>
+ <domain file="testdomfc5.xml"/>
<network file="testnetpriv.xml"/>
<network file="testnetdef.xml"/>
<pool file="testpool.xml">
diff --git a/examples/xml/test/testnodeinline.xml b/examples/xml/test/testnodeinline.xml
index 0ec0f1ace6..60970145a0 100644
--- a/examples/xml/test/testnodeinline.xml
+++ b/examples/xml/test/testnodeinline.xml
@@ -75,6 +75,57 @@
<console tty="/dev/pts/5"/>
</devices>
</domain>
+ <domain type='test'>
+ <name>fc5</name>
+ <uuid>08721f993d1d4aec96eb97803297bb36</uuid>
+ <cpu mode='custom'>
+ <model>Deprecated-Test</model>
+ <vendor>Libvirt</vendor>
+ <topology sockets='1' dies='1' cores='4'
threads='1'/>
+ </cpu>
+ <os>
+ <type>hvm</type>
+ <loader>/usr/lib/xen/boot/hvmloader</loader>
+ <dtb>/root/ppc.dtb</dtb>
+ <boot dev='hd'/>
+ </os>
+ <memory>2097152</memory>
+ <vcpu>4</vcpu>
+ <on_poweroff>destroy</on_poweroff>
+ <on_reboot>restart</on_reboot>
+ <on_crash>restart</on_crash>
+ <features>
+ <pae/>
+ <acpi/>
+ <apic/>
+ </features>
+ <devices>
+ <emulator>/usr/lib/xen/bin/qemu-dm</emulator>
+ <interface type='bridge'>
+ <source bridge='xenbr0'/>
+ <mac address='00:16:3e:5d:c7:26'/>
+ <script path='vif-bridge'/>
+ </interface>
+ <disk type='file'>
+ <source file='/root/fv0'/>
+ <target dev='hda'/>
+ </disk>
+ <disk type='block' device='cdrom'>
+ <source dev='/dev/sr0'/>
+ <target dev='hdb' bus='ide'/>
+ <readonly/>
+ </disk>
+ <disk type='file' device='floppy'>
+ <source file='/root/fd.img'/>
+ <target dev='fda'/>
+ </disk>
+ <disk type='block' device='lun' rawio='yes'>
+ <source
dev='/dev/disk/by-path/ip-127.0.0.1:3260-iscsi-test.target-lun-0'/>
+ <target dev='sda' bus='scsi'/>
+ </disk>
+ <graphics type='vnc' port='5904'/>
+ </devices>
+ </domain>
<network>
<name>private</name>
<uuid>004b22212d78c30f5aa5f03c87d21e69</uuid>
diff --git a/tests/virshtest.c b/tests/virshtest.c
index 937448cefc..ef2b879e8d 100644
--- a/tests/virshtest.c
+++ b/tests/virshtest.c
@@ -20,14 +20,21 @@ main(void)
#else
-# define DOM_UUID "ef861801-45b9-11cb-88e3-afbfe5370493"
+# define DOM_FC4_UUID "ef861801-45b9-11cb-88e3-afbfe5370493"
+# define DOM_FC5_UUID "08721f99-3d1d-4aec-96eb-97803297bb36"
# define SECURITY_LABEL "libvirt-test (enforcing)"
-# define MESSAGES "tainted: network configuration using opaque shell scripts"
+# define FC4_MESSAGES "tainted: network configuration using opaque shell
scripts"
+# define FC5_MESSAGES "tainted: running with undesirable elevated privileges\n\
+ tainted: network configuration using opaque shell scripts\n\
+ tainted: use of host cdrom passthrough\n\
+ tainted: custom device tree blob used\n\
+ tainted: use of deprecated configuration settings\n\
+ deprecated configuration: CPU model Deprecated-Test"
static const char *dominfo_fc4 = "\
Id: 2\n\
Name: fc4\n\
-UUID: " DOM_UUID "\n\
+UUID: " DOM_FC4_UUID "\n\
OS Type: linux\n\
State: running\n\
CPU(s): 1\n\
@@ -39,12 +46,29 @@ Managed save: no\n\
Security model: testSecurity\n\
Security DOI: \n\
Security label: " SECURITY_LABEL "\n\
-Messages: " MESSAGES "\n\
+Messages: " FC4_MESSAGES "\n\
\n";
-static const char *domuuid_fc4 = DOM_UUID "\n\n";
+static const char *domuuid_fc4 = DOM_FC4_UUID "\n\n";
static const char *domid_fc4 = "2\n\n";
static const char *domname_fc4 = "fc4\n\n";
static const char *domstate_fc4 = "running\n\n";
+static const char *dominfo_fc5 = "\
+Id: 3\n\
+Name: fc5\n\
+UUID: " DOM_FC5_UUID "\n\
+OS Type: linux\n\
+State: running\n\
+CPU(s): 4\n\
+Max memory: 2097152 KiB\n\
+Used memory: 2097152 KiB\n\
+Persistent: yes\n\
+Autostart: disable\n\
+Managed save: no\n\
+Security model: testSecurity\n\
+Security DOI: \n\
+Security label: " SECURITY_LABEL "\n\
+Messages: " FC5_MESSAGES "\n\
+\n";
static int testFilterLine(char *buffer,
const char *toRemove)
@@ -128,6 +152,7 @@ static int testCompareListCustom(const void *data G_GNUC_UNUSED)
----------------------\n\
1 fv0 running\n\
2 fc4 running\n\
+ 3 fc5 running\n\
\n";
return testCompareOutputLit(exp, NULL, argv);
}
@@ -177,7 +202,7 @@ static int testCompareDominfoByID(const void *data G_GNUC_UNUSED)
static int testCompareDominfoByUUID(const void *data G_GNUC_UNUSED)
{
- const char *const argv[] = { VIRSH_CUSTOM, "dominfo", DOM_UUID, NULL };
+ const char *const argv[] = { VIRSH_CUSTOM, "dominfo", DOM_FC4_UUID, NULL
};
const char *exp = dominfo_fc4;
return testCompareOutputLit(exp, "\nCPU time:", argv);
}
@@ -189,6 +214,13 @@ static int testCompareDominfoByName(const void *data G_GNUC_UNUSED)
return testCompareOutputLit(exp, "\nCPU time:", argv);
}
+static int testCompareTaintedDominfoByName(const void *data G_GNUC_UNUSED)
+{
+ const char *const argv[] = { VIRSH_CUSTOM, "dominfo", "fc5", NULL
};
+ const char *exp = dominfo_fc5;
+ return testCompareOutputLit(exp, "\nCPU time:", argv);
+}
+
static int testCompareDomuuidByID(const void *data G_GNUC_UNUSED)
{
const char *const argv[] = { VIRSH_CUSTOM, "domuuid", "2", NULL
};
@@ -212,7 +244,7 @@ static int testCompareDomidByName(const void *data G_GNUC_UNUSED)
static int testCompareDomidByUUID(const void *data G_GNUC_UNUSED)
{
- const char *const argv[] = { VIRSH_CUSTOM, "domid", DOM_UUID, NULL };
+ const char *const argv[] = { VIRSH_CUSTOM, "domid", DOM_FC4_UUID, NULL };
const char *exp = domid_fc4;
return testCompareOutputLit(exp, NULL, argv);
}
@@ -226,7 +258,7 @@ static int testCompareDomnameByID(const void *data G_GNUC_UNUSED)
static int testCompareDomnameByUUID(const void *data G_GNUC_UNUSED)
{
- const char *const argv[] = { VIRSH_CUSTOM, "domname", DOM_UUID, NULL };
+ const char *const argv[] = { VIRSH_CUSTOM, "domname", DOM_FC4_UUID, NULL
};
const char *exp = domname_fc4;
return testCompareOutputLit(exp, NULL, argv);
}
@@ -240,7 +272,7 @@ static int testCompareDomstateByID(const void *data G_GNUC_UNUSED)
static int testCompareDomstateByUUID(const void *data G_GNUC_UNUSED)
{
- const char *const argv[] = { VIRSH_CUSTOM, "domstate", DOM_UUID, NULL };
+ const char *const argv[] = { VIRSH_CUSTOM, "domstate", DOM_FC4_UUID, NULL
};
const char *exp = domstate_fc4;
return testCompareOutputLit(exp, NULL, argv);
}
@@ -300,6 +332,10 @@ mymain(void)
testCompareDominfoByName, NULL) != 0)
ret = -1;
+ if (virTestRun("virsh dominfo (by name, more tainted messages)",
+ testCompareTaintedDominfoByName, NULL) != 0)
+ ret = -1;
+
if (virTestRun("virsh domid (by name)",
testCompareDomidByName, NULL) != 0)
ret = -1;
--
2.32.0