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@xxxxxxxxxx> --- 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 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list