Commit Graph

2039 Commits

Author SHA1 Message Date
Peter Korsgaard
2287e900c4 Update for 2024.11.2
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2025-02-21 15:31:53 +01:00
Vincent Fazio
be469ec0cc support/testing: test_python_{gnupg, spake2}: increase timeout value
Previously, these tests had the potential for timing out with the
default 5 second timeout value if initializing /dev/urandom took too
long.

Now the tests use a 10 second timeout value.

Signed-off-by: Vincent Fazio <vfazio@xes-inc.com>
Signed-off-by: Julien Olivain <ju.o@free.fr>
(cherry picked from commit 9bc3bbce38)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2025-02-18 10:50:27 +01:00
Vincent Fazio
ab5f8362bd support/testing: test_python_txaio: include twisted sample
Prior to b7d251293a, txaio would test both asyncio and twisted.

Add back the twisted sample and include the twisted package in the
config so both modes of the package are tested.

Fixes: b7d251293a ("package/python-txaio: drop python 2 support")
Signed-off-by: Vincent Fazio <vfazio@xes-inc.com>
Signed-off-by: Julien Olivain <ju.o@free.fr>
(cherry picked from commit 41b08a779b)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2025-02-18 10:50:20 +01:00
Julien Olivain
b0d7dc4b6f support/testing: fix test_atf by bumping atf to 2.11
Since commit [1], test_atf is failing. See [2].

Passing -no-pie to ld does not produce the bl31.elf file (and does not
generate an error). TF-A 2.11 reworked its makefiles and switched to
gcc to link files. This commit fixes this failing test by updating to
this newer TF-A version.

Fixes: [2].

[1] 248c2d045e
[2] https://gitlab.com/buildroot.org/buildroot/-/jobs/8609307891

Signed-off-by: Julien Olivain <ju.o@free.fr>
Signed-off-by: Romain Naour <romain.naour@smile.fr>
(cherry picked from commit b0ff88423f)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2025-02-08 18:00:48 +01:00
Julien Olivain
07c2958106 support/testing: new patch runtime test
Signed-off-by: Julien Olivain <ju.o@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 41bceec4e8)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2025-02-04 15:34:49 +01:00
Julien Olivain
def91054e4 support/testing: new wget runtime test
Signed-off-by: Julien Olivain <ju.o@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit fefe7024a3)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2025-02-04 15:30:02 +01:00
Julien Olivain
9362da70d3 support/testing: add libcurl runtime test
Signed-off-by: Julien Olivain <ju.o@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 292631cd09)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2025-02-04 15:21:10 +01:00
Gaël PORTAY
aca397828d support/scripts/genimage.sh: add shell option -e
The commit 6889056f1e (support/scripts/genimage.sh) adds support for
creating bmap images.

Since then, the script genimage.sh looses the error returned by the
genimage command.

As a consequence, the target-finalize target looses the error as well,
and so on up to make.

This adds the shell option -e to exit immediately if a command ends with
an error, so the error is not ignored.

Fixes:

	gportay@archlinux ~/src/rtone-br2-external $ make
	(...)
	>>>   Executing post-image script support/scripts/genimage.sh
	INFO: cmd: "mkdir -p "/home/gportay/src/rtone-br2-external/output/build/genimage.tmp"" (stderr):
	INFO: cmd: "rm -rf "/home/gportay/src/rtone-br2-external/output/build/genimage.tmp"/*" (stderr):
	INFO: cmd: "mkdir -p "/home/gportay/src/rtone-br2-external/output/build/genimage.tmp"" (stderr):
	INFO: cmd: "cp -a "/tmp/tmp.EclKGwtA4R" "/home/gportay/src/rtone-br2-external/output/build/genimage.tmp/root"" (stderr):
	INFO: cmd: "mkdir -p "/home/gportay/src/rtone-br2-external/output/images"" (stderr):
	INFO: vfat(efi-part.vfat): cmd: "mkdosfs   '/home/gportay/src/rtone-br2-external/output/images/efi-part.vfat'" (stderr):
	INFO: vfat(efi-part.vfat): adding file 'efi-part/EFI' as 'EFI' ...
	INFO: vfat(efi-part.vfat): cmd: "MTOOLS_SKIP_CHECK=1 mcopy -sp -i '/home/gportay/src/rtone-br2-external/output/images/efi-part.vfat' '/home/gportay/src/rtone-br2-external/output/images/efi-part/EFI' '::EFI'" (stderr):
	Disk full
	INFO: vfat(efi-part.vfat): cmd: "rm -f "/home/gportay/src/rtone-br2-external/output/images/efi-part.vfat"" (stderr):
	ERROR: vfat(efi-part.vfat): failed to generate efi-part.vfat
	INFO: cmd: "rm -rf "/home/gportay/src/rtone-br2-external/output/build/genimage.tmp/"" (stderr):
	make[1]: Leaving directory '/home/gportay/src/rtone-br2-external/buildroot'
	gportay@archlinux ~/src/rtone-br2-external $ echo $?
	0

Signed-off-by: Gaël PORTAY <gael.portay+rtone@gmail.com>
Signed-off-by: Julien Olivain <ju.o@free.fr>
(cherry picked from commit 294d13bb85)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2025-02-01 14:24:00 +01:00
Thomas Petazzoni
ea9b75f8c2 support/testing/tests/toolchain/test_external_synopsys.py: drop tests
The Synopsys external toolchain has been disabled in commit
11a8cdd2bb, causing the test cases
testing this toolchain to fail. Let's drop those tests for now, they
can always be re-added later on.

Fixes:

  https://gitlab.com/buildroot.org/buildroot/-/jobs/8892697531
  https://gitlab.com/buildroot.org/buildroot/-/jobs/8892697528
  https://gitlab.com/buildroot.org/buildroot/-/jobs/8892697524
  https://gitlab.com/buildroot.org/buildroot/-/jobs/8892697519
  https://gitlab.com/buildroot.org/buildroot/-/jobs/8892697517
  https://gitlab.com/buildroot.org/buildroot/-/jobs/8892697516

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
[Julien: remove the DEVELOPERS entry]
Signed-off-by: Julien Olivain <ju.o@free.fr>
(cherry picked from commit e3d74c76ee)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2025-02-01 12:47:44 +01:00
Thomas Petazzoni
d57bb0b6db support/testing/tests/package/test_gdb.py: fix ARC test
Since the disabling of the Synopsys ARC toolchain in
11a8cdd2bb, the test
tests.package.test_gdb.TestGdbArc was failing as it was relying on
this external toolchain.

Let's switch the test to use BR2_archs38, which allows to use a
Bootlin toolchain.

Fixes:

  https://gitlab.com/buildroot.org/buildroot/-/jobs/8892696282

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Julien Olivain <ju.o@free.fr>
(cherry picked from commit d577c0208c)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2025-02-01 12:44:13 +01:00
Yann E. MORIN
fdcfa918c6 support/testing/utils: check patch on stdin to get-developers
Since commit d10d22221f (utils/get-developers: read patch from stdin
when it's not a tty), get-developers accepts to read a patch fromn its
stdin when it is not a tty.

Add a test for this.

Reported-by: Julien Olivain <ju.o@free.fr>
Signed-off-by: Yann E. MORIN <yann.morin@orange.com>
Signed-off-by: Julien Olivain <ju.o@free.fr>
(cherry picked from commit 29e1af8430)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2025-01-31 17:47:28 +01:00
Yann E. MORIN
bc7e3a7abb support/testing/utils: fix get-developers test without a tty
get-developers will check its stdin to decide whether it is a tty or
not, and behave differently whether it is or not. So, when we run the
tests, we need an actual tty.

However, when running in a CI pipeline, like on Gitlab-CI, there is no
tty available on stdin.

Fake one. We don't need anything too fancy, so just a slave pty will
suffice.

Fixes: https://gitlab.com/buildroot.org/buildroot/-/jobs/8830671800
Fixes: d10d22221f (utils/get-developers: read patch from stdin when
it's not a tty)

Reported-by: Julien Olivain <ju.o@free.fr>
Signed-off-by: Yann E. MORIN <yann.morin@orange.com>
Signed-off-by: Julien Olivain <ju.o@free.fr>
(cherry picked from commit 3778f704cd)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2025-01-31 17:46:11 +01:00
Vincent Stehlé
76666f8b69 support/testing: new xen runtime test
Signed-off-by: Vincent Stehlé <vincent.stehle@laposte.net>
[Julien: switch to human readable genimage.cfg partition uuid]
Signed-off-by: Julien Olivain <ju.o@free.fr>
(cherry picked from commit 055f82ebbd)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2025-01-22 15:04:00 +01:00
Peter Korsgaard
31462e4169 Update for 2024.11.1
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2025-01-09 15:43:35 +01:00
Yann E. MORIN
0aba2faf3e support/dependencies: remove confusing comment about host system python
Since commit 9c0c7846cd (support/dependencies: don't check for python
on the host), we no longer check for a host python interpreter installed
on the system.

Drop the comment in support/dependencies/check-host-python3.sh, as it is
now confusing.

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Signed-off-by: Julien Olivain <ju.o@free.fr>
(cherry picked from commit 3722998a3d)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2025-01-09 10:01:49 +01:00
Yann E. MORIN
91f77ebf4e utils/get-developers: use parser.error() rather than canned print+return
parser.error() reports a nice error message, that also displays a short
reminder of the available options.

Adapt the test-suite accordingly: previously, the error string was an
exact string in the stdout list, while it now is a substring in one of
the strings in stderr. The exit code changes, too.

Signed-off-by: Yann E. MORIN <yann.morin@orange.com>
Cc: Julien Olivain <ju.o@free.fr>
Signed-off-by: Julien Olivain <ju.o@free.fr>
(cherry picked from commit 35f381b93e)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2025-01-09 09:05:00 +01:00
Julien Olivain
5926391587 support/testing: new xxhash runtime test
Signed-off-by: Julien Olivain <ju.o@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit b118c9dcf3)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2025-01-08 21:40:25 +01:00
Julien Olivain
23140a2e03 support/testing: add dpdk runtime test
Signed-off-by: Julien Olivain <ju.o@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 89061166ec)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2025-01-06 16:13:40 +01:00
Julien Olivain
3d5ae99697 support/testing/tests/package/test_xvisor.py: new runtime test
This is a basic test for Xvisor RISC-V 64bit. It is running few
management and status commands. It does not start a Linux kernel.

RISC-V 64bit was chosen for this test because it was the simplest
solution to run xvisor in a qemu emulator.

Signed-off-by: Julien Olivain <ju.o@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit e14380b3c4)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2025-01-06 15:13:43 +01:00
Julien Olivain
9c212c74a2 support/testing/infra/emulator.py: add qemu version in run log
In some specific situations, there is subtle bugs which depends on a
specific Qemu emulator version and the code it runs.

For example, EDK2 on Aarch64 could work with specific versions of Qemu,
EDK2 and ATF. See commit cc0823c2d "boot/edk2: bump to version
edk2-stable202405" [1].

Also, some Qemu bugs made the guest OS crash. See for example commit
9534b9c00 "package/qemu: fix qemu 9.x issue for AArch32 Secure
PL1&0" [2].

Commit 0d4177598 "support/testing/infra/emulator.py: add build host
dir to qemu search path" added the ability for a runtime test to
select host-qemu in order to use it. It is also possible for a user
to use the "utils/run-tests" script on its host system providing its
own version of Qemu. The Buildroot CI can also use its Qemu version
included in the reference Docker image.

This means the Qemu emulator for running a runtime test can be from
several sources:
- Buildroot Docker reference image,
- Buildroot host-qemu package version,
- Developer host OS qemu version.

Those versions can also change in time.

In order to help debugging of those subtle emulator bugs, this commit
adds a recording of the actual Qemu version used to run a test.

[1] cc0823c2d1
[2] 9534b9c00c
[3] 0d4177598c

Signed-off-by: Julien Olivain <ju.o@free.fr>
Signed-off-by: Romain Naour <romain.naour@smile.fr>
(cherry picked from commit ed9da08944)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-12-14 11:47:45 +01:00
Julien Olivain
0f5fc9b065 support/testing/tests/package/test_fwts.py: switch to neoverse-n1 cpu
The SBSA Reference Platform was updated to use the neoverse-n1 cpu
(armv8.2a) in Qemu v8.1 [1].

Commit c58a2a968 "configs/qemu_aarch64_sbsa_defconfig: switch to
neoverse-n1 (armv8.2a)" [2] reflected this change in
qemu_aarch64_sbsa_defconfig.

This commit updates the test_fwts runtime test the same way.

This update is possible with the help of commits [3] and [4].

[1] 1877272bad
[2] c58a2a9687
[3] 0d4177598c
[4] 027ddcbff6

Signed-off-by: Julien Olivain <ju.o@free.fr>
Signed-off-by: Romain Naour <romain.naour@smile.fr>
(cherry picked from commit c2f91e9046)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-12-13 23:44:45 +01:00
Julien Olivain
de3a8734f1 support/testing/tests/boot/test_edk2.py: switch to neoverse-n1 cpu
The SBSA Reference Platform was updated to use the neoverse-n1 cpu
(armv8.2a) in Qemu v8.1 [1].

Commit c58a2a968 "configs/qemu_aarch64_sbsa_defconfig: switch to
neoverse-n1 (armv8.2a)" [2] reflected this change in
qemu_aarch64_sbsa_defconfig.

This commit updates the test_edk2 runtime test the same way.

This update is possible with the help of commits [3] and [4].

[1] 1877272bad
[2] c58a2a9687
[3] 0d4177598c
[4] fba62f2ab1

Signed-off-by: Julien Olivain <ju.o@free.fr>
Signed-off-by: Romain Naour <romain.naour@smile.fr>
(cherry picked from commit 36c7a5366a)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-12-13 23:44:05 +01:00
Peter Korsgaard
8f9ce0c913 Update for 2024.11
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-12-08 11:18:01 +01:00
Julien Olivain
6561a5d773 support/testing: improve weston test reliability
The weston runtime test is unreliable, depending on the execution speed
of its runner. Example of failure is [1], and success is [2]. This
commit improves the test in several ways, to make it more robust to
execution speed variations:

- The command started in background (weston, weston-simple-egl) are
  now started in a subshell. This suppresses the job control messages
  when they are stopped. Those messages could interfere with the parsing
  of the output;

- Wait time are moved outside the emulator;

- The kernel argument vt.global_cursor_default=0 is added, to make sure
  cursors are globally disabled, since the test use vkms display CRCs;

- The memory of the emulator is increased to 512M. This test uses cpio
  initramfs, and the filesystem size increased;

- The vkms driver emulates a "vsync" event, but can generate a warning
  when the system is too slow. This warning is printed on the console by
  the klogd daemon in its default configuration. This commit adds the
  overlay file /etc/default/klogd to limit only kernel emergency
  messages to be printed on the console. This change fixes the failure
  seen in [1] ;

- Some sleep time values were adjusted to run on a "performant" idle
  host. Those values are not suitable in all situations. In the
  meantime a generic retry mechanism is added in the test infra, this
  commit adds a retry logic inspired from the test_flutter runtime
  test.

Fixes: [1]

[1] https://gitlab.com/buildroot.org/buildroot/-/jobs/8562483474
[2] https://gitlab.com/buildroot.org/buildroot/-/jobs/8435236652

Signed-off-by: Julien Olivain <ju.o@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-12-07 23:22:15 +01:00
Julien Olivain
07a444d088 support/testing: improve mosquitto test reliability
The mosquitto runtime test can randomly fail on slow
runners, see [1].

This commit improves this test in the following ways:

- the mosquitto_sub subscriber process is now started in a subshell
to suppress the job control messages (to prevent any spurious
messages when the job stops),

- the standard error is redirected to /dev/null, to prevent the
printing of any messages,

- the mosquitto_pub publisher process is started later, by increasing
the sleep time,

- finally, a new sleep time is introduced between the mosquitto_pub
publisher process and the check of the mosquitto_sub subscriber, to
make sure it will have time to write its output and exit.

Fixes: [1]

[1] https://gitlab.com/buildroot.org/buildroot/-/jobs/8453386454

Signed-off-by: Julien Olivain <ju.o@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2024-11-28 21:14:55 +01:00
Peter Korsgaard
5eeab05e48 Update for 2024.08.2
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit a91b9c7400)
[Peter: drop Makefile change]
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-11-14 14:47:41 +01:00
Julien Olivain
fca1933e19 support/testing/tests/boot/test_grub.py: new test for RISCV64 EFI
Commit f439b47ed "boot/grub2: add RISC-V 64bit EFI support" [1]
introduced the grub2 RISC-V UEFI support.

At that time, it was not possible to have a runtime test for this.
qemu-system-riscv64 is not in the Buildroot Docker reference image,
and the base distribution (Debian 11) does not provide a
sufficiently recent version. A qemu-system-riscv64 >= 8.0.0 is needed.

Commit 0d4177598 "support/testing/infra/emulator.py: add build host
dir to qemu search path" [2] added the capability to use the
Buildroot host-qemu package inside runtime test.

With this support, it is now possible to add a runtime test for a
grub2 UEFI boot on RISC-V 64bit.

Also, due to an upstream edk2 git submodule issue, this commit
includes a workaround to use https://sources.buildroot.net for this
test. See [3].

[1] f439b47ed6
[2] 0d4177598c
[3] 47fc9e5509

Signed-off-by: Julien Olivain <ju.o@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2024-11-11 21:15:33 +01:00
Romain Naour
47fc9e5509 support/testing/{test_edk2, test_grub, test_iso9660, test_fwts}: fix edk2 download
All EDK2 releases <= edk2-stable202408 can't be fetched from git
anymore due to a missing git submodule as reported by [1].

Usually Buildroot fall-back using https://sources.buildroot.net thanks
to BR2_BACKUP_SITE where a backup of the generated archive is
available. But the BRConfigTest remove BR2_BACKUP_SITE default value
while generating the .config used by runtime tests. See [2].

Replace the BR2_BACKUP_SITE override from BRConfigTest in order to
continue testing EDK2 package using the usual backup site.

This workaround needs to be removed with the next EDK2 version bump
using this commit [3].

Fixes:
https://gitlab.com/buildroot.org/buildroot/-/jobs/8258995977 (TestGrubX8664EFI)
https://gitlab.com/buildroot.org/buildroot/-/jobs/8258995962 (TestGrubi386EFI)
https://gitlab.com/buildroot.org/buildroot/-/jobs/8258995455 (TestFwts)
https://gitlab.com/buildroot.org/buildroot/-/jobs/8258995427 (TestIso9660Grub2Hybrid)
https://gitlab.com/buildroot.org/buildroot/-/jobs/8258995416 (TestIso9660Grub2EFI)
https://gitlab.com/buildroot.org/buildroot/-/jobs/8258992621 (TestEdk2)
https://gitlab.com/buildroot.org/buildroot/-/jobs/8258990697 (TestGrubAArch64EFI)

[1] https://github.com/tianocore/edk2/issues/6398
[2] 559bb33ae7
[3] 95d8a1c255

Signed-off-by: Romain Naour <romain.naour@smile.fr>
[Julien: insert link to [2] in commit log]
Signed-off-by: Julien Olivain <ju.o@free.fr>
2024-11-07 21:08:38 +01:00
Julien Olivain
f27fc081e8 support/testing: test_grub: update and re-enable the test
The EDK2 bump to stable202405 introduced an incompatibility with the
Qemu version 5.2.0 present in the reference Docker image. For that
reason, this test was disabled.

This commit enables host-qemu in the build, to be used by the runtime
test infrastructure.

Since this commit switch to a more recent host-qemu, it also removes
firmware options to workaround old qemu bugs.

Those changes are fixing this test, which is why this commit re-enables
it by removing the skipTest() invocation.

Signed-off-by: Julien Olivain <ju.o@free.fr>
Reviewed-by: Romain Naour <romain.naour@smile.fr>
Signed-off-by: Romain Naour <romain.naour@smile.fr>
2024-11-04 23:03:57 +01:00
Julien Olivain
027ddcbff6 support/testing: test_fwts: update and re-enable the test
The EDK2 bump to stable202405 introduced an incompatibility with the
Qemu version 5.2.0 present in the reference Docker image. For that
reason, this test was disabled.

This commit updates ATF to 2.11, and enables host-qemu in the build,
to be used by the runtime test infrastructure.

Those changes are fixing this test, which is why this commit re-enables
it by removing the skipTest() invocation.

Signed-off-by: Julien Olivain <ju.o@free.fr>
Reviewed-by: Romain Naour <romain.naour@smile.fr>
Signed-off-by: Romain Naour <romain.naour@smile.fr>
2024-11-04 23:03:55 +01:00
Julien Olivain
fba62f2ab1 support/testing: test_edk2: update and re-enable the test
The EDK2 bump to stable202405 introduced an incompatibility with the
Qemu version 5.2.0 present in the reference Docker image. For that
reason, this test was disabled.

This commit updates ATF to 2.11 and kernel to 6.6.58, and enables
host-qemu in the build, to be used by the runtime test infrastructure.

Those changes are fixing this test, which is why this commit re-enables
it by removing the skipTest() invocation.

Signed-off-by: Julien Olivain <ju.o@free.fr>
Reviewed-by: Romain Naour <romain.naour@smile.fr>
Signed-off-by: Romain Naour <romain.naour@smile.fr>
2024-11-04 23:03:52 +01:00
Julien Olivain
0d4177598c support/testing/infra/emulator.py: add build host dir to qemu search path
The relevant qemu emulator is started with pexpect.spawn() with a
default environment (and PATH). This will always use the qemu available
on the host. When running in the reference Docker image, it is using an
old Qemu v5.2.0. This version is getting too old to run with more
recent components, like EDK2 or ATF.

The main reason to use a qemu version preinstalled in the Docker image
was to save some build time. Also, this behavior is opposite to the
"start-qemu.sh" helper script [1], which tries to execute the
Buildroot host-qemu first (and then fallback the the version on the
host system, if available). An option was added in [2] to let the user
have a better control on which version is used.

Also, updating the Buildroot reference Docker image has a larger
impact on the whole project (i.e. updating the image would bring
a newer qemu version, but might break many other things, at a time
which is not always convenient).

We now need some kind of control in runtime tests, to choose between a
"stock" qemu, and a more recent version with all the bells and
whistles.

This commit adds the Buildroot host build directory in the path. This
will make the runtime test infrastructure to use a host-qemu, if
selected by a runtime test configuration.

For now, most of the test can continue to use the qemu version provided
in the Docker image. Only the problematic tests relying on a recent
version will select BR2_PACKAGE_HOST_QEMU=y. The host-qemu package is
usually maintained to a recent version, so this should be sufficient.

[1] https://gitlab.com/buildroot.org/buildroot/-/blob/master/board/qemu/start-qemu.sh.in
[2] 5de78f181a

Signed-off-by: Julien Olivain <ju.o@free.fr>
Reviewed-by: Romain Naour <romain.naour@smile.fr>
Signed-off-by: Romain Naour <romain.naour@smile.fr>
2024-11-04 23:03:49 +01:00
Julien Olivain
6ced53de5f support/testing: disable tests using edk2 on aarch64 architecture
EDK2 version edk2-stable202405 (not yet in Buildroot) has dependencies
on specific Qemu version.

Buildroot guidelines also recommend that "each patch must be complete".
See: [1]. This means, a patch in a series is not allowed to break
something knowingly, even in the same patch series. This rule is
mainly for using git bisect.

We also want to avoid bumping EDK2, update the runtime test infra,
and few tests in a big single commit, for readability. This would mix
too many changes in the same commit.

As a trade off, this commit disables the runtime tests which are known
to be broken by the upcoming edk2 update. Then, those tests will be
individually fixed and re-enabled in followup commits.

This EDK2/Qemu incompatibility only affects runtime tests using EDK2
on the Arm Aarch64 architecture. This commit disable the runtime
tests by adding a "skipTest()" call in:
- tests.boot.test_edk2
- tests.boot.test_grub.TestGrubAArch64EFI
- tests.package.test_fwts

[1] https://buildroot.org/downloads/manual/manual.html#submitting-patches

Signed-off-by: Julien Olivain <ju.o@free.fr>
Reviewed-by: Romain Naour <romain.naour@smile.fr>
Signed-off-by: Romain Naour <romain.naour@smile.fr>
2024-11-04 23:03:42 +01:00
Julien Olivain
60e0817ebe support/testing: add audit runtime test
This test was suggested by Thomas, in:
https://lists.buildroot.org/pipermail/buildroot/2024-October/766091.html

Signed-off-by: Julien Olivain <ju.o@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2024-11-04 22:56:13 +01:00
Romain Naour
9542e2904f support/testing: TestPythonPy3Incremental: update expected string
Since python-incremental 24.7.0, there is no longer a dot before an rc
specifier [1].

Update TestPythonPy3Incremental expected result to
"[package, version 1.2.3rc4]".

Fixes:
https://gitlab.com/buildroot.org/buildroot/-/jobs/8199992642

[1] d482dfff3f

Signed-off-by: Romain Naour <romain.naour@smile.fr>
Signed-off-by: Julien Olivain <ju.o@free.fr>
2024-11-02 21:38:23 +01:00
Romain Naour
1b96809304 package/python-twisted: add missing python3-xml dependency
Currently the test TestPythonTwisted is not broken [1] since it doesn't
test all modules provided by python-twisted package.

But TestPythonTwisted should have failed due to missing xml in
twisted/web module.

Due to this, TestPythonPy3MagicWormhole runtime test is currently
broken.

Add missing python3-xml dependency and update
sample_python_twisted.py to load twisted/web that uses xml
module.

Fixes (partially due to missing python setuptool in
python-magic-wormhole-mailbox-server):
https://gitlab.com/buildroot.org/buildroot/-/jobs/8199992646

Signed-off-by: Romain Naour <romain.naour@smile.fr>
Signed-off-by: Julien Olivain <ju.o@free.fr>
2024-11-01 22:31:40 +01:00
Romain Naour
7f1de64427 package/python-twisted: add missing python3-zlib dependency
Currently the test TestPythonTwisted is not broken [1] since it doesn't
test all modules provided by python-twisted package.

But TestPythonTwisted should have failed due to missing zlib in
twisted/web/client.py and twisted/conch modules.

Due to this, other runtime test like TestPythonPy3MagicWormhole or
TestPythonPy3Txtorcon are currently broken [2][3].

Add missing python3-zlib dependency and update
sample_python_twisted.py to load twisted/web/client that uses zlib
module.

[1] https://gitlab.com/buildroot.org/buildroot/-/jobs/8199992685
[2] https://gitlab.com/buildroot.org/buildroot/-/jobs/8199992687
[3] https://gitlab.com/buildroot.org/buildroot/-/jobs/8199992646

Fixes:
https://gitlab.com/buildroot.org/buildroot/-/jobs/8199992687 (TestPythonPy3Txtorcon)

Fixes (partially due to missing python xml dependency):
https://gitlab.com/buildroot.org/buildroot/-/jobs/8199992646 (TestPythonPy3MagicWormhole)

Signed-off-by: Romain Naour <romain.naour@smile.fr>
Cc: James Hilliard <james.hilliard1@gmail.com>
Signed-off-by: Julien Olivain <ju.o@free.fr>
2024-11-01 22:31:36 +01:00
Julien Olivain
8756b76a0f support/testing: add rrdtool runtime test
Signed-off-by: Julien Olivain <ju.o@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2024-10-31 20:52:35 +01:00
Romain Naour
334062f4f1 support/testing: TestPythonPy3SciPy: needs a toolchain with Fortran support
Switch to the Bootlin bleeding-edge toolchain since stable toolchain no
longer provide Fortran support since 2024.05-1 release [1].

The Fortran support is now optional in toolchain-builder tool and
only enabled for bleeding-edge toolchains [2].

[1] d3ad58dce9 (428f572a75eed97c0a70da290028c0efb4224a79_545_536)
[2] a178b24625

Fixes: (partially)
https://gitlab.com/buildroot.org/buildroot/-/jobs/8199992675

Signed-off-by: Romain Naour <romain.naour@smile.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2024-10-31 13:47:48 +01:00
Julien Olivain
04c91340ff support/testing: add unbound runtime test
Signed-off-by: Julien Olivain <ju.o@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2024-10-26 18:39:54 +02:00
Julien Olivain
859c4ea5f7 support/testing: package: bitcoin: fix test by increasing timeouts
Generating Bitcoins to an address can take longer than the current
timeout, on slow runners. This commit fixes this issue by increasing
the timeout on specific commands. This issue was also observed more
frequently on newer bitcoin-core version 28.0.

Fixes:
https://gitlab.com/buildroot.org/buildroot/-/jobs/7782083081

Signed-off-by: Julien Olivain <ju.o@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2024-10-26 18:22:06 +02:00
Julien Olivain
d8c2c2cb57 support/testing: add python-pyqt5 test
Signed-off-by: Julien Olivain <ju.o@free.fr>
2024-10-26 15:13:01 +02:00
Julien Olivain
8851a2583e support/testing: add oath-toolkit runtime test
Signed-off-by: Julien Olivain <ju.o@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2024-10-26 13:55:19 +02:00
Julien Olivain
eda78597eb support/testing: add iputils runtime test
Signed-off-by: Julien Olivain <ju.o@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2024-10-23 22:13:55 +02:00
Sen Hastings
87b8428c40 support/scripts/pkg-stats: add unsure_cves to cve_total calculation
When I initially made the CVE cells collapsible, I neglected to
count the unsure CVEs. This patch adds unsure CVEs to the cell collapsing
calcualation to ensure that cells with lots of unsure CVEs actually get collapsed.

This patch also removes the "+ 1" from the cve_total calculation,
which fixes the cve_total being off-by-one.
I'm not sure *why* I did that in the first place.

demo:
https://sen-h.codeberg.page/pkg-stats-demos/@pages/add-unsure_cves-to-cve_total-calc.html

Signed-off-by: Sen Hastings <sen@hastings.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2024-10-23 22:11:48 +02:00
Julien Olivain
aa86d33929 support/testing: add pppd runtime test
Signed-off-by: Julien Olivain <ju.o@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2024-10-22 21:30:55 +02:00
Peter Korsgaard
639423f4db Update for 2024.08.1
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit c7618236c1)
[Peter: drop Makefile change]
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-10-21 08:34:41 +02:00
9b69034160 support/testing: add new test for dtc
Add a test that runs the dtc commandline tools. To test devicetree
compilation, we use an example devicetree from the dtc project. The
example source is GPL-2.0+ licensed.

Signed-off-by: Brandon Maier <brandon.maier@gmail.com>
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
2024-10-06 15:47:37 +02:00
Thomas Petazzoni
a6b364c2e3 support/scripts/gen-bootlin-toolchains: handle BR2_BINFMT_FLAT
With the introduction of ARM FDPIC support, we need to make sure that
the existing ARM FLAT external toolchains are not made
visible/available when ARM FDPIC is selected. This commit updates the
gen-bootlin-toolchains script to take this into account.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2024-10-02 22:30:52 +02:00
Peter Korsgaard
0ab62e5d25 support/testing/tests/package/test_weston/overlay/etc/weston.ini: fix 'independent' typo
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2024-09-21 20:39:37 +02:00