diff --git a/tests/bhyvexml2argvdata/bhyvexml2argv-bhyveload-explicitargs.args b/tests/bhyvexml2argvdata/bhyvexml2argv-bhyveload-explicitargs.args
new file mode 100644
index 0000000000..4122e627b0
--- /dev/null
+++ b/tests/bhyvexml2argvdata/bhyvexml2argv-bhyveload-explicitargs.args
@@ -0,0 +1,3 @@
+/usr/sbin/bhyve -c 1 -m 214 -H -P -s 0:0,hostbridge \
+-s 3:0,virtio-net,faketapdev,mac=52:54:00:00:00:00 \
+-s 2:0,ahci-hd,/tmp/freebsd.img bhyve
diff --git a/tests/bhyvexml2argvdata/bhyvexml2argv-bhyveload-explicitargs.ldargs b/tests/bhyvexml2argvdata/bhyvexml2argv-bhyveload-explicitargs.ldargs
new file mode 100644
index 0000000000..a3f58f0217
--- /dev/null
+++ b/tests/bhyvexml2argvdata/bhyvexml2argv-bhyveload-explicitargs.ldargs
@@ -0,0 +1 @@
+/usr/sbin/bhyveload -X -Y -Z
diff --git a/tests/bhyvexml2argvdata/bhyvexml2argv-bhyveload-explicitargs.xml b/tests/bhyvexml2argvdata/bhyvexml2argv-bhyveload-explicitargs.xml
new file mode 100644
index 0000000000..65823cd828
--- /dev/null
+++ b/tests/bhyvexml2argvdata/bhyvexml2argv-bhyveload-explicitargs.xml
@@ -0,0 +1,23 @@
+
+ bhyve
+ df3be7e7-a104-11e3-aeb0-50e5492bd3dc
+ 219136
+ 1
+ -X -Y -Z
+
+ hvm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/bhyvexml2argvdata/bhyvexml2argv-custom-loader.args b/tests/bhyvexml2argvdata/bhyvexml2argv-custom-loader.args
new file mode 100644
index 0000000000..4122e627b0
--- /dev/null
+++ b/tests/bhyvexml2argvdata/bhyvexml2argv-custom-loader.args
@@ -0,0 +1,3 @@
+/usr/sbin/bhyve -c 1 -m 214 -H -P -s 0:0,hostbridge \
+-s 3:0,virtio-net,faketapdev,mac=52:54:00:00:00:00 \
+-s 2:0,ahci-hd,/tmp/freebsd.img bhyve
diff --git a/tests/bhyvexml2argvdata/bhyvexml2argv-custom-loader.ldargs b/tests/bhyvexml2argvdata/bhyvexml2argv-custom-loader.ldargs
new file mode 100644
index 0000000000..100e163c74
--- /dev/null
+++ b/tests/bhyvexml2argvdata/bhyvexml2argv-custom-loader.ldargs
@@ -0,0 +1 @@
+/fizz_buzz_bazz -X -Y -Z
diff --git a/tests/bhyvexml2argvdata/bhyvexml2argv-custom-loader.xml b/tests/bhyvexml2argvdata/bhyvexml2argv-custom-loader.xml
new file mode 100644
index 0000000000..e9e0d5ebce
--- /dev/null
+++ b/tests/bhyvexml2argvdata/bhyvexml2argv-custom-loader.xml
@@ -0,0 +1,24 @@
+
+ bhyve
+ df3be7e7-a104-11e3-aeb0-50e5492bd3dc
+ 219136
+ 1
+ /fizz_buzz_bazz
+ -X -Y -Z
+
+ hvm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/bhyvexml2argvdata/bhyvexml2argv-disk-cdrom-grub.args b/tests/bhyvexml2argvdata/bhyvexml2argv-disk-cdrom-grub.args
new file mode 100644
index 0000000000..eb38969e12
--- /dev/null
+++ b/tests/bhyvexml2argvdata/bhyvexml2argv-disk-cdrom-grub.args
@@ -0,0 +1,3 @@
+/usr/sbin/bhyve -c 1 -m 214 -H -P -s 0:0,hostbridge \
+-s 3:0,virtio-net,faketapdev,mac=52:54:00:00:00:00 \
+-s 2:0,ahci-cd,/tmp/cdrom.iso bhyve
diff --git a/tests/bhyvexml2argvdata/bhyvexml2argv-disk-cdrom-grub.devmap b/tests/bhyvexml2argvdata/bhyvexml2argv-disk-cdrom-grub.devmap
new file mode 100644
index 0000000000..47d4364858
--- /dev/null
+++ b/tests/bhyvexml2argvdata/bhyvexml2argv-disk-cdrom-grub.devmap
@@ -0,0 +1 @@
+(cd) /tmp/cdrom.iso
diff --git a/tests/bhyvexml2argvdata/bhyvexml2argv-disk-cdrom-grub.ldargs b/tests/bhyvexml2argvdata/bhyvexml2argv-disk-cdrom-grub.ldargs
new file mode 100644
index 0000000000..d9161ba8a6
--- /dev/null
+++ b/tests/bhyvexml2argvdata/bhyvexml2argv-disk-cdrom-grub.ldargs
@@ -0,0 +1,2 @@
+/usr/local/sbin/grub-bhyve --root cd --device-map '' --memory 214 \
+bhyve
diff --git a/tests/bhyvexml2argvdata/bhyvexml2argv-disk-cdrom-grub.xml b/tests/bhyvexml2argvdata/bhyvexml2argv-disk-cdrom-grub.xml
new file mode 100644
index 0000000000..00708e6abe
--- /dev/null
+++ b/tests/bhyvexml2argvdata/bhyvexml2argv-disk-cdrom-grub.xml
@@ -0,0 +1,23 @@
+
+ bhyve
+ df3be7e7-a104-11e3-aeb0-50e5492bd3dc
+ 219136
+ 1
+ /usr/local/sbin/grub-bhyve
+
+ hvm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/bhyvexml2argvdata/bhyvexml2argv-grub-defaults.args b/tests/bhyvexml2argvdata/bhyvexml2argv-grub-defaults.args
new file mode 100644
index 0000000000..4122e627b0
--- /dev/null
+++ b/tests/bhyvexml2argvdata/bhyvexml2argv-grub-defaults.args
@@ -0,0 +1,3 @@
+/usr/sbin/bhyve -c 1 -m 214 -H -P -s 0:0,hostbridge \
+-s 3:0,virtio-net,faketapdev,mac=52:54:00:00:00:00 \
+-s 2:0,ahci-hd,/tmp/freebsd.img bhyve
diff --git a/tests/bhyvexml2argvdata/bhyvexml2argv-grub-defaults.devmap b/tests/bhyvexml2argvdata/bhyvexml2argv-grub-defaults.devmap
new file mode 100644
index 0000000000..68c35da4f9
--- /dev/null
+++ b/tests/bhyvexml2argvdata/bhyvexml2argv-grub-defaults.devmap
@@ -0,0 +1 @@
+(hd0) /tmp/freebsd.img
diff --git a/tests/bhyvexml2argvdata/bhyvexml2argv-grub-defaults.ldargs b/tests/bhyvexml2argvdata/bhyvexml2argv-grub-defaults.ldargs
new file mode 100644
index 0000000000..91c15ce736
--- /dev/null
+++ b/tests/bhyvexml2argvdata/bhyvexml2argv-grub-defaults.ldargs
@@ -0,0 +1,2 @@
+/usr/local/sbin/grub-bhyve --root hd0,msdos1 --device-map '' \
+--memory 214 bhyve
diff --git a/tests/bhyvexml2argvdata/bhyvexml2argv-grub-defaults.xml b/tests/bhyvexml2argvdata/bhyvexml2argv-grub-defaults.xml
new file mode 100644
index 0000000000..27b7fd9d2b
--- /dev/null
+++ b/tests/bhyvexml2argvdata/bhyvexml2argv-grub-defaults.xml
@@ -0,0 +1,23 @@
+
+ bhyve
+ df3be7e7-a104-11e3-aeb0-50e5492bd3dc
+ 219136
+ 1
+ /usr/local/sbin/grub-bhyve
+
+ hvm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/bhyvexml2argvtest.c b/tests/bhyvexml2argvtest.c
index 3ff6696e79..64e6c0d52c 100644
--- a/tests/bhyvexml2argvtest.c
+++ b/tests/bhyvexml2argvtest.c
@@ -160,6 +160,10 @@ mymain(void)
DO_TEST("macaddr");
DO_TEST("serial");
DO_TEST("console");
+ DO_TEST("grub-defaults");
+ DO_TEST("bhyveload-explicitargs");
+ DO_TEST("custom-loader");
+ DO_TEST("disk-cdrom-grub");
virObjectUnref(driver.caps);
virObjectUnref(driver.xmlopt);