summaryrefslogtreecommitdiff
path: root/automated/utils
diff options
context:
space:
mode:
authorChase Qi <chase.qi@linaro.org>2016-11-07 15:32:01 +0800
committerMilosz Wasilewski <milosz.wasilewski@linaro.org>2016-11-07 16:13:00 +0000
commit87f4f40d2731bfca4c51ca8d6a8549662db87cd1 (patch)
tree36d5ef4c0738f7bddbf2f3d32e72b49a928b25e0 /automated/utils
parentc763b9a82600febd536beb484197168a655ed7fc (diff)
automated: test-runner: enhance result parser
* Add test name and params to result.json * Collect all results in output/result.json * Add header and test name for output/result.csv Change-Id: Ie73af79be9e68780a8863e651dc30ed34bcbf4c3 Signed-off-by: Chase Qi <chase.qi@linaro.org>
Diffstat (limited to 'automated/utils')
-rwxr-xr-xautomated/utils/test-runner.py27
1 files changed, 24 insertions, 3 deletions
diff --git a/automated/utils/test-runner.py b/automated/utils/test-runner.py
index 5ebd3bb..6cc06cb 100755
--- a/automated/utils/test-runner.py
+++ b/automated/utils/test-runner.py
@@ -235,6 +235,7 @@ class ResultParser(object):
self.results = {}
self.results['test'] = self.test_name
self.results['id'] = self.test_uuid
+ self.results['params'] = test.get('params')
self.logger = logging.getLogger('RUNNER.ResultParser')
def run(self):
@@ -268,22 +269,42 @@ class ResultParser(object):
self.results['metrics'] = self.metrics
def dict_to_json(self):
+ # Save test results to output/test_id/result.json
with open('%s/result.json' % self.result_path, 'w') as f:
- json.dump(self.results, f, indent=4)
+ json.dump([self.results], f, indent=4)
+
+ # Collect test results of all tests in output/result.json
+ feeds = []
+ if os.path.isfile('%s/result.json' % self.output):
+ with open('%s/result.json' % self.output, 'r') as f:
+ feeds = json.load(f)
+
+ feeds.append(self.results)
+ with open('%s/result.json' % self.output, 'w') as f:
+ json.dump(feeds, f, indent=4)
def dict_to_csv(self):
+ # Save test results to output/test_id/result.csv
with open('%s/result.csv' % self.result_path, 'w') as f:
- fieldnames = ['test_case_id', 'result', 'measurement', 'units']
+ fieldnames = ['test', 'test_case_id', 'result', 'measurement', 'units']
writer = csv.DictWriter(f, fieldnames=fieldnames)
writer.writeheader()
for metric in self.results['metrics']:
+ metric['test'] = self.results['test']
writer.writerow(metric)
+ # Collect test results of all tests in output/result.csv
+ if not os.path.isfile('%s/result.csv' % self.output):
+ with open('%s/result.csv' % self.output, 'w') as f:
+ fieldnames = ['test', 'test_case_id', 'result', 'measurement', 'units']
+ writer = csv.DictWriter(f, fieldnames=fieldnames)
+ writer.writeheader()
+
with open('%s/result.csv' % self.output, 'a') as f:
writer = csv.DictWriter(f, fieldnames=fieldnames)
-
for metric in self.results['metrics']:
+ metric['test'] = self.results['test']
writer.writerow(metric)