[libvirt] [PATCH] tests: Remove qemuxmlnstest

Jiri Denemark jdenemar at redhat.com
Wed Nov 11 15:46:14 UTC 2015


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 at 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




More information about the libvir-list mailing list