Straight forward conversion. Update the SHA1 hashes to SHA256
hashes since SHA1 should not be used anymore nowadays.
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
MAINTAINERS | 1 +
tests/avocado/machine_mips_malta.py | 108 -----------------------
tests/functional/meson.build | 1 +
tests/functional/test_mips64el_malta.py | 111 ++++++++++++++++++++++++
4 files changed, 113 insertions(+), 108 deletions(-)
create mode 100755 tests/functional/test_mips64el_malta.py
diff --git a/MAINTAINERS b/MAINTAINERS
index 77fbb5d42e..3a91017979 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1369,6 +1369,7 @@ F: hw/pci-host/gt64120.c
F: include/hw/southbridge/piix.h
F: tests/avocado/linux_ssh_mips_malta.py
F: tests/avocado/machine_mips_malta.py
+F: tests/functional/test_mips64el_malta.py
Mipssim
R: Aleksandar Rikalo <arikalo@gmail.com>
diff --git a/tests/avocado/machine_mips_malta.py b/tests/avocado/machine_mips_malta.py
index 07a80633b5..05c64e18c4 100644
--- a/tests/avocado/machine_mips_malta.py
+++ b/tests/avocado/machine_mips_malta.py
@@ -8,121 +8,13 @@
# SPDX-License-Identifier: GPL-2.0-or-later
import os
-import gzip
-import logging
-from avocado import skipUnless
-from avocado import skipUnless
from avocado.utils import archive
from avocado_qemu import QemuSystemTest
-from avocado_qemu import exec_command_and_wait_for_pattern
from avocado_qemu import interrupt_interactive_console_until_pattern
from avocado_qemu import wait_for_console_pattern
-NUMPY_AVAILABLE = True
-try:
- import numpy as np
-except ImportError:
- NUMPY_AVAILABLE = False
-
-CV2_AVAILABLE = True
-try:
- import cv2
-except ImportError:
- CV2_AVAILABLE = False
-
-
-@skipUnless(NUMPY_AVAILABLE, 'Python NumPy not installed')
-@skipUnless(CV2_AVAILABLE, 'Python OpenCV not installed')
-class MaltaMachineFramebuffer(QemuSystemTest):
-
- timeout = 30
-
- KERNEL_COMMON_COMMAND_LINE = 'printk.time=0 '
-
- def do_test_i6400_framebuffer_logo(self, cpu_cores_count):
- """
- Boot Linux kernel and check Tux logo is displayed on the framebuffer.
- """
- screendump_path = os.path.join(self.workdir, 'screendump.pbm')
-
- kernel_url = ('https://github.com/philmd/qemu-testing-blob/raw/'
- 'a5966ca4b5/mips/malta/mips64el/'
- 'vmlinux-4.7.0-rc1.I6400.gz')
- kernel_hash = '096f50c377ec5072e6a366943324622c312045f6'
- kernel_path_gz = self.fetch_asset(kernel_url, asset_hash=kernel_hash)
- kernel_path = self.workdir + "vmlinux"
- archive.gzip_uncompress(kernel_path_gz, kernel_path)
-
- tuxlogo_url = ('https://github.com/torvalds/linux/raw/v2.6.12/'
- 'drivers/video/logo/logo_linux_vga16.ppm')
- tuxlogo_hash = '3991c2ddbd1ddaecda7601f8aafbcf5b02dc86af'
- tuxlogo_path = self.fetch_asset(tuxlogo_url, asset_hash=tuxlogo_hash)
-
- self.vm.set_console()
- kernel_command_line = (self.KERNEL_COMMON_COMMAND_LINE +
- 'clocksource=GIC console=tty0 console=ttyS0')
- self.vm.add_args('-kernel', kernel_path,
- '-smp', '%u' % cpu_cores_count,
- '-vga', 'std',
- '-append', kernel_command_line)
- self.vm.launch()
- framebuffer_ready = 'Console: switching to colour frame buffer device'
- wait_for_console_pattern(self, framebuffer_ready,
- failure_message='Kernel panic - not syncing')
- self.vm.cmd('human-monitor-command', command_line='stop')
- self.vm.cmd('human-monitor-command',
- command_line='screendump %s' % screendump_path)
- logger = logging.getLogger('framebuffer')
-
- match_threshold = 0.95
- screendump_bgr = cv2.imread(screendump_path, cv2.IMREAD_COLOR)
- tuxlogo_bgr = cv2.imread(tuxlogo_path, cv2.IMREAD_COLOR)
- result = cv2.matchTemplate(screendump_bgr, tuxlogo_bgr,
- cv2.TM_CCOEFF_NORMED)
- loc = np.where(result >= match_threshold)
- tuxlogo_count = 0
- h, w = tuxlogo_bgr.shape[:2]
- debug_png = os.getenv('AVOCADO_CV2_SCREENDUMP_PNG_PATH')
- for tuxlogo_count, pt in enumerate(zip(*loc[::-1]), start=1):
- logger.debug('found Tux at position (x, y) = %s', pt)
- cv2.rectangle(screendump_bgr, pt,
- (pt[0] + w, pt[1] + h), (0, 0, 255), 2)
- if debug_png:
- cv2.imwrite(debug_png, screendump_bgr)
- self.assertGreaterEqual(tuxlogo_count, cpu_cores_count)
-
- def test_mips_malta_i6400_framebuffer_logo_1core(self):
- """
- :avocado: tags=arch:mips64el
- :avocado: tags=machine:malta
- :avocado: tags=cpu:I6400
- """
- self.do_test_i6400_framebuffer_logo(1)
-
- @skipUnless(os.getenv('QEMU_TEST_FLAKY_TESTS'), 'Test is unstable on GitLab')
- def test_mips_malta_i6400_framebuffer_logo_7cores(self):
- """
- :avocado: tags=arch:mips64el
- :avocado: tags=machine:malta
- :avocado: tags=cpu:I6400
- :avocado: tags=mips:smp
- :avocado: tags=flaky
- """
- self.do_test_i6400_framebuffer_logo(7)
-
- @skipUnless(os.getenv('QEMU_TEST_FLAKY_TESTS'), 'Test is unstable on GitLab')
- def test_mips_malta_i6400_framebuffer_logo_8cores(self):
- """
- :avocado: tags=arch:mips64el
- :avocado: tags=machine:malta
- :avocado: tags=cpu:I6400
- :avocado: tags=mips:smp
- :avocado: tags=flaky
- """
- self.do_test_i6400_framebuffer_logo(8)
-
class MaltaMachine(QemuSystemTest):
def do_test_yamon(self):
diff --git a/tests/functional/meson.build b/tests/functional/meson.build
index 8d28313a65..1823f88897 100644
--- a/tests/functional/meson.build
+++ b/tests/functional/meson.build
@@ -56,6 +56,7 @@ tests_mips64el_quick = [
]
tests_mips64el_thorough = [
+ 'mips64el_malta',
'mips64el_loongson3v',
]
diff --git a/tests/functional/test_mips64el_malta.py b/tests/functional/test_mips64el_malta.py
new file mode 100755
index 0000000000..05d2c5f85b
--- /dev/null
+++ b/tests/functional/test_mips64el_malta.py
@@ -0,0 +1,111 @@
+#!/usr/bin/env python3
+#
+# Functional tests for the little-endian 64-bit MIPS Malta board
+#
+# Copyright (c) Philippe Mathieu-Daudé <f4bug@amsat.org>
+#
+# This work is licensed under the terms of the GNU GPL, version 2 or later.
+# See the COPYING file in the top-level directory.
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+
+import os
+import logging
+
+from qemu_test import QemuSystemTest, Asset
+from qemu_test import wait_for_console_pattern
+from qemu_test.utils import gzip_uncompress
+from unittest import skipUnless
+
+NUMPY_AVAILABLE = True
+try:
+ import numpy as np
+except ImportError:
+ NUMPY_AVAILABLE = False
+
+CV2_AVAILABLE = True
+try:
+ import cv2
+except ImportError:
+ CV2_AVAILABLE = False
+
+
+@skipUnless(NUMPY_AVAILABLE, 'Python NumPy not installed')
+@skipUnless(CV2_AVAILABLE, 'Python OpenCV not installed')
+class MaltaMachineFramebuffer(QemuSystemTest):
+
+ timeout = 30
+
+ ASSET_KERNEL = Asset(
+ ('https://github.com/philmd/qemu-testing-blob/raw/a5966ca4b5/'
+ 'mips/malta/mips64el/vmlinux-4.7.0-rc1.I6400.gz'),
+ '1f64efc59968a3c328672e6b10213fe574bb2308d9d2ed44e75e40be59e9fbc2')
+
+ ASSET_TUXLOGO = Asset(
+ ('https://github.com/torvalds/linux/raw/v2.6.12/'
+ 'drivers/video/logo/logo_linux_vga16.ppm'),
+ 'b762f0d91ec018887ad1b334543c2fdf9be9fdfc87672b409211efaa3ea0ef79')
+
+ KERNEL_COMMON_COMMAND_LINE = 'printk.time=0 '
+
+ def do_test_i6400_framebuffer_logo(self, cpu_cores_count):
+ """
+ Boot Linux kernel and check Tux logo is displayed on the framebuffer.
+ """
+ screendump_path = os.path.join(self.workdir, 'screendump.pbm')
+
+ kernel_path_gz = self.ASSET_KERNEL.fetch()
+ kernel_path = self.workdir + "vmlinux"
+ gzip_uncompress(kernel_path_gz, kernel_path)
+
+ tuxlogo_path = self.ASSET_TUXLOGO.fetch()
+
+ self.set_machine('malta')
+ self.vm.set_console()
+ kernel_command_line = (self.KERNEL_COMMON_COMMAND_LINE +
+ 'clocksource=GIC console=tty0 console=ttyS0')
+ self.vm.add_args('-kernel', kernel_path,
+ '-cpu', 'I6400',
+ '-smp', '%u' % cpu_cores_count,
+ '-vga', 'std',
+ '-append', kernel_command_line)
+ self.vm.launch()
+ framebuffer_ready = 'Console: switching to colour frame buffer device'
+ wait_for_console_pattern(self, framebuffer_ready,
+ failure_message='Kernel panic - not syncing')
+ self.vm.cmd('human-monitor-command', command_line='stop')
+ self.vm.cmd('human-monitor-command',
+ command_line='screendump %s' % screendump_path)
+ logger = logging.getLogger('framebuffer')
+
+ match_threshold = 0.95
+ screendump_bgr = cv2.imread(screendump_path, cv2.IMREAD_COLOR)
+ tuxlogo_bgr = cv2.imread(tuxlogo_path, cv2.IMREAD_COLOR)
+ result = cv2.matchTemplate(screendump_bgr, tuxlogo_bgr,
+ cv2.TM_CCOEFF_NORMED)
+ loc = np.where(result >= match_threshold)
+ tuxlogo_count = 0
+ h, w = tuxlogo_bgr.shape[:2]
+ debug_png = os.getenv('AVOCADO_CV2_SCREENDUMP_PNG_PATH')
+ for tuxlogo_count, pt in enumerate(zip(*loc[::-1]), start=1):
+ logger.debug('found Tux at position (x, y) = %s', pt)
+ cv2.rectangle(screendump_bgr, pt,
+ (pt[0] + w, pt[1] + h), (0, 0, 255), 2)
+ if debug_png:
+ cv2.imwrite(debug_png, screendump_bgr)
+ self.assertGreaterEqual(tuxlogo_count, cpu_cores_count)
+
+ def test_mips_malta_i6400_framebuffer_logo_1core(self):
+ self.do_test_i6400_framebuffer_logo(1)
+
+ @skipUnless(os.getenv('QEMU_TEST_FLAKY_TESTS'), 'Test is unstable on GitLab')
+ def test_mips_malta_i6400_framebuffer_logo_7cores(self):
+ self.do_test_i6400_framebuffer_logo(7)
+
+ @skipUnless(os.getenv('QEMU_TEST_FLAKY_TESTS'), 'Test is unstable on GitLab')
+ def test_mips_malta_i6400_framebuffer_logo_8cores(self):
+ self.do_test_i6400_framebuffer_logo(8)
+
+
+if __name__ == '__main__':
+ QemuSystemTest.main()
--
2.45.2
On 21/08/2024 14.57, Philippe Mathieu-Daudé wrote: > Straight forward conversion. Update the SHA1 hashes to SHA256 > hashes since SHA1 should not be used anymore nowadays. > > Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> > --- > MAINTAINERS | 1 + > tests/avocado/machine_mips_malta.py | 108 ----------------------- > tests/functional/meson.build | 1 + > tests/functional/test_mips64el_malta.py | 111 ++++++++++++++++++++++++ > 4 files changed, 113 insertions(+), 108 deletions(-) > create mode 100755 tests/functional/test_mips64el_malta.py > > diff --git a/MAINTAINERS b/MAINTAINERS > index 77fbb5d42e..3a91017979 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -1369,6 +1369,7 @@ F: hw/pci-host/gt64120.c > F: include/hw/southbridge/piix.h > F: tests/avocado/linux_ssh_mips_malta.py > F: tests/avocado/machine_mips_malta.py > +F: tests/functional/test_mips64el_malta.py > > Mipssim > R: Aleksandar Rikalo <arikalo@gmail.com> > diff --git a/tests/avocado/machine_mips_malta.py b/tests/avocado/machine_mips_malta.py > index 07a80633b5..05c64e18c4 100644 > --- a/tests/avocado/machine_mips_malta.py > +++ b/tests/avocado/machine_mips_malta.py > @@ -8,121 +8,13 @@ > # SPDX-License-Identifier: GPL-2.0-or-later > > import os > -import gzip > -import logging > > -from avocado import skipUnless > -from avocado import skipUnless > from avocado.utils import archive > from avocado_qemu import QemuSystemTest > -from avocado_qemu import exec_command_and_wait_for_pattern > from avocado_qemu import interrupt_interactive_console_until_pattern > from avocado_qemu import wait_for_console_pattern > > > -NUMPY_AVAILABLE = True > -try: > - import numpy as np > -except ImportError: > - NUMPY_AVAILABLE = False > - > -CV2_AVAILABLE = True > -try: > - import cv2 > -except ImportError: > - CV2_AVAILABLE = False > - > - > -@skipUnless(NUMPY_AVAILABLE, 'Python NumPy not installed') > -@skipUnless(CV2_AVAILABLE, 'Python OpenCV not installed') > -class MaltaMachineFramebuffer(QemuSystemTest): > - > - timeout = 30 > - > - KERNEL_COMMON_COMMAND_LINE = 'printk.time=0 ' > - > - def do_test_i6400_framebuffer_logo(self, cpu_cores_count): > - """ > - Boot Linux kernel and check Tux logo is displayed on the framebuffer. > - """ > - screendump_path = os.path.join(self.workdir, 'screendump.pbm') > - > - kernel_url = ('https://github.com/philmd/qemu-testing-blob/raw/' > - 'a5966ca4b5/mips/malta/mips64el/' > - 'vmlinux-4.7.0-rc1.I6400.gz') > - kernel_hash = '096f50c377ec5072e6a366943324622c312045f6' > - kernel_path_gz = self.fetch_asset(kernel_url, asset_hash=kernel_hash) > - kernel_path = self.workdir + "vmlinux" > - archive.gzip_uncompress(kernel_path_gz, kernel_path) > - > - tuxlogo_url = ('https://github.com/torvalds/linux/raw/v2.6.12/' > - 'drivers/video/logo/logo_linux_vga16.ppm') > - tuxlogo_hash = '3991c2ddbd1ddaecda7601f8aafbcf5b02dc86af' > - tuxlogo_path = self.fetch_asset(tuxlogo_url, asset_hash=tuxlogo_hash) > - > - self.vm.set_console() > - kernel_command_line = (self.KERNEL_COMMON_COMMAND_LINE + > - 'clocksource=GIC console=tty0 console=ttyS0') > - self.vm.add_args('-kernel', kernel_path, > - '-smp', '%u' % cpu_cores_count, > - '-vga', 'std', > - '-append', kernel_command_line) > - self.vm.launch() > - framebuffer_ready = 'Console: switching to colour frame buffer device' > - wait_for_console_pattern(self, framebuffer_ready, > - failure_message='Kernel panic - not syncing') > - self.vm.cmd('human-monitor-command', command_line='stop') > - self.vm.cmd('human-monitor-command', > - command_line='screendump %s' % screendump_path) > - logger = logging.getLogger('framebuffer') > - > - match_threshold = 0.95 > - screendump_bgr = cv2.imread(screendump_path, cv2.IMREAD_COLOR) > - tuxlogo_bgr = cv2.imread(tuxlogo_path, cv2.IMREAD_COLOR) > - result = cv2.matchTemplate(screendump_bgr, tuxlogo_bgr, > - cv2.TM_CCOEFF_NORMED) > - loc = np.where(result >= match_threshold) > - tuxlogo_count = 0 > - h, w = tuxlogo_bgr.shape[:2] > - debug_png = os.getenv('AVOCADO_CV2_SCREENDUMP_PNG_PATH') > - for tuxlogo_count, pt in enumerate(zip(*loc[::-1]), start=1): > - logger.debug('found Tux at position (x, y) = %s', pt) > - cv2.rectangle(screendump_bgr, pt, > - (pt[0] + w, pt[1] + h), (0, 0, 255), 2) > - if debug_png: > - cv2.imwrite(debug_png, screendump_bgr) > - self.assertGreaterEqual(tuxlogo_count, cpu_cores_count) > - > - def test_mips_malta_i6400_framebuffer_logo_1core(self): > - """ > - :avocado: tags=arch:mips64el > - :avocado: tags=machine:malta > - :avocado: tags=cpu:I6400 > - """ > - self.do_test_i6400_framebuffer_logo(1) > - > - @skipUnless(os.getenv('QEMU_TEST_FLAKY_TESTS'), 'Test is unstable on GitLab') > - def test_mips_malta_i6400_framebuffer_logo_7cores(self): > - """ > - :avocado: tags=arch:mips64el > - :avocado: tags=machine:malta > - :avocado: tags=cpu:I6400 > - :avocado: tags=mips:smp > - :avocado: tags=flaky > - """ > - self.do_test_i6400_framebuffer_logo(7) > - > - @skipUnless(os.getenv('QEMU_TEST_FLAKY_TESTS'), 'Test is unstable on GitLab') > - def test_mips_malta_i6400_framebuffer_logo_8cores(self): > - """ > - :avocado: tags=arch:mips64el > - :avocado: tags=machine:malta > - :avocado: tags=cpu:I6400 > - :avocado: tags=mips:smp > - :avocado: tags=flaky > - """ > - self.do_test_i6400_framebuffer_logo(8) > - > class MaltaMachine(QemuSystemTest): > > def do_test_yamon(self): > diff --git a/tests/functional/meson.build b/tests/functional/meson.build > index 8d28313a65..1823f88897 100644 > --- a/tests/functional/meson.build > +++ b/tests/functional/meson.build > @@ -56,6 +56,7 @@ tests_mips64el_quick = [ > ] > > tests_mips64el_thorough = [ > + 'mips64el_malta', > 'mips64el_loongson3v', > ] Maybe keep the list in alphabetical order? Anyway: Reviewed-by: Thomas Huth <thuth@redhat.com>
© 2016 - 2024 Red Hat, Inc.