summaryrefslogtreecommitdiff
path: root/tests/README.md
diff options
context:
space:
mode:
authorDenys Fedoryshchenko <denys.f@collabora.com>2026-08-30 03:10:39 +0300
committerDenys Fedoryshchenko <denys.f@collabora.com>2026-08-30 03:10:39 +0300
commitdbc9d0fb6863026b16f4805709acc7e4977d7e66 (patch)
treeac241e6e1ace4e126c50364bebf65688a314151b /tests/README.md
parent89637ee2417fc7f42e4213d417da38aa814047e4 (diff)
downloadaccel-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.md21
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
+```