diff --git a/tests/bhyvexml2xmloutdata/bhyvexml2xmlout-acpiapic.xml b/tests/bhyvexml2xmloutdata/bhyvexml2xmlout-acpiapic.xml
new file mode 100644
index 0000000000..b4720ecaff
--- /dev/null
+++ b/tests/bhyvexml2xmloutdata/bhyvexml2xmlout-acpiapic.xml
@@ -0,0 +1,34 @@
+
+ bhyve
+ df3be7e7-a104-11e3-aeb0-50e5492bd3dc
+ 219136
+ 219136
+ 1
+
+ hvm
+
+
+
+
+
+
+
+ destroy
+ restart
+ destroy
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/bhyvexml2xmloutdata/bhyvexml2xmlout-base.xml b/tests/bhyvexml2xmloutdata/bhyvexml2xmlout-base.xml
new file mode 100644
index 0000000000..cd4e4f80d1
--- /dev/null
+++ b/tests/bhyvexml2xmloutdata/bhyvexml2xmlout-base.xml
@@ -0,0 +1,30 @@
+
+ bhyve
+ df3be7e7-a104-11e3-aeb0-50e5492bd3dc
+ 219136
+ 219136
+ 1
+
+ hvm
+
+
+
+ destroy
+ restart
+ destroy
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/bhyvexml2xmloutdata/bhyvexml2xmlout-bhyveload-bootorder.xml b/tests/bhyvexml2xmloutdata/bhyvexml2xmlout-bhyveload-bootorder.xml
new file mode 100644
index 0000000000..ab01cb5ab2
--- /dev/null
+++ b/tests/bhyvexml2xmloutdata/bhyvexml2xmlout-bhyveload-bootorder.xml
@@ -0,0 +1,37 @@
+
+ bhyve
+ df3be7e7-a104-11e3-aeb0-50e5492bd3dc
+ 219136
+ 219136
+ 1
+
+ hvm
+
+
+
+ destroy
+ restart
+ destroy
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/bhyvexml2xmloutdata/bhyvexml2xmlout-bhyveload-bootorder1.xml b/tests/bhyvexml2xmloutdata/bhyvexml2xmlout-bhyveload-bootorder1.xml
new file mode 100644
index 0000000000..df69c4e879
--- /dev/null
+++ b/tests/bhyvexml2xmloutdata/bhyvexml2xmlout-bhyveload-bootorder1.xml
@@ -0,0 +1,37 @@
+
+ bhyve
+ df3be7e7-a104-11e3-aeb0-50e5492bd3dc
+ 219136
+ 219136
+ 1
+
+ hvm
+
+
+
+ destroy
+ restart
+ destroy
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/bhyvexml2xmloutdata/bhyvexml2xmlout-bhyveload-bootorder2.xml b/tests/bhyvexml2xmloutdata/bhyvexml2xmlout-bhyveload-bootorder2.xml
new file mode 100644
index 0000000000..89131dc85a
--- /dev/null
+++ b/tests/bhyvexml2xmloutdata/bhyvexml2xmlout-bhyveload-bootorder2.xml
@@ -0,0 +1,30 @@
+
+ bhyve
+ df3be7e7-a104-11e3-aeb0-50e5492bd3dc
+ 219136
+ 219136
+ 1
+
+ hvm
+
+
+
+ destroy
+ restart
+ destroy
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/bhyvexml2xmloutdata/bhyvexml2xmlout-bhyveload-bootorder3.xml b/tests/bhyvexml2xmloutdata/bhyvexml2xmlout-bhyveload-bootorder3.xml
new file mode 100644
index 0000000000..96f9dc4dd0
--- /dev/null
+++ b/tests/bhyvexml2xmloutdata/bhyvexml2xmlout-bhyveload-bootorder3.xml
@@ -0,0 +1,37 @@
+
+ bhyve
+ df3be7e7-a104-11e3-aeb0-50e5492bd3dc
+ 219136
+ 219136
+ 1
+
+ hvm
+
+
+ destroy
+ restart
+ destroy
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/bhyvexml2xmloutdata/bhyvexml2xmlout-bhyveload-bootorder4.xml b/tests/bhyvexml2xmloutdata/bhyvexml2xmlout-bhyveload-bootorder4.xml
new file mode 100644
index 0000000000..1dd180bc0e
--- /dev/null
+++ b/tests/bhyvexml2xmloutdata/bhyvexml2xmlout-bhyveload-bootorder4.xml
@@ -0,0 +1,38 @@
+
+ bhyve
+ df3be7e7-a104-11e3-aeb0-50e5492bd3dc
+ 219136
+ 219136
+ 1
+
+ hvm
+
+
+ destroy
+ restart
+ destroy
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/bhyvexml2xmloutdata/bhyvexml2xmlout-bhyveload-explicitargs.xml b/tests/bhyvexml2xmloutdata/bhyvexml2xmlout-bhyveload-explicitargs.xml
new file mode 100644
index 0000000000..d7743a6408
--- /dev/null
+++ b/tests/bhyvexml2xmloutdata/bhyvexml2xmlout-bhyveload-explicitargs.xml
@@ -0,0 +1,30 @@
+
+ bhyve
+ df3be7e7-a104-11e3-aeb0-50e5492bd3dc
+ 219136
+ 219136
+ 1
+
+ hvm
+
+
+
+ destroy
+ restart
+ destroy
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/bhyvexml2xmloutdata/bhyvexml2xmlout-console.xml b/tests/bhyvexml2xmloutdata/bhyvexml2xmlout-console.xml
new file mode 100644
index 0000000000..bf926f96b1
--- /dev/null
+++ b/tests/bhyvexml2xmloutdata/bhyvexml2xmlout-console.xml
@@ -0,0 +1,38 @@
+
+ bhyve
+ df3be7e7-a104-11e3-aeb0-50e5492bd3dc
+ 219136
+ 219136
+ 1
+
+ hvm
+
+
+
+ destroy
+ restart
+ destroy
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/bhyvexml2xmloutdata/bhyvexml2xmlout-custom-loader.xml b/tests/bhyvexml2xmloutdata/bhyvexml2xmlout-custom-loader.xml
new file mode 100644
index 0000000000..3e7f145edc
--- /dev/null
+++ b/tests/bhyvexml2xmloutdata/bhyvexml2xmlout-custom-loader.xml
@@ -0,0 +1,31 @@
+
+ bhyve
+ df3be7e7-a104-11e3-aeb0-50e5492bd3dc
+ 219136
+ 219136
+ 1
+ /fizz_buzz_bazz
+ -X -Y -Z
+
+ hvm
+
+
+ destroy
+ restart
+ destroy
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/bhyvexml2xmloutdata/bhyvexml2xmlout-disk-cdrom-grub.xml b/tests/bhyvexml2xmloutdata/bhyvexml2xmlout-disk-cdrom-grub.xml
new file mode 100644
index 0000000000..285842c01c
--- /dev/null
+++ b/tests/bhyvexml2xmloutdata/bhyvexml2xmlout-disk-cdrom-grub.xml
@@ -0,0 +1,31 @@
+
+ bhyve
+ df3be7e7-a104-11e3-aeb0-50e5492bd3dc
+ 219136
+ 219136
+ 1
+ /usr/local/sbin/grub-bhyve
+
+ hvm
+
+
+ destroy
+ restart
+ destroy
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/bhyvexml2xmloutdata/bhyvexml2xmlout-disk-cdrom.xml b/tests/bhyvexml2xmloutdata/bhyvexml2xmlout-disk-cdrom.xml
new file mode 100644
index 0000000000..02517e4fdf
--- /dev/null
+++ b/tests/bhyvexml2xmloutdata/bhyvexml2xmlout-disk-cdrom.xml
@@ -0,0 +1,31 @@
+
+ bhyve
+ df3be7e7-a104-11e3-aeb0-50e5492bd3dc
+ 219136
+ 219136
+ 1
+
+ hvm
+
+
+
+ destroy
+ restart
+ destroy
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/bhyvexml2xmloutdata/bhyvexml2xmlout-disk-virtio.xml b/tests/bhyvexml2xmloutdata/bhyvexml2xmlout-disk-virtio.xml
new file mode 100644
index 0000000000..065ae813a3
--- /dev/null
+++ b/tests/bhyvexml2xmloutdata/bhyvexml2xmlout-disk-virtio.xml
@@ -0,0 +1,29 @@
+
+ bhyve
+ df3be7e7-a104-11e3-aeb0-50e5492bd3dc
+ 219136
+ 219136
+ 1
+
+ hvm
+
+
+
+ destroy
+ restart
+ destroy
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/bhyvexml2xmloutdata/bhyvexml2xmlout-grub-bootorder.xml b/tests/bhyvexml2xmloutdata/bhyvexml2xmlout-grub-bootorder.xml
new file mode 100644
index 0000000000..939f7ba589
--- /dev/null
+++ b/tests/bhyvexml2xmloutdata/bhyvexml2xmlout-grub-bootorder.xml
@@ -0,0 +1,43 @@
+
+ bhyve
+ df3be7e7-a104-11e3-aeb0-50e5492bd3dc
+ 219136
+ 219136
+ 1
+ /usr/local/sbin/grub-bhyve
+
+ hvm
+
+
+ destroy
+ restart
+ destroy
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/bhyvexml2xmloutdata/bhyvexml2xmlout-grub-bootorder2.xml b/tests/bhyvexml2xmloutdata/bhyvexml2xmlout-grub-bootorder2.xml
new file mode 100644
index 0000000000..f774411e9f
--- /dev/null
+++ b/tests/bhyvexml2xmloutdata/bhyvexml2xmlout-grub-bootorder2.xml
@@ -0,0 +1,45 @@
+
+ bhyve
+ df3be7e7-a104-11e3-aeb0-50e5492bd3dc
+ 219136
+ 219136
+ 1
+ /usr/local/sbin/grub-bhyve
+
+ hvm
+
+
+ destroy
+ restart
+ destroy
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/bhyvexml2xmloutdata/bhyvexml2xmlout-grub-defaults.xml b/tests/bhyvexml2xmloutdata/bhyvexml2xmlout-grub-defaults.xml
new file mode 100644
index 0000000000..758986b3f8
--- /dev/null
+++ b/tests/bhyvexml2xmloutdata/bhyvexml2xmlout-grub-defaults.xml
@@ -0,0 +1,30 @@
+
+ bhyve
+ df3be7e7-a104-11e3-aeb0-50e5492bd3dc
+ 219136
+ 219136
+ 1
+ /usr/local/sbin/grub-bhyve
+
+ hvm
+
+
+ destroy
+ restart
+ destroy
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/bhyvexml2xmloutdata/bhyvexml2xmlout-localtime.xml b/tests/bhyvexml2xmloutdata/bhyvexml2xmlout-localtime.xml
new file mode 100644
index 0000000000..7e08ff9de5
--- /dev/null
+++ b/tests/bhyvexml2xmloutdata/bhyvexml2xmlout-localtime.xml
@@ -0,0 +1,30 @@
+
+ bhyve
+ df3be7e7-a104-11e3-aeb0-50e5492bd3dc
+ 219136
+ 219136
+ 1
+
+ hvm
+
+
+
+ destroy
+ restart
+ destroy
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/bhyvexml2xmloutdata/bhyvexml2xmlout-macaddr.xml b/tests/bhyvexml2xmloutdata/bhyvexml2xmlout-macaddr.xml
new file mode 100644
index 0000000000..4e4e672fcf
--- /dev/null
+++ b/tests/bhyvexml2xmloutdata/bhyvexml2xmlout-macaddr.xml
@@ -0,0 +1,30 @@
+
+ bhyve
+ df3be7e7-a104-11e3-aeb0-50e5492bd3dc
+ 219136
+ 219136
+ 1
+
+ hvm
+
+
+
+ destroy
+ restart
+ destroy
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/bhyvexml2xmloutdata/bhyvexml2xmlout-serial-grub-nocons.xml b/tests/bhyvexml2xmloutdata/bhyvexml2xmlout-serial-grub-nocons.xml
new file mode 100644
index 0000000000..a379f12740
--- /dev/null
+++ b/tests/bhyvexml2xmloutdata/bhyvexml2xmlout-serial-grub-nocons.xml
@@ -0,0 +1,38 @@
+
+ bhyve
+ df3be7e7-a104-11e3-aeb0-50e5492bd3dc
+ 219136
+ 219136
+ 1
+ /usr/local/sbin/grub-bhyve
+
+ hvm
+
+
+ destroy
+ restart
+ destroy
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/bhyvexml2xmloutdata/bhyvexml2xmlout-serial-grub.xml b/tests/bhyvexml2xmloutdata/bhyvexml2xmlout-serial-grub.xml
new file mode 100644
index 0000000000..2864089ae8
--- /dev/null
+++ b/tests/bhyvexml2xmloutdata/bhyvexml2xmlout-serial-grub.xml
@@ -0,0 +1,38 @@
+
+ bhyve
+ df3be7e7-a104-11e3-aeb0-50e5492bd3dc
+ 219136
+ 219136
+ 1
+ /usr/local/sbin/grub-bhyve
+
+ hvm
+
+
+ destroy
+ restart
+ destroy
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/bhyvexml2xmloutdata/bhyvexml2xmlout-serial.xml b/tests/bhyvexml2xmloutdata/bhyvexml2xmlout-serial.xml
new file mode 100644
index 0000000000..954c58acaf
--- /dev/null
+++ b/tests/bhyvexml2xmloutdata/bhyvexml2xmlout-serial.xml
@@ -0,0 +1,38 @@
+
+ bhyve
+ df3be7e7-a104-11e3-aeb0-50e5492bd3dc
+ 219136
+ 219136
+ 1
+
+ hvm
+
+
+
+ destroy
+ restart
+ destroy
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/bhyvexml2xmltest.c b/tests/bhyvexml2xmltest.c
index 756d5d2fc0..e95cee4b8e 100644
--- a/tests/bhyvexml2xmltest.c
+++ b/tests/bhyvexml2xmltest.c
@@ -63,7 +63,28 @@ mymain(void)
# define DO_TEST_DIFFERENT(name) \
DO_TEST_FULL(name, true)
+ DO_TEST_DIFFERENT("acpiapic");
+ DO_TEST_DIFFERENT("base");
+ DO_TEST_DIFFERENT("bhyveload-bootorder");
+ DO_TEST_DIFFERENT("bhyveload-bootorder1");
+ DO_TEST_DIFFERENT("bhyveload-bootorder2");
+ DO_TEST_DIFFERENT("bhyveload-bootorder3");
+ DO_TEST_DIFFERENT("bhyveload-bootorder4");
+ DO_TEST_DIFFERENT("bhyveload-explicitargs");
+ DO_TEST_DIFFERENT("console");
+ DO_TEST_DIFFERENT("custom-loader");
+ DO_TEST_DIFFERENT("disk-cdrom");
+ DO_TEST_DIFFERENT("disk-cdrom-grub");
+ DO_TEST_DIFFERENT("disk-virtio");
+ DO_TEST_DIFFERENT("grub-bootorder");
+ DO_TEST_DIFFERENT("grub-bootorder2");
+ DO_TEST_DIFFERENT("grub-defaults");
+ DO_TEST_DIFFERENT("localtime");
+ DO_TEST_DIFFERENT("macaddr");
DO_TEST_DIFFERENT("metadata");
+ DO_TEST_DIFFERENT("serial");
+ DO_TEST_DIFFERENT("serial-grub");
+ DO_TEST_DIFFERENT("serial-grub-nocons");
virObjectUnref(driver.caps);
virObjectUnref(driver.xmlopt);