summaryrefslogtreecommitdiff
path: root/tests/kernel-module-install/test.sh
diff options
context:
space:
mode:
authorDenys Fedoryshchenko <denys.f@collabora.com>2026-10-06 02:17:37 +0300
committerGitHub <noreply@github.com>2026-10-06 02:17:37 +0300
commitd33028de8b8b520dfde12d9d9d01f4cd576f23b3 (patch)
tree242dcc8c207dfa314a1a82890ca68536c51da7d9 /tests/kernel-module-install/test.sh
parent50c54c477624d5a9b668225fde2b9844d362760a (diff)
parentdbc9d0fb6863026b16f4805709acc7e4977d7e66 (diff)
downloadaccel-ppp-d33028de8b8b520dfde12d9d9d01f4cd576f23b3.tar.gz
accel-ppp-d33028de8b8b520dfde12d9d9d01f4cd576f23b3.zip
Merge pull request #358 from nuclearcat/fix/kernel-module-install
cmake: fix kernel module installation
Diffstat (limited to 'tests/kernel-module-install/test.sh')
-rw-r--r--tests/kernel-module-install/test.sh38
1 files changed, 38 insertions, 0 deletions
diff --git a/tests/kernel-module-install/test.sh b/tests/kernel-module-install/test.sh
new file mode 100644
index 00000000..1fbfd623
--- /dev/null
+++ b/tests/kernel-module-install/test.sh
@@ -0,0 +1,38 @@
+#!/bin/sh
+
+set -eu
+
+cmake_command=${1:-cmake}
+script_dir=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd)
+source_dir=$(CDPATH= cd -- "${script_dir}/../.." && pwd)
+work_dir=$(mktemp -d)
+trap 'rm -rf "${work_dir}"' EXIT HUP INT TERM
+
+"${cmake_command}" \
+ -S "${source_dir}" \
+ -B "${work_dir}/build" \
+ -DBUILD_TESTING=OFF \
+ -DBUILD_DRIVER_ONLY=TRUE \
+ -DBUILD_IPOE_DRIVER=TRUE \
+ -DBUILD_VLAN_MON_DRIVER=TRUE \
+ -DBUILD_PPPOSEQ_DRIVER=TRUE \
+ -DIGNORE_GIT=TRUE \
+ -DKDIR="${script_dir}"
+
+"${cmake_command}" --build "${work_dir}/build" --parallel 2
+
+DESTDIR="${work_dir}/stage" \
+ "${cmake_command}" --install "${work_dir}/build"
+
+test -f "${work_dir}/stage/lib/modules/test-kernel/extra/ipoe.ko"
+test -f "${work_dir}/stage/lib/modules/test-kernel/extra/vlan_mon.ko"
+test -f "${work_dir}/stage/lib/modules/test-kernel/extra/ppposeq.ko"
+
+if FAIL_MODULES_INSTALL=1 DESTDIR="${work_dir}/failed-stage" \
+ "${cmake_command}" --install "${work_dir}/build" \
+ >"${work_dir}/failed-install.log" 2>&1; then
+ printf '%s\n' 'kernel module installation unexpectedly succeeded' >&2
+ exit 1
+fi
+
+grep -q 'Failed to install kernel module' "${work_dir}/failed-install.log"