platformio-core
platformio-core copied to clipboard
Fix: Display actual test suite status instead of hardcoded 'PASSED'
Summary
Fixes #5183
The print_suite_footer function was hardcoding 'PASSED' for any non-error test suite status, causing SKIPPED test suites to incorrectly display as PASSED in the test footer.
Changes
Modified platformio/test/cli.py to use the actual test_suite.status.name with appropriate color coding via status.to_ansi_color().
Before:
click.style(test_suite.status.name, fg="red", bold=True)
if is_error
else click.style("PASSED", fg="green", bold=True) # ← Hardcoded!
After:
status_color = "red" if is_error else test_suite.status.to_ansi_color()
click.style(test_suite.status.name, fg=status_color, bold=True)
Testing
Verified the fix correctly displays all status types:
- ✅ PASSED (green) - when all tests pass
- ✅ FAILED (red) - when tests fail
- ✅ ERRORED (red) - when tests error
- ✅ SKIPPED (yellow) - when tests are skipped
Reproduction
Created test suites with different statuses and verified footer output matches actual test execution results.
Before fix: Empty test suite showed [PASSED] in footer
After fix: Empty test suite correctly shows [SKIPPED] in footer