Hi,

On Fri, Jul 12, 2024 at 07:43:58PM +0100, Ross Burton via 
lists.openembedded.org wrote:
> 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)

Is there any way to cache this, e.g. yocto build download cache?

Adding Internet downloads to test steps is a bad design IMO which eventually
causes a lot of failures.

Cheers,
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#201910): 
https://lists.openembedded.org/g/openembedded-core/message/201910
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]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to