qemu-ppc
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[RFC PATCH 07/11] tests/avocado: Add ppc boot tests for non-free AIX ima


From: Nicholas Piggin
Subject: [RFC PATCH 07/11] tests/avocado: Add ppc boot tests for non-free AIX images
Date: Tue, 10 Oct 2023 17:52:34 +1000

An AIX image can be provided by setting AIX_IMAGE environment
variable when running avocado.

It's questionable whether we should carry these in upstream QEMU.
It's convenient to see how to run these things, but simple enough
to maintain in out of tree branch. I just wanted to see opinions
about it.
---
 tests/avocado/ppc_aix.py | 63 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 63 insertions(+)
 create mode 100644 tests/avocado/ppc_aix.py

diff --git a/tests/avocado/ppc_aix.py b/tests/avocado/ppc_aix.py
new file mode 100644
index 0000000000..b8d5d4cc38
--- /dev/null
+++ b/tests/avocado/ppc_aix.py
@@ -0,0 +1,63 @@
+# Functional test that boots AIX on ppc pseries TCG and KVM
+#
+# Copyright (c) 2023 IBM Corporation
+#
+# This work is licensed under the terms of the GNU GPL, version 2 or
+# later.  See the COPYING file in the top-level directory.
+
+import os
+from avocado.utils import archive
+from avocado_qemu import QemuSystemTest
+from avocado_qemu import wait_for_console_pattern
+
+class pseriesMachine(QemuSystemTest):
+
+    timeout = 600
+
+    def do_test_ppc64_aix_boot(self):
+        """
+        :avocado: tags=arch:ppc64
+        :avocado: tags=machine:pseries
+        """
+
+        image = os.getenv('AIX_IMAGE')
+        if not image:
+            self.cancel('No AIX_IMAGE environment variable defined')
+
+        _hash = os.getenv('AIX_HASH')
+        if _hash:
+            aix_disk = self.fetch_asset(image, asset_hash=_hash)
+        else:
+            aix_disk = self.fetch_asset(image)
+
+        self.vm.set_console()
+        self.vm.add_args('-machine', 'ic-mode=xics',
+                         '-smp', '16,threads=8,cores=2',
+                         '-m', '4g',
+#                         '-device', 
'spapr-vlan,netdev=net0,mac=52:54:00:49:53:14',
+#                         '-netdev', 
'tap,id=net0,helper=/usr/libexec/qemu-bridge-helper,br=virbr0',
+                         '-device', 'qemu-xhci',
+                         '-device', 'virtio-scsi,id=scsi0',
+                         '-drive', 
f'file={aix_disk},if=none,id=drive-scsi0-0-0-0,format=qcow2,cache=none',
+                         '-device', 
'scsi-hd,bus=scsi0.0,channel=0,scsi-id=0,lun=0,drive=drive-scsi0-0-0-0,id=scsi0-0-0-0,bootindex=1',
+                         '-nodefaults')
+        self.vm.launch()
+        wait_for_console_pattern(self, 'AIX Version 7')
+
+    def test_ppc64_aix_boot_tcg(self):
+        """
+        :avocado: tags=arch:ppc64
+        :avocado: tags=machine:pseries
+        :avocado: tags=accel:tcg
+        """
+        self.require_accelerator("tcg")
+        self.do_test_ppc64_aix_boot()
+
+    def test_ppc64_aix_boot_kvm(self):
+        """
+        :avocado: tags=arch:ppc64
+        :avocado: tags=machine:pseries
+        :avocado: tags=accel:kvm
+        """
+        self.require_accelerator("kvm")
+        self.do_test_ppc64_aix_boot()
-- 
2.42.0




reply via email to

[Prev in Thread] Current Thread [Next in Thread]