diff options
| author | Denys Fedoryshchenko <denys.f@collabora.com> | 2026-08-30 03:10:39 +0300 |
|---|---|---|
| committer | Denys Fedoryshchenko <denys.f@collabora.com> | 2026-08-30 03:10:39 +0300 |
| commit | dbc9d0fb6863026b16f4805709acc7e4977d7e66 (patch) | |
| tree | ac241e6e1ace4e126c50364bebf65688a314151b /tests/README.md | |
| parent | 89637ee2417fc7f42e4213d417da38aa814047e4 (diff) | |
| download | accel-ppp-dbc9d0fb6863026b16f4805709acc7e4977d7e66.tar.gz accel-ppp-dbc9d0fb6863026b16f4805709acc7e4977d7e66.zip | |
cmake: fix kernel module installation
Install each module from its real build directory, propagate staged install roots, and fail when kbuild modules_install fails. Add a rootless CTest and CI regression for successful and failed installs.
Best practices followed:
Use the standard CMake DESTDIR and kbuild INSTALL_MOD_PATH staging interfaces:
https://cmake.org/cmake/help/latest/envvar/DESTDIR.html
https://docs.kernel.org/kbuild/modules.html#install-mod-path
Check child command status with execute_process RESULT_VARIABLE:
https://cmake.org/cmake/help/latest/command/execute_process.html
Register repeatable tests with CTest add_test:
https://cmake.org/cmake/help/latest/command/add_test.html
Diffstat (limited to 'tests/README.md')
| -rw-r--r-- | tests/README.md | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/tests/README.md b/tests/README.md index 689a16d8..65afd254 100644 --- a/tests/README.md +++ b/tests/README.md @@ -2,6 +2,25 @@ These tests are done for Ubuntu and Debian distros. Please use latest stable Debian or Ubuntu to run the tests. +## Kernel module installation test + +The kernel module installation regression test is rootless and does not need +kernel headers. It uses a fake kernel build tree to verify that `ipoe`, +`vlan_mon`, and `ppposeq` are installed from their actual build directories, +honor `DESTDIR`, and make installation fail when `modules_install` fails. + +Run it through CTest after configuring the project: + +```bash +ctest --test-dir build --output-on-failure -R '^kernel-module-install$' +``` + +It can also be run directly from the repository root: + +```bash +sh tests/kernel-module-install/test.sh cmake +``` + ## Preparations Install pytest @@ -100,4 +119,4 @@ If you want to re-run tests 'from scratch', you may want to remove coverage data # from root dir (parent for this dir) sudo gcovr -d # build report and delete sudo gcovr -d # check that data is deleted (any coverage = 0%) -```
\ No newline at end of file +``` |
