summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--scripts/lib/resulttool/log.py21
-rw-r--r--scripts/lib/resulttool/resultutils.py22
2 files changed, 28 insertions, 15 deletions
diff --git a/scripts/lib/resulttool/log.py b/scripts/lib/resulttool/log.py
index f1bfd99500..eb3927ec82 100644
--- a/scripts/lib/resulttool/log.py
+++ b/scripts/lib/resulttool/log.py
@@ -34,13 +34,17 @@ def log(args, logger):
return 1
for _, run_name, _, r in resultutils.test_run_results(results):
- if args.dump_ptest and 'ptestresult.sections' in r:
- for name, ptest in r['ptestresult.sections'].items():
- logdata = resultutils.ptestresult_get_log(r, name)
+ if args.dump_ptest:
+ for sectname in ['ptestresult.sections', 'ltpposixresult.sections', 'ltpresult.sections']:
+ if sectname in r:
+ for name, ptest in r[sectname].items():
+ logdata = resultutils.generic_get_log(sectname, r, name)
if logdata is not None:
dest_dir = args.dump_ptest
if args.prepend_run:
dest_dir = os.path.join(dest_dir, run_name)
+ if not sectname.startswith("ptest"):
+ dest_dir = os.path.join(dest_dir, sectname.split(".")[0])
os.makedirs(dest_dir, exist_ok=True)
dest = os.path.join(dest_dir, '%s.log' % name)
@@ -49,10 +53,13 @@ def log(args, logger):
f.write(logdata)
if args.raw_ptest:
- rawlog = resultutils.ptestresult_get_rawlogs(r)
- if rawlog is not None:
- print(rawlog)
- else:
+ found = False
+ for sectname in ['ptestresult.rawlogs', 'ltpposixresult.rawlogs', 'ltpresult.rawlogs']:
+ rawlog = resultutils.generic_get_rawlogs(sectname, r)
+ if rawlog is not None:
+ print(rawlog)
+ found = True
+ if not found:
print('Raw ptest logs not found')
return 1
diff --git a/scripts/lib/resulttool/resultutils.py b/scripts/lib/resulttool/resultutils.py
index 5fec01f6f3..8917022d36 100644
--- a/scripts/lib/resulttool/resultutils.py
+++ b/scripts/lib/resulttool/resultutils.py
@@ -130,23 +130,29 @@ def decode_log(logdata):
return data.decode("utf-8", errors='ignore')
return None
-def ptestresult_get_log(results, section):
- if 'ptestresult.sections' not in results:
+def generic_get_log(sectionname, results, section):
+ if sectionname not in results:
return None
- if section not in results['ptestresult.sections']:
+ if section not in results[sectionname]:
return None
- ptest = results['ptestresult.sections'][section]
+ ptest = results[sectionname][section]
if 'log' not in ptest:
return None
return decode_log(ptest['log'])
-def ptestresult_get_rawlogs(results):
- if 'ptestresult.rawlogs' not in results:
+def ptestresult_get_log(results, section):
+ return generic_get_log('ptestresuls.sections', results, section)
+
+def generic_get_rawlogs(sectname, results):
+ if sectname not in results:
return None
- if 'log' not in results['ptestresult.rawlogs']:
+ if 'log' not in results[sectname]:
return None
- return decode_log(results['ptestresult.rawlogs']['log'])
+ return decode_log(results[sectname]['log'])
+
+def ptestresult_get_rawlogs(results):
+ return generic_get_rawlogs('ptestresult.rawlogs', results)
def save_resultsdata(results, destdir, fn="testresults.json", ptestjson=False, ptestlogs=False):
for res in results: