diff options
Diffstat (limited to 'scripts/lib/resulttool/regression.py')
-rw-r--r-- | scripts/lib/resulttool/regression.py | 27 |
1 files changed, 23 insertions, 4 deletions
diff --git a/scripts/lib/resulttool/regression.py b/scripts/lib/resulttool/regression.py index 560d102e17..8fbe5a5478 100644 --- a/scripts/lib/resulttool/regression.py +++ b/scripts/lib/resulttool/regression.py | |||
@@ -186,6 +186,18 @@ def get_status_str(raw_status): | |||
186 | raw_status_lower = raw_status.lower() if raw_status else "None" | 186 | raw_status_lower = raw_status.lower() if raw_status else "None" |
187 | return STATUS_STRINGS.get(raw_status_lower, raw_status) | 187 | return STATUS_STRINGS.get(raw_status_lower, raw_status) |
188 | 188 | ||
189 | def get_additional_info_line(new_pass_count, new_tests): | ||
190 | result=[] | ||
191 | if new_tests: | ||
192 | result.append(f'+{new_tests} test(s) present') | ||
193 | if new_pass_count: | ||
194 | result.append(f'+{new_pass_count} test(s) now passing') | ||
195 | |||
196 | if not result: | ||
197 | return "" | ||
198 | |||
199 | return ' -> ' + ', '.join(result) + '\n' | ||
200 | |||
189 | def compare_result(logger, base_name, target_name, base_result, target_result, display_limit=None): | 201 | def compare_result(logger, base_name, target_name, base_result, target_result, display_limit=None): |
190 | base_result = base_result.get('result') | 202 | base_result = base_result.get('result') |
191 | target_result = target_result.get('result') | 203 | target_result = target_result.get('result') |
@@ -193,6 +205,8 @@ def compare_result(logger, base_name, target_name, base_result, target_result, d | |||
193 | new_tests = 0 | 205 | new_tests = 0 |
194 | regressions = {} | 206 | regressions = {} |
195 | resultstring = "" | 207 | resultstring = "" |
208 | new_tests = 0 | ||
209 | new_pass_count = 0 | ||
196 | 210 | ||
197 | display_limit = int(display_limit) if display_limit else REGRESSIONS_DISPLAY_LIMIT | 211 | display_limit = int(display_limit) if display_limit else REGRESSIONS_DISPLAY_LIMIT |
198 | 212 | ||
@@ -234,14 +248,19 @@ def compare_result(logger, base_name, target_name, base_result, target_result, d | |||
234 | resultstring+=' [...]\n' | 248 | resultstring+=' [...]\n' |
235 | if new_pass_count > 0: | 249 | if new_pass_count > 0: |
236 | resultstring += f' Additionally, {new_pass_count} previously failing test(s) is/are now passing\n' | 250 | resultstring += f' Additionally, {new_pass_count} previously failing test(s) is/are now passing\n' |
251 | if new_tests > 0: | ||
252 | resultstring += f' Additionally, {new_tests} new test(s) is/are present\n' | ||
237 | else: | 253 | else: |
238 | resultstring = "Improvement: %s\n %s\n (+%d test(s) passing)\n" % (base_name, target_name, new_pass_count) | 254 | resultstring = "%s\n%s\n" % (base_name, target_name) |
239 | result = None | 255 | result = None |
240 | else: | 256 | else: |
241 | resultstring = "Match: %s\n %s\n" % (base_name, target_name) | 257 | resultstring = "%s\n%s\n" % (base_name, target_name) |
258 | |||
259 | if not result: | ||
260 | additional_info = get_additional_info_line(new_pass_count, new_tests) | ||
261 | if additional_info: | ||
262 | resultstring += additional_info | ||
242 | 263 | ||
243 | if new_tests > 0: | ||
244 | resultstring += f' Additionally, {new_tests} new test(s) is/are present\n' | ||
245 | return result, resultstring | 264 | return result, resultstring |
246 | 265 | ||
247 | def get_results(logger, source): | 266 | def get_results(logger, source): |