This commit is contained in:
deeaitch committed 2026-10-23 20:19:37 -04:00
1 parent a258abf7be
commit a702cffd93
5 files changed
+97

No files matched your search

+33
View File
@@ -45,6 +45,39 @@ make check
`dbc_validation_test.cpp`, and `dbc_pipeline_test.cpp`.
`../core/core.pri` supplies the library include path and linkage.
## Local regression checks
`run_core_ci.sh` builds the core archive, runs all six QtTest suites and the
qmake tree target with `make check`, then compiles and runs the standalone C++17
tree/builder test without Qt. A failed command returns a nonzero status. The
`sanitize` mode applies ASan/UBSan flags to core, tests, and the standalone
executable, with leak detection enabled by default and sanitizer errors fatal.
The optional adapter is not built. No automatic CI workflow is configured.
From the repository root, with Qt 6.8.2 available:
```sh
bash tests/run_core_ci.sh release
bash tests/run_core_ci.sh sanitize
```
Build directories default to `build-ci/release` and `build-ci/sanitize`; an
optional second argument selects another directory. Always use separate build
directories for the two modes. `QMAKE`, `CXX`, and `JOBS` override the qmake
executable, standalone compiler, and build parallelism (default 4). Generate the
locale as described below and set `LOCPATH` locally to run without locale skips.
On hosts where LeakSanitizer cannot work under a tracer, run with
`ASAN_OPTIONS=detect_leaks=0:halt_on_error=1`; this disables local leak checking
only. Test output is written to the terminal.
Validation of this script used clean builds in `/tmp/dbc-ci-release`
and `/tmp/dbc-ci-sanitize` with Qt 6.8.2 and the generated German locale. Each
mode passed 2,397 QtTest checks with no failures or skips, the qmake tree test,
and the standalone tree test. The sanitizer run used `detect_leaks=0` because
an explicit leak-enabled run failed with LeakSanitizer's ptrace restriction.
Shell syntax, invalid-mode handling, and nonzero propagation of a failed qmake
command were also checked.
## Decoder coverage
Coverage includes Motorola bit numbering within and across bytes, unaligned