Other than the formatting changes, there are two functional ones:
- use perlcross instead of quilt, as quilt is special in the sense
of being excluded from task hash calculcations. perlcross is a full
participant.
- run the full test (local + sstate) for gcc do_preconfiure change
as the necessary fix has been implemented
(sstatesig/find_siginfo: special-case gcc-source when looking in sstate caches)
Note that when several tasks are found to have changed (as is the case
when base do_configure is adjusted), find_siginfo() runs
glob.glob("*/*/*taskname*") against autobuilder sstate cache for each
of those tasks (six or seven times). This is an expensive operation
taking several minutes. I left it in for now, but if it's proven too slow
the test would have to be reduced to checking a specific base recipe
(e.g. zstd-native) rather than a distant image target.
[YOCTO #15289]
Signed-off-by: Alexander Kanavin <[email protected]>
---
.../perlcross_%.bbappend} | 0
meta/lib/oeqa/selftest/cases/sstatetests.py | 22 +++++++++++--------
2 files changed, 13 insertions(+), 9 deletions(-)
rename meta-selftest/recipes-test/{quilt-native/quilt-native_%.bbappend =>
perlcross/perlcross_%.bbappend} (100%)
diff --git a/meta-selftest/recipes-test/quilt-native/quilt-native_%.bbappend
b/meta-selftest/recipes-test/perlcross/perlcross_%.bbappend
similarity index 100%
rename from meta-selftest/recipes-test/quilt-native/quilt-native_%.bbappend
rename to meta-selftest/recipes-test/perlcross/perlcross_%.bbappend
diff --git a/meta/lib/oeqa/selftest/cases/sstatetests.py
b/meta/lib/oeqa/selftest/cases/sstatetests.py
index f827615ba1b..6af3c8f2178 100644
--- a/meta/lib/oeqa/selftest/cases/sstatetests.py
+++ b/meta/lib/oeqa/selftest/cases/sstatetests.py
@@ -824,14 +824,16 @@ TMPDIR = "${{TOPDIR}}/tmp-sstateprintdiff-difftmp-{}"
# Check if printdiff walks the full dependency chain from the image target
to where the change is in a specific recipe
- def test_image_minimal_vs_quilt(self):
- expected_output = ("Task quilt-native:do_install couldn't be used from
the cache because:",
+ def test_image_minimal_vs_perlcross(self):
+ expected_output = ("Task perlcross-native:do_install couldn't be used
from the cache because:",
"We need hash",
"most recent matching task was")
- expected_sametmp_output = expected_output + ("Variable do_install
value changed",'+ echo "this changes the task signature"')
+ expected_sametmp_output = expected_output + (
+"Variable do_install value changed",
+'+ echo "this changes the task signature"')
expected_difftmp_output = expected_output
- self.run_test_printdiff_changerecipe("core-image-minimal",
"quilt-native", "-c do_install quilt-native",
+ self.run_test_printdiff_changerecipe("core-image-minimal",
"perlcross", "-c do_install perlcross-native",
"""
do_install:append() {
echo "this changes the task signature"
@@ -846,10 +848,10 @@ expected_sametmp_output, expected_difftmp_output)
expected_output = ("Task {}:do_preconfigure couldn't be used from the
cache because:".format(gcc_source_pn),
"We need hash",
"most recent matching task was")
- expected_sametmp_output = expected_output + ("Variable do_preconfigure
value changed",'+ print("this changes the task signature")')
- #FIXME: printdiff is supposed to find at least one preconfigure task
signature in the sstate cache, but isn't able to
- #expected_difftmp_output = expected_output
- expected_difftmp_output = ()
+ expected_sametmp_output = expected_output + (
+"Variable do_preconfigure value changed",
+'+ print("this changes the task signature")')
+ expected_difftmp_output = expected_output
self.run_test_printdiff_changerecipe("gcc-runtime", "gcc-source", "-c
do_preconfigure {}".format(gcc_source_pn),
"""
@@ -873,7 +875,9 @@ expected_sametmp_output, expected_difftmp_output)
"Task gnu-config-native:do_configure couldn't be used from the cache because:",
"We need hash",
"most recent matching task was")
- expected_sametmp_output = expected_output + ("Variable
base_do_configure value changed",'+ echo "this changes base_do_configure()
definiton "')
+ expected_sametmp_output = expected_output + (
+"Variable base_do_configure value changed",
+'+ echo "this changes base_do_configure() definiton "')
expected_difftmp_output = expected_output
self.run_test_printdiff_changeconfig("core-image-minimal",
--
2.39.2
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#192613):
https://lists.openembedded.org/g/openembedded-core/message/192613
Mute This Topic: https://lists.openembedded.org/mt/103239347/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-