selftest reproducible.py: support different build targets

Allow users to set different build reproducibility targets than
the defaults using OEQA_REPRODUCIBLE_TEST_TARGET and
OEQA_REPRODUCIBLE_TEST_SSTATE_TARGETS variables in local.conf.

Fixing all issues from "world" builds is not possible in some
complex build environments with lots of layers. Limiting the focus to
a smaller subset allows using this test to detect and fix build
reproduction issues incrementally.

(From OE-Core rev: c66bebbce5995e386a1a4d055a914a39b6ee518d)

Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Mikko Rapeli 2023-06-13 11:14:51 +03:00 committed by Richard Purdie
parent a409dfdffc
commit 76e5fcb2d1

View File

@ -134,9 +134,13 @@ class ReproducibleTests(OESelftestTestCase):
max_report_size = 250 * 1024 * 1024 max_report_size = 250 * 1024 * 1024
# targets are the things we want to test the reproducibility of # targets are the things we want to test the reproducibility of
targets = ['core-image-minimal', 'core-image-sato', 'core-image-full-cmdline', 'core-image-weston', 'world'] targets = get_bb_var("OEQA_REPRODUCIBLE_TEST_TARGET")
if targets:
targets = targets.split()
else:
targets = ['core-image-minimal', 'core-image-sato', 'core-image-full-cmdline', 'core-image-weston', 'world']
# sstate targets are things to pull from sstate to potentially cut build/debugging time # sstate targets are things to pull from sstate to potentially cut build/debugging time
sstate_targets = [] sstate_targets = (get_bb_var("OEQA_REPRODUCIBLE_TEST_SSTATE_TARGETS") or "").split()
save_results = False save_results = False
if 'OEQA_DEBUGGING_SAVED_OUTPUT' in os.environ: if 'OEQA_DEBUGGING_SAVED_OUTPUT' in os.environ:
save_results = os.environ['OEQA_DEBUGGING_SAVED_OUTPUT'] save_results = os.environ['OEQA_DEBUGGING_SAVED_OUTPUT']