Validate that out-of-tree kernel module building using kernel-devsrc works as expected.
This test uses cryptodev-linux as a idiomatic out of tree module. As the latest release doesn't actually build with kernel 6.7+, use the same commit that our recipe uses. Signed-off-by: Ross Burton <[email protected]> --- meta/lib/oeqa/sdk/cases/kmod.py | 41 +++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 meta/lib/oeqa/sdk/cases/kmod.py diff --git a/meta/lib/oeqa/sdk/cases/kmod.py b/meta/lib/oeqa/sdk/cases/kmod.py new file mode 100644 index 00000000000..9e8fdbcd403 --- /dev/null +++ b/meta/lib/oeqa/sdk/cases/kmod.py @@ -0,0 +1,41 @@ +# +# Copyright OpenEmbedded Contributors +# +# SPDX-License-Identifier: MIT +# + +import os +import subprocess +import tempfile +import unittest + +from oeqa.sdk.case import OESDKTestCase +from oeqa.utils.subprocesstweak import errors_have_output +errors_have_output() + +class KernelModuleTest(OESDKTestCase): + """ + Test that out-of-tree kernel modules build. + """ + + def setUp(self): + if not self.tc.hasTargetPackage("kernel-devsrc"): + raise unittest.SkipTest("KernelModuleTest needs kernel-devsrc") + + # These targets need to be built before kernel modules can be built. + self._run("make -j -C $OECORE_TARGET_SYSROOT/usr/src/kernel prepare scripts") + + + def test_cryptodev(self): + with tempfile.TemporaryDirectory(prefix="cryptodev", dir=self.tc.sdk_dir) as testdir: + git_url = "https://github.com/cryptodev-linux/cryptodev-linux" + # This is a knnown-good commit post-1.13 that builds with kernel 6.7+ + git_sha = "bb8bc7cf60d2c0b097c8b3b0e807f805b577a53f" + + sourcedir = os.path.join(testdir, "cryptodev-linux") + subprocess.check_output(["git", "clone", git_url, sourcedir], stderr=subprocess.STDOUT) + self.assertTrue(os.path.isdir(sourcedir)) + subprocess.check_output(["git", "-C", sourcedir, "checkout", git_sha], stderr=subprocess.STDOUT) + + self._run("make -C %s V=1 KERNEL_DIR=$OECORE_TARGET_SYSROOT/usr/src/kernel" % sourcedir) + self.check_elf(os.path.join(sourcedir, "cryptodev.ko")) -- 2.34.1
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#201848): https://lists.openembedded.org/g/openembedded-core/message/201848 Mute This Topic: https://lists.openembedded.org/mt/107188034/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
