[PATCH v2] dts: fix pass rate edge case in results json
Dean Marx
dmarx at iol.unh.edu
Wed Jan 15 16:43:45 CET 2025
Add condition to results.json pass rate generation
method which returns 0 as the pass rate when the suite
is skipped, rather than causing a divide by 0 error.
Fixes: 9f8a257235ac ("dts: improve test run result statistics")
Signed-off-by: Dean Marx <dmarx at iol.unh.edu>
---
dts/framework/test_result.py | 11 ++++-------
1 file changed, 4 insertions(+), 7 deletions(-)
diff --git a/dts/framework/test_result.py b/dts/framework/test_result.py
index ba7c1c9804..45fc2e8241 100644
--- a/dts/framework/test_result.py
+++ b/dts/framework/test_result.py
@@ -324,13 +324,10 @@ def generate_pass_rate_dict(self, test_run_summary) -> dict[str, float]:
Returns:
A dictionary with the PASS/FAIL ratio of all test cases.
"""
- return {
- "PASS_RATE": (
- float(test_run_summary[Result.PASS.name])
- * 100
- / sum(test_run_summary[result.name] for result in Result if result != Result.SKIP)
- )
- }
+ cases_not_skipped = sum(
+ test_run_summary[result.name] for result in Result if result != Result.SKIP
+ )
+ return {"PASS_RATE": test_run_summary[Result.PASS.name] * 100.0 / max(cases_not_skipped, 1)}
class DTSResult(BaseResult):
--
2.44.0
More information about the dev
mailing list