summaryrefslogtreecommitdiffstats
path: root/meta
diff options
context:
space:
mode:
authorAntonin Godard <antonin.godard@bootlin.com>2025-09-26 11:46:53 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2025-10-01 10:52:54 +0100
commitfb086f85b7959e2bac3466b26881e8eab03f2858 (patch)
treea99fdd5184f04c001c4d58f0b1a22a8f3ebcb574 /meta
parent1c4fae57327773a8058587b28c718bdf913a3635 (diff)
downloadpoky-fb086f85b7959e2bac3466b26881e8eab03f2858.tar.gz
oeqa/bblayers.py: add tests for adding new built-in fragments
Add discussed in [1], our best option for customizing built-in fragments is to pass them from a layer configuration. In short, the reason is that our statement must be parsed before the addfragments call is parsed.We also have to use the :append override as using += would override the original definition of OE_FRAGMENTS_BUILTIN (since it uses a ?= assignment). Provide a test case for customizing built-in fragments with meta-selftest. [1]: https://lore.kernel.org/yocto-docs/20250925-fragments-v1-0-c9f747361fb2@bootlin.com/T/#m9f7c9f110c084eba17e0f64d8b2ac7a88af3f38e Cc: Alexander Kanavin <alex.kanavin@gmail.com> (From OE-Core rev: 38cbf4c0ce5173dc3080fa0fbb3ec3e7926c8137) Signed-off-by: Antonin Godard <antonin.godard@bootlin.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta')
-rw-r--r--meta/lib/oeqa/selftest/cases/bblayers.py29
1 files changed, 29 insertions, 0 deletions
diff --git a/meta/lib/oeqa/selftest/cases/bblayers.py b/meta/lib/oeqa/selftest/cases/bblayers.py
index 8c05ec5d3d..d82c5aaf37 100644
--- a/meta/lib/oeqa/selftest/cases/bblayers.py
+++ b/meta/lib/oeqa/selftest/cases/bblayers.py
@@ -272,6 +272,35 @@ class BitbakeConfigBuild(OESelftestTestCase):
272 self.assertEqual(get_bb_var('SELFTEST_FRAGMENT_VARIABLE'), None) 272 self.assertEqual(get_bb_var('SELFTEST_FRAGMENT_VARIABLE'), None)
273 self.assertEqual(get_bb_var('SELFTEST_FRAGMENT_ANOTHER_VARIABLE'), None) 273 self.assertEqual(get_bb_var('SELFTEST_FRAGMENT_ANOTHER_VARIABLE'), None)
274 274
275 def test_enable_disable_builtin_fragments(self):
276 """
277 Tests that the meta-selftest properly adds a new built-in fragment from
278 its layer.conf configuration file.
279 The test sequence goes as follows:
280 1. Verify that SELFTEST_BUILTIN_FRAGMENT_VARIABLE is not set yet.
281 2. Verify that SELFTEST_BUILTIN_FRAGMENT_VARIABLE is set after setting
282 the fragment.
283 3. Verify that SELFTEST_BUILTIN_FRAGMENT_VARIABLE is set after setting
284 the fragment with another value that overrides the first one.
285 4. Verify that SELFTEST_BUILTIN_FRAGMENT_VARIABLE is set to the previous
286 value after removing the second assignment (from step 3).
287 5. Verify that SELFTEST_BUILTIN_FRAGMENT_VARIABLE is not set after
288 removing the original assignment.
289 """
290 self.assertEqual(get_bb_var('SELFTEST_BUILTIN_FRAGMENT_VARIABLE'), None)
291
292 runCmd('bitbake-config-build enable-fragment selftest-fragment/somevalue')
293 self.assertEqual(get_bb_var('SELFTEST_BUILTIN_FRAGMENT_VARIABLE'), 'somevalue')
294
295 runCmd('bitbake-config-build enable-fragment selftest-fragment/someothervalue')
296 self.assertEqual(get_bb_var('SELFTEST_BUILTIN_FRAGMENT_VARIABLE'), 'someothervalue')
297
298 runCmd('bitbake-config-build disable-fragment selftest-fragment/someothervalue')
299 self.assertEqual(get_bb_var('SELFTEST_BUILTIN_FRAGMENT_VARIABLE'), 'somevalue')
300
301 runCmd('bitbake-config-build disable-fragment selftest-fragment/somevalue')
302 self.assertEqual(get_bb_var('SELFTEST_BUILTIN_FRAGMENT_VARIABLE'), None)
303
275 def test_show_fragment(self): 304 def test_show_fragment(self):
276 """ 305 """
277 Test that bitbake-config-build show-fragment returns the expected 306 Test that bitbake-config-build show-fragment returns the expected