ci: wire the test-tsan target#890
Conversation
Signed-off-by: Dustin Persek <dustin.persek@protonmail.com>
|
Thanks for wiring the real TSan target for #860. Triage: CI/stability bug, normal priority, draft PR. Because this touches .github workflows and Makefile.cbm, review needs the normal high-caution build-infrastructure pass: no hidden build behavior changes, no sanitizer object reuse, deterministic Linux runner setup, and no broadening beyond the requested TSan gate. The scope statement is helpful. |
|
Thanks for the guidance. I re-ran the high-caution pass before marking this ready: the diff remains limited to |
Summary
test-tsanrunner that builds with ThreadSanitizer and runs themem,slab_alloc, andparallelsuites by default.separate
tsan_*object family so the target does not reuse ASan/UBSan testobjects.
make -f Makefile.cbm test-tsan CC=clang CXX=clang++.Why
Fixes #860.
make -f Makefile.cbm test-tsanwas advertised and TSan flags existed, but thetarget only printed a placeholder and exited successfully. That left the slab
allocator and parallel extraction concurrency coverage absent from the sanitizer
gate.
Tests
make -f Makefile.cbm test-tsan- passed,79 passedgit diff --check- passedmake -f Makefile.cbm lint-no-suppress- passedNot fully run locally:
make -f Makefile.cbm lint-ci- blocked because localcppcheck,clang-format, andclang-tidyare unavailablemake -f Makefile.cbm test-foundation- existing unresolved-symbol linkfailure in that target's recipe; unrelated to this diff
Scope
Makefile.cbmand the reusable test workflow.Caveats
runs the target on Ubuntu with clang.
failed to start the nested proxy, and the unsandboxed rerun was rejected by
tenant policy because it would send the unpublished local diff to an external
review service.