[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v5 22/44] tests/functional: Convert the microblaze avocado tests
|
From: |
Thomas Huth |
|
Subject: |
[PATCH v5 22/44] tests/functional: Convert the microblaze avocado tests into standalone tests |
|
Date: |
Fri, 30 Aug 2024 15:38:16 +0200 |
The machine_microblaze.py file contained two tests, one for each
endianness. Since we only support one QEMU target binary per file
in the new functional test environment, we have to split this file
up into two files now.
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Tested-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
MAINTAINERS | 2 +-
tests/avocado/machine_microblaze.py | 61 -------------------
tests/functional/meson.build | 8 +++
.../functional/test_microblaze_s3adsp1800.py | 40 ++++++++++++
.../test_microblazeel_s3adsp1800.py | 42 +++++++++++++
5 files changed, 91 insertions(+), 62 deletions(-)
delete mode 100644 tests/avocado/machine_microblaze.py
create mode 100755 tests/functional/test_microblaze_s3adsp1800.py
create mode 100755 tests/functional/test_microblazeel_s3adsp1800.py
diff --git a/MAINTAINERS b/MAINTAINERS
index bbb8fc78c5..91f5a0545f 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1329,7 +1329,7 @@ M: Edgar E. Iglesias <edgar.iglesias@gmail.com>
S: Maintained
F: hw/microblaze/petalogix_s3adsp1800_mmu.c
F: include/hw/char/xilinx_uartlite.h
-F: tests/avocado/machine_microblaze.py
+F: tests/functional/test_microblaze*.py
petalogix_ml605
M: Edgar E. Iglesias <edgar.iglesias@gmail.com>
diff --git a/tests/avocado/machine_microblaze.py
b/tests/avocado/machine_microblaze.py
deleted file mode 100644
index 807709cd11..0000000000
--- a/tests/avocado/machine_microblaze.py
+++ /dev/null
@@ -1,61 +0,0 @@
-# Functional test that boots a microblaze Linux kernel and checks the console
-#
-# Copyright (c) 2018, 2021 Red Hat, Inc.
-#
-# 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 time
-from avocado_qemu import exec_command, exec_command_and_wait_for_pattern
-from avocado_qemu import QemuSystemTest
-from avocado_qemu import wait_for_console_pattern
-from avocado.utils import archive
-
-class MicroblazeMachine(QemuSystemTest):
-
- timeout = 90
-
- def test_microblaze_s3adsp1800(self):
- """
- :avocado: tags=arch:microblaze
- :avocado: tags=machine:petalogix-s3adsp1800
- """
-
- tar_url = ('https://qemu-advcal.gitlab.io'
- '/qac-best-of-multiarch/download/day17.tar.xz')
- tar_hash = '08bf3e3bfb6b6c7ce1e54ab65d54e189f2caf13f'
- file_path = self.fetch_asset(tar_url, asset_hash=tar_hash)
- archive.extract(file_path, self.workdir)
- self.vm.set_console()
- self.vm.add_args('-kernel', self.workdir + '/day17/ballerina.bin')
- self.vm.launch()
- wait_for_console_pattern(self, 'This architecture does not have '
- 'kernel memory protection')
- # Note:
- # The kernel sometimes gets stuck after the "This architecture ..."
- # message, that's why we don't test for a later string here. This
- # needs some investigation by a microblaze wizard one day...
-
- def test_microblazeel_s3adsp1800(self):
- """
- :avocado: tags=arch:microblazeel
- :avocado: tags=machine:petalogix-s3adsp1800
- """
-
- self.require_netdev('user')
- tar_url = ('http://www.qemu-advent-calendar.org/2023/download/'
- 'day13.tar.gz')
- tar_hash = '6623d5fff5f84cfa8f34e286f32eff6a26546f44'
- file_path = self.fetch_asset(tar_url, asset_hash=tar_hash)
- archive.extract(file_path, self.workdir)
- self.vm.set_console()
- self.vm.add_args('-kernel', self.workdir + '/day13/xmaton.bin')
- self.vm.add_args('-nic', 'user,tftp=' + self.workdir + '/day13/')
- self.vm.launch()
- wait_for_console_pattern(self, 'QEMU Advent Calendar 2023')
- time.sleep(0.1)
- exec_command(self, 'root')
- time.sleep(0.1)
- exec_command_and_wait_for_pattern(self,
- 'tftp -g -r xmaton.png 10.0.2.2 ; md5sum xmaton.png',
- '821cd3cab8efd16ad6ee5acc3642a8ea')
diff --git a/tests/functional/meson.build b/tests/functional/meson.build
index 540e1361f8..f32afed30f 100644
--- a/tests/functional/meson.build
+++ b/tests/functional/meson.build
@@ -40,6 +40,14 @@ tests_loongarch64_system_thorough = [
'loongarch64_virt',
]
+tests_microblaze_system_thorough = [
+ 'microblaze_s3adsp1800'
+]
+
+tests_microblazeel_system_thorough = [
+ 'microblazeel_s3adsp1800'
+]
+
tests_mips64el_system_thorough = [
'mips64el_loongson3v',
]
diff --git a/tests/functional/test_microblaze_s3adsp1800.py
b/tests/functional/test_microblaze_s3adsp1800.py
new file mode 100755
index 0000000000..4f692ffdb1
--- /dev/null
+++ b/tests/functional/test_microblaze_s3adsp1800.py
@@ -0,0 +1,40 @@
+#!/usr/bin/env python3
+#
+# Functional test that boots a microblaze Linux kernel and checks the console
+#
+# Copyright (c) 2018, 2021 Red Hat, Inc.
+#
+# 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 time
+from qemu_test import exec_command, exec_command_and_wait_for_pattern
+from qemu_test import QemuSystemTest, Asset
+from qemu_test import wait_for_console_pattern
+from qemu_test.utils import archive_extract
+
+class MicroblazeMachine(QemuSystemTest):
+
+ timeout = 90
+
+ ASSET_IMAGE = Asset(
+ ('https://qemu-advcal.gitlab.io/qac-best-of-multiarch/download/'
+ 'day17.tar.xz'),
+ '3ba7439dfbea7af4876662c97f8e1f0cdad9231fc166e4861d17042489270057')
+
+ def test_microblaze_s3adsp1800(self):
+ self.set_machine('petalogix-s3adsp1800')
+ file_path = self.ASSET_IMAGE.fetch()
+ archive_extract(file_path, self.workdir)
+ self.vm.set_console()
+ self.vm.add_args('-kernel', self.workdir + '/day17/ballerina.bin')
+ self.vm.launch()
+ wait_for_console_pattern(self, 'This architecture does not have '
+ 'kernel memory protection')
+ # Note:
+ # The kernel sometimes gets stuck after the "This architecture ..."
+ # message, that's why we don't test for a later string here. This
+ # needs some investigation by a microblaze wizard one day...
+
+if __name__ == '__main__':
+ QemuSystemTest.main()
diff --git a/tests/functional/test_microblazeel_s3adsp1800.py
b/tests/functional/test_microblazeel_s3adsp1800.py
new file mode 100755
index 0000000000..faa3927f2e
--- /dev/null
+++ b/tests/functional/test_microblazeel_s3adsp1800.py
@@ -0,0 +1,42 @@
+#!/usr/bin/env python3
+#
+# Functional test that boots a microblaze Linux kernel and checks the console
+#
+# Copyright (c) 2018, 2021 Red Hat, Inc.
+#
+# 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 time
+from qemu_test import exec_command, exec_command_and_wait_for_pattern
+from qemu_test import QemuSystemTest, Asset
+from qemu_test import wait_for_console_pattern
+from qemu_test.utils import archive_extract
+
+class MicroblazeelMachine(QemuSystemTest):
+
+ timeout = 90
+
+ ASSET_IMAGE = Asset(
+ ('http://www.qemu-advent-calendar.org/2023/download/day13.tar.gz'),
+ 'b9b3d43c5dd79db88ada495cc6e0d1f591153fe41355e925d791fbf44de50c22')
+
+ def test_microblazeel_s3adsp1800(self):
+ self.require_netdev('user')
+ self.set_machine('petalogix-s3adsp1800')
+ file_path = self.ASSET_IMAGE.fetch()
+ archive_extract(file_path, self.workdir)
+ self.vm.set_console()
+ self.vm.add_args('-kernel', self.workdir + '/day13/xmaton.bin')
+ self.vm.add_args('-nic', 'user,tftp=' + self.workdir + '/day13/')
+ self.vm.launch()
+ wait_for_console_pattern(self, 'QEMU Advent Calendar 2023')
+ time.sleep(0.1)
+ exec_command(self, 'root')
+ time.sleep(0.1)
+ exec_command_and_wait_for_pattern(self,
+ 'tftp -g -r xmaton.png 10.0.2.2 ; md5sum xmaton.png',
+ '821cd3cab8efd16ad6ee5acc3642a8ea')
+
+if __name__ == '__main__':
+ QemuSystemTest.main()
--
2.46.0
- [PATCH v5 11/44] tests/functional: Prepare the meson build system for the functional tests, (continued)
- [PATCH v5 11/44] tests/functional: Prepare the meson build system for the functional tests, Thomas Huth, 2024/08/30
- [PATCH v5 12/44] tests/functional: Convert simple avocado tests into standalone python tests, Thomas Huth, 2024/08/30
- [PATCH v5 14/44] tests/functional: add a module for handling asset download & caching, Thomas Huth, 2024/08/30
- [PATCH v5 13/44] tests/functional: Convert avocado tests that just need a small adjustment, Thomas Huth, 2024/08/30
- [PATCH v5 15/44] tests/functional: enable pre-emptive caching of assets, Thomas Huth, 2024/08/30
- [PATCH v5 16/44] tests/functional: Allow asset downloading with concurrent threads, Thomas Huth, 2024/08/30
- [PATCH v5 17/44] tests/functional: Convert some tests that download files via fetch_asset(), Thomas Huth, 2024/08/30
- [PATCH v5 18/44] tests/functional: Add a function for extracting files from an archive, Thomas Huth, 2024/08/30
- [PATCH v5 19/44] tests/functional: Convert some avocado tests that needed avocado.utils.archive, Thomas Huth, 2024/08/30
- [PATCH v5 21/44] tests/functional: Convert the x86_cpu_model_versions test, Thomas Huth, 2024/08/30
- [PATCH v5 22/44] tests/functional: Convert the microblaze avocado tests into standalone tests,
Thomas Huth <=
- [PATCH v5 20/44] tests/functional: Convert the s390x avocado tests into standalone tests, Thomas Huth, 2024/08/30
- [PATCH v5 24/44] tests/functional: Convert the virtio_gpu avocado test into a standalone test, Thomas Huth, 2024/08/30
- [PATCH v5 23/44] tests/functional: Convert the riscv_opensbi avocado test into a standalone test, Thomas Huth, 2024/08/30
- [PATCH v5 25/44] tests/functional: Convert most ppc avocado tests into standalone tests, Thomas Huth, 2024/08/30
- [PATCH v5 26/44] tests/functional: Convert the ppc_amiga avocado test into a standalone test, Thomas Huth, 2024/08/30
- [PATCH v5 27/44] tests/functional: Convert the ppc_hv avocado test into a standalone test, Thomas Huth, 2024/08/30
- [PATCH v5 28/44] tests/functional: Convert the m68k nextcube test with tesseract, Thomas Huth, 2024/08/30
- [PATCH v5 29/44] tests/functional: Convert the acpi-bits test into a standalone test, Thomas Huth, 2024/08/30
- [PATCH v5 30/44] tests/functional: Convert the rx_gdbsim avocado test into a standalone test, Thomas Huth, 2024/08/30
- [PATCH v5 31/44] tests/functional: Convert the linux_initrd avocado test into a standalone test, Thomas Huth, 2024/08/30