From: Fabian Freyer <fabian.freyer(a)physik.tu-berlin.de>
Signed-off-by: Roman Bogorodskiy <bogorodskiy(a)gmail.com>
---
tests/bhyvexml2argvdata/bhyvexml2argv-uefi.args | 11 +++++++++++
tests/bhyvexml2argvdata/bhyvexml2argv-uefi.ldargs | 1 +
tests/bhyvexml2argvdata/bhyvexml2argv-uefi.xml | 23 +++++++++++++++++++++++
tests/bhyvexml2argvtest.c | 13 +++++++++++--
4 files changed, 46 insertions(+), 2 deletions(-)
create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-uefi.args
create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-uefi.ldargs
create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-uefi.xml
diff --git a/tests/bhyvexml2argvdata/bhyvexml2argv-uefi.args
b/tests/bhyvexml2argvdata/bhyvexml2argv-uefi.args
new file mode 100644
index 000000000..8ff8673ed
--- /dev/null
+++ b/tests/bhyvexml2argvdata/bhyvexml2argv-uefi.args
@@ -0,0 +1,11 @@
+/usr/sbin/bhyve \
+-c 1 \
+-m 214 \
+-u \
+-H \
+-P \
+-s 0:0,hostbridge \
+-l bootrom,/path/to/test.fd \
+-s 2:0,ahci,hd:/tmp/freebsd.img \
+-s 3:0,virtio-net,faketapdev,mac=52:54:00:00:00:00 \
+-s 1,lpc bhyve
diff --git a/tests/bhyvexml2argvdata/bhyvexml2argv-uefi.ldargs
b/tests/bhyvexml2argvdata/bhyvexml2argv-uefi.ldargs
new file mode 100644
index 000000000..421376db9
--- /dev/null
+++ b/tests/bhyvexml2argvdata/bhyvexml2argv-uefi.ldargs
@@ -0,0 +1 @@
+dummy
diff --git a/tests/bhyvexml2argvdata/bhyvexml2argv-uefi.xml
b/tests/bhyvexml2argvdata/bhyvexml2argv-uefi.xml
new file mode 100644
index 000000000..0b7d6bd27
--- /dev/null
+++ b/tests/bhyvexml2argvdata/bhyvexml2argv-uefi.xml
@@ -0,0 +1,23 @@
+<domain type='bhyve'>
+ <name>bhyve</name>
+ <uuid>df3be7e7-a104-11e3-aeb0-50e5492bd3dc</uuid>
+ <memory>219136</memory>
+ <vcpu>1</vcpu>
+ <os>
+ <type>hvm</type>
+ <loader readonly="yes"
type="pflash">/path/to/test.fd</loader>
+ </os>
+ <devices>
+ <disk type='file'>
+ <driver name='file' type='raw'/>
+ <source file='/tmp/freebsd.img'/>
+ <target dev='hda' bus='sata'/>
+ <address type='drive' controller='0' bus='0'
target='2' unit='0'/>
+ </disk>
+ <interface type='bridge'>
+ <model type='virtio'/>
+ <source bridge="virbr0"/>
+ <address type='pci' domain='0x0000' bus='0x00'
slot='0x03' function='0x0'/>
+ </interface>
+ </devices>
+</domain>
diff --git a/tests/bhyvexml2argvtest.c b/tests/bhyvexml2argvtest.c
index fb404f9fb..8567ceeae 100644
--- a/tests/bhyvexml2argvtest.c
+++ b/tests/bhyvexml2argvtest.c
@@ -52,9 +52,13 @@ static int testCompareXMLToArgvFiles(const char *xml,
conn->privateData = &driver;
cmd = virBhyveProcessBuildBhyveCmd(conn, vmdef, false);
- ldcmd = virBhyveProcessBuildLoadCmd(conn, vmdef, "<device.map>",
+ if (!vmdef->os.loader)
+ ldcmd = virBhyveProcessBuildLoadCmd(conn, vmdef,
"<device.map>",
&actualdm);
+ if ((ldcmd == NULL) && (vmdef->os.loader))
+ ldcmd = virCommandNew("dummy");
+
if ((cmd == NULL) || (ldcmd == NULL)) {
if (flags & FLAG_EXPECT_FAILURE) {
ret = 0;
@@ -162,7 +166,8 @@ mymain(void)
DO_TEST_FULL(name, FLAG_EXPECT_PARSE_ERROR)
driver.grubcaps = BHYVE_GRUB_CAP_CONSDEV;
- driver.bhyvecaps = BHYVE_CAP_RTC_UTC | BHYVE_CAP_AHCI32SLOT | BHYVE_CAP_NET_E1000;
+ driver.bhyvecaps = BHYVE_CAP_RTC_UTC | BHYVE_CAP_AHCI32SLOT | \
+ BHYVE_CAP_NET_E1000 | BHYVE_CAP_LPC_BOOTROM;
DO_TEST("base");
DO_TEST("acpiapic");
@@ -186,6 +191,7 @@ mymain(void)
DO_TEST("serial-grub");
DO_TEST("localtime");
DO_TEST("net-e1000");
+ DO_TEST("uefi");
/* Address allocation tests */
DO_TEST("addr-single-sata-disk");
@@ -208,6 +214,9 @@ mymain(void)
DO_TEST_FAILURE("net-e1000");
+ driver.bhyvecaps &= ~BHYVE_CAP_LPC_BOOTROM;
+ DO_TEST_FAILURE("uefi");
+
virObjectUnref(driver.caps);
virObjectUnref(driver.xmlopt);
--
2.11.0