MAINTAINERS | 1 + tests/functional/meson.build | 1 + tests/functional/test_aarch64_imx8mp_evk.py | 66 +++++++++++++++++++++ 3 files changed, 68 insertions(+) create mode 100755 tests/functional/test_aarch64_imx8mp_evk.py
Introduce a functional test which boots Debian 12 on the imx8mp-evk board. Since
the root filesystem resides on an SD card, the test also verifies the basic
operation of the USDHC.
Signed-off-by: Bernhard Beschow <shentey@gmail.com>
--
v2:
* Make test file executable (Thomas)
* Omit fetch() (Thomas)
* Omit "-accel tcg" (Thomas)
* Add "snapshot=on" to make potential future tests independent
Supersedes: 20250405214900.7114-1-shentey@gmail.com
---
MAINTAINERS | 1 +
tests/functional/meson.build | 1 +
tests/functional/test_aarch64_imx8mp_evk.py | 66 +++++++++++++++++++++
3 files changed, 68 insertions(+)
create mode 100755 tests/functional/test_aarch64_imx8mp_evk.py
diff --git a/MAINTAINERS b/MAINTAINERS
index d54b5578f8..4ceffa89dc 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -833,6 +833,7 @@ F: include/hw/arm/fsl-imx8mp.h
F: include/hw/misc/imx8mp_*.h
F: include/hw/pci-host/fsl_imx8m_phy.h
F: docs/system/arm/imx8mp-evk.rst
+F: tests/functional/test_aarch64_imx8mp_evk.py
F: tests/qtest/rs5c372-test.c
MPS2 / MPS3
diff --git a/tests/functional/meson.build b/tests/functional/meson.build
index 0f8be30fe2..aaaf3472f1 100644
--- a/tests/functional/meson.build
+++ b/tests/functional/meson.build
@@ -75,6 +75,7 @@ tests_aarch64_system_quick = [
tests_aarch64_system_thorough = [
'aarch64_aspeed',
+ 'aarch64_imx8mp_evk',
'aarch64_raspi3',
'aarch64_raspi4',
'aarch64_replay',
diff --git a/tests/functional/test_aarch64_imx8mp_evk.py b/tests/functional/test_aarch64_imx8mp_evk.py
new file mode 100755
index 0000000000..62fee74044
--- /dev/null
+++ b/tests/functional/test_aarch64_imx8mp_evk.py
@@ -0,0 +1,66 @@
+#!/usr/bin/env python3
+#
+# Functional test that boots a Linux kernel and checks the console
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+
+from qemu_test import LinuxKernelTest, Asset
+
+class Imx8mpEvkMachine(LinuxKernelTest):
+
+ ASSET_IMAGE = Asset(
+ ('https://cloud.debian.org/images/cloud/bookworm/20231210-1590/'
+ 'debian-12-generic-arm64-20231210-1590.tar.xz'),
+ '7ebf1577b32d5af6204df74b54ca2e4675de9b5a9fa14f3ff70b88eeb7b3b359')
+
+ KERNEL_OFFSET = 0x51000000
+ KERNEL_SIZE = 32622528
+ INITRD_OFFSET = 0x76000000
+ INITRD_SIZE = 30987766
+ DTB_OFFSET = 0x64F51000
+ DTB_SIZE = 45 * 1024
+
+ def extract(self, in_path, out_path, offset, size):
+ try:
+ with open(in_path, "rb") as source:
+ source.seek(offset)
+ data = source.read(size)
+ with open(out_path, "wb") as target:
+ target.write(data)
+ except (IOError, ValueError) as e:
+ self.log.error(f"Failed to extract {out_path}: {e}")
+ raise
+
+ def setUp(self):
+ super().setUp()
+
+ self.image_path = self.scratch_file("disk.raw")
+ self.kernel_path = self.scratch_file("linux")
+ self.initrd_path = self.scratch_file("initrd.zstd")
+ self.dtb_path = self.scratch_file("imx8mp-evk.dtb")
+
+ self.archive_extract(self.ASSET_IMAGE)
+ self.extract(self.image_path, self.kernel_path,
+ self.KERNEL_OFFSET, self.KERNEL_SIZE)
+ self.extract(self.image_path, self.initrd_path,
+ self.INITRD_OFFSET, self.INITRD_SIZE)
+ self.extract(self.image_path, self.dtb_path,
+ self.DTB_OFFSET, self.DTB_SIZE)
+
+ def test_aarch64_imx8mp_evk_usdhc(self):
+ self.set_machine('imx8mp-evk')
+ self.vm.set_console(console_index=1)
+ self.vm.add_args('-m', '2G',
+ '-smp', '4',
+ '-kernel', self.kernel_path,
+ '-initrd', self.initrd_path,
+ '-dtb', self.dtb_path,
+ '-append', 'root=/dev/mmcblk2p1',
+ '-drive', f'file={self.image_path},if=sd,bus=2,'
+ 'format=raw,id=mmcblk2,snapshot=on')
+
+ self.vm.launch()
+ self.wait_for_console_pattern('Welcome to ')
+
+if __name__ == '__main__':
+ LinuxKernelTest.main()
--
2.49.0
On 09/04/2025 22.26, Bernhard Beschow wrote:
> Introduce a functional test which boots Debian 12 on the imx8mp-evk board. Since
> the root filesystem resides on an SD card, the test also verifies the basic
> operation of the USDHC.
>
> Signed-off-by: Bernhard Beschow <shentey@gmail.com>
>
> --
> v2:
> * Make test file executable (Thomas)
> * Omit fetch() (Thomas)
> * Omit "-accel tcg" (Thomas)
> * Add "snapshot=on" to make potential future tests independent
>
> Supersedes: 20250405214900.7114-1-shentey@gmail.com
> ---
> MAINTAINERS | 1 +
> tests/functional/meson.build | 1 +
> tests/functional/test_aarch64_imx8mp_evk.py | 66 +++++++++++++++++++++
> 3 files changed, 68 insertions(+)
> create mode 100755 tests/functional/test_aarch64_imx8mp_evk.py
>
> diff --git a/MAINTAINERS b/MAINTAINERS
> index d54b5578f8..4ceffa89dc 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -833,6 +833,7 @@ F: include/hw/arm/fsl-imx8mp.h
> F: include/hw/misc/imx8mp_*.h
> F: include/hw/pci-host/fsl_imx8m_phy.h
> F: docs/system/arm/imx8mp-evk.rst
> +F: tests/functional/test_aarch64_imx8mp_evk.py
> F: tests/qtest/rs5c372-test.c
>
> MPS2 / MPS3
> diff --git a/tests/functional/meson.build b/tests/functional/meson.build
> index 0f8be30fe2..aaaf3472f1 100644
> --- a/tests/functional/meson.build
> +++ b/tests/functional/meson.build
> @@ -75,6 +75,7 @@ tests_aarch64_system_quick = [
>
> tests_aarch64_system_thorough = [
> 'aarch64_aspeed',
> + 'aarch64_imx8mp_evk',
> 'aarch64_raspi3',
> 'aarch64_raspi4',
> 'aarch64_replay',
> diff --git a/tests/functional/test_aarch64_imx8mp_evk.py b/tests/functional/test_aarch64_imx8mp_evk.py
> new file mode 100755
> index 0000000000..62fee74044
> --- /dev/null
> +++ b/tests/functional/test_aarch64_imx8mp_evk.py
> @@ -0,0 +1,66 @@
> +#!/usr/bin/env python3
> +#
> +# Functional test that boots a Linux kernel and checks the console
> +#
> +# SPDX-License-Identifier: GPL-2.0-or-later
> +
> +from qemu_test import LinuxKernelTest, Asset
> +
In case you respin (due to other reasons), please add a second empty line
before the "class" statement (that's the style that we use in the other
tests, too).
Anyway:
Reviewed-by: Thomas Huth <thuth@redhat.com>
> +class Imx8mpEvkMachine(LinuxKernelTest):
> +
> + ASSET_IMAGE = Asset(
> + ('https://cloud.debian.org/images/cloud/bookworm/20231210-1590/'
> + 'debian-12-generic-arm64-20231210-1590.tar.xz'),
> + '7ebf1577b32d5af6204df74b54ca2e4675de9b5a9fa14f3ff70b88eeb7b3b359')
> +
> + KERNEL_OFFSET = 0x51000000
> + KERNEL_SIZE = 32622528
> + INITRD_OFFSET = 0x76000000
> + INITRD_SIZE = 30987766
> + DTB_OFFSET = 0x64F51000
> + DTB_SIZE = 45 * 1024
> +
> + def extract(self, in_path, out_path, offset, size):
> + try:
> + with open(in_path, "rb") as source:
> + source.seek(offset)
> + data = source.read(size)
> + with open(out_path, "wb") as target:
> + target.write(data)
> + except (IOError, ValueError) as e:
> + self.log.error(f"Failed to extract {out_path}: {e}")
> + raise
> +
> + def setUp(self):
> + super().setUp()
> +
> + self.image_path = self.scratch_file("disk.raw")
> + self.kernel_path = self.scratch_file("linux")
> + self.initrd_path = self.scratch_file("initrd.zstd")
> + self.dtb_path = self.scratch_file("imx8mp-evk.dtb")
> +
> + self.archive_extract(self.ASSET_IMAGE)
> + self.extract(self.image_path, self.kernel_path,
> + self.KERNEL_OFFSET, self.KERNEL_SIZE)
> + self.extract(self.image_path, self.initrd_path,
> + self.INITRD_OFFSET, self.INITRD_SIZE)
> + self.extract(self.image_path, self.dtb_path,
> + self.DTB_OFFSET, self.DTB_SIZE)
> +
> + def test_aarch64_imx8mp_evk_usdhc(self):
> + self.set_machine('imx8mp-evk')
> + self.vm.set_console(console_index=1)
> + self.vm.add_args('-m', '2G',
> + '-smp', '4',
> + '-kernel', self.kernel_path,
> + '-initrd', self.initrd_path,
> + '-dtb', self.dtb_path,
> + '-append', 'root=/dev/mmcblk2p1',
> + '-drive', f'file={self.image_path},if=sd,bus=2,'
> + 'format=raw,id=mmcblk2,snapshot=on')
> +
> + self.vm.launch()
> + self.wait_for_console_pattern('Welcome to ')
> +
> +if __name__ == '__main__':
> + LinuxKernelTest.main()
Am 10. April 2025 06:05:35 UTC schrieb Thomas Huth <thuth@redhat.com>:
>On 09/04/2025 22.26, Bernhard Beschow wrote:
>> Introduce a functional test which boots Debian 12 on the imx8mp-evk board. Since
>> the root filesystem resides on an SD card, the test also verifies the basic
>> operation of the USDHC.
>>
>> Signed-off-by: Bernhard Beschow <shentey@gmail.com>
>>
>> --
>> v2:
>> * Make test file executable (Thomas)
>> * Omit fetch() (Thomas)
>> * Omit "-accel tcg" (Thomas)
>> * Add "snapshot=on" to make potential future tests independent
>>
>> Supersedes: 20250405214900.7114-1-shentey@gmail.com
>> ---
>> MAINTAINERS | 1 +
>> tests/functional/meson.build | 1 +
>> tests/functional/test_aarch64_imx8mp_evk.py | 66 +++++++++++++++++++++
>> 3 files changed, 68 insertions(+)
>> create mode 100755 tests/functional/test_aarch64_imx8mp_evk.py
>>
>> diff --git a/MAINTAINERS b/MAINTAINERS
>> index d54b5578f8..4ceffa89dc 100644
>> --- a/MAINTAINERS
>> +++ b/MAINTAINERS
>> @@ -833,6 +833,7 @@ F: include/hw/arm/fsl-imx8mp.h
>> F: include/hw/misc/imx8mp_*.h
>> F: include/hw/pci-host/fsl_imx8m_phy.h
>> F: docs/system/arm/imx8mp-evk.rst
>> +F: tests/functional/test_aarch64_imx8mp_evk.py
>> F: tests/qtest/rs5c372-test.c
>> MPS2 / MPS3
>> diff --git a/tests/functional/meson.build b/tests/functional/meson.build
>> index 0f8be30fe2..aaaf3472f1 100644
>> --- a/tests/functional/meson.build
>> +++ b/tests/functional/meson.build
>> @@ -75,6 +75,7 @@ tests_aarch64_system_quick = [
>> tests_aarch64_system_thorough = [
>> 'aarch64_aspeed',
>> + 'aarch64_imx8mp_evk',
>> 'aarch64_raspi3',
>> 'aarch64_raspi4',
>> 'aarch64_replay',
>> diff --git a/tests/functional/test_aarch64_imx8mp_evk.py b/tests/functional/test_aarch64_imx8mp_evk.py
>> new file mode 100755
>> index 0000000000..62fee74044
>> --- /dev/null
>> +++ b/tests/functional/test_aarch64_imx8mp_evk.py
>> @@ -0,0 +1,66 @@
>> +#!/usr/bin/env python3
>> +#
>> +# Functional test that boots a Linux kernel and checks the console
>> +#
>> +# SPDX-License-Identifier: GPL-2.0-or-later
>> +
>> +from qemu_test import LinuxKernelTest, Asset
>> +
>
>In case you respin (due to other reasons), please add a second empty line before the "class" statement (that's the style that we use in the other tests, too).
>
>Anyway:
>Reviewed-by: Thomas Huth <thuth@redhat.com>
Ping (not for 10.0)
>
>
>> +class Imx8mpEvkMachine(LinuxKernelTest):
>> +
>> + ASSET_IMAGE = Asset(
>> + ('https://cloud.debian.org/images/cloud/bookworm/20231210-1590/'
>> + 'debian-12-generic-arm64-20231210-1590.tar.xz'),
>> + '7ebf1577b32d5af6204df74b54ca2e4675de9b5a9fa14f3ff70b88eeb7b3b359')
>> +
>> + KERNEL_OFFSET = 0x51000000
>> + KERNEL_SIZE = 32622528
>> + INITRD_OFFSET = 0x76000000
>> + INITRD_SIZE = 30987766
>> + DTB_OFFSET = 0x64F51000
>> + DTB_SIZE = 45 * 1024
>> +
>> + def extract(self, in_path, out_path, offset, size):
>> + try:
>> + with open(in_path, "rb") as source:
>> + source.seek(offset)
>> + data = source.read(size)
>> + with open(out_path, "wb") as target:
>> + target.write(data)
>> + except (IOError, ValueError) as e:
>> + self.log.error(f"Failed to extract {out_path}: {e}")
>> + raise
>> +
>> + def setUp(self):
>> + super().setUp()
>> +
>> + self.image_path = self.scratch_file("disk.raw")
>> + self.kernel_path = self.scratch_file("linux")
>> + self.initrd_path = self.scratch_file("initrd.zstd")
>> + self.dtb_path = self.scratch_file("imx8mp-evk.dtb")
>> +
>> + self.archive_extract(self.ASSET_IMAGE)
>> + self.extract(self.image_path, self.kernel_path,
>> + self.KERNEL_OFFSET, self.KERNEL_SIZE)
>> + self.extract(self.image_path, self.initrd_path,
>> + self.INITRD_OFFSET, self.INITRD_SIZE)
>> + self.extract(self.image_path, self.dtb_path,
>> + self.DTB_OFFSET, self.DTB_SIZE)
>> +
>> + def test_aarch64_imx8mp_evk_usdhc(self):
>> + self.set_machine('imx8mp-evk')
>> + self.vm.set_console(console_index=1)
>> + self.vm.add_args('-m', '2G',
>> + '-smp', '4',
>> + '-kernel', self.kernel_path,
>> + '-initrd', self.initrd_path,
>> + '-dtb', self.dtb_path,
>> + '-append', 'root=/dev/mmcblk2p1',
>> + '-drive', f'file={self.image_path},if=sd,bus=2,'
>> + 'format=raw,id=mmcblk2,snapshot=on')
>> +
>> + self.vm.launch()
>> + self.wait_for_console_pattern('Welcome to ')
>> +
>> +if __name__ == '__main__':
>> + LinuxKernelTest.main()
>
On 23/04/2025 11.31, Bernhard Beschow wrote: > > > Am 10. April 2025 06:05:35 UTC schrieb Thomas Huth <thuth@redhat.com>: >> On 09/04/2025 22.26, Bernhard Beschow wrote: >>> Introduce a functional test which boots Debian 12 on the imx8mp-evk board. Since >>> the root filesystem resides on an SD card, the test also verifies the basic >>> operation of the USDHC. >>> >>> Signed-off-by: Bernhard Beschow <shentey@gmail.com> >>> >>> -- >>> v2: >>> * Make test file executable (Thomas) >>> * Omit fetch() (Thomas) >>> * Omit "-accel tcg" (Thomas) >>> * Add "snapshot=on" to make potential future tests independent >>> >>> Supersedes: 20250405214900.7114-1-shentey@gmail.com >>> --- >>> MAINTAINERS | 1 + >>> tests/functional/meson.build | 1 + >>> tests/functional/test_aarch64_imx8mp_evk.py | 66 +++++++++++++++++++++ >>> 3 files changed, 68 insertions(+) >>> create mode 100755 tests/functional/test_aarch64_imx8mp_evk.py >>> >>> diff --git a/MAINTAINERS b/MAINTAINERS >>> index d54b5578f8..4ceffa89dc 100644 >>> --- a/MAINTAINERS >>> +++ b/MAINTAINERS >>> @@ -833,6 +833,7 @@ F: include/hw/arm/fsl-imx8mp.h >>> F: include/hw/misc/imx8mp_*.h >>> F: include/hw/pci-host/fsl_imx8m_phy.h >>> F: docs/system/arm/imx8mp-evk.rst >>> +F: tests/functional/test_aarch64_imx8mp_evk.py >>> F: tests/qtest/rs5c372-test.c >>> MPS2 / MPS3 >>> diff --git a/tests/functional/meson.build b/tests/functional/meson.build >>> index 0f8be30fe2..aaaf3472f1 100644 >>> --- a/tests/functional/meson.build >>> +++ b/tests/functional/meson.build >>> @@ -75,6 +75,7 @@ tests_aarch64_system_quick = [ >>> tests_aarch64_system_thorough = [ >>> 'aarch64_aspeed', >>> + 'aarch64_imx8mp_evk', >>> 'aarch64_raspi3', >>> 'aarch64_raspi4', >>> 'aarch64_replay', >>> diff --git a/tests/functional/test_aarch64_imx8mp_evk.py b/tests/functional/test_aarch64_imx8mp_evk.py >>> new file mode 100755 >>> index 0000000000..62fee74044 >>> --- /dev/null >>> +++ b/tests/functional/test_aarch64_imx8mp_evk.py >>> @@ -0,0 +1,66 @@ >>> +#!/usr/bin/env python3 >>> +# >>> +# Functional test that boots a Linux kernel and checks the console >>> +# >>> +# SPDX-License-Identifier: GPL-2.0-or-later >>> + >>> +from qemu_test import LinuxKernelTest, Asset >>> + >> >> In case you respin (due to other reasons), please add a second empty line before the "class" statement (that's the style that we use in the other tests, too). >> >> Anyway: >> Reviewed-by: Thomas Huth <thuth@redhat.com> > > Ping (not for 10.0) Peter, should this go through your arm tree, or shall I pick it up with other functional test patches for my next PR? Thomas
Hi Thomas, On 23/4/25 11:40, Thomas Huth wrote: > On 23/04/2025 11.31, Bernhard Beschow wrote: >> >> >> Am 10. April 2025 06:05:35 UTC schrieb Thomas Huth <thuth@redhat.com>: >>> On 09/04/2025 22.26, Bernhard Beschow wrote: >>>> Introduce a functional test which boots Debian 12 on the imx8mp-evk >>>> board. Since >>>> the root filesystem resides on an SD card, the test also verifies >>>> the basic >>>> operation of the USDHC. >>>> >>>> Signed-off-by: Bernhard Beschow <shentey@gmail.com> >>>> >>>> -- >>>> v2: >>>> * Make test file executable (Thomas) >>>> * Omit fetch() (Thomas) >>>> * Omit "-accel tcg" (Thomas) >>>> * Add "snapshot=on" to make potential future tests independent >>>> >>>> Supersedes: 20250405214900.7114-1-shentey@gmail.com >>>> --- >>>> MAINTAINERS | 1 + >>>> tests/functional/meson.build | 1 + >>>> tests/functional/test_aarch64_imx8mp_evk.py | 66 ++++++++++++++++ >>>> +++++ >>>> 3 files changed, 68 insertions(+) >>>> create mode 100755 tests/functional/test_aarch64_imx8mp_evk.py >>>> >>>> diff --git a/MAINTAINERS b/MAINTAINERS >>>> index d54b5578f8..4ceffa89dc 100644 >>>> --- a/MAINTAINERS >>>> +++ b/MAINTAINERS >>>> @@ -833,6 +833,7 @@ F: include/hw/arm/fsl-imx8mp.h >>>> F: include/hw/misc/imx8mp_*.h >>>> F: include/hw/pci-host/fsl_imx8m_phy.h >>>> F: docs/system/arm/imx8mp-evk.rst >>>> +F: tests/functional/test_aarch64_imx8mp_evk.py >>>> F: tests/qtest/rs5c372-test.c >>>> MPS2 / MPS3 >>>> diff --git a/tests/functional/meson.build b/tests/functional/ >>>> meson.build >>>> index 0f8be30fe2..aaaf3472f1 100644 >>>> --- a/tests/functional/meson.build >>>> +++ b/tests/functional/meson.build >>>> @@ -75,6 +75,7 @@ tests_aarch64_system_quick = [ >>>> tests_aarch64_system_thorough = [ >>>> 'aarch64_aspeed', >>>> + 'aarch64_imx8mp_evk', >>>> 'aarch64_raspi3', >>>> 'aarch64_raspi4', >>>> 'aarch64_replay', >>>> diff --git a/tests/functional/test_aarch64_imx8mp_evk.py b/tests/ >>>> functional/test_aarch64_imx8mp_evk.py >>>> new file mode 100755 >>>> index 0000000000..62fee74044 >>>> --- /dev/null >>>> +++ b/tests/functional/test_aarch64_imx8mp_evk.py >>>> @@ -0,0 +1,66 @@ >>>> +#!/usr/bin/env python3 >>>> +# >>>> +# Functional test that boots a Linux kernel and checks the console >>>> +# >>>> +# SPDX-License-Identifier: GPL-2.0-or-later >>>> + >>>> +from qemu_test import LinuxKernelTest, Asset >>>> + >>> >>> In case you respin (due to other reasons), please add a second empty >>> line before the "class" statement (that's the style that we use in >>> the other tests, too). >>> >>> Anyway: >>> Reviewed-by: Thomas Huth <thuth@redhat.com> >> >> Ping (not for 10.0) > > Peter, should this go through your arm tree, or shall I pick it up with > other functional test patches for my next PR? My preference would be like with previous Avocado tests: when a (functional) test concerns mostly a dedicated subsystem, I'd rather see the dedicated subsystem maintainers to take it, so they get familiar with the test. Except if the maintainers are busy or unresponsive of course.
On Wed, 23 Apr 2025 at 12:31, Philippe Mathieu-Daudé <philmd@linaro.org> wrote:
>
> Hi Thomas,
>
> On 23/4/25 11:40, Thomas Huth wrote:
> > On 23/04/2025 11.31, Bernhard Beschow wrote:
> >>
> >>
> >> Am 10. April 2025 06:05:35 UTC schrieb Thomas Huth <thuth@redhat.com>:
> >>> On 09/04/2025 22.26, Bernhard Beschow wrote:
> >>>> Introduce a functional test which boots Debian 12 on the imx8mp-evk
> >>>> board. Since
> >>>> the root filesystem resides on an SD card, the test also verifies
> >>>> the basic
> >>>> operation of the USDHC.
> >>>>
> >>>> Signed-off-by: Bernhard Beschow <shentey@gmail.com>
> >>>>
> >>>> --
> >>>> v2:
> >>>> * Make test file executable (Thomas)
> >>>> * Omit fetch() (Thomas)
> >>>> * Omit "-accel tcg" (Thomas)
> >>>> * Add "snapshot=on" to make potential future tests independent
> >>>>
> >>>> Supersedes: 20250405214900.7114-1-shentey@gmail.com
> >>>> ---
> >>>> MAINTAINERS | 1 +
> >>>> tests/functional/meson.build | 1 +
> >>>> tests/functional/test_aarch64_imx8mp_evk.py | 66 ++++++++++++++++
> >>>> +++++
> >>>> 3 files changed, 68 insertions(+)
> >>>> create mode 100755 tests/functional/test_aarch64_imx8mp_evk.py
> >>>>
> >>>> diff --git a/MAINTAINERS b/MAINTAINERS
> >>>> index d54b5578f8..4ceffa89dc 100644
> >>>> --- a/MAINTAINERS
> >>>> +++ b/MAINTAINERS
> >>>> @@ -833,6 +833,7 @@ F: include/hw/arm/fsl-imx8mp.h
> >>>> F: include/hw/misc/imx8mp_*.h
> >>>> F: include/hw/pci-host/fsl_imx8m_phy.h
> >>>> F: docs/system/arm/imx8mp-evk.rst
> >>>> +F: tests/functional/test_aarch64_imx8mp_evk.py
> >>>> F: tests/qtest/rs5c372-test.c
> >>>> MPS2 / MPS3
> >>>> diff --git a/tests/functional/meson.build b/tests/functional/
> >>>> meson.build
> >>>> index 0f8be30fe2..aaaf3472f1 100644
> >>>> --- a/tests/functional/meson.build
> >>>> +++ b/tests/functional/meson.build
> >>>> @@ -75,6 +75,7 @@ tests_aarch64_system_quick = [
> >>>> tests_aarch64_system_thorough = [
> >>>> 'aarch64_aspeed',
> >>>> + 'aarch64_imx8mp_evk',
> >>>> 'aarch64_raspi3',
> >>>> 'aarch64_raspi4',
> >>>> 'aarch64_replay',
> >>>> diff --git a/tests/functional/test_aarch64_imx8mp_evk.py b/tests/
> >>>> functional/test_aarch64_imx8mp_evk.py
> >>>> new file mode 100755
> >>>> index 0000000000..62fee74044
> >>>> --- /dev/null
> >>>> +++ b/tests/functional/test_aarch64_imx8mp_evk.py
> >>>> @@ -0,0 +1,66 @@
> >>>> +#!/usr/bin/env python3
> >>>> +#
> >>>> +# Functional test that boots a Linux kernel and checks the console
> >>>> +#
> >>>> +# SPDX-License-Identifier: GPL-2.0-or-later
> >>>> +
> >>>> +from qemu_test import LinuxKernelTest, Asset
> >>>> +
> >>>
> >>> In case you respin (due to other reasons), please add a second empty
> >>> line before the "class" statement (that's the style that we use in
> >>> the other tests, too).
> >>>
> >>> Anyway:
> >>> Reviewed-by: Thomas Huth <thuth@redhat.com>
> >>
> >> Ping (not for 10.0)
> >
> > Peter, should this go through your arm tree, or shall I pick it up with
> > other functional test patches for my next PR?
>
> My preference would be like with previous Avocado tests: when a
> (functional) test concerns mostly a dedicated subsystem, I'd rather see
> the dedicated subsystem maintainers to take it, so they get familiar
> with the test. Except if the maintainers are busy or unresponsive of
> course.
I don't care much either way, and in this case I was away, so I'd
have been happy for Thomas to take this via the test tree in my
absence.
But I'm back again now, so I've applied this to target-arm.next.
Since on my machine it takes 42s to run on a clang-sanitizer
build, and 96s on a debug build, I have added this to
tests/functional/meson.build in the hope of avoiding timeouts
on slow systems:
--- a/tests/functional/meson.build
+++ b/tests/functional/meson.build
@@ -12,6 +12,7 @@ endif
# Timeouts for individual tests that can be slow e.g. with debugging enabled
test_timeouts = {
'aarch64_aspeed' : 600,
+ 'aarch64_imx8mp_evk' : 240,
'aarch64_raspi4' : 480,
'aarch64_reverse_debug' : 180,
'aarch64_rme_virt' : 1200,
thanks
-- PMM
Am 23. April 2025 11:31:31 UTC schrieb "Philippe Mathieu-Daudé" <philmd@linaro.org>: >Hi Thomas, > >On 23/4/25 11:40, Thomas Huth wrote: >> On 23/04/2025 11.31, Bernhard Beschow wrote: >>> >>> >>> Am 10. April 2025 06:05:35 UTC schrieb Thomas Huth <thuth@redhat.com>: >>>> On 09/04/2025 22.26, Bernhard Beschow wrote: >>>>> Introduce a functional test which boots Debian 12 on the imx8mp-evk board. Since >>>>> the root filesystem resides on an SD card, the test also verifies the basic >>>>> operation of the USDHC. >>>>> >>>>> Signed-off-by: Bernhard Beschow <shentey@gmail.com> >>>>> >>>>> -- >>>>> v2: >>>>> * Make test file executable (Thomas) >>>>> * Omit fetch() (Thomas) >>>>> * Omit "-accel tcg" (Thomas) >>>>> * Add "snapshot=on" to make potential future tests independent >>>>> >>>>> Supersedes: 20250405214900.7114-1-shentey@gmail.com >>>>> --- >>>>> MAINTAINERS | 1 + >>>>> tests/functional/meson.build | 1 + >>>>> tests/functional/test_aarch64_imx8mp_evk.py | 66 ++++++++++++++++ +++++ >>>>> 3 files changed, 68 insertions(+) >>>>> create mode 100755 tests/functional/test_aarch64_imx8mp_evk.py >>>>> >>>>> diff --git a/MAINTAINERS b/MAINTAINERS >>>>> index d54b5578f8..4ceffa89dc 100644 >>>>> --- a/MAINTAINERS >>>>> +++ b/MAINTAINERS >>>>> @@ -833,6 +833,7 @@ F: include/hw/arm/fsl-imx8mp.h >>>>> F: include/hw/misc/imx8mp_*.h >>>>> F: include/hw/pci-host/fsl_imx8m_phy.h >>>>> F: docs/system/arm/imx8mp-evk.rst >>>>> +F: tests/functional/test_aarch64_imx8mp_evk.py >>>>> F: tests/qtest/rs5c372-test.c >>>>> MPS2 / MPS3 >>>>> diff --git a/tests/functional/meson.build b/tests/functional/ meson.build >>>>> index 0f8be30fe2..aaaf3472f1 100644 >>>>> --- a/tests/functional/meson.build >>>>> +++ b/tests/functional/meson.build >>>>> @@ -75,6 +75,7 @@ tests_aarch64_system_quick = [ >>>>> tests_aarch64_system_thorough = [ >>>>> 'aarch64_aspeed', >>>>> + 'aarch64_imx8mp_evk', >>>>> 'aarch64_raspi3', >>>>> 'aarch64_raspi4', >>>>> 'aarch64_replay', >>>>> diff --git a/tests/functional/test_aarch64_imx8mp_evk.py b/tests/ functional/test_aarch64_imx8mp_evk.py >>>>> new file mode 100755 >>>>> index 0000000000..62fee74044 >>>>> --- /dev/null >>>>> +++ b/tests/functional/test_aarch64_imx8mp_evk.py >>>>> @@ -0,0 +1,66 @@ >>>>> +#!/usr/bin/env python3 >>>>> +# >>>>> +# Functional test that boots a Linux kernel and checks the console >>>>> +# >>>>> +# SPDX-License-Identifier: GPL-2.0-or-later >>>>> + >>>>> +from qemu_test import LinuxKernelTest, Asset >>>>> + >>>> >>>> In case you respin (due to other reasons), please add a second empty line before the "class" statement (that's the style that we use in the other tests, too). >>>> >>>> Anyway: >>>> Reviewed-by: Thomas Huth <thuth@redhat.com> >>> >>> Ping (not for 10.0) >> >> Peter, should this go through your arm tree, or shall I pick it up with other functional test patches for my next PR? > >My preference would be like with previous Avocado tests: when a >(functional) test concerns mostly a dedicated subsystem, I'd rather see >the dedicated subsystem maintainers to take it, so they get familiar >with the test. Except if the maintainers are busy or unresponsive of >course. Ping
© 2016 - 2025 Red Hat, Inc.