Merge patch series "Improve pytest runtime"

Tom Rini <trini@konsulko.com> says:

One thing that Simon Glass has noted is that our pytest run time keeps
getting longer. Looking at:
https://source.denx.de/u-boot/u-boot/-/pipelines/25011/test_report?job_name=sandbox%20test.py%3A%20%5Bfast%20amd64%5D
we can see that some of the longest running tests are a little puzzling.
It turns out that we have two ways of making filesystem images without
requiring root access and one of them is significantly slower than the
other. This series changes us from using virt-make-fs to only using the
mk_fs helper that currently resides in test_ut.py which uses standard
userspace tools. The final result can be seen at:
https://source.denx.de/u-boot/u-boot/-/pipelines/25015/test_report?job_name=sandbox%20test.py%3A%20%5Bfast%20amd64%5D
and the tests changed here now run much quicker.

Link: https://lore.kernel.org/r/20250320140030.2052434-1-trini@konsulko.com
This commit is contained in:
Tom Rini
2025-04-08 13:54:50 -06:00
18 changed files with 288 additions and 350 deletions
+6 -19
View File
@@ -41,13 +41,11 @@ will be required. The following is an incomplete list:
* dfu-util
* dtc
* openssl
* sudo OR guestmount
* e2fsprogs
* util-linux
* coreutils
* dosfstools
* efitools
* guestfs-tools
* mount
* mtools
* sbsigntool
@@ -64,23 +62,12 @@ The test script supports either:
physical board, attach to the board's console stream, and reset the board.
Further details are described later.
The usage of command 'sudo' should be avoided in tests. To create disk images
use command virt-make-fs which is provided by package guestfs-tools. This
command creates a virtual machine with QEMU in which the disk image is
generated.
Command virt-make-fs needs read access to the current kernel. On Ubuntu only
root has this privilege. You can add a script /etc/initramfs-tools/hooks/vmlinuz
with the following content to overcome the problem:
.. code-block:: bash
#!/bin/sh
echo "chmod a+r vmlinuz-*"
chmod a+r /boot/vmlinuz-*
The script should be chmod 755. It will be invoked whenever the initial RAM file
system is updated.
The usage of the command 'sudo' is not allowed in tests. Using elevated
priviledges can lead to security concerns. Furthermore not all users may have
administrator rights. Therefore the command 'sudo' must not be used in tests.
To create disk images we have helper functions located in
`test/py/tests/fs_helper.py` which shall be used in any tests that require
creating disk images.
Using `virtualenv` to provide requirements
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~