diff mbox series

tests/functional: Extend the ppc64 e500 test

Message ID 20250203095752.506043-1-clg@redhat.com (mailing list archive)
State New
Headers show
Series tests/functional: Extend the ppc64 e500 test | expand

Commit Message

Cédric Le Goater Feb. 3, 2025, 9:57 a.m. UTC
The test sequence boots a ppce500 machine from kernel and disk.

The buildroot is built with the qemu_ppc64_e5500_defconfig config.

Signed-off-by: Cédric Le Goater <clg@redhat.com>
---
 tests/functional/test_ppc64_e500.py | 30 +++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

Comments

Thomas Huth Feb. 3, 2025, 10:13 a.m. UTC | #1
On 03/02/2025 10.57, Cédric Le Goater wrote:
> The test sequence boots a ppce500 machine from kernel and disk.
> 
> The buildroot is built with the qemu_ppc64_e5500_defconfig config.
> 
> Signed-off-by: Cédric Le Goater <clg@redhat.com>
> ---
>   tests/functional/test_ppc64_e500.py | 30 +++++++++++++++++++++++++++++
>   1 file changed, 30 insertions(+)
> 
> diff --git a/tests/functional/test_ppc64_e500.py b/tests/functional/test_ppc64_e500.py
> index b92fe0b0e75e..f21d7d84177e 100755
> --- a/tests/functional/test_ppc64_e500.py
> +++ b/tests/functional/test_ppc64_e500.py
> @@ -5,6 +5,7 @@
>   # SPDX-License-Identifier: GPL-2.0-or-later
>   
>   from qemu_test import LinuxKernelTest, Asset
> +from qemu_test import exec_command_and_wait_for_pattern
>   
>   
>   class E500Test(LinuxKernelTest):
> @@ -20,5 +21,34 @@ def test_ppc64_e500(self):
>           self.launch_kernel(self.scratch_file('day19', 'uImage'),
>                              wait_for='QEMU advent calendar')
>   
> +    ASSET_BR2_E5500_UIMAGE = Asset(
> +        'https://github.com/legoater/qemu-ppc-boot/raw/refs/heads/main/buildroot/qemu_ppc64_e5500-2023.11-8-gdcd9f0f6eb-20240104/uImage',
> +        '2478187c455d6cca3984e9dfde9c635d824ea16236b85fd6b4809f744706deda')
> +
> +    ASSET_BR2_E5500_ROOTFS = Asset(
> +        'https://github.com/legoater/qemu-ppc-boot/raw/refs/heads/main//buildroot/qemu_ppc64_e5500-2023.11-8-gdcd9f0f6eb-20240104/rootfs.ext2',
> +        '9035ef97237c84c7522baaff17d25cdfca4bb7a053d5e296e902919473423d76')

Hmm, the advent calendar test that is already available in this file is also 
based on build root ... so I think we don't need both tests here. IIRC I 
built most of the advent calendar images without networking stack (to keep 
them smaller), so your image is likely better suited here, thus I'd suggest 
to remove the advent calendar image now when you add your new test. WDYT?

  Thomas
diff mbox series

Patch

diff --git a/tests/functional/test_ppc64_e500.py b/tests/functional/test_ppc64_e500.py
index b92fe0b0e75e..f21d7d84177e 100755
--- a/tests/functional/test_ppc64_e500.py
+++ b/tests/functional/test_ppc64_e500.py
@@ -5,6 +5,7 @@ 
 # SPDX-License-Identifier: GPL-2.0-or-later
 
 from qemu_test import LinuxKernelTest, Asset
+from qemu_test import exec_command_and_wait_for_pattern
 
 
 class E500Test(LinuxKernelTest):
@@ -20,5 +21,34 @@  def test_ppc64_e500(self):
         self.launch_kernel(self.scratch_file('day19', 'uImage'),
                            wait_for='QEMU advent calendar')
 
+    ASSET_BR2_E5500_UIMAGE = Asset(
+        'https://github.com/legoater/qemu-ppc-boot/raw/refs/heads/main/buildroot/qemu_ppc64_e5500-2023.11-8-gdcd9f0f6eb-20240104/uImage',
+        '2478187c455d6cca3984e9dfde9c635d824ea16236b85fd6b4809f744706deda')
+
+    ASSET_BR2_E5500_ROOTFS = Asset(
+        'https://github.com/legoater/qemu-ppc-boot/raw/refs/heads/main//buildroot/qemu_ppc64_e5500-2023.11-8-gdcd9f0f6eb-20240104/rootfs.ext2',
+        '9035ef97237c84c7522baaff17d25cdfca4bb7a053d5e296e902919473423d76')
+
+    def test_ppc64_e500_buildroot(self):
+        self.set_machine('ppce500')
+        self.cpu = 'e5500'
+
+        uimage_path = self.ASSET_BR2_E5500_UIMAGE.fetch()
+        rootfs_path = self.ASSET_BR2_E5500_ROOTFS.fetch()
+
+        self.vm.set_console()
+        self.vm.add_args('-kernel', uimage_path,
+                         '-append', 'root=/dev/vda',
+                         '-drive', f'file={rootfs_path},if=virtio,format=raw',
+                         '-snapshot', '-no-shutdown')
+        self.vm.launch()
+
+        self.wait_for_console_pattern('Linux version')
+        self.wait_for_console_pattern('/init as init process')
+        self.wait_for_console_pattern('lease of 10.0.2.15')
+        self.wait_for_console_pattern('buildroot login:')
+        exec_command_and_wait_for_pattern(self, 'root', '#')
+        exec_command_and_wait_for_pattern(self, 'poweroff', 'Power down')
+
 if __name__ == '__main__':
     LinuxKernelTest.main()