* [PATCH] tests/functional: Convert mips fuloong2e avocado test
@ 2024-08-21 11:29 Philippe Mathieu-Daudé
2024-08-21 11:46 ` Thomas Huth
0 siblings, 1 reply; 3+ messages in thread
From: Philippe Mathieu-Daudé @ 2024-08-21 11:29 UTC (permalink / raw)
To: qemu-devel
Cc: Huacai Chen, Philippe Mathieu-Daudé, Thomas Huth,
Jiaxun Yang
Straight forward conversion. Update the SHA1 hashes to
SHA256 hashes since SHA1 should not be used anymore nowadays.
Since the asset is expected locally and the test is guarded
with QEMU_TEST_ALLOW_UNTRUSTED_CODE, keep it under the 'quick'
category.
$ RESCUE_YL_PATH=/path/to/rescue-yl QEMU_TEST_ALLOW_UNTRUSTED_CODE=1 \
make check-functional-mips64el
1/4 qemu:func-quick+func-mips64el / func-mips64el-empty_cpu_model OK 0.12s 1 subtests passed
2/4 qemu:func-quick+func-mips64el / func-mips64el-version OK 0.13s 1 subtests passed
3/4 qemu:func-quick+func-mips64el / func-mips64el-info_usernet OK 0.15s 1 subtests passed
4/4 qemu:func-quick+func-mips64el / func-mips64el-mips64el_fuloong2e OK 0.19s 1 subtests passed
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
Based-on: <20240821082748.65853-1-thuth@redhat.com>
---
MAINTAINERS | 2 +-
tests/functional/meson.build | 4 +++
.../test_mips64el_fuloong2e.py} | 32 +++++++++----------
3 files changed, 21 insertions(+), 17 deletions(-)
rename tests/{avocado/machine_mips_fuloong2e.py => functional/test_mips64el_fuloong2e.py} (56%)
mode change 100644 => 100755
diff --git a/MAINTAINERS b/MAINTAINERS
index 25e71ac14c..77fbb5d42e 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1384,7 +1384,7 @@ S: Odd Fixes
F: hw/mips/fuloong2e.c
F: hw/pci-host/bonito.c
F: include/hw/pci-host/bonito.h
-F: tests/avocado/machine_mips_fuloong2e.py
+F: tests/functional/test_mips64el_fuloong2e.py
Loongson-3 virtual platforms
M: Huacai Chen <chenhuacai@kernel.org>
diff --git a/tests/functional/meson.build b/tests/functional/meson.build
index 12e08e365b..8d28313a65 100644
--- a/tests/functional/meson.build
+++ b/tests/functional/meson.build
@@ -51,6 +51,10 @@ tests_microblazeel_thorough = [
'microblazeel_s3adsp1800'
]
+tests_mips64el_quick = [
+ 'mips64el_fuloong2e',
+]
+
tests_mips64el_thorough = [
'mips64el_loongson3v',
]
diff --git a/tests/avocado/machine_mips_fuloong2e.py b/tests/functional/test_mips64el_fuloong2e.py
old mode 100644
new mode 100755
similarity index 56%
rename from tests/avocado/machine_mips_fuloong2e.py
rename to tests/functional/test_mips64el_fuloong2e.py
index 89291f47b2..523dce4ec4
--- a/tests/avocado/machine_mips_fuloong2e.py
+++ b/tests/functional/test_mips64el_fuloong2e.py
@@ -1,3 +1,5 @@
+#!/usr/bin/env python3
+#
# Functional tests for the Lemote Fuloong-2E machine.
#
# Copyright (c) 2019 Philippe Mathieu-Daudé <f4bug@amsat.org>
@@ -9,34 +11,32 @@
import os
-from avocado import skipUnless
-from avocado_qemu import QemuSystemTest
-from avocado_qemu import wait_for_console_pattern
+from qemu_test import QemuSystemTest, Asset
+from qemu_test import wait_for_console_pattern
+from unittest import skipUnless
class MipsFuloong2e(QemuSystemTest):
timeout = 60
- @skipUnless(os.getenv('AVOCADO_ALLOW_UNTRUSTED_CODE'), 'untrusted code')
- @skipUnless(os.getenv('RESCUE_YL_PATH'), 'RESCUE_YL_PATH not available')
+ ASSET_KERNEL = Asset(
+ # http://dev.lemote.com/files/resource/download/rescue/rescue-yl
+ ('file://' + os.getenv('RESCUE_YL_PATH')),
+ 'ab588d3316777c62cc81baa20ac92e98b01955c244dff3794b711bc34e26e51d')
+
+ @skipUnless(os.getenv('QEMU_TEST_ALLOW_UNTRUSTED_CODE'), 'untrusted code')
def test_linux_kernel_isa_serial(self):
- """
- :avocado: tags=arch:mips64el
- :avocado: tags=machine:fuloong2e
- :avocado: tags=endian:little
- :avocado: tags=device:bonito64
- :avocado: tags=device:via686b
- """
# Recovery system for the Yeeloong laptop
# (enough to test the fuloong2e southbridge, accessing its ISA bus)
- # http://dev.lemote.com/files/resource/download/rescue/rescue-yl
- kernel_hash = 'ec4d1bd89a8439c41033ca63db60160cc6d6f09a'
- kernel_path = self.fetch_asset('file://' + os.getenv('RESCUE_YL_PATH'),
- asset_hash=kernel_hash)
+ kernel_path = self.ASSET_KERNEL.fetch()
+ self.set_machine('fuloong2e')
self.vm.set_console()
self.vm.add_args('-kernel', kernel_path)
self.vm.launch()
wait_for_console_pattern(self, 'Linux version 2.6.27.7lemote')
cpu_revision = 'CPU revision is: 00006302 (ICT Loongson-2)'
wait_for_console_pattern(self, cpu_revision)
+
+if __name__ == '__main__':
+ QemuSystemTest.main()
--
2.45.2
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] tests/functional: Convert mips fuloong2e avocado test
2024-08-21 11:29 [PATCH] tests/functional: Convert mips fuloong2e avocado test Philippe Mathieu-Daudé
@ 2024-08-21 11:46 ` Thomas Huth
2024-08-21 13:30 ` Philippe Mathieu-Daudé
0 siblings, 1 reply; 3+ messages in thread
From: Thomas Huth @ 2024-08-21 11:46 UTC (permalink / raw)
To: Philippe Mathieu-Daudé, qemu-devel; +Cc: Huacai Chen, Jiaxun Yang
On 21/08/2024 13.29, Philippe Mathieu-Daudé wrote:
> Straight forward conversion. Update the SHA1 hashes to
> SHA256 hashes since SHA1 should not be used anymore nowadays.
>
> Since the asset is expected locally and the test is guarded
> with QEMU_TEST_ALLOW_UNTRUSTED_CODE, keep it under the 'quick'
> category.
>
> $ RESCUE_YL_PATH=/path/to/rescue-yl QEMU_TEST_ALLOW_UNTRUSTED_CODE=1 \
> make check-functional-mips64el
> 1/4 qemu:func-quick+func-mips64el / func-mips64el-empty_cpu_model OK 0.12s 1 subtests passed
> 2/4 qemu:func-quick+func-mips64el / func-mips64el-version OK 0.13s 1 subtests passed
> 3/4 qemu:func-quick+func-mips64el / func-mips64el-info_usernet OK 0.15s 1 subtests passed
> 4/4 qemu:func-quick+func-mips64el / func-mips64el-mips64el_fuloong2e OK 0.19s 1 subtests passed
>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> ---
> Based-on: <20240821082748.65853-1-thuth@redhat.com>
> ---
> MAINTAINERS | 2 +-
> tests/functional/meson.build | 4 +++
> .../test_mips64el_fuloong2e.py} | 32 +++++++++----------
> 3 files changed, 21 insertions(+), 17 deletions(-)
> rename tests/{avocado/machine_mips_fuloong2e.py => functional/test_mips64el_fuloong2e.py} (56%)
> mode change 100644 => 100755
>
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 25e71ac14c..77fbb5d42e 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -1384,7 +1384,7 @@ S: Odd Fixes
> F: hw/mips/fuloong2e.c
> F: hw/pci-host/bonito.c
> F: include/hw/pci-host/bonito.h
> -F: tests/avocado/machine_mips_fuloong2e.py
> +F: tests/functional/test_mips64el_fuloong2e.py
>
> Loongson-3 virtual platforms
> M: Huacai Chen <chenhuacai@kernel.org>
> diff --git a/tests/functional/meson.build b/tests/functional/meson.build
> index 12e08e365b..8d28313a65 100644
> --- a/tests/functional/meson.build
> +++ b/tests/functional/meson.build
> @@ -51,6 +51,10 @@ tests_microblazeel_thorough = [
> 'microblazeel_s3adsp1800'
> ]
>
> +tests_mips64el_quick = [
> + 'mips64el_fuloong2e',
> +]
> +
> tests_mips64el_thorough = [
> 'mips64el_loongson3v',
> ]
> diff --git a/tests/avocado/machine_mips_fuloong2e.py b/tests/functional/test_mips64el_fuloong2e.py
> old mode 100644
> new mode 100755
> similarity index 56%
> rename from tests/avocado/machine_mips_fuloong2e.py
> rename to tests/functional/test_mips64el_fuloong2e.py
> index 89291f47b2..523dce4ec4
> --- a/tests/avocado/machine_mips_fuloong2e.py
> +++ b/tests/functional/test_mips64el_fuloong2e.py
> @@ -1,3 +1,5 @@
> +#!/usr/bin/env python3
> +#
> # Functional tests for the Lemote Fuloong-2E machine.
> #
> # Copyright (c) 2019 Philippe Mathieu-Daudé <f4bug@amsat.org>
> @@ -9,34 +11,32 @@
>
> import os
>
> -from avocado import skipUnless
> -from avocado_qemu import QemuSystemTest
> -from avocado_qemu import wait_for_console_pattern
> +from qemu_test import QemuSystemTest, Asset
> +from qemu_test import wait_for_console_pattern
> +from unittest import skipUnless
>
> class MipsFuloong2e(QemuSystemTest):
>
> timeout = 60
>
> - @skipUnless(os.getenv('AVOCADO_ALLOW_UNTRUSTED_CODE'), 'untrusted code')
> - @skipUnless(os.getenv('RESCUE_YL_PATH'), 'RESCUE_YL_PATH not available')
Wouldn't it be better to keep the RESCUE_YL_PATH decorator?
> + ASSET_KERNEL = Asset(
> + # http://dev.lemote.com/files/resource/download/rescue/rescue-yl
> + ('file://' + os.getenv('RESCUE_YL_PATH')),
The precaching is now failing if this environment variable has not been set:
Traceback (most recent call last):
File
"/home/thuth/devel/qemu/tests/functional/test_mips64el_fuloong2e.py", line
18, in <module>
class MipsFuloong2e(QemuSystemTest):
File
"/home/thuth/devel/qemu/tests/functional/test_mips64el_fuloong2e.py", line
24, in MipsFuloong2e
('file://' + os.getenv('RESCUE_YL_PATH')),
~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
TypeError: can only concatenate str (not "NoneType") to str
Since we don't really need precaching in this case, maybe you could move the
asset definition into the function itself, or do this test without the asset
framework?
Thomas
> + 'ab588d3316777c62cc81baa20ac92e98b01955c244dff3794b711bc34e26e51d')
> +
> + @skipUnless(os.getenv('QEMU_TEST_ALLOW_UNTRUSTED_CODE'), 'untrusted code')
> def test_linux_kernel_isa_serial(self):
> - """
> - :avocado: tags=arch:mips64el
> - :avocado: tags=machine:fuloong2e
> - :avocado: tags=endian:little
> - :avocado: tags=device:bonito64
> - :avocado: tags=device:via686b
> - """
> # Recovery system for the Yeeloong laptop
> # (enough to test the fuloong2e southbridge, accessing its ISA bus)
> - # http://dev.lemote.com/files/resource/download/rescue/rescue-yl
> - kernel_hash = 'ec4d1bd89a8439c41033ca63db60160cc6d6f09a'
> - kernel_path = self.fetch_asset('file://' + os.getenv('RESCUE_YL_PATH'),
> - asset_hash=kernel_hash)
> + kernel_path = self.ASSET_KERNEL.fetch()
>
> + self.set_machine('fuloong2e')
> self.vm.set_console()
> self.vm.add_args('-kernel', kernel_path)
> self.vm.launch()
> wait_for_console_pattern(self, 'Linux version 2.6.27.7lemote')
> cpu_revision = 'CPU revision is: 00006302 (ICT Loongson-2)'
> wait_for_console_pattern(self, cpu_revision)
> +
> +if __name__ == '__main__':
> + QemuSystemTest.main()
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] tests/functional: Convert mips fuloong2e avocado test
2024-08-21 11:46 ` Thomas Huth
@ 2024-08-21 13:30 ` Philippe Mathieu-Daudé
0 siblings, 0 replies; 3+ messages in thread
From: Philippe Mathieu-Daudé @ 2024-08-21 13:30 UTC (permalink / raw)
To: Thomas Huth, qemu-devel; +Cc: Huacai Chen, Jiaxun Yang
On 21/8/24 13:46, Thomas Huth wrote:
> On 21/08/2024 13.29, Philippe Mathieu-Daudé wrote:
>> Straight forward conversion. Update the SHA1 hashes to
>> SHA256 hashes since SHA1 should not be used anymore nowadays.
>>
>> Since the asset is expected locally and the test is guarded
>> with QEMU_TEST_ALLOW_UNTRUSTED_CODE, keep it under the 'quick'
>> category.
>>
>> $ RESCUE_YL_PATH=/path/to/rescue-yl QEMU_TEST_ALLOW_UNTRUSTED_CODE=1 \
>> make check-functional-mips64el
>> 1/4 qemu:func-quick+func-mips64el /
>> func-mips64el-empty_cpu_model OK 0.12s 1 subtests passed
>> 2/4 qemu:func-quick+func-mips64el /
>> func-mips64el-version OK 0.13s 1 subtests passed
>> 3/4 qemu:func-quick+func-mips64el /
>> func-mips64el-info_usernet OK 0.15s 1 subtests passed
>> 4/4 qemu:func-quick+func-mips64el /
>> func-mips64el-mips64el_fuloong2e OK 0.19s 1 subtests passed
>>
>> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
>> ---
>> Based-on: <20240821082748.65853-1-thuth@redhat.com>
>> ---
>> MAINTAINERS | 2 +-
>> tests/functional/meson.build | 4 +++
>> .../test_mips64el_fuloong2e.py} | 32 +++++++++----------
>> 3 files changed, 21 insertions(+), 17 deletions(-)
>> rename tests/{avocado/machine_mips_fuloong2e.py =>
>> functional/test_mips64el_fuloong2e.py} (56%)
>> mode change 100644 => 100755
>>
>> diff --git a/MAINTAINERS b/MAINTAINERS
>> index 25e71ac14c..77fbb5d42e 100644
>> --- a/MAINTAINERS
>> +++ b/MAINTAINERS
>> @@ -1384,7 +1384,7 @@ S: Odd Fixes
>> F: hw/mips/fuloong2e.c
>> F: hw/pci-host/bonito.c
>> F: include/hw/pci-host/bonito.h
>> -F: tests/avocado/machine_mips_fuloong2e.py
>> +F: tests/functional/test_mips64el_fuloong2e.py
>> Loongson-3 virtual platforms
>> M: Huacai Chen <chenhuacai@kernel.org>
>> diff --git a/tests/functional/meson.build b/tests/functional/meson.build
>> index 12e08e365b..8d28313a65 100644
>> --- a/tests/functional/meson.build
>> +++ b/tests/functional/meson.build
>> @@ -51,6 +51,10 @@ tests_microblazeel_thorough = [
>> 'microblazeel_s3adsp1800'
>> ]
>> +tests_mips64el_quick = [
>> + 'mips64el_fuloong2e',
>> +]
>> +
>> tests_mips64el_thorough = [
>> 'mips64el_loongson3v',
>> ]
>> diff --git a/tests/avocado/machine_mips_fuloong2e.py
>> b/tests/functional/test_mips64el_fuloong2e.py
>> old mode 100644
>> new mode 100755
>> similarity index 56%
>> rename from tests/avocado/machine_mips_fuloong2e.py
>> rename to tests/functional/test_mips64el_fuloong2e.py
>> index 89291f47b2..523dce4ec4
>> --- a/tests/avocado/machine_mips_fuloong2e.py
>> +++ b/tests/functional/test_mips64el_fuloong2e.py
>> @@ -1,3 +1,5 @@
>> +#!/usr/bin/env python3
>> +#
>> # Functional tests for the Lemote Fuloong-2E machine.
>> #
>> # Copyright (c) 2019 Philippe Mathieu-Daudé <f4bug@amsat.org>
>> @@ -9,34 +11,32 @@
>> import os
>> -from avocado import skipUnless
>> -from avocado_qemu import QemuSystemTest
>> -from avocado_qemu import wait_for_console_pattern
>> +from qemu_test import QemuSystemTest, Asset
>> +from qemu_test import wait_for_console_pattern
>> +from unittest import skipUnless
>> class MipsFuloong2e(QemuSystemTest):
>> timeout = 60
>> - @skipUnless(os.getenv('AVOCADO_ALLOW_UNTRUSTED_CODE'), 'untrusted
>> code')
>> - @skipUnless(os.getenv('RESCUE_YL_PATH'), 'RESCUE_YL_PATH not
>> available')
>
> Wouldn't it be better to keep the RESCUE_YL_PATH decorator?
Oops yes, no clue how I removed that.
>
>> + ASSET_KERNEL = Asset(
>> + # http://dev.lemote.com/files/resource/download/rescue/rescue-yl
>> + ('file://' + os.getenv('RESCUE_YL_PATH')),
>
> The precaching is now failing if this environment variable has not been
> set:
>
> Traceback (most recent call last):
> File
> "/home/thuth/devel/qemu/tests/functional/test_mips64el_fuloong2e.py",
> line 18, in <module>
> class MipsFuloong2e(QemuSystemTest):
> File
> "/home/thuth/devel/qemu/tests/functional/test_mips64el_fuloong2e.py",
> line 24, in MipsFuloong2e
> ('file://' + os.getenv('RESCUE_YL_PATH')),
> ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> TypeError: can only concatenate str (not "NoneType") to str
>
> Since we don't really need precaching in this case, maybe you could move
> the asset definition into the function itself, or do this test without
> the asset framework?
Good idea.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2024-08-21 13:30 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-08-21 11:29 [PATCH] tests/functional: Convert mips fuloong2e avocado test Philippe Mathieu-Daudé
2024-08-21 11:46 ` Thomas Huth
2024-08-21 13:30 ` Philippe Mathieu-Daudé
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).