It's just a copy&paste of qemuxml2argv test anyway. We can test most of
them (except for qemuxmlns-qemu-ns-domain.xml which fails to validate
against our schema) by qemuxml2argv test.
Signed-off-by: Jiri Denemark <jdenemar(a)redhat.com>
---
tests/Makefile.am | 10 +-
.../qemuxml2argv-qemu-ns-commandline-ns0.args} | 2 +-
.../qemuxml2argv-qemu-ns-commandline-ns0.xml} | 0
.../qemuxml2argv-qemu-ns-commandline-ns1.args} | 2 +-
.../qemuxml2argv-qemu-ns-commandline-ns1.xml} | 0
.../qemuxml2argv-qemu-ns-commandline.args} | 2 +-
.../qemuxml2argv-qemu-ns-commandline.xml} | 0
...muxml2argv-qemu-ns-domain-commandline-ns0.args} | 2 +-
...emuxml2argv-qemu-ns-domain-commandline-ns0.xml} | 0
.../qemuxml2argv-qemu-ns-domain-commandline.args | 22 ++
.../qemuxml2argv-qemu-ns-domain-commandline.xml} | 0
.../qemuxml2argv-qemu-ns-domain-ns0.args | 22 ++
.../qemuxml2argv-qemu-ns-domain-ns0.xml} | 0
tests/qemuxml2argvtest.c | 7 +
.../qemuxmlns-qemu-ns-domain-commandline.args | 22 --
.../qemuxmlns-qemu-ns-domain-ns0.args | 22 --
tests/qemuxmlnsdata/qemuxmlns-qemu-ns-domain.args | 22 --
tests/qemuxmlnsdata/qemuxmlns-qemu-ns-domain.xml | 27 ---
tests/qemuxmlnstest.c | 269 ---------------------
19 files changed, 57 insertions(+), 374 deletions(-)
rename tests/{qemuxmlnsdata/qemuxmlns-qemu-ns-commandline-ns0.args =>
qemuxml2argvdata/qemuxml2argv-qemu-ns-commandline-ns0.args} (84%)
rename tests/{qemuxmlnsdata/qemuxmlns-qemu-ns-commandline-ns0.xml =>
qemuxml2argvdata/qemuxml2argv-qemu-ns-commandline-ns0.xml} (100%)
rename tests/{qemuxmlnsdata/qemuxmlns-qemu-ns-commandline.args =>
qemuxml2argvdata/qemuxml2argv-qemu-ns-commandline-ns1.args} (84%)
rename tests/{qemuxmlnsdata/qemuxmlns-qemu-ns-commandline-ns1.xml =>
qemuxml2argvdata/qemuxml2argv-qemu-ns-commandline-ns1.xml} (100%)
rename tests/{qemuxmlnsdata/qemuxmlns-qemu-ns-commandline-ns1.args =>
qemuxml2argvdata/qemuxml2argv-qemu-ns-commandline.args} (84%)
rename tests/{qemuxmlnsdata/qemuxmlns-qemu-ns-commandline.xml =>
qemuxml2argvdata/qemuxml2argv-qemu-ns-commandline.xml} (100%)
rename tests/{qemuxmlnsdata/qemuxmlns-qemu-ns-domain-commandline-ns0.args =>
qemuxml2argvdata/qemuxml2argv-qemu-ns-domain-commandline-ns0.args} (84%)
rename tests/{qemuxmlnsdata/qemuxmlns-qemu-ns-domain-commandline-ns0.xml =>
qemuxml2argvdata/qemuxml2argv-qemu-ns-domain-commandline-ns0.xml} (100%)
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-qemu-ns-domain-commandline.args
rename tests/{qemuxmlnsdata/qemuxmlns-qemu-ns-domain-commandline.xml =>
qemuxml2argvdata/qemuxml2argv-qemu-ns-domain-commandline.xml} (100%)
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-qemu-ns-domain-ns0.args
rename tests/{qemuxmlnsdata/qemuxmlns-qemu-ns-domain-ns0.xml =>
qemuxml2argvdata/qemuxml2argv-qemu-ns-domain-ns0.xml} (100%)
delete mode 100644 tests/qemuxmlnsdata/qemuxmlns-qemu-ns-domain-commandline.args
delete mode 100644 tests/qemuxmlnsdata/qemuxmlns-qemu-ns-domain-ns0.args
delete mode 100644 tests/qemuxmlnsdata/qemuxmlns-qemu-ns-domain.args
delete mode 100644 tests/qemuxmlnsdata/qemuxmlns-qemu-ns-domain.xml
delete mode 100644 tests/qemuxmlnstest.c
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 4af38fe..c564038 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -116,7 +116,6 @@ EXTRA_DIST = \
qemumonitorjsondata \
qemuxml2argvdata \
qemuxml2xmloutdata \
- qemuxmlnsdata \
schematestutils.sh \
secretxml2xmlin \
securityselinuxhelperdata \
@@ -244,7 +243,7 @@ test_programs += xlconfigtest
endif WITH_LIBXL
if WITH_QEMU
-test_programs += qemuxml2argvtest qemuxml2xmltest qemuxmlnstest \
+test_programs += qemuxml2argvtest qemuxml2xmltest \
qemuargv2xmltest qemuhelptest domainsnapshotxml2xmltest \
qemumonitortest qemumonitorjsontest qemuhotplugtest \
qemuagenttest qemucapabilitiestest qemucaps2xmltest \
@@ -567,11 +566,6 @@ qemuxml2xmltest_SOURCES = \
testutils.c testutils.h
qemuxml2xmltest_LDADD = $(qemu_LDADDS) $(LDADDS)
-qemuxmlnstest_SOURCES = \
- qemuxmlnstest.c testutilsqemu.c testutilsqemu.h \
- testutils.c testutils.h
-qemuxmlnstest_LDADD = $(qemu_LDADDS) $(LDADDS)
-
qemuargv2xmltest_SOURCES = \
qemuargv2xmltest.c testutilsqemu.c testutilsqemu.h \
testutils.c testutils.h
@@ -642,7 +636,7 @@ domainsnapshotxml2xmltest_SOURCES = \
domainsnapshotxml2xmltest_LDADD = $(qemu_LDADDS) $(LDADDS)
else ! WITH_QEMU
EXTRA_DIST += qemuxml2argvtest.c qemuxml2xmltest.c qemuargv2xmltest.c \
- qemuxmlnstest.c qemuhelptest.c domainsnapshotxml2xmltest.c \
+ qemuhelptest.c domainsnapshotxml2xmltest.c \
qemumonitortest.c testutilsqemu.c testutilsqemu.h \
qemumonitorjsontest.c qemuhotplugtest.c \
qemuagenttest.c qemucapabilitiestest.c \
diff --git a/tests/qemuxmlnsdata/qemuxmlns-qemu-ns-commandline-ns0.args
b/tests/qemuxml2argvdata/qemuxml2argv-qemu-ns-commandline-ns0.args
similarity index 84%
rename from tests/qemuxmlnsdata/qemuxmlns-qemu-ns-commandline-ns0.args
rename to tests/qemuxml2argvdata/qemuxml2argv-qemu-ns-commandline-ns0.args
index c25a069..ba786b9 100644
--- a/tests/qemuxmlnsdata/qemuxmlns-qemu-ns-commandline-ns0.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-qemu-ns-commandline-ns0.args
@@ -12,7 +12,7 @@ QEMU_AUDIO_DRV=none \
-smp 1 \
-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
-nographic \
--monitor unix:/tmp/domain-QEMUGuest1/monitor.sock,server,nowait \
+-monitor unix:/tmp/test-monitor,server,nowait \
-no-acpi \
-boot c \
-usb \
diff --git a/tests/qemuxmlnsdata/qemuxmlns-qemu-ns-commandline-ns0.xml
b/tests/qemuxml2argvdata/qemuxml2argv-qemu-ns-commandline-ns0.xml
similarity index 100%
rename from tests/qemuxmlnsdata/qemuxmlns-qemu-ns-commandline-ns0.xml
rename to tests/qemuxml2argvdata/qemuxml2argv-qemu-ns-commandline-ns0.xml
diff --git a/tests/qemuxmlnsdata/qemuxmlns-qemu-ns-commandline.args
b/tests/qemuxml2argvdata/qemuxml2argv-qemu-ns-commandline-ns1.args
similarity index 84%
rename from tests/qemuxmlnsdata/qemuxmlns-qemu-ns-commandline.args
rename to tests/qemuxml2argvdata/qemuxml2argv-qemu-ns-commandline-ns1.args
index c25a069..ba786b9 100644
--- a/tests/qemuxmlnsdata/qemuxmlns-qemu-ns-commandline.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-qemu-ns-commandline-ns1.args
@@ -12,7 +12,7 @@ QEMU_AUDIO_DRV=none \
-smp 1 \
-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
-nographic \
--monitor unix:/tmp/domain-QEMUGuest1/monitor.sock,server,nowait \
+-monitor unix:/tmp/test-monitor,server,nowait \
-no-acpi \
-boot c \
-usb \
diff --git a/tests/qemuxmlnsdata/qemuxmlns-qemu-ns-commandline-ns1.xml
b/tests/qemuxml2argvdata/qemuxml2argv-qemu-ns-commandline-ns1.xml
similarity index 100%
rename from tests/qemuxmlnsdata/qemuxmlns-qemu-ns-commandline-ns1.xml
rename to tests/qemuxml2argvdata/qemuxml2argv-qemu-ns-commandline-ns1.xml
diff --git a/tests/qemuxmlnsdata/qemuxmlns-qemu-ns-commandline-ns1.args
b/tests/qemuxml2argvdata/qemuxml2argv-qemu-ns-commandline.args
similarity index 84%
rename from tests/qemuxmlnsdata/qemuxmlns-qemu-ns-commandline-ns1.args
rename to tests/qemuxml2argvdata/qemuxml2argv-qemu-ns-commandline.args
index c25a069..ba786b9 100644
--- a/tests/qemuxmlnsdata/qemuxmlns-qemu-ns-commandline-ns1.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-qemu-ns-commandline.args
@@ -12,7 +12,7 @@ QEMU_AUDIO_DRV=none \
-smp 1 \
-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
-nographic \
--monitor unix:/tmp/domain-QEMUGuest1/monitor.sock,server,nowait \
+-monitor unix:/tmp/test-monitor,server,nowait \
-no-acpi \
-boot c \
-usb \
diff --git a/tests/qemuxmlnsdata/qemuxmlns-qemu-ns-commandline.xml
b/tests/qemuxml2argvdata/qemuxml2argv-qemu-ns-commandline.xml
similarity index 100%
rename from tests/qemuxmlnsdata/qemuxmlns-qemu-ns-commandline.xml
rename to tests/qemuxml2argvdata/qemuxml2argv-qemu-ns-commandline.xml
diff --git a/tests/qemuxmlnsdata/qemuxmlns-qemu-ns-domain-commandline-ns0.args
b/tests/qemuxml2argvdata/qemuxml2argv-qemu-ns-domain-commandline-ns0.args
similarity index 84%
rename from tests/qemuxmlnsdata/qemuxmlns-qemu-ns-domain-commandline-ns0.args
rename to tests/qemuxml2argvdata/qemuxml2argv-qemu-ns-domain-commandline-ns0.args
index c25a069..ba786b9 100644
--- a/tests/qemuxmlnsdata/qemuxmlns-qemu-ns-domain-commandline-ns0.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-qemu-ns-domain-commandline-ns0.args
@@ -12,7 +12,7 @@ QEMU_AUDIO_DRV=none \
-smp 1 \
-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
-nographic \
--monitor unix:/tmp/domain-QEMUGuest1/monitor.sock,server,nowait \
+-monitor unix:/tmp/test-monitor,server,nowait \
-no-acpi \
-boot c \
-usb \
diff --git a/tests/qemuxmlnsdata/qemuxmlns-qemu-ns-domain-commandline-ns0.xml
b/tests/qemuxml2argvdata/qemuxml2argv-qemu-ns-domain-commandline-ns0.xml
similarity index 100%
rename from tests/qemuxmlnsdata/qemuxmlns-qemu-ns-domain-commandline-ns0.xml
rename to tests/qemuxml2argvdata/qemuxml2argv-qemu-ns-domain-commandline-ns0.xml
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-qemu-ns-domain-commandline.args
b/tests/qemuxml2argvdata/qemuxml2argv-qemu-ns-domain-commandline.args
new file mode 100644
index 0000000..ba786b9
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-qemu-ns-domain-commandline.args
@@ -0,0 +1,22 @@
+LC_ALL=C \
+PATH=/bin \
+HOME=/home/test \
+USER=test \
+LOGNAME=test \
+QEMU_AUDIO_DRV=none \
+/usr/bin/qemu \
+-name QEMUGuest1 \
+-S \
+-M pc \
+-m 214 \
+-smp 1 \
+-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
+-nographic \
+-monitor unix:/tmp/test-monitor,server,nowait \
+-no-acpi \
+-boot c \
+-usb \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-net none \
+-serial none \
+-parallel none ARGUMENT
diff --git a/tests/qemuxmlnsdata/qemuxmlns-qemu-ns-domain-commandline.xml
b/tests/qemuxml2argvdata/qemuxml2argv-qemu-ns-domain-commandline.xml
similarity index 100%
rename from tests/qemuxmlnsdata/qemuxmlns-qemu-ns-domain-commandline.xml
rename to tests/qemuxml2argvdata/qemuxml2argv-qemu-ns-domain-commandline.xml
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-qemu-ns-domain-ns0.args
b/tests/qemuxml2argvdata/qemuxml2argv-qemu-ns-domain-ns0.args
new file mode 100644
index 0000000..ba786b9
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-qemu-ns-domain-ns0.args
@@ -0,0 +1,22 @@
+LC_ALL=C \
+PATH=/bin \
+HOME=/home/test \
+USER=test \
+LOGNAME=test \
+QEMU_AUDIO_DRV=none \
+/usr/bin/qemu \
+-name QEMUGuest1 \
+-S \
+-M pc \
+-m 214 \
+-smp 1 \
+-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
+-nographic \
+-monitor unix:/tmp/test-monitor,server,nowait \
+-no-acpi \
+-boot c \
+-usb \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
+-net none \
+-serial none \
+-parallel none ARGUMENT
diff --git a/tests/qemuxmlnsdata/qemuxmlns-qemu-ns-domain-ns0.xml
b/tests/qemuxml2argvdata/qemuxml2argv-qemu-ns-domain-ns0.xml
similarity index 100%
rename from tests/qemuxmlnsdata/qemuxmlns-qemu-ns-domain-ns0.xml
rename to tests/qemuxml2argvdata/qemuxml2argv-qemu-ns-domain-ns0.xml
diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c
index 256027e..1c52828 100644
--- a/tests/qemuxml2argvtest.c
+++ b/tests/qemuxml2argvtest.c
@@ -1733,6 +1733,13 @@ mymain(void)
QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_VIRTIO_SCSI,
QEMU_CAPS_DEVICE, QEMU_CAPS_VIRTIO_CCW, QEMU_CAPS_VIRTIO_S390);
+ DO_TEST("qemu-ns-domain-ns0", NONE);
+ DO_TEST("qemu-ns-domain-commandline", NONE);
+ DO_TEST("qemu-ns-domain-commandline-ns0", NONE);
+ DO_TEST("qemu-ns-commandline", NONE);
+ DO_TEST("qemu-ns-commandline-ns0", NONE);
+ DO_TEST("qemu-ns-commandline-ns1", NONE);
+
qemuTestDriverFree(&driver);
return ret == 0 ? EXIT_SUCCESS : EXIT_FAILURE;
diff --git a/tests/qemuxmlnsdata/qemuxmlns-qemu-ns-domain-commandline.args
b/tests/qemuxmlnsdata/qemuxmlns-qemu-ns-domain-commandline.args
deleted file mode 100644
index c25a069..0000000
--- a/tests/qemuxmlnsdata/qemuxmlns-qemu-ns-domain-commandline.args
+++ /dev/null
@@ -1,22 +0,0 @@
-LC_ALL=C \
-PATH=/bin \
-HOME=/home/test \
-USER=test \
-LOGNAME=test \
-QEMU_AUDIO_DRV=none \
-/usr/bin/qemu \
--name QEMUGuest1 \
--S \
--M pc \
--m 214 \
--smp 1 \
--uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
--nographic \
--monitor unix:/tmp/domain-QEMUGuest1/monitor.sock,server,nowait \
--no-acpi \
--boot c \
--usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
--net none \
--serial none \
--parallel none ARGUMENT
diff --git a/tests/qemuxmlnsdata/qemuxmlns-qemu-ns-domain-ns0.args
b/tests/qemuxmlnsdata/qemuxmlns-qemu-ns-domain-ns0.args
deleted file mode 100644
index c25a069..0000000
--- a/tests/qemuxmlnsdata/qemuxmlns-qemu-ns-domain-ns0.args
+++ /dev/null
@@ -1,22 +0,0 @@
-LC_ALL=C \
-PATH=/bin \
-HOME=/home/test \
-USER=test \
-LOGNAME=test \
-QEMU_AUDIO_DRV=none \
-/usr/bin/qemu \
--name QEMUGuest1 \
--S \
--M pc \
--m 214 \
--smp 1 \
--uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
--nographic \
--monitor unix:/tmp/domain-QEMUGuest1/monitor.sock,server,nowait \
--no-acpi \
--boot c \
--usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
--net none \
--serial none \
--parallel none ARGUMENT
diff --git a/tests/qemuxmlnsdata/qemuxmlns-qemu-ns-domain.args
b/tests/qemuxmlnsdata/qemuxmlns-qemu-ns-domain.args
deleted file mode 100644
index fc42040..0000000
--- a/tests/qemuxmlnsdata/qemuxmlns-qemu-ns-domain.args
+++ /dev/null
@@ -1,22 +0,0 @@
-LC_ALL=C \
-PATH=/bin \
-HOME=/home/test \
-USER=test \
-LOGNAME=test \
-QEMU_AUDIO_DRV=none \
-/usr/bin/qemu \
--name QEMUGuest1 \
--S \
--M pc \
--m 214 \
--smp 1 \
--uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
--nographic \
--monitor unix:/tmp/domain-QEMUGuest1/monitor.sock,server,nowait \
--no-acpi \
--boot c \
--usb \
--drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
--net none \
--serial none \
--parallel none
diff --git a/tests/qemuxmlnsdata/qemuxmlns-qemu-ns-domain.xml
b/tests/qemuxmlnsdata/qemuxmlns-qemu-ns-domain.xml
deleted file mode 100644
index 5d697fc..0000000
--- a/tests/qemuxmlnsdata/qemuxmlns-qemu-ns-domain.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<domain type='qemu' xmlns:qemu='urn:dummy'>
- <name>QEMUGuest1</name>
- <uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid>
- <memory unit='KiB'>219136</memory>
- <currentMemory unit='KiB'>219136</currentMemory>
- <vcpu>1</vcpu>
- <os>
- <type arch='i686' machine='pc'>hvm</type>
- <boot dev='hd'/>
- </os>
- <clock offset='utc'/>
- <on_poweroff>destroy</on_poweroff>
- <on_reboot>restart</on_reboot>
- <on_crash>destroy</on_crash>
- <devices>
- <emulator>/usr/bin/qemu</emulator>
- <disk type='block' device='disk'>
- <source dev='/dev/HostVG/QEMUGuest1'/>
- <target dev='hda' bus='ide'/>
- <address type='drive' controller='0' bus='0'
unit='0'/>
- </disk>
- <controller type='ide' index='0'/>
- </devices>
- <qemu:commandline>
- <qemu:arg value='ARGUMENT'/>
- </qemu:commandline>
-</domain>
diff --git a/tests/qemuxmlnstest.c b/tests/qemuxmlnstest.c
deleted file mode 100644
index 4d83f7a..0000000
--- a/tests/qemuxmlnstest.c
+++ /dev/null
@@ -1,269 +0,0 @@
-#include <config.h>
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <string.h>
-
-#include <sys/types.h>
-#include <fcntl.h>
-
-#include "testutils.h"
-
-#ifdef WITH_QEMU
-
-# include "internal.h"
-# include "qemu/qemu_capabilities.h"
-# include "qemu/qemu_command.h"
-# include "qemu/qemu_domain.h"
-# include "qemu/qemu_process.h"
-# include "datatypes.h"
-# include "cpu/cpu_map.h"
-# include "testutilsqemu.h"
-# include "virstring.h"
-
-# define VIR_FROM_THIS VIR_FROM_QEMU
-
-static const char *abs_top_srcdir;
-static virQEMUDriver driver;
-
-static int testCompareXMLToArgvFiles(const char *xml,
- const char *cmdline,
- virQEMUCapsPtr extraFlags,
- const char *migrateFrom,
- int migrateFd,
- bool json,
- bool expectError)
-{
- char *actualargv = NULL;
- int ret = -1;
- virDomainDefPtr vmdef = NULL;
- virDomainChrSourceDefPtr monitor_chr = NULL;
- virConnectPtr conn;
- char *log = NULL;
- char *emulator = NULL;
- virCommandPtr cmd = NULL;
-
- if (!(conn = virGetConnect()))
- goto fail;
-
- if (!(vmdef = virDomainDefParseFile(xml, driver.caps, driver.xmlopt,
- VIR_DOMAIN_DEF_PARSE_INACTIVE)))
- goto fail;
-
- if (!virDomainDefCheckABIStability(vmdef, vmdef)) {
- VIR_TEST_DEBUG("ABI stability check failed on %s", xml);
- goto fail;
- }
-
- /*
- * For test purposes, we may want to fake emulator's output by providing
- * our own script instead of a real emulator. For this to work we need to
- * specify a relative path in <emulator/> element, which, however, is not
- * allowed by RelaxNG schema for domain XML. To work around it we add an
- * extra '/' at the beginning of relative emulator path so that it looks
- * like, e.g., "/./qemu.sh" or "/../emulator/qemu.sh" instead of
- * "./qemu.sh" or "../emulator/qemu.sh" respectively. The
following code
- * detects such paths, strips the extra '/' and makes the path absolute.
- */
- if (vmdef->emulator && STRPREFIX(vmdef->emulator, "/.")) {
- if (VIR_STRDUP(emulator, vmdef->emulator + 1) < 0)
- goto fail;
- VIR_FREE(vmdef->emulator);
- vmdef->emulator = NULL;
- if (virAsprintf(&vmdef->emulator, "%s/qemuxml2argvdata/%s",
- abs_srcdir, emulator) < 0)
- goto fail;
- }
-
- vmdef->id = -1;
-
- if (VIR_ALLOC(monitor_chr) < 0)
- goto fail;
- if (qemuProcessPrepareMonitorChr(driver.config,
- monitor_chr,
- vmdef->name) < 0)
- goto fail;
-
- virQEMUCapsSetList(extraFlags,
- QEMU_CAPS_NO_ACPI,
- QEMU_CAPS_LAST);
-
- if (virQEMUCapsGet(extraFlags, QEMU_CAPS_DEVICE))
- qemuDomainAssignAddresses(vmdef, extraFlags, NULL);
-
- log = virtTestLogContentAndReset();
- VIR_FREE(log);
- virResetLastError();
-
- if (vmdef->os.arch == VIR_ARCH_X86_64 ||
- vmdef->os.arch == VIR_ARCH_I686) {
- virQEMUCapsSet(extraFlags, QEMU_CAPS_PCI_MULTIBUS);
- }
-
- if (qemuAssignDeviceAliases(vmdef, extraFlags) < 0)
- goto fail;
-
- if (!(cmd = qemuBuildCommandLine(conn, &driver,
- vmdef, monitor_chr, json, extraFlags,
- migrateFrom, migrateFd, NULL,
- VIR_NETDEV_VPORT_PROFILE_OP_NO_OP,
- &testCallbacks, false, false, NULL,
- NULL, NULL)))
- goto fail;
-
- if (!virtTestOOMActive()) {
- if (!!virGetLastError() != expectError) {
- if ((log = virtTestLogContentAndReset()))
- VIR_TEST_DEBUG("\n%s", log);
- goto fail;
- }
-
- if (expectError) {
- /* need to suppress the errors */
- virResetLastError();
- }
- }
-
- if (!(actualargv = virCommandToString(cmd)))
- goto fail;
-
- if (emulator) {
- /* Skip the abs_srcdir portion of replacement emulator. */
- char *start_skip = strstr(actualargv, abs_srcdir);
- char *end_skip = strstr(actualargv, emulator);
- if (!start_skip || !end_skip)
- goto fail;
- memmove(start_skip, end_skip, strlen(end_skip) + 1);
- }
-
- if (virtTestCompareToFile(actualargv, cmdline) < 0)
- goto fail;
-
- ret = 0;
-
- fail:
- virDomainChrSourceDefFree(monitor_chr);
- VIR_FREE(log);
- VIR_FREE(emulator);
- VIR_FREE(actualargv);
- virCommandFree(cmd);
- virDomainDefFree(vmdef);
- virObjectUnref(conn);
- return ret;
-}
-
-
-struct testInfo {
- const char *name;
- virQEMUCapsPtr extraFlags;
- const char *migrateFrom;
- int migrateFd;
- bool json;
- bool expectError;
-};
-
-static int
-testCompareXMLToArgvHelper(const void *data)
-{
- int result = -1;
- const struct testInfo *info = data;
- char *xml = NULL;
- char *args = NULL;
-
- if (virAsprintf(&xml, "%s/qemuxmlnsdata/qemuxmlns-%s.xml",
- abs_srcdir, info->name) < 0 ||
- virAsprintf(&args, "%s/qemuxmlnsdata/qemuxmlns-%s.args",
- abs_srcdir, info->name) < 0)
- goto cleanup;
-
- qemuTestCapsName = info->name;
- result = qemuTestCapsCacheInsert(driver.qemuCapsCache, info->name,
- info->extraFlags);
- if (result < 0)
- goto cleanup;
-
- result = testCompareXMLToArgvFiles(xml, args, info->extraFlags,
- info->migrateFrom, info->migrateFd,
- info->json, info->expectError);
-
- cleanup:
- VIR_FREE(xml);
- VIR_FREE(args);
- return result;
-}
-
-
-
-static int
-mymain(void)
-{
- int ret = 0;
- bool json = false;
-
- abs_top_srcdir = getenv("abs_top_srcdir");
- if (!abs_top_srcdir)
- abs_top_srcdir = abs_srcdir "/..";
-
- if (qemuTestDriverInit(&driver) < 0)
- return EXIT_FAILURE;
-
- VIR_FREE(driver.config->libDir);
- if (VIR_STRDUP_QUIET(driver.config->libDir, "/tmp") < 0)
- return EXIT_FAILURE;
-
-# define DO_TEST_FULL(name, migrateFrom, migrateFd, expectError, ...) \
- do { \
- struct testInfo info = { \
- name, NULL, migrateFrom, migrateFd, json, expectError \
- }; \
- if (!(info.extraFlags = virQEMUCapsNew())) \
- return EXIT_FAILURE; \
- virQEMUCapsSetList(info.extraFlags, __VA_ARGS__, QEMU_CAPS_LAST);\
- if (virtTestRun("QEMU XML-2-ARGV " name, \
- testCompareXMLToArgvHelper, &info) < 0) \
- ret = -1; \
- virObjectUnref(info.extraFlags); \
- } while (0)
-
-# define DO_TEST(name, expectError, ...) \
- DO_TEST_FULL(name, NULL, -1, expectError, __VA_ARGS__)
-
-# define NONE QEMU_CAPS_LAST
-
- /* Unset or set all envvars here that are copied in qemudBuildCommandLine
- * using ADD_ENV_COPY, otherwise these tests may fail due to unexpected
- * values for these envvars */
- setenv("PATH", "/bin", 1);
- setenv("USER", "test", 1);
- setenv("LOGNAME", "test", 1);
- setenv("HOME", "/home/test", 1);
- unsetenv("TMPDIR");
- unsetenv("LD_PRELOAD");
- unsetenv("LD_LIBRARY_PATH");
- unsetenv("QEMU_AUDIO_DRV");
- unsetenv("SDL_AUDIODRIVER");
-
- DO_TEST("qemu-ns-domain", false, NONE);
- DO_TEST("qemu-ns-domain-ns0", false, NONE);
- DO_TEST("qemu-ns-domain-commandline", false, NONE);
- DO_TEST("qemu-ns-domain-commandline-ns0", false, NONE);
- DO_TEST("qemu-ns-commandline", false, NONE);
- DO_TEST("qemu-ns-commandline-ns0", false, NONE);
- DO_TEST("qemu-ns-commandline-ns1", false, NONE);
-
- qemuTestDriverFree(&driver);
-
- return ret == 0 ? EXIT_SUCCESS : EXIT_FAILURE;
-}
-
-VIRT_TEST_MAIN(mymain)
-
-#else
-
-int main(void)
-{
- return EXIT_AM_SKIP;
-}
-
-#endif /* WITH_QEMU */
--
2.6.3