This commit is contained in:
deeaitch committed 2026-10-23 20:28:55 -04:00
1 parent a702cffd93
commit 8d06165979
18 files changed
+611 -215

No files matched your search

+15 -3
View File
@@ -118,7 +118,7 @@ extended ID encodings and repeated signal names within a frame. Standard and
extended frames may share a numeric ID, and separate frames may reuse signal names.
Signal tests cover complete syntax and numeric validation, scientific notation,
finite physical parameters and ordered ranges, spaces and tabs, receiver lists,
unsupported multiplexing, and Intel/Motorola declared-payload boundaries.
invalid multiplexing, and Intel/Motorola declared-payload boundaries.
Physical-number tests apply a custom comma-decimal C++ locale and an available
named comma-decimal C numeric locale. They check all four physical fields,
leading signs, fractions, scientific notation, finite boundaries, zero, malformed
@@ -172,7 +172,19 @@ Basic multiplexing coverage includes selector declarations after branches,
Intel/Motorola branch overlap, signed active values and VAL_ lookup, unconditional
signals, inactive branches, missing selector/branch payloads, exact UINT64_MAX
selector matching, malformed runtime selectors, source locations, and rejection
of invalid markers, selector references/ranges, overlaps, and SG_MUL_VAL_.
of invalid markers, selector references/ranges, and overlaps.
Extended and nested multiplexing coverage includes deferred `SG_MUL_VAL_`
references, inclusive and separated ranges, repeated range statements, explicit
range precedence over markers, `mNM` fallback, independent selectors, nested
siblings sharing Intel/Motorola payload bits, raw selection with scaling, and
64-bit boundaries. Tests verify metadata through tree/runtime builders, selective
decoding with ancestor dependencies, inactive paths with missing bytes, missing
selectors versus leaf payload, malformed ranges, unknown targets, cycles,
conflicting parents, and invalid manually constructed runtime graphs.
The extended multiplexing change was verified with the root qmake build,
`make -j4`, `make check` (2,398 passed, no failures, one existing named C-locale
check skipped because the locale is unavailable), and the standalone tree test.
## Additional regression coverage
@@ -245,7 +257,7 @@ frame and signal lookups.
`dbc_pipeline_test.cpp` parses temporary DBC files and checks independent expected
metadata against the parser, runtime builder, and tree builder. It exercises
standard and extended frames with the same numeric ID and signal name, Intel
and signed Motorola decoding, scaling, raw value descriptions, basic multiplexing,
and signed Motorola decoding, scaling, raw value descriptions, basic and extended multiplexing,
PGN metadata, receivers, units, ranges, and frame/signal comments. Tree checks
include node types, payloads, parents, rows, names, and child counts.