Skip to content

Commit bd4b451

Browse files
committed
Adopt centralized sanitizer infrastructure from score_cpp_policies
1 parent d7390c5 commit bd4b451

4 files changed

Lines changed: 43 additions & 17 deletions

File tree

.github/workflows/sanitizers.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,11 @@ permissions:
2525
jobs:
2626
sanitizer-tests:
2727
name: Bazel Tests (${{ matrix.sanitizer_config }})
28-
runs-on: ubuntu-latest
28+
runs-on: ubuntu-24.04
2929
strategy:
3030
fail-fast: false
3131
matrix:
32-
sanitizer_config: [asan_ubsan_lsan]
32+
sanitizer_config: [asan_ubsan_lsan, tsan]
3333

3434
steps:
3535
- name: Checkout repository

MODULE.bazel

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,14 @@ bazel_dep(name = "score_toolchains_rust", version = "0.4.0", dev_dependency = Tr
4141
# S-CORE crates
4242
bazel_dep(name = "score_crates", version = "0.0.6")
4343

44+
# Centralized sanitizer policies (ASan, TSan, UBSan, LSan)
45+
bazel_dep(name = "score_cpp_policies", version = "0.0.0", dev_dependency = True)
46+
git_override(
47+
module_name = "score_cpp_policies",
48+
commit = "7d2f594",
49+
remote = "https://github.com/RSingh1511/score_cpp_policies.git",
50+
)
51+
4452
# TRLC dependency for requirements traceability
4553
bazel_dep(name = "trlc", version = "0.0.0", dev_dependency = True)
4654
git_override(

quality/sanitizer/sanitizer.bazelrc

Lines changed: 29 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -11,19 +11,33 @@
1111
# SPDX-License-Identifier: Apache-2.0
1212
# *******************************************************************************
1313

14-
# ASan + UBSan + LSan
15-
test:asan_ubsan_lsan --config=x86_64-linux
16-
test:asan_ubsan_lsan --compilation_mode=dbg
17-
test:asan_ubsan_lsan --features=asan
18-
test:asan_ubsan_lsan --features=ubsan
19-
test:asan_ubsan_lsan --features=lsan
20-
test:asan_ubsan_lsan --platform_suffix=asan_ubsan_lsan
21-
test:asan_ubsan_lsan --test_env=ASAN_OPTIONS=exitcode=55:allow_addr2line=1:verbosity=1:detect_leaks=1:halt_on_error=1:allocator_may_return_null=1
22-
test:asan_ubsan_lsan --test_env=UBSAN_OPTIONS=exitcode=55:allow_addr2line=1:verbosity=1:print_stacktrace=1:halt_on_error=1
14+
# Sanitizer configs using @score_cpp_policies centralized wrapper
2315

24-
# TSan
25-
test:tsan --config=x86_64-linux
26-
test:tsan --compilation_mode=dbg
27-
test:tsan --features=tsan
28-
test:tsan --platform_suffix=tsan
29-
test:tsan --test_env=TSAN_OPTIONS=exitcode=55:allow_addr2line=1:verbosity=1:halt_on_error=1:detect_deadlocks=1
16+
test:with_debug_symbols --cxxopt=-g1
17+
test:with_debug_symbols --strip=never
18+
19+
build:asan_ubsan_lsan --config=x86_64-linux
20+
build:asan_ubsan_lsan --features=asan
21+
build:asan_ubsan_lsan --features=ubsan
22+
build:asan_ubsan_lsan --features=lsan
23+
build:asan_ubsan_lsan --platform_suffix=asan_ubsan_lsan
24+
test:asan_ubsan_lsan --config=with_debug_symbols
25+
test:asan_ubsan_lsan --test_tag_filters=-no-asan,-no-lsan,-no-ubsan
26+
test:asan_ubsan_lsan --@score_cpp_policies//sanitizers/flags:sanitizer=asan_ubsan_lsan
27+
test:asan_ubsan_lsan --run_under=@score_cpp_policies//sanitizers:wrapper
28+
29+
build:asan --config=asan_ubsan_lsan
30+
build:asan --test_tag_filters=-no-asan
31+
build:ubsan --config=asan_ubsan_lsan
32+
build:ubsan --test_tag_filters=-no-ubsan
33+
build:lsan --config=asan_ubsan_lsan
34+
build:lsan --test_tag_filters=-no-lsan
35+
36+
build:tsan --config=x86_64-linux
37+
build:tsan --features=tsan
38+
build:tsan --platform_suffix=tsan
39+
test:tsan --config=with_debug_symbols
40+
test:tsan --cxxopt=-O1
41+
test:tsan --test_tag_filters=-no-tsan
42+
test:tsan --@score_cpp_policies//sanitizers/flags:sanitizer=tsan
43+
test:tsan --run_under=@score_cpp_policies//sanitizers:wrapper

score/mw/log/rust/score_log_bridge/BUILD

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,10 @@ rust_test(
9696
edition = "2021",
9797
rustc_flags = RUSTC_FLAGS,
9898
tags = [
99+
"no-asan", # Rust tests with C++ FFI require sanitizer-instrumented stdlib
100+
"no-lsan",
101+
"no-tsan",
102+
"no-ubsan",
99103
"rust",
100104
"unit_tests",
101105
"ut",

0 commit comments

Comments
 (0)