The previous version described the pre-refactor flow only — no hardware-suite conftest, no helper layer, no PSU resolver, no settle-then-validate pattern, no junit_family note. Rewritten so it reflects the current architecture without losing the original sequence-diagram + text-flow shape. What's new in the doc: - Two-layer fixture model (project-wide vs hardware-suite) called out at the top. - Mermaid sequence diagram now shows the session-scoped autouse PSU power-up, the helper layer (FrameIO / AlmTester / psu_helpers), and the safe-off-on-close at session teardown. - Text-flow split into PROJECT-WIDE / HARDWARE-SUITE / TEST-BODIES sections; describes resolve_port's fallback chain and the settle-then-validate behaviour of apply_voltage_and_settle. - "Where information is fetched from" gains the LDF, rgb_to_pwm, and per-machine PSU override paths. - "Key components" split into project-wide / hardware-suite, listing every helper and template file. - Edge cases gain PSU-side entries: cross-platform port resolution, the must-not list (no set_output(False), no close()), apply_voltage_and_settle's timeout behaviour, and the junit_family=legacy requirement for record_property round-trips. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Documentation Index
A guided tour of the ECU testing framework. Start here:
01_run_sequence.md— End-to-end run sequence and call flow02_configuration_resolution.md— How configuration is loaded and merged03_reporting_and_metadata.md— How test documentation becomes report metadata11_conftest_plugin_overview.md— Custom pytest plugin: hooks, call sequence, and artifacts04_lin_interface_call_flow.md— LIN abstraction and adapter behavior (Mock, MUM, and the deprecated BabyLIN)05_architecture_overview.md— High-level architecture and components06_requirement_traceability.md— Requirement markers and coverage visuals07_flash_sequence.md— ECU flashing workflow and sequence diagram08_babylin_internals.md— BabyLIN SDK wrapper internals and call flow (DEPRECATED)16_mum_internals.md— MUM (Melexis Universal Master) adapter internals and call flow17_ldf_parser.md— LDF parser,ldffixture, and per-framepack/unpackhelpers18_test_catalog.md— Per-test catalog: purpose, markers, hardware needs, expected resultDEVELOPER_COMMIT_GUIDE.md— What to commit vs ignore, commands09_raspberry_pi_deployment.md— Run on Raspberry Pi (venv, service, hardware notes)10_build_custom_image.md— Build a custom Raspberry Pi OS image with the framework baked in12_using_the_framework.md— Practical usage: local, hardware (MUM, or the deprecated BabyLIN), CI, and Pi13_unit_testing_guide.md— Unit tests layout, markers, coverage, and tips14_power_supply.md— Owon PSU control, configuration, tests, and quick demo script15_report_properties_cheatsheet.md— Standardized keys for record_property/rp across suites19_frame_io_and_alm_helpers.md— Hardware-test helpers:FrameIO(generic LDF I/O) andAlmTester(ALM_Node domain), plus thetests/hardware/_test_case_template.pystarting point
Related references:
- Root project guide:
../README.md - Full framework guide:
../TESTING_FRAMEWORK_GUIDE.md - BabyLIN placement and integration:
../vendor/README.md(deprecated; only relevant for legacy rigs) - MUM source scripts and protocol details:
../vendor/automated_lin_test/README.md - PSU quick demo and scripts:
../vendor/Owon/