Sorry but I messed up the patch and need to send a v3. Jose
Jose Quaresma via lists.openembedded.org <quaresma.jose= [email protected]> escreveu no dia sexta, 14/10/2022 à(s) 16:12: > From: Jose Quaresma <[email protected]> > > Test that the shared recipes in original mode with diff enabled works in > multiconfig, > otherwise it will not build when using the same TMP dir. > > The test can be run with: > > oe-selftest -r > archiver.Archiver.test_archiver_multiconfig_shared_unpack_and_patch > > | oe-selftest - INFO - test_archiver_multiconfig_shared_unpack_and_patch > (archiver.Archiver) > | oe-selftest - INFO - ... ok > | oe-selftest - INFO - > ---------------------------------------------------------------------- > | oe-selftest - INFO - Ran 1 test in 52.948s > | oe-selftest - INFO - OK > | oe-selftest - INFO - RESULTS: > | oe-selftest - INFO - RESULTS - > archiver.Archiver.test_archiver_multiconfig_shared_unpack_and_patch: PASSED > (49.98s) > | oe-selftest - INFO - SUMMARY: > | oe-selftest - INFO - oe-selftest () - Ran 1 test in 52.948s > | oe-selftest - INFO - oe-selftest - OK - All required tests passed > (successes=1, skipped=0, failures=0, errors=0) > > Signed-off-by: Jose Quaresma <[email protected]> > --- > > v2: replace --runonly with --cmd (-c) > update the runtime test time on the commit > show the locked_sigs file used on the assert > > meta/lib/oeqa/selftest/cases/archiver.py | 29 ++++++++++++++++++++++++ > 1 file changed, 29 insertions(+) > > diff --git a/meta/lib/oeqa/selftest/cases/archiver.py > b/meta/lib/oeqa/selftest/cases/archiver.py > index ffdea832be..1d4985dacf 100644 > --- a/meta/lib/oeqa/selftest/cases/archiver.py > +++ b/meta/lib/oeqa/selftest/cases/archiver.py > @@ -6,6 +6,7 @@ > > import os > import glob > +import re > from oeqa.utils.commands import bitbake, get_bb_vars > from oeqa.selftest.case import OESelftestTestCase > > @@ -119,7 +120,35 @@ class Archiver(OESelftestTestCase): > excluded_present = len(glob.glob(src_path_target + '/%s-*/*' % > target_recipes[1])) > self.assertFalse(excluded_present, 'Recipe %s was not excluded.' > % target_recipes[1]) > > + def test_archiver_multiconfig_shared_unpack_and_patch(self): > + """ > + Test that shared recipes in original mode with diff enabled works > in multiconfig, > + otherwise it will not build when using the same TMP dir. > + """ > + > + features = 'BBMULTICONFIG = "mc1 mc2"\n' > + features += 'INHERIT += "archiver"\n' > + features += 'ARCHIVER_MODE[src] = "original"\n' > + features += 'ARCHIVER_MODE[diff] = "1"\n' > + self.write_config(features) > + > + # We can use any machine in multiconfig as long as they are > different > + self.write_config('MACHINE = "qemuarm"\n', 'mc1') > + self.write_config('MACHINE = "qemux86"\n', 'mc2') > + > + task = 'do_unpack_and_patch' > + # Use gcc-source as it is a shared recipe (appends the pv to the > pn) > + pn = 'gcc-source-%s' % get_bb_vars(['PV'], 'gcc')['PV'] > + > + # Generate the tasks signatures > + bitbake('mc:mc1:%s mc:mc2:%s --runonly=%s --dump-signatures=none' > % (pn, pn, task)) > > + # Check the tasks signatures > + # To be machine agnostic the tasks needs to generate the same > signature for each machine > + locked_sigs = open("%s/locked-sigs.inc" % self.builddir).read() > + task_sigs = re.findall(r"%s:%s:.*" % (pn, task), locked_sigs) > + uniq_sigs = set(task_sigs) > + self.assertFalse(len(uniq_sigs) - 1, 'The task "%s" of the recipe > "%s" has diferent signatures for each machine in multiconfig' % (task, pn)) > > def test_archiver_srpm_mode(self): > """ > -- > 2.38.0 > > > > > -- Best regards, José Quaresma
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#171734): https://lists.openembedded.org/g/openembedded-core/message/171734 Mute This Topic: https://lists.openembedded.org/mt/94328653/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
