Tests : Add test for 'ppc64le' architecture.
Signed-off-by: Prerna Saxena <prerna(a)linux.vnet.ibm.com>
---
.../qemuxml2argv-pseries-cpu-le.args | 7 +++++
.../qemuxml2argv-pseries-cpu-le.xml | 17 ++++++++++++
tests/qemuxml2argvtest.c | 2 ++
tests/testutilsqemu.c | 30 ++++++++++++++++++++++
4 files changed, 56 insertions(+)
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-pseries-cpu-le.args
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-pseries-cpu-le.xml
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-pseries-cpu-le.args
b/tests/qemuxml2argvdata/qemuxml2argv-pseries-cpu-le.args
new file mode 100644
index 0000000..f4f8d5e
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-pseries-cpu-le.args
@@ -0,0 +1,7 @@
+LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test \
+QEMU_AUDIO_DRV=none /usr/bin/qemu-system-ppc64 -S -M pseries \
+-m 512 -smp 1 -nographic -nodefconfig -nodefaults \
+-chardev socket,id=charmonitor,path=/tmp/test-monitor,server,nowait \
+-mon chardev=charmonitor,id=monitor,mode=readline -no-acpi -boot c -usb \
+-chardev pty,id=charserial0 \
+-device spapr-vty,chardev=charserial0,reg=0x30000000
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-pseries-cpu-le.xml
b/tests/qemuxml2argvdata/qemuxml2argv-pseries-cpu-le.xml
new file mode 100644
index 0000000..b791a73
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-pseries-cpu-le.xml
@@ -0,0 +1,17 @@
+<domain type='kvm'>
+ <name>QEMUGuest1</name>
+ <uuid>1ccfd97d-5eb4-478a-bbe6-88d254c16db7</uuid>
+ <memory unit='KiB'>524288</memory>
+ <vcpu placement='static'>1</vcpu>
+ <os>
+ <type arch='ppc64le' machine='pseries'>hvm</type>
+ </os>
+ <clock offset='utc'/>
+ <devices>
+ <emulator>/usr/bin/qemu-system-ppc64</emulator>
+ <console type='pty'>
+ <address type="spapr-vio"/>
+ </console>
+ <memballoon model="none"/>
+ </devices>
+</domain>
diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c
index 39ed66b..982019e 100644
--- a/tests/qemuxml2argvtest.c
+++ b/tests/qemuxml2argvtest.c
@@ -1341,6 +1341,8 @@ mymain(void)
QEMU_CAPS_NODEFCONFIG);
DO_TEST("pseries-cpu-compat", QEMU_CAPS_KVM, QEMU_CAPS_CPU_HOST,
QEMU_CAPS_CHARDEV, QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG);
+ DO_TEST("pseries-cpu-le", QEMU_CAPS_KVM, QEMU_CAPS_CPU_HOST,
+ QEMU_CAPS_CHARDEV, QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG);
DO_TEST("disk-ide-drive-split",
QEMU_CAPS_DRIVE, QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG,
QEMU_CAPS_IDE_CD);
diff --git a/tests/testutilsqemu.c b/tests/testutilsqemu.c
index 7b26e50..1fd7c96 100644
--- a/tests/testutilsqemu.c
+++ b/tests/testutilsqemu.c
@@ -86,6 +86,33 @@ static int testQemuAddPPC64Guest(virCapsPtr caps)
return -1;
}
+static int testQemuAddPPC64LEGuest(virCapsPtr caps)
+{
+ static const char *machine[] = { "pseries" };
+ virCapsGuestMachinePtr *machines = NULL;
+ virCapsGuestPtr guest;
+
+ machines = virCapabilitiesAllocMachines(machine, 1);
+ if (!machines)
+ goto error;
+
+ guest = virCapabilitiesAddGuest(caps, "hvm", VIR_ARCH_PPC64LE,
+ "/usr/bin/qemu-system-ppc64", NULL,
+ 1, machines);
+ if (!guest)
+ goto error;
+
+ if (!virCapabilitiesAddGuestDomain(guest, "qemu", NULL, NULL, 0, NULL))
+ goto error;
+
+ return 0;
+
+ error:
+ /* No way to free a guest? */
+ virCapabilitiesFreeMachines(machines, 1);
+ return -1;
+}
+
static int testQemuAddPPCGuest(virCapsPtr caps)
{
static const char *machine[] = { "g3beige",
@@ -332,6 +359,9 @@ virCapsPtr testQemuCapsInit(void)
if (testQemuAddPPC64Guest(caps))
goto cleanup;
+ if (testQemuAddPPC64LEGuest(caps))
+ goto cleanup;
+
if (testQemuAddPPCGuest(caps))
goto cleanup;
--
1.9.3
--
Prerna Saxena
Linux Technology Centre,
IBM Systems and Technology Lab,
Bangalore, India