mirror of
git://git.yoctoproject.org/poky.git
synced 2025-07-19 21:09:03 +02:00
resulttool: Clean up repoducible build logs
We've improved the data stored for reproduicible builds. Teach resulttool how to apply those cleanups when reprocessing data so we can reduce results file sizes and make the data easier to process. (From OE-Core rev: b799c57ae6d61c1b1c7035c8a2c4ba6ee08d1a81) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
33a2d01430
commit
fae3c13eb6
|
@ -131,6 +131,27 @@ def strip_logs(results):
|
|||
del newresults[res]['result']['ptestresult.sections'][i]['log']
|
||||
return newresults
|
||||
|
||||
def handle_cleanups(results):
|
||||
# Remove pointless path duplication from old format reproducibility results
|
||||
for res2 in results:
|
||||
try:
|
||||
section = results[res2]['result']['reproducible']['files']
|
||||
for pkgtype in section:
|
||||
for filelist in section[pkgtype].copy():
|
||||
if section[pkgtype][filelist] and type(section[pkgtype][filelist][0]) == dict:
|
||||
newlist = []
|
||||
for entry in section[pkgtype][filelist]:
|
||||
newlist.append(entry["reference"].split("/./")[1])
|
||||
section[pkgtype][filelist] = newlist
|
||||
|
||||
except KeyError:
|
||||
pass
|
||||
# Remove pointless duplicate rawlogs data
|
||||
try:
|
||||
del results[res2]['result']['reproducible.rawlogs']
|
||||
except KeyError:
|
||||
pass
|
||||
|
||||
def decode_log(logdata):
|
||||
if isinstance(logdata, str):
|
||||
return logdata
|
||||
|
@ -173,6 +194,7 @@ def save_resultsdata(results, destdir, fn="testresults.json", ptestjson=False, p
|
|||
resultsout = results[res]
|
||||
if not ptestjson:
|
||||
resultsout = strip_logs(results[res])
|
||||
handle_cleanups(resultsout)
|
||||
with open(dst, 'w') as f:
|
||||
f.write(json.dumps(resultsout, sort_keys=True, indent=1))
|
||||
for res2 in results[res]:
|
||||
|
|
Loading…
Reference in New Issue
Block a user