Merge pull request #1168 from bridadan/consolidate-waterfall

Consolidate waterfall test results
pull/1154/merge
Martin Kojtal 2015-06-09 07:58:28 +01:00
commit 8902229372
2 changed files with 33 additions and 13 deletions

View File

@ -231,6 +231,7 @@ if __name__ == '__main__':
_opts_mut_reset_type=opts.mut_reset_type, _opts_mut_reset_type=opts.mut_reset_type,
_opts_jobs=opts.jobs, _opts_jobs=opts.jobs,
_opts_waterfall_test=opts.waterfall_test, _opts_waterfall_test=opts.waterfall_test,
_opts_consolidate_waterfall_test=opts.consolidate_waterfall_test,
_opts_extend_test_timeout=opts.extend_test_timeout) _opts_extend_test_timeout=opts.extend_test_timeout)
# Runs test suite in CLI mode # Runs test suite in CLI mode

View File

@ -179,6 +179,7 @@ class SingleTestRunner(object):
_opts_mut_reset_type=None, _opts_mut_reset_type=None,
_opts_jobs=None, _opts_jobs=None,
_opts_waterfall_test=None, _opts_waterfall_test=None,
_opts_consolidate_waterfall_test=None,
_opts_extend_test_timeout=None): _opts_extend_test_timeout=None):
""" Let's try hard to init this object """ Let's try hard to init this object
""" """
@ -236,6 +237,7 @@ class SingleTestRunner(object):
self.opts_mut_reset_type = _opts_mut_reset_type self.opts_mut_reset_type = _opts_mut_reset_type
self.opts_jobs = _opts_jobs if _opts_jobs is not None else 1 self.opts_jobs = _opts_jobs if _opts_jobs is not None else 1
self.opts_waterfall_test = _opts_waterfall_test self.opts_waterfall_test = _opts_waterfall_test
self.opts_consolidate_waterfall_test = _opts_consolidate_waterfall_test
self.opts_extend_test_timeout = _opts_extend_test_timeout self.opts_extend_test_timeout = _opts_extend_test_timeout
self.opts_clean = _clean self.opts_clean = _clean
@ -485,18 +487,21 @@ class SingleTestRunner(object):
) )
# Add detailed test result to test summary structure # Add detailed test result to test summary structure
if target not in self.test_summary_ext[toolchain][target]: if test_id not in self.test_summary_ext[toolchain][target]:
self.test_summary_ext[toolchain][target][test_id] = { 0: { self.test_summary_ext[toolchain][target][test_id] = []
'single_test_result' : self.TEST_RESULT_BUILD_FAILED,
'single_test_output' : '', self.test_summary_ext[toolchain][target][test_id].append({ 0: {
'target_name' : target, 'single_test_result' : self.TEST_RESULT_BUILD_FAILED,
'toolchain_name' : toolchain, 'single_test_output' : '',
'test_id' : test_id, 'target_name' : target,
'test_description' : 'Toolchain build failed', 'target_name_unique': target,
'elapsed_time' : 0, 'toolchain_name' : toolchain,
'duration' : 0, 'test_id' : test_id,
'copy_method' : None 'test_description' : 'Toolchain build failed',
}} 'elapsed_time' : 0,
'duration' : 0,
'copy_method' : None
}})
continue continue
if self.opts_only_build_tests: if self.opts_only_build_tests:
@ -537,7 +542,15 @@ class SingleTestRunner(object):
if target not in self.test_summary_ext[toolchain][target]: if target not in self.test_summary_ext[toolchain][target]:
if test_id not in self.test_summary_ext[toolchain][target]: if test_id not in self.test_summary_ext[toolchain][target]:
self.test_summary_ext[toolchain][target][test_id] = [] self.test_summary_ext[toolchain][target][test_id] = []
self.test_summary_ext[toolchain][target][test_id].append(detailed_test_results)
append_test_result = detailed_test_results
# If waterfall and consolidate-waterfall options are enabled,
# only include the last test result in the report.
if self.opts_waterfall_test and self.opts_consolidate_waterfall_test:
append_test_result = {0: detailed_test_results[len(detailed_test_results) - 1]}
self.test_summary_ext[toolchain][target][test_id].append(append_test_result)
test_suite_properties['skipped'] = ', '.join(test_suite_properties['skipped']) test_suite_properties['skipped'] = ', '.join(test_suite_properties['skipped'])
self.test_suite_properties_ext[target][toolchain] = test_suite_properties self.test_suite_properties_ext[target][toolchain] = test_suite_properties
@ -1835,6 +1848,12 @@ def get_default_test_options_parser():
dest='test_global_loops_value', dest='test_global_loops_value',
help='Set global number of test loops per test. Default value is set 1') help='Set global number of test loops per test. Default value is set 1')
parser.add_option('', '--consolidate-waterfall',
dest='consolidate_waterfall_test',
default=False,
action="store_true",
help='Used with --waterfall option. Adds only one test to report reflecting outcome of waterfall test.')
parser.add_option('-W', '--waterfall', parser.add_option('-W', '--waterfall',
dest='waterfall_test', dest='waterfall_test',
default=False, default=False,