summary refs log tree commit diff stats
path: root/tests/functional (follow)
Commit message (Collapse)AuthorAgeFilesLines
* tests/functional: Replace the ppc64 e500 advent calendar testCédric Le Goater2025-02-261-7/+26
| | | | | | | | | | | | | | | Replace the advent calendar test with a buildroot image built with qemu_ppc64_e5500_defconfig. Unlike the advent calendar image, this newer buildroot image supports networking, too. Thus boot a ppce500 machine from kernel and disk, test network and poweroff. Add '-no-shutdown' to the command line to avoid exiting from QEMU as it seems to bother the functional framework. Signed-off-by: Cédric Le Goater <clg@redhat.com> Message-ID: <20250226065013.196052-1-clg@redhat.com> Reviewed-by: Thomas Huth <thuth@redhat.com> [thuth: Add some wording about network support to the commit message] Signed-off-by: Thomas Huth <thuth@redhat.com>
* tests/functional: Bump some arm test timeoutsPeter Maydell2025-02-262-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On my local machine, for a debug build, sbsaref_alpine takes nearly 900s: $ (cd build/x86 && ./pyvenv/bin/meson test --setup thorough --suite func-thorough func-aarch64-aarch64_sbsaref_alpine ) 1/1 qemu:func-thorough+func-aarch64-thorough+thorough / func-aarch64-aarch64_sbsaref_alpine OK 896.90s arm_aspeed_rainier can also run close to its current timeout: 6/44 qemu:func-thorough+func-arm-thorough+thorough / func-arm-arm_aspeed_rainier OK 215.75s and arm_aspeed_ast2500 and arm_aspeed_ast2600 can go over: 13/44 qemu:func-thorough+func-arm-thorough+thorough / func-arm-arm_aspeed_ast2600 OK 792.94s 27/44 qemu:func-thorough+func-arm-thorough+thorough / func-arm-arm_aspeed_ast2500 TIMEOUT 480.01s The sx1 test fails not on the overall meson timeout but on the 60 second timeout in some of the subtests. Bump all these timeouts up a bit. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Thomas Huth <thuth@redhat.com> Message-ID: <20250221140640.786341-1-peter.maydell@linaro.org> Signed-off-by: Thomas Huth <thuth@redhat.com>
* tests/functional: Convert the x86_64 replay avocado testsThomas Huth2025-02-262-0/+37
| | | | | | | | Put the tests into a separate file now (in the functional framework, each file is run with one specific qemu-system-* binary). Signed-off-by: Thomas Huth <thuth@redhat.com Message-ID: <20250218152744.228335-14-thuth@redhat.com>
* tests/functional: Convert the aarch64 replay avocado testsThomas Huth2025-02-262-0/+31
| | | | | | | | Put the tests into a separate file now (in the functional framework, each file is run with one specific qemu-system-* binary). Signed-off-by: Thomas Huth <thuth@redhat.com> Message-ID: <20250218152744.228335-13-thuth@redhat.com>
* tests/functional: Convert the s390x replay avocado testsThomas Huth2025-02-262-0/+29
| | | | | | | | Put the tests into a separate file now (in the functional framework, each file is run with one specific qemu-system-* binary). Signed-off-by: Thomas Huth <thuth@redhat.com> Message-ID: <20250218152744.228335-12-thuth@redhat.com>
* tests/functional: Convert the alpha replay avocado testsThomas Huth2025-02-262-0/+30
| | | | | | | | Put the tests into a separate file now (since in the functional framework, each file is run with one specific qemu-system-* binary). Signed-off-by: Thomas Huth <thuth@redhat.com> Message-ID: <20250218152744.228335-11-thuth@redhat.com>
* tests/functional: Convert the arm replay avocado testsThomas Huth2025-02-262-0/+70
| | | | | | | | Put the tests into a separate file now (since in the functional framework, each file is run with one specific qemu-system-* binary). Signed-off-by: Thomas Huth <thuth@redhat.com> Message-ID: <20250218152744.228335-10-thuth@redhat.com>
* tests/functional: Convert the m68k replay avocado testsThomas Huth2025-02-262-0/+43
| | | | | | | | Put the tests into a separate file now (since in the functional framework, each file is run with one specific qemu-system-* binary). Signed-off-by: Thomas Huth <thuth@redhat.com> Message-ID: <20250218152744.228335-9-thuth@redhat.com>
* tests/functional: Convert the microblaze replay avocado testsThomas Huth2025-02-262-0/+29
| | | | | | | | Put the tests into a separate file now (since in the functional framework, each file is run with one specific qemu-system-* binary). Signed-off-by: Thomas Huth <thuth@redhat.com> Message-ID: <20250218152744.228335-8-thuth@redhat.com>
* tests/functional: Convert the ppc64 replay avocado testsThomas Huth2025-02-262-0/+51
| | | | | | | | Put the tests into a separate file now (since in the functional framework, each file is run with one specific qemu-system-* binary). Signed-off-by: Thomas Huth <thuth@redhat.com> Message-ID: <20250218152744.228335-7-thuth@redhat.com>
* tests/functional: Convert the or1k replay avocado testsThomas Huth2025-02-262-0/+28
| | | | | | | | Put the tests into a separate file now (since in the functional framework, each file is run with one specific qemu-system-* binary). Signed-off-by: Thomas Huth <thuth@redhat.com> Message-ID: <20250218152744.228335-6-thuth@redhat.com>
* tests/functional: Convert the 32-bit ppc replay avocado testsThomas Huth2025-02-262-0/+35
| | | | | | | | Put the tests into a separate file now (since in the functional framework, each file is run with one specific qemu-system-* binary). Signed-off-by: Thomas Huth <thuth@redhat.com> Message-ID: <20250218152744.228335-5-thuth@redhat.com>
* tests/functional: Convert the sparc replay avocado testThomas Huth2025-02-262-0/+28
| | | | | | | | | While we're at it, change the machine from SS-20 to SS-10 to increase the test coverage a little bit (SS-20 is already tested in the test_sparc_sun4m.py file). Signed-off-by: Thomas Huth <thuth@redhat.com> Message-ID: <20250218152744.228335-4-thuth@redhat.com>
* tests/functional: Convert the xtensa replay test to the functional frameworkThomas Huth2025-02-262-0/+29
| | | | | | | | Put the tests into a separate file now (since in the functional framework, each file is run with one specific qemu-system-* binary). Signed-off-by: Thomas Huth <thuth@redhat.com> Message-ID: <20250218152744.228335-3-thuth@redhat.com>
* tests/functional: Provide a proper name for the VMs in the replay testsThomas Huth2025-02-261-1/+1
| | | | | | | With a proper name the log files get a more meaningful name. Signed-off-by: Thomas Huth <thuth@redhat.com> Message-ID: <20250218152744.228335-2-thuth@redhat.com>
* tests/functional: Have microblaze tests inherit common parent classPhilippe Mathieu-Daudé2025-02-242-26/+32
| | | | | | | | | | | | Have the MicroblazeMachine class being common to both MicroblazeBigEndianMachine and MicroblazeLittleEndianMachine classes. Move the xmaton and ballerina tests to the parent class. Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> Reviewed-by: Thomas Huth <thuth@redhat.com> Message-ID: <20250212123659.52764-11-philmd@linaro.org> [thuth: Add missing ASSET statements to the leaf classes] Signed-off-by: Thomas Huth <thuth@redhat.com>
* Merge tag 'for_upstream' of https://git.kernel.org/pub/scm/virt/kvm/mst/qemu ↵Stefan Hajnoczi2025-02-222-0/+163
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into staging virtio,pc,pci: features, fixes, cleanups Features: SR-IOV emulation for pci virtio-mem-pci support for s390 interleave support for cxl big endian support for vdpa svq new QAPI events for vhost-user Also vIOMMU reset order fixups are in. Fixes, cleanups all over the place. Signed-off-by: Michael S. Tsirkin <mst@redhat.com> # -----BEGIN PGP SIGNATURE----- # # iQFDBAABCAAtFiEEXQn9CHHI+FuUyooNKB8NuNKNVGkFAme4b8sPHG1zdEByZWRo # YXQuY29tAAoJECgfDbjSjVRpHKcIAKPJsVqPdda2dJ7b7FdyRT0Q+uwezXqaGHd4 # 7Lzih1wsxYNkwIAyPtEb76/21qiS7BluqlUCfCB66R9xWjP5/KfvAFj4/r4AEduE # fxAgYzotNpv55zcRbcflMyvQ42WGiZZHC+o5Lp7vDXUP3pIyHrl0Ydh5WmcD+hwS # BjXvda58TirQpPJ7rUL+sSfLih17zQkkDcfv5/AgorDy1wK09RBKwMx/gq7wG8yJ # twy8eBY2CmfmFD7eTM+EKqBD2T0kwLEeLfS/F/tl5Fyg6lAiYgYtCbGLpAmWErsg # XZvfZmwqL7CNzWexGvPFnnLyqwC33WUP0k0kT88Y5wh3/h98blw= # =tej8 # -----END PGP SIGNATURE----- # gpg: Signature made Fri 21 Feb 2025 20:21:31 HKT # gpg: using RSA key 5D09FD0871C8F85B94CA8A0D281F0DB8D28D5469 # gpg: issuer "mst@redhat.com" # gpg: Good signature from "Michael S. Tsirkin <mst@kernel.org>" [full] # gpg: aka "Michael S. Tsirkin <mst@redhat.com>" [full] # Primary key fingerprint: 0270 606B 6F3C DF3D 0B17 0970 C350 3912 AFBE 8E67 # Subkey fingerprint: 5D09 FD08 71C8 F85B 94CA 8A0D 281F 0DB8 D28D 5469 * tag 'for_upstream' of https://git.kernel.org/pub/scm/virt/kvm/mst/qemu: (41 commits) docs/devel/reset: Document reset expectations for DMA and IOMMU hw/vfio/common: Add a trace point in vfio_reset_handler hw/arm/smmuv3: Move reset to exit phase hw/i386/intel-iommu: Migrate to 3-phase reset hw/virtio/virtio-iommu: Migrate to 3-phase reset vhost-user-snd: correct the calculation of config_size net: vhost-user: add QAPI events to report connection state hw/virtio/virtio-nsm: Respond with correct length vdpa: Fix endian bugs in shadow virtqueue MAINTAINERS: add more files to `vhost` cryptodev/vhost: allocate CryptoDevBackendVhost using g_mem0() vhost-iova-tree: Update documentation vhost-iova-tree, svq: Implement GPA->IOVA & partial IOVA->HVA trees vhost-iova-tree: Implement an IOVA-only tree amd_iommu: Use correct bitmask to set capability BAR amd_iommu: Use correct DTE field for interrupt passthrough hw/virtio: reset virtio balloon stats on machine reset mem/cxl_type3: support 3, 6, 12 and 16 interleave ways hw/mem/cxl_type3: Ensure errp is set on realization failure hw/mem/cxl_type3: Fix special_ops memory leak on msix_init_exclusive_bar() failure ... Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
| * hw/virtio: reset virtio balloon stats on machine resetDaniel P. Berrangé2025-02-212-0/+163
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a machine is first booted, all virtio balloon stats are initialized to their default value -1 (18446744073709551615 when represented as unsigned). They remain that way while the firmware is loading, and early phase of guest OS boot, until the virtio-balloon driver is activated. Thereafter the reported stats reflect the guest OS activity. When a machine reset is performed, however, the virtio-balloon stats are left unchanged by QEMU, despite the guest OS no longer updating them, nor indeed even still existing. IOW, the mgmt app keeps getting stale stats until the guest OS starts once more and loads the virtio-balloon driver (if ever). At that point the app will see a discontinuity in the reported values as they sudden jump from the stale value to the new value. This jump is indigituishable from a valid data update. While there is an "last-updated" field to report on the freshness of the stats, that does not unambiguously tell the mgmt app whether the stats are still conceptually relevant to the current running workload. It is more conceptually useful to reset the stats to their default values on machine reset, given that the previous guest workload the stats reflect no longer exists. The mgmt app can now clearly identify that there are is no stats information available from the current executing workload. The 'last-updated' time is also reset back to 0. IOW, on every machine reset, the virtio stats are in the same clean state they were when the macine first powered on. A functional test is added to validate this behaviour with a real world guest OS. Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> Message-Id: <20250204094202.2183262-1-berrange@redhat.com> Acked-by: David Hildenbrand <david@redhat.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
* | tests/functional: Remove sleep() kludges from microblaze testsPhilippe Mathieu-Daudé2025-02-161-5/+3
| | | | | | | | | | | | | | | | | | | | | | | | Commit f0ec14c78c4 ("tests/avocado: Fix console data loss") fixed QEMUMachine's problem with console, we don't need to use the sleep() kludges. Suggested-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> Reviewed-by: Thomas Huth <thuth@redhat.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20250206131052.30207-15-philmd@linaro.org>
* | tests/functional: Allow microblaze tests to take a machine name argumentPhilippe Mathieu-Daudé2025-02-162-4/+10
| | | | | | | | | | | | | | | | Make microblaze tests a bit more generic. Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> Reviewed-by: Thomas Huth <thuth@redhat.com> Message-Id: <20250206131052.30207-14-philmd@linaro.org>
* | tests/functional: Explicit endianness of microblaze assetsPhilippe Mathieu-Daudé2025-02-162-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The archive used in test_microblaze_s3adsp1800.py (testing a big-endian target) contains a big-endian kernel. Rename using the _BE suffix. Similarly, the archive in test_microblazeel_s3adsp1800 (testing a little-endian target) contains a little-endian kernel. Rename using _LE suffix. These changes will help when adding cross-endian kernel tests. Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Thomas Huth <thuth@redhat.com> Message-Id: <20250206131052.30207-13-philmd@linaro.org>
* | tests/functional: Add a ppc sam460ex testCédric Le Goater2025-02-112-0/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. Signed-off-by: Cédric Le Goater <clg@redhat.com> Message-ID: <20250203092606.491933-1-clg@redhat.com> [thuth: sort meson.build alphabetically] Signed-off-by: Thomas Huth <thuth@redhat.com>
* | tests/functional: Convert the hotplug_blk avocado testThomas Huth2025-02-102-0/+86
| | | | | | | | | | | | | | | | | | By using the serial console instead of ssh for executing commands in the guest, we can convert this test to the functional framework. Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Message-ID: <20250130192712.19542-1-thuth@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
* | tests/functional/test_aarch64_virt: Fix vulkan test without egl-headlessThomas Huth2025-02-101-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | The vulkan test currently fails if the egl-headless device is not available. Let's add a proper check to skip the test in this case. Fixes: 3d30f882ce ("tests/functional: extend test_aarch64_virt with vulkan test") Reported-by: Cornelia Huck <cohuck@redhat.com> Acked-by: Alex Bennée <alex.bennee@linaro.org> Tested-by: Cornelia Huck <cohuck@redhat.com> Message-ID: <20250205141140.97437-1-thuth@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
* | tests/functional: Convert the aarch64 xen test to the functional frameworkThomas Huth2025-02-102-0/+91
| | | | | | | | | | | | | | | | | | | | This test just needs the adaption for the asset handling, then we can move it to the functional framework. Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Tested-by: Alex Bennée <alex.bennee@linaro.org> Message-ID: <20250207144409.220006-1-thuth@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
* | Merge tag 'pull-trivial-patches' of https://gitlab.com/mjt0k/qemu into stagingStefan Hajnoczi2025-01-303-9/+15
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | trivial patches for 2025-01-30 # -----BEGIN PGP SIGNATURE----- # # iQIzBAABCgAdFiEEZKoqtTHVaQM2a/75gqpKJDselHgFAmebf70ACgkQgqpKJDse # lHgmWw/8DZXr5+Aar9FJZIUZWqxBxRzNjnvKEGQPCKI+Iqi3qkwOHij3Tr06vERM # upWZ/6Gx6v8SFjlfCv4VvtAHwflLOFqBzDxrCRDiZqNuLDaXuLnTMF1H8teg4ciM # 7uPjvI17LDgoBEDR27divxcLcP4dDI5RMkAndzyL1U9OGugO4vgmDUAuXkNzqBFS # tnWQmay3VTDVNtd4YJvhqJM5UR/4mSHlISlZpbzpF2Pxd2Job6IHYEzmre+0iteQ # TukjKkSQ7os7jEV984zVmwZnqCZrq6iIjX0nY6d1wWeDLjRMzLNqHuZ7jYVYDMWr # G/HdXp7BfGW1kG67W86MWWVW6O96DsyN5e76pMdlu8DjDs1/hiTA02cUEa2x2Alw # 3ngblJMC2JhvmuMLZStJf3zTb1GABijQJdfEYjUJ1FEY0dhVuK5teeTRjql7xjnw # tHtaxn11ahifZ++kRAeZyinkkUlKLOcV8xoGqmv8uRjy6XepFASFkSj/jEbyohKF # BGGvUVT1cp0Krr9TOAEnrhYEpXgHjxsR0PqTphH1wQojr/AyYTBwSy/wGWPbMvQQ # u/hHoJ/RgiiSf5HW/PRUbWrTdgYPg8Ej/9n7geAZSk2e9hfGI6Ii88XOmrZefQ+4 # 2GQ+a3I2n4LQ1cyzrGZgUncwLClIpqN/WtRsUNEFQs6zrcvG52U= # =2d/y # -----END PGP SIGNATURE----- # gpg: Signature made Thu 30 Jan 2025 08:33:49 EST # gpg: using RSA key 64AA2AB531D56903366BFEF982AA4A243B1E9478 # gpg: Good signature from "Michael Tokarev <mjt@debian.org>" [unknown] # gpg: aka "Michael Tokarev <mjt@corpit.ru>" [unknown] # gpg: aka "Michael Tokarev <mjt@tls.msk.ru>" [unknown] # gpg: WARNING: This key is not certified with a trusted signature! # gpg: There is no indication that the signature belongs to the owner. # Primary key fingerprint: 9D8B E14E 3F2A 9DD7 9199 28F1 61AD 3D98 ECDF 2C8E # Subkey fingerprint: 64AA 2AB5 31D5 6903 366B FEF9 82AA 4A24 3B1E 9478 * tag 'pull-trivial-patches' of https://gitlab.com/mjt0k/qemu: hw/i386/pc: Remove unused pc_compat_2_3 declarations licenses: Remove SPDX tags not being license identifier for Linaro tests/functional/test_mips_malta: Fix comment about endianness of the test gdbstub/user-target: fix gdbserver int format (%d -> %x) vvfat: create_long_filename: fix out-of-bounds array access net/dump: Correctly compute Ethernet packet offset net: Fix announce_self Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
| * | licenses: Remove SPDX tags not being license identifier for LinaroPhilippe Mathieu-Daudé2025-01-303-9/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Per [*]: "we're only interested in adopting SPDX for recording the licensing info, [not] any other SPDX metadata." Replace the 'SPDX-FileCopyrightText' and 'SPDX-FileContributor' tags added by Linaro by 'Copyright (c)' and 'Authors' words respectively. [*] https://lore.kernel.org/qemu-devel/20241007154548.1144961-4-berrange@redhat.com/ Inspired-by: Daniel P. Berrangé <berrange@redhat.com> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Reviewed-by: Michael Tokarev <mjt@tls.msk.ru> Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
| * | tests/functional/test_mips_malta: Fix comment about endianness of the testThomas Huth2025-01-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This test is for the big endian MIPS target, not for the little endian target. Signed-off-by: Thomas Huth <thuth@redhat.com> Fixes: 79cb4a14cb6 ("tests/functional: Convert mips32eb 4Kc Malta tests") Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Reviewed-by: Michael Tokarev <mjt@tls.msk.ru> Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
* | | tests/functional/test_mips_malta: Convert the mips big endian replay testsThomas Huth2025-01-302-0/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Move the mips big endian replay tests from tests/avocado/replay_kernel.py to the functional framework. Since the functional tests should be run per target, we cannot stick all replay tests in one file. Thus let's add these tests to a separate file now. Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Message-ID: <20250128152839.184599-6-thuth@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
* | | tests/functional/test_mips64el_malta: Convert the mips64el replay testsThomas Huth2025-01-302-0/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Move the mips64el replay tests from tests/avocado/replay_kernel.py to the functional framework. Since the functional tests should be run per target, we cannot stick all replay tests in one file. Thus let's add these tests to a separate file there now. Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Message-ID: <20250128152839.184599-5-thuth@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
* | | tests/functional/test_mipsel_malta: Convert the mipsel replay testsThomas Huth2025-01-302-0/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Move the mipsel replay tests from tests/avocado/replay_kernel.py to the functional framework. Since the functional tests should be run per target, we cannot stick all replay tests in one file. Thus let's add these tests to a new, separate file there instead. Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Message-ID: <20250128152839.184599-4-thuth@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
* | | tests/functional: Add the ReplayKernelBase classThomas Huth2025-01-301-0/+84
| | | | | | | | | | | | | | | | | | | | | | | | | | | Copy the ReplayKernelBase class from the avocado tests. We are going to need it to convert the related replay tests in the following patches. Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Message-ID: <20250128152839.184599-3-thuth@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
* | | tests/functional: Add a decorator for skipping long running testsThomas Huth2025-01-305-13/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some tests have a very long runtime and might run into timeout issues e.g. when QEMU has been compiled with --enable-debug. Add a decorator for marking them more easily. Rename the corresponding environment variable to be more in sync with the other QEMU_TEST_ALLOW_* switches that we already have, and add a paragraph about it in the documentation. Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Message-ID: <20250128152839.184599-2-thuth@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
* | | tests/functional: Extend PPC 40p test with Linux bootCédric Le Goater2025-01-301-0/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fetch the cdrom image for the IBM 6015 PReP PowerPC machine hosted on the Juneau Linux Users Group site, boot and check Linux version. Reviewed-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Cédric Le Goater <clg@redhat.com> Message-ID: <20250129104844.1322100-1-clg@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
* | | tests/functional/test_mips_malta: Fix comment about endianness of the testThomas Huth2025-01-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This test is for the big endian MIPS target, not for the little endian target. Fixes: 79cb4a14cb6 ("tests/functional: Convert mips32eb 4Kc Malta tests") Message-ID: <20250127184112.108122-1-thuth@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Signed-off-by: Thomas Huth <thuth@redhat.com>
* | | tests/functional: Add a ppc64 mac99 testCédric Le Goater2025-01-302-0/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The test sequence boots from disk a mac99 machine in 64-bit mode, in which case the CPU is a PPC 970. The buildroot rootfs is built with config : BR2_powerpc64=y BR2_powerpc_970=y and the kernel with the g5 deconfig. Reviewed-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Cédric Le Goater <clg@redhat.com> Message-ID: <20250128212145.1186617-1-clg@redhat.com> [thuth: Adjusted the comment about '-nographic] Signed-off-by: Thomas Huth <thuth@redhat.com>
* | | tests/functional: Fix the aarch64_tcg_plugins testThomas Huth2025-01-302-6/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Unfortunately, this test had not been added to meson.build, so we did not notice a regression: Looking for 'Kernel panic - not syncing: VFS:' as the indication for the final boot state of the kernel was a bad idea since 'Kernel panic - not syncing' is the default failure message of the LinuxKernelTest class, and since we're now reading the console input byte by byte instead of linewise (see commit cdad03b74f75), the failure now triggers before we fully read the success string. Let's fix this by simply looking for the previous line in the console output instead. Also, replace the call to cancel() - this was only available in the Avocado framework. In the functional framework, we must use skipTest() instead. While we're at it, also fix the TODO here by looking for the exact error and only skip the test if the plugins are not available. Fixes: 3abc545e66 ("tests/functional: Convert the tcg_plugins test") Fixes: cdad03b74f ("tests/functional: rewrite console handling to be bytewise") Message-ID: <20250123083625.1498495-1-thuth@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
* | | tests/functional: Convert the migration avocado testThomas Huth2025-01-302-0/+132
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now that we've got a find_free_port() function in the functional test framework, we can convert the migration test, too. While the original avocado test was only meant to run on aarch64, ppc64 and x86, we can turn this into a more generic test by now and run it on all architectures that have a machine which ships with a working firmware. To avoid overlapping with the migration qtest, we now also test migration on machines that are not covered by the migration qtest yet. Acked-by: Fabiano Rosas <farosas@suse.de> Message-ID: <20250103074308.463860-1-thuth@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
* | | tests/functional: Fix broken decorators with lamda functionsThomas Huth2025-01-301-23/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The decorators that use a lambda function are currently broken and do not properly skip the test if the condition is not met. Using "return skipUnless(lambda: ...)" does not work as expected. To fix it, rewrite the decorators without lambda, it's simpler that way anyway. Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Message-ID: <20250122134315.1448794-3-thuth@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
* | | tests/functional/qemu_test/decorators: Fix bad check for importsThomas Huth2025-01-301-1/+2
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | skipIfMissingImports should use importlib.import_module() for checking whether a module with the name stored in the "impname" variable is available or not, otherwise the code tries to import a module with the name "impname" instead. (This bug hasn't been noticed before since there is another issue with this decorator that will be fixed by the next patch) Suggested-by: Daniel P. Berrangé <berrange@redhat.com> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Message-ID: <20250122134315.1448794-2-thuth@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
* | Merge tag 'pull-target-arm-20250128-1' of ↵Stefan Hajnoczi2025-01-292-0/+32
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://git.linaro.org/people/pmaydell/qemu-arm into staging target-arm queue: * hw/arm: Remove various uses of first_cpu global * hw/char/imx_serial: Fix reset value of UFCR register * hw/char/imx_serial: Update all state before restarting ageing timer * hw/pci-host/designware: Expose MSI IRQ * hw/arm/stellaris: refactoring, cleanup * hw/arm/stellaris: map both I2C controllers * tests/functional: Add a test for the arm microbit machine * target/arm: arm_reset_sve_state() should set FPSR, not FPCR * target/arm: refactorings preparatory to FEAT_AFP implementation * fpu: Rename float_flag_input_denormal to float_flag_input_denormal_flushed * fpu: Rename float_flag_output_denormal to float_flag_output_denormal_flushed * hw/usb/canokey: Fix buffer overflow for OUT packet # -----BEGIN PGP SIGNATURE----- # # iQJNBAABCAA3FiEE4aXFk81BneKOgxXPPCUl7RQ2DN4FAmeZOi0ZHHBldGVyLm1h # eWRlbGxAbGluYXJvLm9yZwAKCRA8JSXtFDYM3sUeEACwDhM4ldn/gVZgVN7nf42a # /CLD/qJx1vqi5bAB5zkY1bSCR9hS2IkhTBoQQH9Ng6ztG1IRpT/tKXDJAemWty70 # XgExdl4yjdwXMQK4JKU9qSfaBTuX7Z8Hz+nA1AnblO/4H+XpVNVJzp8Ee/uWTyEd # BKPBpwqbIXNwUWEqkzDok074Q05rHlhsJD2DsoJTcmtpROhLHLATwQDZGGFuf56H # LVcdx6GRP+/mWEGWLtj19mvaR/2cn4rQf+I1MACZ81nRjQCHbCohNAMr2wFsKg1+ # 2jYk9uHdFoambJ5+mFuC55Efk+QJaP4vDR0Gf3jLloFr+rS/5h3HiUuD8dUWOwFd # mPWXsjwYzqBW2knt1nfq1ByzYWZ8rVQEn5G53dX/eoNXuDGsonZxPnevgmv5kIUc # /W618Jez1nu9RDtNKccobHEtTGlGInJxJ7YzkU7Q6FO80IAqSdV7t9v7uPLJwcnz # nQz+wVzb4oOmwMzn3BpKY7N/S7IZOSy3ASNHj8o4yCHMJT8Ki0/N4bl0k0DLxJ0T # RiNCsV9c7MJfo9a+pbOnu0Lc3SjjropdvHYU+bB7R0mgd8ysN+Tou0dpa+i7tUTu # DHWqs2/+UApHKBiC+DSynPjjRR2aT/5lYFncGaiEVoEQttPLka3SAzgHPVQZs1zD # bxZkEAFktAFGIjU70fYNkg== # =H4p7 # -----END PGP SIGNATURE----- # gpg: Signature made Tue 28 Jan 2025 15:12:29 EST # gpg: using RSA key E1A5C593CD419DE28E8315CF3C2525ED14360CDE # gpg: issuer "peter.maydell@linaro.org" # gpg: Good signature from "Peter Maydell <peter.maydell@linaro.org>" [full] # gpg: aka "Peter Maydell <pmaydell@gmail.com>" [full] # gpg: aka "Peter Maydell <pmaydell@chiark.greenend.org.uk>" [full] # gpg: aka "Peter Maydell <peter@archaic.org.uk>" [unknown] # Primary key fingerprint: E1A5 C593 CD41 9DE2 8E83 15CF 3C25 25ED 1436 0CDE * tag 'pull-target-arm-20250128-1' of https://git.linaro.org/people/pmaydell/qemu-arm: (36 commits) hw/usb/canokey: Fix buffer overflow for OUT packet target/arm: Use FPST_A64_F16 for halfprec-to-other conversions target/arm: Remove redundant advsimd float16 helpers fpu: Fix a comment in softfloat-types.h fpu: Rename float_flag_output_denormal to float_flag_output_denormal_flushed fpu: Rename float_flag_input_denormal to float_flag_input_denormal_flushed target/arm: Remove now-unused vfp.fp_status_f16 and FPST_FPCR_F16 target/arm: Use FPST_A64_F16 in A64 decoder target/arm: Use FPST_A32_F16 in A32 decoder target/arm: Use fp_status_f16_a64 in AArch64-only helpers target/arm: Use fp_status_f16_a32 in AArch32-only helpers target/arm: Define new fp_status_f16_a32 and fp_status_f16_a64 target/arm: Remove now-unused vfp.fp_status and FPST_FPCR target/arm: Use FPST_A64 in A64 decoder target/arm: Use FPST_A32 in A32 decoder target/arm: Use fp_status_a32 in vfp_cmp helpers target/arm: Use fp_status_a32 in vjvct helper target/arm: Use fp_status_a64 or fp_status_a32 in is_ebf() target/arm: Use vfp.fp_status_a64 in A64-only helper functions target/arm: Define new fp_status_a32 and fp_status_a64 ... Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
| * | tests/functional: Add a test for the arm microbit machineThomas Huth2025-01-282-0/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We don't have any functional tests for this machine yet, thus let's add a test with a MicroPython binary that is available online (thanks to Joel Stanley for providing it, see: https://www.mail-archive.com/qemu-devel@nongnu.org/msg606064.html ). Signed-off-by: Thomas Huth <thuth@redhat.com> Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Message-id: 20250124101709.1591761-1-thuth@redhat.com Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
* | | test/functional: Update buildroot images to 2024.11Cédric Le Goater2025-01-273-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The main changes compared to upstream 2024.11 buildroot are - bumped Linux to version 6.11.11 with a custom config - changed U-Boot to OpenBMC branch for more support - included extra target packages See branch [1] for more details. There is a slight output change when powering off the machine, the console now contains : reboot: Power off not available: System halted Adjust accordingly the expect string in do_test_arm_aspeed_buildroot_poweroff(). [1] https://github.com/legoater/buildroot/commits/aspeed-2024.11 Reviewed-by: Jamin Lin <jamin_lin@aspeedtech.com> Link: https://lore.kernel.org/qemu-devel/20250122070909.1138598-9-clg@redhat.com Signed-off-by: Cédric Le Goater <clg@redhat.com>
* | | test/functional: Update the Aspeed aarch64 testCédric Le Goater2025-01-271-5/+5
|/ / | | | | | | | | | | | | | | | | Bumped SDK version to v09.03. v09.04 is available but not yet supported in QEMU. Reviewed-by: Jamin Lin <jamin_lin@aspeedtech.com> Link: https://lore.kernel.org/qemu-devel/20250122070909.1138598-8-clg@redhat.com Signed-off-by: Cédric Le Goater <clg@redhat.com>
* / tests/functional: Convert the kvm_xen_guest avocado testThomas Huth2025-01-222-0/+188
|/ | | | | | | | | | Use the serial console to execute the commands in the guest instead of using ssh since we don't have ssh support in the functional framework yet. Acked-by: David Woodhouse <dwmw@amazon.co.uk> Message-ID: <20250113082516.57894-1-thuth@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
* tests: Add functional tests for HPPA machinesPhilippe Mathieu-Daudé2025-01-132-0/+39
| | | | | | | | | | | | | | | | | | | Add quick firmware boot tests (less than 1sec) for the B160L (32-bit) and C3700 (64-bit) HPPA machines: $ make check-functional-hppa ... 4/4 qemu:func-quick+func-hppa / func-hppa-hppa_seabios OK 0.22s 2 subtests passed Remove the duplicated B160L test in qtest/boot-serial-test.c. Suggested-by: Helge Deller <deller@gmx.de> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> Reviewed-by: Helge Deller <deller@gmx.de> Tested-by: Helge Deller <deller@gmx.de> Reviewed-by: Thomas Huth <thuth@redhat.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20250102100340.43014-3-philmd@linaro.org>
* tests/functional: extend test_aarch64_virt with vulkan testAlex Bennée2025-01-111-2/+74
| | | | | | | | | | | Now that we have virtio-gpu Vulkan support, let's add a test for it. Currently this is using images build by buildroot: https://lists.buildroot.org/pipermail/buildroot/2024-December/768196.html Reviewed-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20250108121054.1126164-24-alex.bennee@linaro.org>
* tests/functional: bail aarch64_virt tests early if missing TCGAlex Bennée2025-01-101-4/+7
| | | | | | | | | | The set_machine and require_accelerator steps can bail early so move those to the front of the test functions. While we are at it also clean up some long lines when adding the vm arguments. Reviewed-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20250108121054.1126164-23-alex.bennee@linaro.org>
* tests/functional: remove unused kernel_command_lineAlex Bennée2025-01-101-2/+0
| | | | | | | | | The Alpine test boots from the CDROM so we don't --append a command line. Drop the unused code. Reviewed-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20250108121054.1126164-22-alex.bennee@linaro.org>
* tests/functional: update tuxruntest to use uncompress utilityAlex Bennée2025-01-101-11/+1
| | | | | | | | Use the utility functions to reduce code duplication. Reviewed-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20250108121054.1126164-21-alex.bennee@linaro.org>