[PATCH 4/7] tests/functional: Convert the SPARCStation Avocado test

Thomas Huth posted 7 patches 1 month ago
[PATCH 4/7] tests/functional: Convert the SPARCStation Avocado test
Posted by Thomas Huth 1 month ago
Use the new launch_kernel function to convert this test in a simple way.

Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 MAINTAINERS                          |  1 +
 tests/avocado/boot_linux_console.py  |  8 --------
 tests/functional/meson.build         |  4 ++++
 tests/functional/test_sparc_sun4m.py | 25 +++++++++++++++++++++++++
 4 files changed, 30 insertions(+), 8 deletions(-)
 create mode 100755 tests/functional/test_sparc_sun4m.py

diff --git a/MAINTAINERS b/MAINTAINERS
index a75d6ba7d2..b85a3fc529 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1693,6 +1693,7 @@ F: include/hw/nvram/sun_nvram.h
 F: include/hw/sparc/sparc32_dma.h
 F: include/hw/sparc/sun4m_iommu.h
 F: pc-bios/openbios-sparc32
+F: tests/functional/test_sparc_sun4m.py
 
 Sun4u
 M: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
diff --git a/tests/avocado/boot_linux_console.py b/tests/avocado/boot_linux_console.py
index cf58499c84..900af67412 100644
--- a/tests/avocado/boot_linux_console.py
+++ b/tests/avocado/boot_linux_console.py
@@ -1019,11 +1019,3 @@ def test_sh4_r2d(self):
         tar_hash = 'fe06a4fd8ccbf2e27928d64472939d47829d4c7e'
         self.vm.add_args('-append', 'console=ttySC1')
         self.do_test_advcal_2018('09', tar_hash, 'zImage', console=1)
-
-    def test_sparc_ss20(self):
-        """
-        :avocado: tags=arch:sparc
-        :avocado: tags=machine:SS-20
-        """
-        tar_hash = 'b18550d5d61c7615d989a06edace051017726a9f'
-        self.do_test_advcal_2018('11', tar_hash, 'zImage.elf')
diff --git a/tests/functional/meson.build b/tests/functional/meson.build
index 8fd852f4ab..8aacd15cf3 100644
--- a/tests/functional/meson.build
+++ b/tests/functional/meson.build
@@ -125,6 +125,10 @@ tests_s390x_system_thorough = [
   's390x_topology',
 ]
 
+tests_sparc_system_thorough = [
+  'sparc_sun4m',
+]
+
 tests_sparc64_system_thorough = [
   'sparc64_sun4u',
 ]
diff --git a/tests/functional/test_sparc_sun4m.py b/tests/functional/test_sparc_sun4m.py
new file mode 100755
index 0000000000..b334375820
--- /dev/null
+++ b/tests/functional/test_sparc_sun4m.py
@@ -0,0 +1,25 @@
+#!/usr/bin/env python3
+#
+# Functional test that boots a Linux kernel on a sparc sun4m machine
+# and checks the console
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+
+from qemu_test import LinuxKernelTest, Asset
+from qemu_test.utils import archive_extract
+
+class Sun4mTest(LinuxKernelTest):
+
+    ASSET_DAY11 = Asset(
+        'https://www.qemu-advent-calendar.org/2018/download/day11.tar.xz',
+        'c776533ba756bf4dd3f1fc4c024fb50ef0d853e05c5f5ddf0900a32d1eaa49e0')
+
+    def test_sparc_ss20(self):
+        self.set_machine('SS-20')
+        file_path = self.ASSET_DAY11.fetch()
+        archive_extract(file_path, self.workdir)
+        self.launch_kernel(self.workdir + '/day11/zImage.elf',
+                           wait_for='QEMU advent calendar')
+
+if __name__ == '__main__':
+    LinuxKernelTest.main()
-- 
2.46.0
Re: [PATCH 4/7] tests/functional: Convert the SPARCStation Avocado test
Posted by Mark Cave-Ayland 1 month ago
On 19/09/2024 19:57, Thomas Huth wrote:

> Use the new launch_kernel function to convert this test in a simple way.
> 
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
>   MAINTAINERS                          |  1 +
>   tests/avocado/boot_linux_console.py  |  8 --------
>   tests/functional/meson.build         |  4 ++++
>   tests/functional/test_sparc_sun4m.py | 25 +++++++++++++++++++++++++
>   4 files changed, 30 insertions(+), 8 deletions(-)
>   create mode 100755 tests/functional/test_sparc_sun4m.py
> 
> diff --git a/MAINTAINERS b/MAINTAINERS
> index a75d6ba7d2..b85a3fc529 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -1693,6 +1693,7 @@ F: include/hw/nvram/sun_nvram.h
>   F: include/hw/sparc/sparc32_dma.h
>   F: include/hw/sparc/sun4m_iommu.h
>   F: pc-bios/openbios-sparc32
> +F: tests/functional/test_sparc_sun4m.py
>   
>   Sun4u
>   M: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
> diff --git a/tests/avocado/boot_linux_console.py b/tests/avocado/boot_linux_console.py
> index cf58499c84..900af67412 100644
> --- a/tests/avocado/boot_linux_console.py
> +++ b/tests/avocado/boot_linux_console.py
> @@ -1019,11 +1019,3 @@ def test_sh4_r2d(self):
>           tar_hash = 'fe06a4fd8ccbf2e27928d64472939d47829d4c7e'
>           self.vm.add_args('-append', 'console=ttySC1')
>           self.do_test_advcal_2018('09', tar_hash, 'zImage', console=1)
> -
> -    def test_sparc_ss20(self):
> -        """
> -        :avocado: tags=arch:sparc
> -        :avocado: tags=machine:SS-20
> -        """
> -        tar_hash = 'b18550d5d61c7615d989a06edace051017726a9f'
> -        self.do_test_advcal_2018('11', tar_hash, 'zImage.elf')
> diff --git a/tests/functional/meson.build b/tests/functional/meson.build
> index 8fd852f4ab..8aacd15cf3 100644
> --- a/tests/functional/meson.build
> +++ b/tests/functional/meson.build
> @@ -125,6 +125,10 @@ tests_s390x_system_thorough = [
>     's390x_topology',
>   ]
>   
> +tests_sparc_system_thorough = [
> +  'sparc_sun4m',
> +]
> +
>   tests_sparc64_system_thorough = [
>     'sparc64_sun4u',
>   ]
> diff --git a/tests/functional/test_sparc_sun4m.py b/tests/functional/test_sparc_sun4m.py
> new file mode 100755
> index 0000000000..b334375820
> --- /dev/null
> +++ b/tests/functional/test_sparc_sun4m.py
> @@ -0,0 +1,25 @@
> +#!/usr/bin/env python3
> +#
> +# Functional test that boots a Linux kernel on a sparc sun4m machine
> +# and checks the console
> +#
> +# SPDX-License-Identifier: GPL-2.0-or-later
> +
> +from qemu_test import LinuxKernelTest, Asset
> +from qemu_test.utils import archive_extract
> +
> +class Sun4mTest(LinuxKernelTest):
> +
> +    ASSET_DAY11 = Asset(
> +        'https://www.qemu-advent-calendar.org/2018/download/day11.tar.xz',
> +        'c776533ba756bf4dd3f1fc4c024fb50ef0d853e05c5f5ddf0900a32d1eaa49e0')
> +
> +    def test_sparc_ss20(self):
> +        self.set_machine('SS-20')
> +        file_path = self.ASSET_DAY11.fetch()
> +        archive_extract(file_path, self.workdir)
> +        self.launch_kernel(self.workdir + '/day11/zImage.elf',
> +                           wait_for='QEMU advent calendar')
> +
> +if __name__ == '__main__':
> +    LinuxKernelTest.main()

Acked-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>


ATB,

Mark.