Chromium Code Reviews| Index: build/android/pylib/perf/test_runner.py |
| diff --git a/build/android/pylib/perf/test_runner.py b/build/android/pylib/perf/test_runner.py |
| index 9d1f4371705ea9f1fdb8341a0328bf085463a44a..be44719654ea585a9cec03a30ef5f35badaa7775 100644 |
| --- a/build/android/pylib/perf/test_runner.py |
| +++ b/build/android/pylib/perf/test_runner.py |
| @@ -66,11 +66,31 @@ 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'], |
| + 'total_time': -1} |
|
Sami
2015/05/13 18:39:18
Not sure if it makes more sense to set the total t
|
| + |
| + 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 +106,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']) |