summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--build/android/pylib/perf/test_runner.py30
1 files changed, 22 insertions, 8 deletions
diff --git a/build/android/pylib/perf/test_runner.py b/build/android/pylib/perf/test_runner.py
index 9d1f437..3bee602 100644
--- a/build/android/pylib/perf/test_runner.py
+++ b/build/android/pylib/perf/test_runner.py
@@ -66,11 +66,29 @@ from pylib.base import base_test_runner
from pylib.device import device_errors
+def GetPersistedResult(test_name):
+ file_name = os.path.join(constants.PERF_OUTPUT_DIR, test_name)
+ if not os.path.exists(file_name):
+ logging.error('File not found %s', file_name)
+ return None
+
+ with file(file_name, 'r') as f:
+ return pickle.loads(f.read())
+
+
def OutputJsonList(json_input, json_output):
with file(json_input, 'r') as i:
all_steps = json.load(i)
- step_values = [{'test': k, 'device_affinity': v['device_affinity']}
- for k, v in all_steps['steps'].iteritems()]
+
+ step_values = []
+ for k, v in all_steps['steps'].iteritems():
+ data = {'test': k, 'device_affinity': v['device_affinity']}
+
+ persisted_result = GetPersistedResult(k)
+ if persisted_result:
+ data['total_time'] = persisted_result['total_time']
+ step_values.append(data)
+
with file(json_output, 'w') as o:
o.write(json.dumps(step_values))
return 0
@@ -86,13 +104,9 @@ def PrintTestOutput(test_name, json_file_name=None):
Returns:
exit code generated by the test step.
"""
- file_name = os.path.join(constants.PERF_OUTPUT_DIR, test_name)
- if not os.path.exists(file_name):
- logging.error('File not found %s', file_name)
+ persisted_result = GetPersistedResult(test_name)
+ if not persisted_result:
return 1
-
- with file(file_name, 'r') as f:
- persisted_result = pickle.loads(f.read())
logging.info('*' * 80)
logging.info('Output from:')
logging.info(persisted_result['cmd'])