Message ID | 20241017163247.711244-2-peter.maydell@linaro.org (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | arm: Add collie and sx functional tests | expand |
On 17/10/2024 18.32, Peter Maydell wrote: > Add a functional test for the collie board that uses the kernel and > rootfs provided by Guenter Roeck in the linux-test-downloads repo: > https://github.com/groeck/linux-test-downloads/ > > This just boots Linux with a userspace that immediately reboots > the board, so we wait for the reboot log line. > > Signed-off-by: Peter Maydell <peter.maydell@linaro.org> > --- > MAINTAINERS | 1 + > tests/functional/meson.build | 1 + > tests/functional/test_arm_collie.py | 31 +++++++++++++++++++++++++++++ > 3 files changed, 33 insertions(+) > create mode 100755 tests/functional/test_arm_collie.py > > diff --git a/MAINTAINERS b/MAINTAINERS > index c21d6a2f9e1..10b3360ed40 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -929,6 +929,7 @@ F: hw/arm/strongarm* > F: hw/gpio/zaurus.c > F: include/hw/arm/sharpsl.h > F: docs/system/arm/collie.rst > +F: tests/functional/test_arm_collie.py > > Stellaris > M: Peter Maydell <peter.maydell@linaro.org> > diff --git a/tests/functional/meson.build b/tests/functional/meson.build > index c90c02517a0..0450805a9c4 100644 > --- a/tests/functional/meson.build > +++ b/tests/functional/meson.build > @@ -51,6 +51,7 @@ tests_alpha_system_thorough = [ > > tests_arm_system_thorough = [ > 'arm_canona1100', > + 'arm_collie', > 'arm_integratorcp', > 'arm_raspi2', > 'arm_vexpress', > diff --git a/tests/functional/test_arm_collie.py b/tests/functional/test_arm_collie.py > new file mode 100755 > index 00000000000..7e144a0a8fb > --- /dev/null > +++ b/tests/functional/test_arm_collie.py > @@ -0,0 +1,31 @@ > +#!/usr/bin/env python3 > +# > +# Functional test that boots a Linux kernel on a collie machine > +# and checks the console > +# > +# SPDX-License-Identifier: GPL-2.0-or-later > + > +from qemu_test import LinuxKernelTest, Asset > +from qemu_test.utils import archive_extract > + > +class CollieTest(LinuxKernelTest): > + > + ASSET_ZIMAGE = Asset( > + 'https://github.com/groeck/linux-test-downloads/raw/225223f2ad7d637b34426810bf6c3b727b76a718/collie/zImage', > + '10ace8abf9e0875ef8a83b8829cc3b5b50bc6d7bc3ca29f19f49f5673a43c13b') > + > + ASSET_ROOTFS = Asset( > + 'https://github.com/groeck/linux-test-downloads/raw/225223f2ad7d637b34426810bf6c3b727b76a718/collie/rootfs-sa110.cpio', > + '89ccaaa5c6b33331887047e1618ffe81b0f55909173944347d5d2426f3bcc1f2') > + > + def test_arm_collie(self): > + self.set_machine('collie') > + zimage_path = self.ASSET_ZIMAGE.fetch() > + rootfs_path = self.ASSET_ROOTFS.fetch() > + self.vm.add_args('-append', 'rdinit=/sbin/init console=ttySA1') > + self.launch_kernel(zimage_path, > + initrd=rootfs_path, > + wait_for='reboot: Restarting system') > + > +if __name__ == '__main__': > + LinuxKernelTest.main() Reviewed-by: Thomas Huth <thuth@redhat.com>
On 17/10/24 13:32, Peter Maydell wrote: > Add a functional test for the collie board that uses the kernel and > rootfs provided by Guenter Roeck in the linux-test-downloads repo: > https://github.com/groeck/linux-test-downloads/ > > This just boots Linux with a userspace that immediately reboots > the board, so we wait for the reboot log line. > > Signed-off-by: Peter Maydell <peter.maydell@linaro.org> > --- > MAINTAINERS | 1 + > tests/functional/meson.build | 1 + > tests/functional/test_arm_collie.py | 31 +++++++++++++++++++++++++++++ > 3 files changed, 33 insertions(+) > create mode 100755 tests/functional/test_arm_collie.py > +class CollieTest(LinuxKernelTest): > + > + ASSET_ZIMAGE = Asset( > + 'https://github.com/groeck/linux-test-downloads/raw/225223f2ad7d637b34426810bf6c3b727b76a718/collie/zImage', > + '10ace8abf9e0875ef8a83b8829cc3b5b50bc6d7bc3ca29f19f49f5673a43c13b') > + > + ASSET_ROOTFS = Asset( > + 'https://github.com/groeck/linux-test-downloads/raw/225223f2ad7d637b34426810bf6c3b727b76a718/collie/rootfs-sa110.cpio', > + '89ccaaa5c6b33331887047e1618ffe81b0f55909173944347d5d2426f3bcc1f2') Should we wrap these lines to comply with checkpatch.pl? Otherwise, Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
On Tue, Oct 22, 2024 at 01:11:31AM -0300, Philippe Mathieu-Daudé wrote: > On 17/10/24 13:32, Peter Maydell wrote: > > Add a functional test for the collie board that uses the kernel and > > rootfs provided by Guenter Roeck in the linux-test-downloads repo: > > https://github.com/groeck/linux-test-downloads/ > > > > This just boots Linux with a userspace that immediately reboots > > the board, so we wait for the reboot log line. > > > > Signed-off-by: Peter Maydell <peter.maydell@linaro.org> > > --- > > MAINTAINERS | 1 + > > tests/functional/meson.build | 1 + > > tests/functional/test_arm_collie.py | 31 +++++++++++++++++++++++++++++ > > 3 files changed, 33 insertions(+) > > create mode 100755 tests/functional/test_arm_collie.py > > > > +class CollieTest(LinuxKernelTest): > > + > > + ASSET_ZIMAGE = Asset( > > + 'https://github.com/groeck/linux-test-downloads/raw/225223f2ad7d637b34426810bf6c3b727b76a718/collie/zImage', > > + '10ace8abf9e0875ef8a83b8829cc3b5b50bc6d7bc3ca29f19f49f5673a43c13b') > > + > > + ASSET_ROOTFS = Asset( > > + 'https://github.com/groeck/linux-test-downloads/raw/225223f2ad7d637b34426810bf6c3b727b76a718/collie/rootfs-sa110.cpio', > > + '89ccaaa5c6b33331887047e1618ffe81b0f55909173944347d5d2426f3bcc1f2') > > Should we wrap these lines to comply with checkpatch.pl? While we have some line wrapped URLs in the tests already, IMHO they are pretty awful to look at. I think we should make URLs be an exception to line wrapping rules, provided the URL is the /only/ thing on the line. With regards, Daniel
On Tue, 22 Oct 2024 at 08:09, Daniel P. Berrangé <berrange@redhat.com> wrote: > > On Tue, Oct 22, 2024 at 01:11:31AM -0300, Philippe Mathieu-Daudé wrote: > > On 17/10/24 13:32, Peter Maydell wrote: > > > Add a functional test for the collie board that uses the kernel and > > > rootfs provided by Guenter Roeck in the linux-test-downloads repo: > > > https://github.com/groeck/linux-test-downloads/ > > > > > > This just boots Linux with a userspace that immediately reboots > > > the board, so we wait for the reboot log line. > > > > > > Signed-off-by: Peter Maydell <peter.maydell@linaro.org> > > > --- > > > MAINTAINERS | 1 + > > > tests/functional/meson.build | 1 + > > > tests/functional/test_arm_collie.py | 31 +++++++++++++++++++++++++++++ > > > 3 files changed, 33 insertions(+) > > > create mode 100755 tests/functional/test_arm_collie.py > > > > > > > +class CollieTest(LinuxKernelTest): > > > + > > > + ASSET_ZIMAGE = Asset( > > > + 'https://github.com/groeck/linux-test-downloads/raw/225223f2ad7d637b34426810bf6c3b727b76a718/collie/zImage', > > > + '10ace8abf9e0875ef8a83b8829cc3b5b50bc6d7bc3ca29f19f49f5673a43c13b') > > > + > > > + ASSET_ROOTFS = Asset( > > > + 'https://github.com/groeck/linux-test-downloads/raw/225223f2ad7d637b34426810bf6c3b727b76a718/collie/rootfs-sa110.cpio', > > > + '89ccaaa5c6b33331887047e1618ffe81b0f55909173944347d5d2426f3bcc1f2') > > > > Should we wrap these lines to comply with checkpatch.pl? > > While we have some line wrapped URLs in the tests already, IMHO they are > pretty awful to look at. I think we should make URLs be an exception to > line wrapping rules, provided the URL is the /only/ thing on the line. Our style guide already says "If wrapping the line at 80 columns is obviously less readable and more awkward, prefer not to wrap it" and that's the principle under which I chose not to wrap these. (I think of this as analogous to George Orwell's "Break any of these rules sooner than say anything outright barbarous" rule for writing English...) -- PMM
On 22/10/24 06:02, Peter Maydell wrote: > On Tue, 22 Oct 2024 at 08:09, Daniel P. Berrangé <berrange@redhat.com> wrote: >> >> On Tue, Oct 22, 2024 at 01:11:31AM -0300, Philippe Mathieu-Daudé wrote: >>> On 17/10/24 13:32, Peter Maydell wrote: >>>> Add a functional test for the collie board that uses the kernel and >>>> rootfs provided by Guenter Roeck in the linux-test-downloads repo: >>>> https://github.com/groeck/linux-test-downloads/ >>>> >>>> This just boots Linux with a userspace that immediately reboots >>>> the board, so we wait for the reboot log line. >>>> >>>> Signed-off-by: Peter Maydell <peter.maydell@linaro.org> >>>> --- >>>> MAINTAINERS | 1 + >>>> tests/functional/meson.build | 1 + >>>> tests/functional/test_arm_collie.py | 31 +++++++++++++++++++++++++++++ >>>> 3 files changed, 33 insertions(+) >>>> create mode 100755 tests/functional/test_arm_collie.py >>> >>> >>>> +class CollieTest(LinuxKernelTest): >>>> + >>>> + ASSET_ZIMAGE = Asset( >>>> + 'https://github.com/groeck/linux-test-downloads/raw/225223f2ad7d637b34426810bf6c3b727b76a718/collie/zImage', >>>> + '10ace8abf9e0875ef8a83b8829cc3b5b50bc6d7bc3ca29f19f49f5673a43c13b') >>>> + >>>> + ASSET_ROOTFS = Asset( >>>> + 'https://github.com/groeck/linux-test-downloads/raw/225223f2ad7d637b34426810bf6c3b727b76a718/collie/rootfs-sa110.cpio', >>>> + '89ccaaa5c6b33331887047e1618ffe81b0f55909173944347d5d2426f3bcc1f2') >>> >>> Should we wrap these lines to comply with checkpatch.pl? >> >> While we have some line wrapped URLs in the tests already, IMHO they are >> pretty awful to look at. I think we should make URLs be an exception to >> line wrapping rules, provided the URL is the /only/ thing on the line. Clever, fine by me. > Our style guide already says > "If wrapping the line at 80 columns is obviously less readable and more > awkward, prefer not to wrap it" > and that's the principle under which I chose not to wrap these. > > (I think of this as analogous to George Orwell's "Break any > of these rules sooner than say anything outright barbarous" > rule for writing English...) > > -- PMM
diff --git a/MAINTAINERS b/MAINTAINERS index c21d6a2f9e1..10b3360ed40 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -929,6 +929,7 @@ F: hw/arm/strongarm* F: hw/gpio/zaurus.c F: include/hw/arm/sharpsl.h F: docs/system/arm/collie.rst +F: tests/functional/test_arm_collie.py Stellaris M: Peter Maydell <peter.maydell@linaro.org> diff --git a/tests/functional/meson.build b/tests/functional/meson.build index c90c02517a0..0450805a9c4 100644 --- a/tests/functional/meson.build +++ b/tests/functional/meson.build @@ -51,6 +51,7 @@ tests_alpha_system_thorough = [ tests_arm_system_thorough = [ 'arm_canona1100', + 'arm_collie', 'arm_integratorcp', 'arm_raspi2', 'arm_vexpress', diff --git a/tests/functional/test_arm_collie.py b/tests/functional/test_arm_collie.py new file mode 100755 index 00000000000..7e144a0a8fb --- /dev/null +++ b/tests/functional/test_arm_collie.py @@ -0,0 +1,31 @@ +#!/usr/bin/env python3 +# +# Functional test that boots a Linux kernel on a collie machine +# and checks the console +# +# SPDX-License-Identifier: GPL-2.0-or-later + +from qemu_test import LinuxKernelTest, Asset +from qemu_test.utils import archive_extract + +class CollieTest(LinuxKernelTest): + + ASSET_ZIMAGE = Asset( + 'https://github.com/groeck/linux-test-downloads/raw/225223f2ad7d637b34426810bf6c3b727b76a718/collie/zImage', + '10ace8abf9e0875ef8a83b8829cc3b5b50bc6d7bc3ca29f19f49f5673a43c13b') + + ASSET_ROOTFS = Asset( + 'https://github.com/groeck/linux-test-downloads/raw/225223f2ad7d637b34426810bf6c3b727b76a718/collie/rootfs-sa110.cpio', + '89ccaaa5c6b33331887047e1618ffe81b0f55909173944347d5d2426f3bcc1f2') + + def test_arm_collie(self): + self.set_machine('collie') + zimage_path = self.ASSET_ZIMAGE.fetch() + rootfs_path = self.ASSET_ROOTFS.fetch() + self.vm.add_args('-append', 'rdinit=/sbin/init console=ttySA1') + self.launch_kernel(zimage_path, + initrd=rootfs_path, + wait_for='reboot: Restarting system') + +if __name__ == '__main__': + LinuxKernelTest.main()
Add a functional test for the collie board that uses the kernel and rootfs provided by Guenter Roeck in the linux-test-downloads repo: https://github.com/groeck/linux-test-downloads/ This just boots Linux with a userspace that immediately reboots the board, so we wait for the reboot log line. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> --- MAINTAINERS | 1 + tests/functional/meson.build | 1 + tests/functional/test_arm_collie.py | 31 +++++++++++++++++++++++++++++ 3 files changed, 33 insertions(+) create mode 100755 tests/functional/test_arm_collie.py