The MUM (Melexis Universal Master) adapter is the current default; the
BabyLIN SDK adapter is retained only for backward compatibility with
existing rigs.
Code:
- Emit DeprecationWarning when BabyLinInterface is instantiated and
when tests/conftest.py routes interface.type=='babylin' to it.
- Update module/class docstrings in ecu_framework/{__init__,config,
lin/__init__,lin/babylin}.py to label BabyLIN-specific fields and
paths as deprecated.
Config / scripts / pytest:
- pytest.ini: relabel the babylin marker as deprecated.
- config/{babylin.example,examples,test_config}.yaml: add deprecation
banners and field comments.
- scripts/99-babylin.rules and scripts/pi_install.sh: annotate the
udev-rule install block as legacy-only.
Documentation:
- TESTING_FRAMEWORK_GUIDE.md, docs/08_babylin_internals.md, and
vendor/README.md: prepend explicit "DEPRECATED" banners.
- docs/{README,01,02,04,05,07,09,10,12,13,14,15,18,DEVELOPER_COMMIT_
GUIDE}.md: relabel "legacy" to "deprecated" where babylin is
mentioned, present MUM as the primary path, and steer new work
toward the MUM examples.
No tests, configs, or modules were deleted; existing BabyLIN setups
keep working but now produce a clear DeprecationWarning at runtime.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2.4 KiB
2.4 KiB
Developer Commit Guide
This guide explains exactly what to commit to source control for this repository, and what to keep out. It also includes a suggested commit message and safe commands to stage changes.
Commit these files
Core framework (source)
ecu_framework/config.pyecu_framework/lin/base.pyecu_framework/lin/mock.pyecu_framework/lin/babylin.py(deprecated, retained for backward compatibility)ecu_framework/flashing/hex_flasher.py
Pytest plugin and config
conftest_plugin.py
Generates HTML columns, requirements coverage JSON, and CI summarypytest.inirequirements.txt
Tests and fixtures
tests/conftest.pytests/test_smoke_mock.pytests/test_babylin_hardware_smoke.py(if present; deprecated BabyLIN path)tests/test_hardware_placeholder.py(if present)
Documentation
README.mdTESTING_FRAMEWORK_GUIDE.mddocs/README.mddocs/01_run_sequence.mddocs/02_configuration_resolution.mddocs/03_reporting_and_metadata.mddocs/04_lin_interface_call_flow.mddocs/05_architecture_overview.mddocs/06_requirement_traceability.mddocs/07_flash_sequence.mddocs/08_babylin_internals.md(deprecated)
Vendor guidance (no binaries)
vendor/README.md- Any headers in
vendor/(if added per SDK)
Housekeeping
.gitignore
Ignores reports and vendor binariesreports/.gitkeep
Retains folder structure without committing artifacts
Do NOT commit (ignored or should be excluded)
- Virtual environments:
.venv/,venv/, etc. - Generated test artifacts:
reports/report.html,reports/junit.xml,reports/summary.md,reports/requirements_coverage.json
- Python caches:
__pycache__/,.pytest_cache/ - Local env files:
.env
Safe commit commands (PowerShell)
# Stage everything except what .gitignore already excludes
git add -A
# Commit with a helpful message
git commit -m "ECU framework: docs, reporting plugin (HTML metadata + requirements JSON + CI summary), .gitignore updates"
Notes
- The plugin writes CI-friendly artifacts into
reports/; they’re ignored by default but published in CI.