diff --git a/tests/Makefile.am b/tests/Makefile.am index e9418ea74e..af85335b70 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -138,6 +138,7 @@ EXTRA_DIST = \ vmx2xmldata \ xencapsdata \ xmconfigdata \ + xlconfigdata \ xml2sexprdata \ xml2vmxdata \ vmwareverdata \ @@ -225,7 +226,8 @@ ssh_LDADD = $(COVERAGE_LDFLAGS) if WITH_XEN test_programs += xml2sexprtest sexpr2xmltest \ - xmconfigtest xencapstest statstest reconnect + xmconfigtest xencapstest statstest reconnect \ + xlconfigtest endif WITH_XEN if WITH_QEMU test_programs += qemuxml2argvtest qemuxml2xmltest qemuxmlnstest \ @@ -477,6 +479,11 @@ sexpr2xmltest_SOURCES = \ testutils.c testutils.h sexpr2xmltest_LDADD = $(xen_LDADDS) +xlconfigtest_SOURCES = \ + xlconfigtest.c testutilsxen.c testutilsxen.h \ + testutils.c testutils.h +xlconfigtest_LDADD =$(xen_LDADDS) + xmconfigtest_SOURCES = \ xmconfigtest.c testutilsxen.c testutilsxen.h \ testutils.c testutils.h diff --git a/tests/testutilsxen.c b/tests/testutilsxen.c index a50a8a2af7..df1d1243b2 100644 --- a/tests/testutilsxen.c +++ b/tests/testutilsxen.c @@ -69,3 +69,53 @@ virCapsPtr testXenCapsInit(void) virObjectUnref(caps); return NULL; } + + +virCapsPtr +testXLInitCaps(void) +{ + virCapsPtr caps; + virCapsGuestPtr guest; + virCapsGuestMachinePtr *machines; + int nmachines; + static const char *const x86_machines[] = { + "xenfv" + }; + static const char *const xen_machines[] = { + "xenpv" + }; + + if ((caps = virCapabilitiesNew(virArchFromHost(), + false, false)) == NULL) + return NULL; + nmachines = ARRAY_CARDINALITY(x86_machines); + if ((machines = virCapabilitiesAllocMachines(x86_machines, nmachines)) == NULL) + goto cleanup; + if ((guest = virCapabilitiesAddGuest(caps, "hvm", VIR_ARCH_X86_64, + "/usr/lib/xen/bin/qemu-dm", NULL, + nmachines, machines)) == NULL) + goto cleanup; + machines = NULL; + if (virCapabilitiesAddGuestDomain(guest, "xen", NULL, + NULL, 0, NULL) == NULL) + goto cleanup; + nmachines = ARRAY_CARDINALITY(xen_machines); + if ((machines = virCapabilitiesAllocMachines(xen_machines, nmachines)) == NULL) + goto cleanup; + + if ((guest = virCapabilitiesAddGuest(caps, "xen", VIR_ARCH_X86_64, + "/usr/lib/xen/bin/qemu-dm", NULL, + nmachines, machines)) == NULL) + goto cleanup; + machines = NULL; + + if (virCapabilitiesAddGuestDomain(guest, "xen", NULL, + NULL, 0, NULL) == NULL) + goto cleanup; + return caps; + + cleanup: + virCapabilitiesFreeMachines(machines, nmachines); + virObjectUnref(caps); + return NULL; +} diff --git a/tests/testutilsxen.h b/tests/testutilsxen.h index 54155e5e76..c78350d2d6 100644 --- a/tests/testutilsxen.h +++ b/tests/testutilsxen.h @@ -1,3 +1,10 @@ -#include "capabilities.h" +#ifndef _TESTUTILSXEN_H_ +# define _TESTUTILSXEN_H_ + +# include "capabilities.h" virCapsPtr testXenCapsInit(void); + +virCapsPtr testXLInitCaps(void); + +#endif /* _TESTUTILSXEN_H_ */ diff --git a/tests/xlconfigdata/test-new-disk.cfg b/tests/xlconfigdata/test-new-disk.cfg new file mode 100644 index 0000000000..afc0a462d9 --- /dev/null +++ b/tests/xlconfigdata/test-new-disk.cfg @@ -0,0 +1,26 @@ +name = "XenGuest2" +uuid = "c7a5fdb2-cdaf-9455-926a-d65c16db1809" +maxmem = 579 +memory = 394 +vcpus = 1 +builder = "hvm" +kernel = "/usr/lib/xen/boot/hvmloader" +boot = "d" +pae = 1 +acpi = 1 +apic = 1 +hap = 0 +viridian = 0 +localtime = 0 +on_poweroff = "destroy" +on_reboot = "restart" +on_crash = "restart" +device_model = "/usr/lib/xen/bin/qemu-dm" +sdl = 0 +vnc = 1 +vncunused = 1 +vnclisten = "127.0.0.1" +vif = [ "mac=00:16:3e:66:92:9c,bridge=xenbr1,script=vif-bridge,model=e1000,type=ioemu" ] +parallel = "none" +serial = "none" +disk = [ "/dev/HostVG/XenGuest2,raw,hda,w,", "/var/lib/libvirt/images/XenGuest2-home,qcow2,hdb,w,", "/root/boot.iso,raw,hdc,r,devtype=cdrom" ] diff --git a/tests/xlconfigdata/test-new-disk.xml b/tests/xlconfigdata/test-new-disk.xml new file mode 100644 index 0000000000..1c96a62e54 --- /dev/null +++ b/tests/xlconfigdata/test-new-disk.xml @@ -0,0 +1,51 @@ + + XenGuest2 + c7a5fdb2-cdaf-9455-926a-d65c16db1809 + 592896 + 403456 + 1 + + hvm + /usr/lib/xen/boot/hvmloader + + + + + + + + + destroy + restart + restart + + /usr/lib/xen/bin/qemu-dm + + + + + + + + + + + + + + + + + + + +