Skip to content

Conversation

@NJGenerac
Copy link
Contributor

@NJGenerac NJGenerac commented Dec 4, 2025

Summary

This PR adds compatibility for Ceedling 1.0+, which uses the new report_tests_log_factory plugin with CppUnit format instead of the legacy xml_tests_report plugin.

  • Add detection for report_tests_log_factory plugin for Ceedling 1.0+ compatibility
  • Add isCeedling1Plus() helper for reliable version detection via plugin configuration
  • Support both legacy xml_tests_report (0.31.x) and new report_tests_log_factory (1.0+) plugins
  • Add debugTestExecutablePath command for full executable path resolution
  • Update XML report path detection to handle both plugin configurations
  • Update sanity check to validate either plugin configuration
  • Add documentation for both Ceedling 0.31.x and 1.0+ configurations in README
  • Add unit tests for plugin detection and report path logic

Addresses issues #137 and #145.

Test Plan

  • Tested with Ceedling 1.0+ using report_tests_log_factory plugin with CppUnit format
  • Verified backward compatibility with Ceedling 0.31.x using xml_tests_report plugin
  • Verified debug executable path detection works correctly in both configurations
  • Added unit tests covering plugin detection and report filename logic

Contributed by Generac

I am going to admit that almost ALL of this was written by AI and Claude. HOWEVER - I have been using it for 3 weeks now. And I felt that if I didn't at least try to give it back considering the project has helped me so much., it wouldn't be right. I'm not trying to "pretend" to be anything I'm not. I am an embedded C programmer who knows very little JavaScript. But I updated this out of need. Not recognition. Thx!!! -- Nathan Jobe

Add compatibility for Ceedling 1.0+ which uses the new report_tests_log_factory
plugin with CppUnit format instead of the legacy xml_tests_report plugin.

Changes:
- Detect report_tests_log_factory plugin for Ceedling 1.0+ compatibility
- Add isCeedling1Plus() helper for reliable version detection via plugin config
- Support both legacy xml_tests_report and new report_tests_log_factory plugins
- Add debugTestExecutablePath command for full executable path resolution
- Update XML report path detection to handle both plugin configurations
- Update sanity check to validate either plugin configuration
- Add documentation for both Ceedling 0.31.x and 1.0+ configurations
- Add unit tests for plugin detection and report path logic

Addresses issues numaru#137 and numaru#145.

Contributed by Generac
Filter out files from the build output directory when discovering tests.
Ceedling's files:test command returns preprocessed files and test runners
from the build directory, which caused duplicate entries in the test
explorer tree.

Uses the project's configured :build_root from project.yml to dynamically
determine which paths to exclude.
@NJGenerac NJGenerac force-pushed the feature/ceedling-1.0-support branch from a64affa to 7c4fc34 Compare December 5, 2025 18:12
@numaru
Copy link
Owner

numaru commented Dec 17, 2025

As you can see, I struggle to maintain this extension up to date. Thank you very much for this high quality contribution. I'm sure some people will be happy to see it work again.

@numaru numaru merged commit beb7ef9 into numaru:master Dec 17, 2025
3 checks passed
numaru added a commit that referenced this pull request Dec 17, 2025
Add support for Ceedling 1.0+ report_tests_log_factory plugin
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants