oeqa/utils/gitarchive: Handle broken commit counts in results repo

The test results repository contains tags like:

master/64501-g65c94ca3196e5ef3344a469fea8e30444f2e967a/0
master/1-g65c94ca3196e5ef3344a469fea8e30444f2e967a/3
master/1-g65c94ca3196e5ef3344a469fea8e30444f2e967a/2
master/1-g65c94ca3196e5ef3344a469fea8e30444f2e967a/1
master/1-g65c94ca3196e5ef3344a469fea8e30444f2e967a/0

where the commit count is correct in one case and not in the others. This causes
assertion errors in the current code.

Add in some code to work around these historical issues where the commit counts are low.

(From OE-Core rev: d51fc5c8c469730885af7bbde7122032de411d89)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Richard Purdie
2023-09-27 21:31:54 +01:00
parent d9d8cd345f
commit fc5a15cc64

View File

@@ -255,7 +255,15 @@ def get_test_revs(log, repo, tag_name, **kwargs):
if not commit in revs:
revs[commit] = TestedRev(commit, commit_num, [tag])
else:
assert commit_num == revs[commit].commit_number, "Commit numbers do not match"
if commit_num != revs[commit].commit_number:
# Historically we have incorrect commit counts of '1' in the repo so fix these up
if int(revs[commit].commit_number) < 5:
tags = revs[commit].tags
revs[commit] = TestedRev(commit, commit_num, [tags])
elif int(commit_num) < 5:
pass
else:
sys.exit("Commit numbers for commit %s don't match (%s vs %s)" % (commit, commit_num, revs[commit].commit_number))
revs[commit].tags.append(tag)
# Return in sorted table