As the poky repository is no longer used, measurements are indexed using
the oe-core commit. But as bitbake, oe-core and meta-yocto are now
retrieved from separate gits, while measuring performances for a given branch
at some time interval, we can get the same commit for oe-core but
different ones for bitbake or meta-yocto. As a consequence, metadata
associated with the same index (oe-core commit) might differ.

To work around this, relax the equality checks for commit, commit_time
and commit_count since they might no longer match.

Ideally we'd group them into separate results but for now, treat them
as being the same.

[Based on work from Mathieu Dubois-Briand but fixed differently]
Signed-off-by: Richard Purdie <[email protected]>
---
 scripts/lib/build_perf/report.py | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/scripts/lib/build_perf/report.py b/scripts/lib/build_perf/report.py
index f4e6a92e094..9f5e8a4a0e3 100644
--- a/scripts/lib/build_perf/report.py
+++ b/scripts/lib/build_perf/report.py
@@ -137,9 +137,12 @@ def results_xml_to_json(elem):
 
 def aggregate_metadata(metadata):
     """Aggregate metadata into one, basically a sanity check"""
-    mutable_keys = ('pretty_name', 'version_id')
 
-    def aggregate_obj(aggregate, obj, assert_str=True):
+    # A given OE-Core commit may point at different meta-yocto/bitbake commits 
so we have
+    # to ignore commit/commit_count/commit_time differences
+    mutable_keys = ('pretty_name', 'version_id', 'commit', 'commit_count', 
'commit_time')
+
+    def aggregate_obj(aggregate, obj, assert_obj=True):
         """Aggregate objects together"""
         assert type(aggregate) is type(obj), \
                 "Type mismatch: {} != {}".format(type(aggregate), type(obj))
@@ -151,7 +154,7 @@ def aggregate_metadata(metadata):
             assert len(aggregate) == len(obj)
             for i, val in enumerate(obj):
                 aggregate_obj(aggregate[i], val)
-        elif not isinstance(obj, str) or (isinstance(obj, str) and assert_str):
+        elif assert_obj:
             assert aggregate == obj, "Data mismatch {} != 
{}".format(aggregate, obj)
 
     if not metadata:
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#226477): 
https://lists.openembedded.org/g/openembedded-core/message/226477
Mute This Topic: https://lists.openembedded.org/mt/116329873/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to