Sponsored by: EMC / Isilon storage division
Signed-off-by: Conrad Meyer <conrad.meyer(a)isilon.com>
---
.../bhyvexml2argv-acpiapic.ldargs | 1 +
tests/bhyvexml2argvdata/bhyvexml2argv-base.ldargs | 1 +
.../bhyvexml2argvdata/bhyvexml2argv-console.ldargs | 1 +
.../bhyvexml2argv-disk-cdrom.ldargs | 1 +
.../bhyvexml2argv-disk-virtio.ldargs | 1 +
.../bhyvexml2argvdata/bhyvexml2argv-macaddr.ldargs | 1 +
.../bhyvexml2argvdata/bhyvexml2argv-serial.ldargs | 1 +
tests/bhyvexml2argvtest.c | 36 ++++++++++++++++++----
8 files changed, 37 insertions(+), 6 deletions(-)
create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-acpiapic.ldargs
create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-base.ldargs
create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-console.ldargs
create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-disk-cdrom.ldargs
create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-disk-virtio.ldargs
create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-macaddr.ldargs
create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-serial.ldargs
diff --git a/tests/bhyvexml2argvdata/bhyvexml2argv-acpiapic.ldargs
b/tests/bhyvexml2argvdata/bhyvexml2argv-acpiapic.ldargs
new file mode 100644
index 0000000..215d65f
--- /dev/null
+++ b/tests/bhyvexml2argvdata/bhyvexml2argv-acpiapic.ldargs
@@ -0,0 +1 @@
+/usr/sbin/bhyveload -m 214 -d /tmp/freebsd.img bhyve
diff --git a/tests/bhyvexml2argvdata/bhyvexml2argv-base.ldargs
b/tests/bhyvexml2argvdata/bhyvexml2argv-base.ldargs
new file mode 100644
index 0000000..215d65f
--- /dev/null
+++ b/tests/bhyvexml2argvdata/bhyvexml2argv-base.ldargs
@@ -0,0 +1 @@
+/usr/sbin/bhyveload -m 214 -d /tmp/freebsd.img bhyve
diff --git a/tests/bhyvexml2argvdata/bhyvexml2argv-console.ldargs
b/tests/bhyvexml2argvdata/bhyvexml2argv-console.ldargs
new file mode 100644
index 0000000..215d65f
--- /dev/null
+++ b/tests/bhyvexml2argvdata/bhyvexml2argv-console.ldargs
@@ -0,0 +1 @@
+/usr/sbin/bhyveload -m 214 -d /tmp/freebsd.img bhyve
diff --git a/tests/bhyvexml2argvdata/bhyvexml2argv-disk-cdrom.ldargs
b/tests/bhyvexml2argvdata/bhyvexml2argv-disk-cdrom.ldargs
new file mode 100644
index 0000000..0eb3cc9
--- /dev/null
+++ b/tests/bhyvexml2argvdata/bhyvexml2argv-disk-cdrom.ldargs
@@ -0,0 +1 @@
+/usr/sbin/bhyveload -m 214 -d /tmp/cdrom.iso bhyve
diff --git a/tests/bhyvexml2argvdata/bhyvexml2argv-disk-virtio.ldargs
b/tests/bhyvexml2argvdata/bhyvexml2argv-disk-virtio.ldargs
new file mode 100644
index 0000000..215d65f
--- /dev/null
+++ b/tests/bhyvexml2argvdata/bhyvexml2argv-disk-virtio.ldargs
@@ -0,0 +1 @@
+/usr/sbin/bhyveload -m 214 -d /tmp/freebsd.img bhyve
diff --git a/tests/bhyvexml2argvdata/bhyvexml2argv-macaddr.ldargs
b/tests/bhyvexml2argvdata/bhyvexml2argv-macaddr.ldargs
new file mode 100644
index 0000000..215d65f
--- /dev/null
+++ b/tests/bhyvexml2argvdata/bhyvexml2argv-macaddr.ldargs
@@ -0,0 +1 @@
+/usr/sbin/bhyveload -m 214 -d /tmp/freebsd.img bhyve
diff --git a/tests/bhyvexml2argvdata/bhyvexml2argv-serial.ldargs
b/tests/bhyvexml2argvdata/bhyvexml2argv-serial.ldargs
new file mode 100644
index 0000000..215d65f
--- /dev/null
+++ b/tests/bhyvexml2argvdata/bhyvexml2argv-serial.ldargs
@@ -0,0 +1 @@
+/usr/sbin/bhyveload -m 214 -d /tmp/freebsd.img bhyve
diff --git a/tests/bhyvexml2argvtest.c b/tests/bhyvexml2argvtest.c
index b9be378..db45ae5 100644
--- a/tests/bhyvexml2argvtest.c
+++ b/tests/bhyvexml2argvtest.c
@@ -15,14 +15,15 @@
static bhyveConn driver;
static int testCompareXMLToArgvFiles(const char *xml,
- const char *cmdline)
+ const char *cmdline,
+ const char *ldcmdline)
{
- char *expectargv = NULL;
+ char *expectargv = NULL, *expectld = NULL;
int len;
- char *actualargv = NULL;
+ char *actualargv = NULL, *actualld = NULL;
virDomainDefPtr vmdef = NULL;
virDomainObj vm;
- virCommandPtr cmd = NULL;
+ virCommandPtr cmd = NULL, ldcmd = NULL;
virConnectPtr conn;
int ret = -1;
@@ -42,6 +43,12 @@ static int testCompareXMLToArgvFiles(const char *xml,
if (!(actualargv = virCommandToString(cmd)))
goto out;
+ if (!(ldcmd = virBhyveProcessBuildLoadCmd(conn, vmdef, NULL)))
+ goto out;
+
+ if (!(actualld = virCommandToString(ldcmd)))
+ goto out;
+
len = virtTestLoadFile(cmdline, &expectargv);
if (len < 0)
goto out;
@@ -49,17 +56,32 @@ static int testCompareXMLToArgvFiles(const char *xml,
if (len && expectargv[len - 1] == '\n')
expectargv[len - 1] = '\0';
+ len = virtTestLoadFile(ldcmdline, &expectld);
+ if (len < 0)
+ goto out;
+
+ if (len && expectld[len - 1] == '\n')
+ expectld[len - 1] = '\0';
+
if (STRNEQ(expectargv, actualargv)) {
virtTestDifference(stderr, expectargv, actualargv);
goto out;
}
+ if (STRNEQ(expectld, actualld)) {
+ virtTestDifference(stderr, expectld, actualld);
+ goto out;
+ }
+
ret = 0;
out:
VIR_FREE(expectargv);
+ VIR_FREE(expectld);
VIR_FREE(actualargv);
+ VIR_FREE(actualld);
virCommandFree(cmd);
+ virCommandFree(ldcmd);
virDomainDefFree(vmdef);
return ret;
}
@@ -70,15 +92,17 @@ testCompareXMLToArgvHelper(const void *data)
int ret = -1;
const char *name = data;
char *xml = NULL;
- char *args = NULL;
+ char *args = NULL, *ldargs = NULL;
if (virAsprintf(&xml, "%s/bhyvexml2argvdata/bhyvexml2argv-%s.xml",
abs_srcdir, name) < 0 ||
virAsprintf(&args, "%s/bhyvexml2argvdata/bhyvexml2argv-%s.args",
+ abs_srcdir, name) < 0 ||
+ virAsprintf(&ldargs,
"%s/bhyvexml2argvdata/bhyvexml2argv-%s.ldargs",
abs_srcdir, name) < 0)
goto cleanup;
- ret = testCompareXMLToArgvFiles(xml, args);
+ ret = testCompareXMLToArgvFiles(xml, args, ldargs);
cleanup:
VIR_FREE(xml);
--
1.9.3