simlyfy
This commit is contained in:
1 parent
849ce31e2f
commit
a55d1c58ed
272 files changed
+41866
-261
No files matched your search
@@ -237,3 +237,34 @@ Attribute changes were verified with `qmake6 ../dbc.pro`, `make -j4`, and
|
||||
`make check` in `build/`: all six QtTest suites and the qmake tree target
|
||||
passed. The standalone C++17 tree test also passed. The existing named
|
||||
comma-decimal C locale test skipped because the locale is not installed.
|
||||
|
||||
## Extended validation
|
||||
|
||||
`attributeNumbers` checks signed 64-bit limits, leading plus signs, decimal HEX
|
||||
values, FLOAT fractions/exponents, and default overrides under a comma-decimal
|
||||
C++ locale. Node/environment defaults remain on definitions without becoming
|
||||
database attributes. `invalidAttributeNumbers` supplies 39 data rows, each checked
|
||||
in both definition bounds, a default, and an explicit assignment. The throwing
|
||||
and diagnostic APIs must reject malformed signs, trailing text, hexadecimal
|
||||
notation, non-finite values, overflow, and underflow with the correct error line.
|
||||
Additional malformed-attribute cases cover token separators, scope/type names,
|
||||
reversed FLOAT bounds, value types/ranges, and invalid CAN references.
|
||||
|
||||
Run AddressSanitizer and UndefinedBehaviorSanitizer in a separate directory:
|
||||
|
||||
```sh
|
||||
mkdir -p build-sanitize
|
||||
cd build-sanitize
|
||||
qmake6 ../dbc.pro CONFIG+=dbc_qt CONFIG+=debug CONFIG-=release \
|
||||
'QMAKE_CXXFLAGS+=-fsanitize=address,undefined -fno-omit-frame-pointer' \
|
||||
'QMAKE_LFLAGS+=-fsanitize=address,undefined'
|
||||
make -j4
|
||||
ASAN_OPTIONS=detect_leaks=0 UBSAN_OPTIONS=halt_on_error=1 \
|
||||
QT_FATAL_WARNINGS=1 LOCPATH=/tmp/dbc-test-locales make check
|
||||
```
|
||||
|
||||
Generate the optional German locale as described above before setting LOCPATH.
|
||||
LeakSanitizer cannot run under this environment's tracer: `detect_leaks=1`
|
||||
completes the core QtTest suites but fails during leak checking with the message
|
||||
that LeakSanitizer does not work under ptrace. Disabling leak checking retains
|
||||
AddressSanitizer and UndefinedBehaviorSanitizer checks; it does not verify leaks.
|
||||
Reference in new issue
Block a user