summaryrefslogtreecommitdiff
path: root/tests/kernel-module-install/test.sh
diff options
context:
space:
mode:
Diffstat (limited to 'tests/kernel-module-install/test.sh')
-rw-r--r--tests/kernel-module-install/test.sh31
1 files changed, 31 insertions, 0 deletions
diff --git a/tests/kernel-module-install/test.sh b/tests/kernel-module-install/test.sh
index 1fbfd623..2f3ec579 100644
--- a/tests/kernel-module-install/test.sh
+++ b/tests/kernel-module-install/test.sh
@@ -36,3 +36,34 @@ if FAIL_MODULES_INSTALL=1 DESTDIR="${work_dir}/failed-stage" \
fi
grep -q 'Failed to install kernel module' "${work_dir}/failed-install.log"
+
+# Packaging configurations bypass modules_install and must install the .ko
+# explicitly, including when PPPoSEQ is built as a standalone driver package.
+for package_type in Debian12 Centos9; do
+ package_build="${work_dir}/package-${package_type}"
+ package_stage="${work_dir}/stage-${package_type}"
+ "${cmake_command}" \
+ -S "${source_dir}" \
+ -B "${package_build}" \
+ -DBUILD_TESTING=OFF \
+ -DBUILD_DRIVER_ONLY=TRUE \
+ -DBUILD_PPPOSEQ_DRIVER=TRUE \
+ -DIGNORE_GIT=TRUE \
+ -DCPACK_TYPE="${package_type}" \
+ -DMODULES_KDIR=test-kernel \
+ -DCENTOS_KDIR=test-kernel \
+ -DKDIR="${script_dir}"
+ "${cmake_command}" --build "${package_build}"
+ DESTDIR="${package_stage}" \
+ "${cmake_command}" --install "${package_build}"
+ test -f "${package_stage}/lib/modules/test-kernel/extra/ppposeq.ko"
+ grep -q 'set(CPACK_PACKAGE_NAME "accel-ppp-ppposeq-kmod")' \
+ "${package_build}/CPackConfig.cmake"
+
+ # A stale build artifact must not be installed after the flag is disabled.
+ "${cmake_command}" -S "${source_dir}" -B "${package_build}" \
+ -DBUILD_PPPOSEQ_DRIVER=FALSE
+ DESTDIR="${package_stage}-disabled" \
+ "${cmake_command}" --install "${package_build}"
+ test ! -e "${package_stage}-disabled/lib/modules/test-kernel/extra/ppposeq.ko"
+done