# Report properties cheatsheet (record_property / rp)

Use these standardized keys when calling `record_property("key", value)` or the `rp("key", value)` helper.
This keeps reports consistent and easy to scan across suites.

## General
- test_phase: setup | call | teardown (if you want to distinguish)
- environment: local | ci | lab
- config_source: defaults | file | env | env+overrides (already used in unit tests)

## LIN (common)
- lin_type: mock | mum | babylin (babylin is deprecated)
- tx_id: hex string or int (e.g., "0x12")
- tx_data: list of ints (bytes)
- rx_present: bool
- rx_id: hex string or int
- rx_data: list of ints
- timeout_s: float seconds

## BabyLIN specifics (DEPRECATED)
- sdf_path: string
- schedule_nr: int
- receive_result: frame | timeout
- wrapper: mock_bl | _MockBytesOnly | real (for future)

## Mock-specific
- expected_data: list of ints

## Power supply (PSU)

Per-test (function-scoped `rp`):
- psu_idn: string from `*IDN?`
- output_status_before: string ('ON'/'OFF'/'1'/'0'; raw `output?` response)
- output_status_after: string (same, after the test toggled output)
- set_voltage: float (V)
- set_current: float (A)
- measured_voltage: float | None (V) — parsed via `measure_voltage_v()`
- measured_current: float | None (A) — parsed via `measure_current_a()`

Module-scoped (testsuite property — emitted once per file by the `psu` fixture):
- psu_resolved_port: string — the port `resolve_port` actually opened (e.g. `'COM7'`, `'/dev/ttyS6'`, `'/dev/ttyUSB0'`)
- psu_resolved_idn: string — the IDN response captured during resolution

## Flashing
- hex_path: string
- sent_count: int (frames sent by stub/mock)
- flash_result: ok | fail (for future real flashing)

## Configuration highlights
- interface_type: mock | mum | babylin (babylin is deprecated)
- interface_channel: int
- flash_enabled: bool

## Tips
- Prefer simple, lowercase snake_case keys
- Use lists for byte arrays so they render clearly in JSON and HTML
- Log both expected and actual when asserting patterns (e.g., deterministic responses)
- Keep units in the key name when helpful (voltage/current include V/A in the name)
