Re: [OE-core] [PATCH v3 2/3] oe-selftest: overlayfs: Make the test more deterministic

Paul Barker
2026-01-15T13:53:44Z

[-- Attachment #1: Type: text/plain, Size: 2316 bytes --]

On Wed, 2026-01-14 at 18:54 +0000, Vyacheslav Yurkov via
lists.openembedded.org wrote:
> From: Vyacheslav Yurkov <uvv.mail@gmail.com>
>
> The test orignally was written under assumption that poky distro is
> used. When poky-altcft is used for example, then systemd is already set
> in DISTRO_FETURES, which the test did not expect.

Hi,

The commit title here still talks about determinism. The test case was
deterministic though - previously it would always fail if systemd was
already in DISTRO_FEATURES. I think I misunderstood a little last time,
but this still needs renaming.

I also wonder why we're testing this here. Perhaps this can be turned
into a more generic test that REQUIRED_DISTRO_FEATURES behaves as
expected - we can use the overlayfs bbclass as part of that as we know
it sets REQUIRED_DISTRO_FEATURES.

>
> Signed-off-by: Vyacheslav Yurkov <uvv.mail@gmail.com>
> ---
> meta/lib/oeqa/selftest/cases/overlayfs.py | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/meta/lib/oeqa/selftest/cases/overlayfs.py b/meta/lib/oeqa/selftest/cases/overlayfs.py
> index 580fbdcb9c..3e55e97927 100644
> --- a/meta/lib/oeqa/selftest/cases/overlayfs.py
> +++ b/meta/lib/oeqa/selftest/cases/overlayfs.py
> @@ -5,7 +5,7 @@
> #
>
> from oeqa.selftest.case import OESelftestTestCase
> -from oeqa.utils.commands import bitbake, runqemu, get_bb_vars
> +from oeqa.utils.commands import bitbake, runqemu, get_bb_vars, get_bb_var
> from oeqa.core.decorator import OETestTag
> from oeqa.core.decorator.data import skipIfNotMachine
>
> @@ -46,7 +46,8 @@ inherit overlayfs
> res = bitbake('core-image-minimal', ignore_status=True)
> line = getline(res, "overlayfs-user was skipped: missing required distro features")
> self.assertTrue("overlayfs" in res.output, msg=res.output)
> - self.assertTrue("systemd" in res.output, msg=res.output)
> + if not "systemd" in get_bb_var('DISTRO_FEATURES'):
> + self.assertTrue("systemd" in res.output, msg=res.output)
> self.assertTrue("ERROR: Required build target 'core-image-minimal' has no buildable providers." in res.output, msg=res.output)
>
> def test_not_all_units_installed(self):

Best regards,

--
Paul Barker

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 252 bytes --]