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>
33 lines
2.2 KiB
INI
33 lines
2.2 KiB
INI
[pytest]
|
|
# addopts: Default CLI options applied to every pytest run.
|
|
# -ra → Show extra test summary info for skipped, xfailed, etc.
|
|
# --junitxml=... → Emit JUnit XML for CI systems (machines can parse it).
|
|
# --html=... → Generate a human-friendly HTML report after each run.
|
|
# --self-contained-html → Inline CSS/JS in the HTML report for easy sharing.
|
|
# --tb=short → Short tracebacks to keep logs readable.
|
|
# Plugin note: We no longer force-load via `-p conftest_plugin` to avoid ImportError
|
|
# on environments where the file might be missing. Instead, `conftest.py` will
|
|
# register the plugin if present. The plugin:
|
|
# - extracts Title/Description/Requirements/Steps from test docstrings
|
|
# - adds custom columns to the HTML report
|
|
# - writes requirements_coverage.json and summary.md in reports/
|
|
addopts = -ra --junitxml=reports/junit.xml --html=reports/report.html --self-contained-html --tb=short --cov=ecu_framework --cov-report=term-missing
|
|
|
|
# markers: Document all custom markers so pytest doesn't warn and so usage is clear.
|
|
# Use with: pytest -m "markername"
|
|
markers =
|
|
hardware: requires real hardware (LIN master + ECU); excluded by default in mock runs
|
|
babylin: DEPRECATED. Tests targeting the legacy BabyLIN interface; use the `mum` marker for new tests.
|
|
mum: tests that use the Melexis Universal Master (MUM) interface (requires hardware)
|
|
unit: fast, isolated tests (no hardware, no external I/O)
|
|
req_001: REQ-001 - Mock interface shall echo transmitted frames for local testing
|
|
req_002: REQ-002 - Mock interface shall synthesize deterministic responses for request operations
|
|
req_003: REQ-003 - Mock interface shall support frame filtering by ID
|
|
req_004: REQ-004 - Mock interface shall handle timeout scenarios gracefully
|
|
smoke: Basic functionality validation tests
|
|
boundary: Boundary condition and edge case tests
|
|
slow: Slow tests (>5s typical); selectable via -m "slow" or excludable via -m "not slow"
|
|
|
|
# testpaths: Where pytest looks for tests by default.
|
|
testpaths = tests
|