diff options
| author | Armin Kuster <akuster808@gmail.com> | 2019-04-22 06:32:41 -0600 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2019-04-29 14:16:30 +0100 |
| commit | 12d8f77a88598fdf95be6936e26b2f28394bf3be (patch) | |
| tree | 208ec320cf2c36f7bd8fb83c788e2e63ddd73c1a /scripts/lib/resulttool/report.py | |
| parent | f45d63b4843e3d0041b8c2595830e5c2295e51e4 (diff) | |
| download | poky-12d8f77a88598fdf95be6936e26b2f28394bf3be.tar.gz | |
resulttool: add LTP compliance section
(From OE-Core rev: a680d7d15fafbecf4edce9a29cc4eda16c11fd94)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'scripts/lib/resulttool/report.py')
| -rw-r--r-- | scripts/lib/resulttool/report.py | 42 |
1 files changed, 41 insertions, 1 deletions
diff --git a/scripts/lib/resulttool/report.py b/scripts/lib/resulttool/report.py index 2a749459b4..b9a8903f4c 100644 --- a/scripts/lib/resulttool/report.py +++ b/scripts/lib/resulttool/report.py | |||
| @@ -24,6 +24,7 @@ class ResultsTextReport(object): | |||
| 24 | def __init__(self): | 24 | def __init__(self): |
| 25 | self.ptests = {} | 25 | self.ptests = {} |
| 26 | self.ltptests = {} | 26 | self.ltptests = {} |
| 27 | self.ltpposixtests = {} | ||
| 27 | self.result_types = {'passed': ['PASSED', 'passed'], | 28 | self.result_types = {'passed': ['PASSED', 'passed'], |
| 28 | 'failed': ['FAILED', 'failed', 'ERROR', 'error', 'UNKNOWN'], | 29 | 'failed': ['FAILED', 'failed', 'ERROR', 'error', 'UNKNOWN'], |
| 29 | 'skipped': ['SKIPPED', 'skipped']} | 30 | 'skipped': ['SKIPPED', 'skipped']} |
| @@ -88,6 +89,37 @@ class ResultsTextReport(object): | |||
| 88 | if status in self.result_types[tk]: | 89 | if status in self.result_types[tk]: |
| 89 | self.ltptests[suite][tk] += 1 | 90 | self.ltptests[suite][tk] += 1 |
| 90 | 91 | ||
| 92 | def handle_ltpposixtest_result(self, k, status, result): | ||
| 93 | if k == 'ltpposixresult.sections': | ||
| 94 | # Ensure tests without any test results still show up on the report | ||
| 95 | for suite in result['ltpposixresult.sections']: | ||
| 96 | if suite not in self.ltpposixtests: | ||
| 97 | self.ltpposixtests[suite] = {'passed': 0, 'failed': 0, 'skipped': 0, 'duration' : '-', 'failed_testcases': []} | ||
| 98 | if 'duration' in result['ltpposixresult.sections'][suite]: | ||
| 99 | self.ltpposixtests[suite]['duration'] = result['ltpposixresult.sections'][suite]['duration'] | ||
| 100 | return | ||
| 101 | try: | ||
| 102 | _, suite, test = k.split(".", 2) | ||
| 103 | except ValueError: | ||
| 104 | return | ||
| 105 | # Handle 'glib-2.0' | ||
| 106 | if 'ltpposixresult.sections' in result and suite not in result['ltpposixresult.sections']: | ||
| 107 | try: | ||
| 108 | _, suite, suite1, test = k.split(".", 3) | ||
| 109 | if suite + "." + suite1 in result['ltpposixresult.sections']: | ||
| 110 | suite = suite + "." + suite1 | ||
| 111 | except ValueError: | ||
| 112 | pass | ||
| 113 | if suite not in self.ltpposixtests: | ||
| 114 | self.ltpposixtests[suite] = {'passed': 0, 'failed': 0, 'skipped': 0, 'duration' : '-', 'failed_testcases': []} | ||
| 115 | for tk in self.result_types: | ||
| 116 | if status in self.result_types[tk]: | ||
| 117 | self.ltpposixtests[suite][tk] += 1 | ||
| 118 | |||
| 119 | def get_aggregated_test_result(self, logger, testresult): | ||
| 120 | test_count_report = {'passed': 0, 'failed': 0, 'skipped': 0, 'failed_testcases': []} | ||
| 121 | def get_aggregated_test_result(self, logger, testresult): | ||
| 122 | test_count_report = {'passed': 0, 'failed': 0, 'skipped': 0, 'failed_testcases': []} | ||
| 91 | def get_aggregated_test_result(self, logger, testresult): | 123 | def get_aggregated_test_result(self, logger, testresult): |
| 92 | test_count_report = {'passed': 0, 'failed': 0, 'skipped': 0, 'failed_testcases': []} | 124 | test_count_report = {'passed': 0, 'failed': 0, 'skipped': 0, 'failed_testcases': []} |
| 93 | def get_aggregated_test_result(self, logger, testresult): | 125 | def get_aggregated_test_result(self, logger, testresult): |
| @@ -104,6 +136,8 @@ class ResultsTextReport(object): | |||
| 104 | self.handle_ptest_result(k, test_status, result) | 136 | self.handle_ptest_result(k, test_status, result) |
| 105 | if k.startswith("ltpresult."): | 137 | if k.startswith("ltpresult."): |
| 106 | self.handle_ltptest_result(k, test_status, result) | 138 | self.handle_ltptest_result(k, test_status, result) |
| 139 | if k.startswith("ltpposixresult."): | ||
| 140 | self.handle_ltpposixtest_result(k, test_status, result) | ||
| 107 | return test_count_report | 141 | return test_count_report |
| 108 | 142 | ||
| 109 | def print_test_report(self, template_file_name, test_count_reports): | 143 | def print_test_report(self, template_file_name, test_count_reports): |
| @@ -115,9 +149,10 @@ class ResultsTextReport(object): | |||
| 115 | havefailed = False | 149 | havefailed = False |
| 116 | haveptest = bool(self.ptests) | 150 | haveptest = bool(self.ptests) |
| 117 | haveltp = bool(self.ltptests) | 151 | haveltp = bool(self.ltptests) |
| 152 | haveltpposix = bool(self.ltpposixtests) | ||
| 118 | reportvalues = [] | 153 | reportvalues = [] |
| 119 | cols = ['passed', 'failed', 'skipped'] | 154 | cols = ['passed', 'failed', 'skipped'] |
| 120 | maxlen = {'passed' : 0, 'failed' : 0, 'skipped' : 0, 'result_id': 0, 'testseries' : 0, 'ptest' : 0 ,'ltptest': 0} | 155 | maxlen = {'passed' : 0, 'failed' : 0, 'skipped' : 0, 'result_id': 0, 'testseries' : 0, 'ptest' : 0 ,'ltptest': 0, 'ltpposixtest': 0} |
| 121 | for line in test_count_reports: | 156 | for line in test_count_reports: |
| 122 | total_tested = line['passed'] + line['failed'] + line['skipped'] | 157 | total_tested = line['passed'] + line['failed'] + line['skipped'] |
| 123 | vals = {} | 158 | vals = {} |
| @@ -139,12 +174,17 @@ class ResultsTextReport(object): | |||
| 139 | for ltptest in self.ltptests: | 174 | for ltptest in self.ltptests: |
| 140 | if len(ltptest) > maxlen['ltptest']: | 175 | if len(ltptest) > maxlen['ltptest']: |
| 141 | maxlen['ltptest'] = len(ltptest) | 176 | maxlen['ltptest'] = len(ltptest) |
| 177 | for ltpposixtest in self.ltpposixtests: | ||
| 178 | if len(ltpposixtest) > maxlen['ltpposixtest']: | ||
| 179 | maxlen['ltpposixtest'] = len(ltpposixtest) | ||
| 142 | output = template.render(reportvalues=reportvalues, | 180 | output = template.render(reportvalues=reportvalues, |
| 143 | havefailed=havefailed, | 181 | havefailed=havefailed, |
| 144 | haveptest=haveptest, | 182 | haveptest=haveptest, |
| 145 | ptests=self.ptests, | 183 | ptests=self.ptests, |
| 146 | haveltp=haveltp, | 184 | haveltp=haveltp, |
| 185 | haveltpposix=haveltpposix, | ||
| 147 | ltptests=self.ltptests, | 186 | ltptests=self.ltptests, |
| 187 | ltpposixtests=self.ltpposixtests, | ||
| 148 | maxlen=maxlen) | 188 | maxlen=maxlen) |
| 149 | print(output) | 189 | print(output) |
| 150 | 190 | ||
