Closes #33
This commit is contained in:
1 parent
f60faea2e7
commit
f03882d3f4
86 files changed
+3539
-2688
No files matched your search
+25
-1
@@ -99,7 +99,7 @@ line numbers for skipped syntax and immediate/deferred errors; warnings precedin
|
||||
an error are retained, and failed parses return an empty database. Common headers
|
||||
and namespace symbol lists stay quiet. Tests also check file-open errors, fresh
|
||||
parse sessions, and compatibility with the legacy throwing API.
|
||||
The diagnostic audit also covers 13 unsupported-statement variants, all namespace
|
||||
The diagnostic audit also covers 11 unsupported-statement variants, all namespace
|
||||
termination forms, CRLF and missing final newlines, relative paths with spaces,
|
||||
first-error stopping, deferred diagnostic ordering, duplicate definitions/values,
|
||||
selector ranges, overlaps, and preservation of supported decoding and metadata.
|
||||
@@ -295,6 +295,30 @@ Attribute changes were verified with `qmake6 ../dbc.pro`, `make -j4`, and
|
||||
passed. The standalone C++17 tree test also passed. The existing named
|
||||
comma-decimal C locale test skipped because the locale is not installed.
|
||||
|
||||
## Unsupported signal value types
|
||||
|
||||
`unsupportedSignalValueTypes` verifies that both parser APIs reject `SIG_VALTYPE_`
|
||||
declarations with `UnsupportedSignalType`, the original file path and physical
|
||||
line, and an empty database. Cases include float32/float64, declarations before
|
||||
signal definitions, extended IDs, tabs/CRLF, no final newline, type 0, unknown
|
||||
types, and malformed declarations. Prior warnings are retained; `SIG_VALTYPE_`
|
||||
symbols inside `NS_` lists remain quiet.
|
||||
|
||||
The pipeline suite checks the IEEE 754 bytes for float32 and float64 `1.0`.
|
||||
Adding a type declaration must prevent publication of an integer definition,
|
||||
so building from the error result cannot produce a valid decoded signal. The
|
||||
same payloads still decode to exact integers when defined only by supported
|
||||
`SG_` statements. New cases are included in the existing qmake targets.
|
||||
|
||||
Verified with Qt 6.8.2 in separate Release and ASan/UBSan builds with
|
||||
`CONFIG+=dbc_qt`: each passed 2,420 core QtTest checks, seven model checks, and
|
||||
the qmake tree test. One named-locale case skipped because its locale is
|
||||
unavailable. ASan/UBSan used fatal errors and `detect_leaks=0` because of the
|
||||
previously documented ptrace restriction. The separately built demo was checked
|
||||
with float32 and float64 declarations (exit 2, source-located error, no decode
|
||||
output), a supported integer definition (exit 0), and an unknown extension
|
||||
(exit 0 with a visible warning).
|
||||
|
||||
## Long signal definitions
|
||||
|
||||
`longSignalDefinitions` reproduces the former stack overflow with a 50,000-character
|
||||
|
||||
Reference in new issue
Block a user