Message ID | 20250203092606.491933-1-clg@redhat.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | tests/functional: Add a ppc sam460ex test | expand |
On Mon, 3 Feb 2025, Cédric Le Goater wrote: > The test sequence boots from kernel a sam460ex machine with a > virtio-net device to check PCI. > > The buildroot is built with config : > > BR2_powerpc=y > BR2_powerpc_440fp=y > > and the kernel with the '44x/canyonlands' deconfig and virtio support. > > Cc: BALATON Zoltan <balaton@eik.bme.hu> > Signed-off-by: Cédric Le Goater <clg@redhat.com> > --- > MAINTAINERS | 1 + > tests/functional/meson.build | 1 + > tests/functional/test_ppc_sam460ex.py | 38 +++++++++++++++++++++++++++ > 3 files changed, 40 insertions(+) > create mode 100644 tests/functional/test_ppc_sam460ex.py > > diff --git a/MAINTAINERS b/MAINTAINERS > index 8d30c5bafd87..e4ab6031511b 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -1555,6 +1555,7 @@ F: pc-bios/canyonlands.dt[sb] > F: pc-bios/u-boot-sam460ex-20100605.bin > F: roms/u-boot-sam460ex > F: docs/system/ppc/amigang.rst > +F: tests/functional/test_ppc_sam460ex.py > > pegasos2 > M: BALATON Zoltan <balaton@eik.bme.hu> > diff --git a/tests/functional/meson.build b/tests/functional/meson.build > index 868f4a64b60b..6a5f1dc405cb 100644 > --- a/tests/functional/meson.build > +++ b/tests/functional/meson.build > @@ -193,6 +193,7 @@ tests_ppc_system_thorough = [ > 'ppc_40p', > 'ppc_amiga', > 'ppc_bamboo', > + 'ppc_sam460ex', Instead of adding a new file this could be within ppc_amiga which was meant to be a place for all AmigaNG boards but only has amigaone for now. Unless there's a good reason for it to be separate due to how tests work that I'm not aware of. Regards, BALATON Zoltan > 'ppc_mac', > 'ppc_mpc8544ds', > 'ppc_tuxrun', > diff --git a/tests/functional/test_ppc_sam460ex.py b/tests/functional/test_ppc_sam460ex.py > new file mode 100644 > index 000000000000..31cf9dd6de83 > --- /dev/null > +++ b/tests/functional/test_ppc_sam460ex.py > @@ -0,0 +1,38 @@ > +#!/usr/bin/env python3 > +# > +# Functional test that boots a sam460ex machine with a PPC 460EX CPU > +# > +# SPDX-License-Identifier: GPL-2.0-or-later > + > +from qemu_test import LinuxKernelTest, Asset > +from qemu_test import exec_command_and_wait_for_pattern > + > + > +class sam460exTest(LinuxKernelTest): > + > + ASSET_BR2_SAM460EX_LINUX = Asset( > + 'https://github.com/legoater/qemu-ppc-boot/raw/refs/heads/main/buildroot/qemu_ppc_sam460ex-2023.11-8-gdcd9f0f6eb-20240105/vmlinux', > + '6f46346f3e20e8b5fc050ff363f350f8b9d76a051b9e0bd7ea470cc680c14df2') > + > + def test_ppc_sam460ex_buildroot(self): > + self.set_machine('sam460ex') > + self.require_netdev('user') > + > + linux_path = self.ASSET_BR2_SAM460EX_LINUX.fetch() > + > + self.vm.set_console() > + self.vm.add_args('-kernel', linux_path, > + '-device', 'virtio-net-pci,netdev=net0', > + '-netdev', 'user,id=net0') > + self.vm.launch() > + > + self.wait_for_console_pattern('Linux version') > + self.wait_for_console_pattern('Hardware name: amcc,canyonlands 460EX') > + self.wait_for_console_pattern('/init as init process') > + self.wait_for_console_pattern('lease of 10.0.2.15 obtained') > + self.wait_for_console_pattern('buildroot login:') > + exec_command_and_wait_for_pattern(self, 'root', '#') > + exec_command_and_wait_for_pattern(self, 'poweroff', 'System Halted') > + > +if __name__ == '__main__': > + LinuxKernelTest.main() >
On 03/02/2025 12.29, BALATON Zoltan wrote: > On Mon, 3 Feb 2025, Cédric Le Goater wrote: >> The test sequence boots from kernel a sam460ex machine with a >> virtio-net device to check PCI. >> >> The buildroot is built with config : >> >> BR2_powerpc=y >> BR2_powerpc_440fp=y >> >> and the kernel with the '44x/canyonlands' deconfig and virtio support. >> >> Cc: BALATON Zoltan <balaton@eik.bme.hu> >> Signed-off-by: Cédric Le Goater <clg@redhat.com> >> --- >> MAINTAINERS | 1 + >> tests/functional/meson.build | 1 + >> tests/functional/test_ppc_sam460ex.py | 38 +++++++++++++++++++++++++++ >> 3 files changed, 40 insertions(+) >> create mode 100644 tests/functional/test_ppc_sam460ex.py >> >> diff --git a/MAINTAINERS b/MAINTAINERS >> index 8d30c5bafd87..e4ab6031511b 100644 >> --- a/MAINTAINERS >> +++ b/MAINTAINERS >> @@ -1555,6 +1555,7 @@ F: pc-bios/canyonlands.dt[sb] >> F: pc-bios/u-boot-sam460ex-20100605.bin >> F: roms/u-boot-sam460ex >> F: docs/system/ppc/amigang.rst >> +F: tests/functional/test_ppc_sam460ex.py >> >> pegasos2 >> M: BALATON Zoltan <balaton@eik.bme.hu> >> diff --git a/tests/functional/meson.build b/tests/functional/meson.build >> index 868f4a64b60b..6a5f1dc405cb 100644 >> --- a/tests/functional/meson.build >> +++ b/tests/functional/meson.build >> @@ -193,6 +193,7 @@ tests_ppc_system_thorough = [ >> 'ppc_40p', >> 'ppc_amiga', >> 'ppc_bamboo', >> + 'ppc_sam460ex', > > Instead of adding a new file this could be within ppc_amiga which was meant > to be a place for all AmigaNG boards but only has amigaone for now. Unless > there's a good reason for it to be separate due to how tests work that I'm > not aware of. Tests that are in separate files can later be run in parallel, so I think it makes sense to keep this in a separate file. Thomas
diff --git a/MAINTAINERS b/MAINTAINERS index 8d30c5bafd87..e4ab6031511b 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -1555,6 +1555,7 @@ F: pc-bios/canyonlands.dt[sb] F: pc-bios/u-boot-sam460ex-20100605.bin F: roms/u-boot-sam460ex F: docs/system/ppc/amigang.rst +F: tests/functional/test_ppc_sam460ex.py pegasos2 M: BALATON Zoltan <balaton@eik.bme.hu> diff --git a/tests/functional/meson.build b/tests/functional/meson.build index 868f4a64b60b..6a5f1dc405cb 100644 --- a/tests/functional/meson.build +++ b/tests/functional/meson.build @@ -193,6 +193,7 @@ tests_ppc_system_thorough = [ 'ppc_40p', 'ppc_amiga', 'ppc_bamboo', + 'ppc_sam460ex', 'ppc_mac', 'ppc_mpc8544ds', 'ppc_tuxrun', diff --git a/tests/functional/test_ppc_sam460ex.py b/tests/functional/test_ppc_sam460ex.py new file mode 100644 index 000000000000..31cf9dd6de83 --- /dev/null +++ b/tests/functional/test_ppc_sam460ex.py @@ -0,0 +1,38 @@ +#!/usr/bin/env python3 +# +# Functional test that boots a sam460ex machine with a PPC 460EX CPU +# +# SPDX-License-Identifier: GPL-2.0-or-later + +from qemu_test import LinuxKernelTest, Asset +from qemu_test import exec_command_and_wait_for_pattern + + +class sam460exTest(LinuxKernelTest): + + ASSET_BR2_SAM460EX_LINUX = Asset( + 'https://github.com/legoater/qemu-ppc-boot/raw/refs/heads/main/buildroot/qemu_ppc_sam460ex-2023.11-8-gdcd9f0f6eb-20240105/vmlinux', + '6f46346f3e20e8b5fc050ff363f350f8b9d76a051b9e0bd7ea470cc680c14df2') + + def test_ppc_sam460ex_buildroot(self): + self.set_machine('sam460ex') + self.require_netdev('user') + + linux_path = self.ASSET_BR2_SAM460EX_LINUX.fetch() + + self.vm.set_console() + self.vm.add_args('-kernel', linux_path, + '-device', 'virtio-net-pci,netdev=net0', + '-netdev', 'user,id=net0') + self.vm.launch() + + self.wait_for_console_pattern('Linux version') + self.wait_for_console_pattern('Hardware name: amcc,canyonlands 460EX') + self.wait_for_console_pattern('/init as init process') + self.wait_for_console_pattern('lease of 10.0.2.15 obtained') + self.wait_for_console_pattern('buildroot login:') + exec_command_and_wait_for_pattern(self, 'root', '#') + exec_command_and_wait_for_pattern(self, 'poweroff', 'System Halted') + +if __name__ == '__main__': + LinuxKernelTest.main()
The test sequence boots from kernel a sam460ex machine with a virtio-net device to check PCI. The buildroot is built with config : BR2_powerpc=y BR2_powerpc_440fp=y and the kernel with the '44x/canyonlands' deconfig and virtio support. Cc: BALATON Zoltan <balaton@eik.bme.hu> Signed-off-by: Cédric Le Goater <clg@redhat.com> --- MAINTAINERS | 1 + tests/functional/meson.build | 1 + tests/functional/test_ppc_sam460ex.py | 38 +++++++++++++++++++++++++++ 3 files changed, 40 insertions(+) create mode 100644 tests/functional/test_ppc_sam460ex.py