github/workflows: Add sanitize_undefined workflow to unix port CI.
gcc's "undefined behavior" sanitizer can catch a range of misbehaviors at runtime that normally go unnoticed. These include integer and pointer operations that are "undefined" per the relevant C specification. This commit enables undefined behavior detection during a new unix coverage-like build. Signed-off-by: Jeff Epler <jepler@gmail.com>
This commit is contained in:
committed by
Damien George
parent
268264fe64
commit
841acb9df1
20
.github/workflows/ports_unix.yml
vendored
20
.github/workflows/ports_unix.yml
vendored
@@ -262,3 +262,23 @@ jobs:
|
|||||||
- name: Print failures
|
- name: Print failures
|
||||||
if: failure()
|
if: failure()
|
||||||
run: tests/run-tests.py --print-failures
|
run: tests/run-tests.py --print-failures
|
||||||
|
|
||||||
|
sanitize_undefined:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
- name: Install packages
|
||||||
|
run: source tools/ci.sh && ci_unix_coverage_setup
|
||||||
|
- name: Build
|
||||||
|
run: source tools/ci.sh && ci_unix_sanitize_undefined_build
|
||||||
|
- name: Run main test suite
|
||||||
|
run: source tools/ci.sh && ci_unix_sanitize_undefined_run_tests
|
||||||
|
- name: Test merging .mpy files
|
||||||
|
run: source tools/ci.sh && ci_unix_coverage_run_mpy_merge_tests
|
||||||
|
- name: Build native mpy modules
|
||||||
|
run: source tools/ci.sh && ci_native_mpy_modules_build
|
||||||
|
- name: Test importing .mpy generated by mpy_ld.py
|
||||||
|
run: source tools/ci.sh && ci_unix_coverage_run_native_mpy_tests
|
||||||
|
- name: Print failures
|
||||||
|
if: failure()
|
||||||
|
run: tests/run-tests.py --print-failures
|
||||||
|
|||||||
Reference in New Issue
Block a user