From: Roberto Sassu <roberto.sassu@xxxxxxxxxx> Add support for running existing and new tests in an environment created with an UML kernel. Adapting existing tests requires minimal changes, such as adding calls to a newly defined API. The main benefit of using the UML kernel is to run tests in an environment similar to a virtual machine, without however requiring the host to support virtualization. The UML kernel runs as a regular process and has visibility to the host filesystem. Adapt the Github workflow to build the UML kernel from a chosen repository and branch, and use it for the tests. In this way, the ima-evm-utils test suite is self-contained and does not depend on external repositories. In the future, ima-evm-utils might have separate tests for the user space part and for the kernel part. Finally, introduce a new set of tests for EVM portable signatures, adapt the existing fsverity.test to run with the UML kernel, and optimize fsverity.test to not require installation of built binaries. Roberto Sassu (8): Fix error messages and mdlen init in calc_evm_hmac() Add config for UML kernel Compile the UML kernel and download it in Github Actions Add support for UML in functions.sh Introduce TST_LIST variable to select a test to execute Add tests for EVM portable signatures Adapt fsverity.test to work with UML kernel Use in-place built fsverity binary instead of installing it .github/workflows/ci.yml | 92 ++- build.sh | 5 + ci/fedora.sh | 10 +- config-uml | 235 +++++++ src/evmctl.c | 8 +- tests/Makefile.am | 2 +- tests/fsverity.test | 18 +- tests/functions.sh | 91 ++- tests/install-fsverity.sh | 2 +- tests/install-mount-idmapped.sh | 7 + tests/portable_signatures.test | 1173 +++++++++++++++++++++++++++++++ 11 files changed, 1631 insertions(+), 12 deletions(-) create mode 100644 config-uml create mode 100755 tests/install-mount-idmapped.sh create mode 100755 tests/portable_signatures.test -- 2.25.1