Skip to content

Commit 68eb3a4

Browse files
committed
miri: use Bazel target for Miri tests
- Enable Miri for Bazel in repo. - Add `miri_test` target for HMON. - Remove unnecessary Miri workflow. - Fix coverage workflow. - Disable Miri for Rust coverage workflow. - Disable Rust targets for C++ coverage and vice versa.
1 parent 44b7f9a commit 68eb3a4

4 files changed

Lines changed: 20 additions & 41 deletions

File tree

.bazelrc

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ build:x86_64-linux --config=toolchain_common
4848
build:x86_64-linux --platforms=@score_bazel_platforms//:x86_64-linux-gcc_12.2.0-posix
4949
build:x86_64-linux --extra_toolchains=@score_gcc_x86_64_toolchain//:x86_64-linux-gcc_12.2.0-posix
5050
build:x86_64-linux --extra_toolchains=@score_toolchains_rust//toolchains/ferrocene:ferrocene_x86_64_unknown_linux_gnu
51+
build:x86_64-linux --extra_toolchains=@score_toolchains_rust//toolchains/ferrocene:ferrocene_x86_64_unknown_linux_gnu_miri
5152
build:x86_64-linux --define config=x86_64-linux
5253

5354
# Target configuration for CPU:AArch64|OS:Linux build (do not use it in case of system toolchains!)
@@ -56,6 +57,7 @@ build:arm64-linux --config=toolchain_common
5657
build:arm64-linux --platforms=@score_bazel_platforms//:aarch64-linux-gcc_12.2.0-posix
5758
build:arm64-linux --extra_toolchains=@score_gcc_aarch64_toolchain//:aarch64-linux-gcc_12.2.0-posix
5859
build:arm64-linux --extra_toolchains=@score_toolchains_rust//toolchains/ferrocene:ferrocene_aarch64_unknown_linux_gnu
60+
build:arm64-linux --extra_toolchains=@score_toolchains_rust//toolchains/ferrocene:ferrocene_aarch64_unknown_linux_gnu_miri
5961
build:arm64-linux --copt=-mno-outline-atomics
6062
build:arm64-linux --linkopt=-latomic
6163

.github/workflows/code_coverage.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,15 +28,15 @@ jobs:
2828
with:
2929
bazel-target: "//score/..."
3030
bazel-config: "x86_64-linux"
31-
extra-bazel-flags: "--test_output=errors --nocache_test_results --lockfile_mode=error"
31+
extra-bazel-flags: "--test_output=errors --nocache_test_results --lockfile_mode=error --test_lang_filters=-rust,-miri"
3232
artifact-name-suffix: "_cpp"
3333
retention-days: 10
3434
min-coverage: 76
3535
rust:
3636
uses: eclipse-score/cicd-workflows/.github/workflows/rust-coverage.yml@c1c90b1a82a1fab0fc202979dde6686b2162d5a8 # v0.0.0
3737
with:
3838
bazel-test-targets: "//score/..."
39-
bazel-test-config-flags: "--config=x86_64-linux --config=ferrocene-coverage --lockfile_mode=error"
39+
bazel-test-config-flags: "--config=x86_64-linux --config=ferrocene-coverage --lockfile_mode=error --test_lang_filters=-cc,-miri"
4040
bazel-test-args: "--test_output=errors --nocache_test_results"
4141
coverage-target: "//:rust_coverage"
4242
coverage-artifact-name: "rust-coverage-html"

.github/workflows/miri.yml

Lines changed: 0 additions & 38 deletions
This file was deleted.

score/health_monitor/src/rust/BUILD

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
# SPDX-License-Identifier: Apache-2.0
1212
# *******************************************************************************
1313

14-
load("@rules_rust//rust:defs.bzl", "rust_library", "rust_static_library", "rust_test")
14+
load("@rules_rust//rust:defs.bzl", "miri_test", "rust_library", "rust_static_library", "rust_test")
1515

1616
COMMON_RUST_DEPS = [
1717
"@score_baselibs_rust//src/containers:containers",
@@ -103,3 +103,18 @@ rust_test(
103103
"@score_crates//:loom",
104104
],
105105
)
106+
107+
miri_test(
108+
name = "miri_tests",
109+
crate = ":tests",
110+
miri_flags = [
111+
"-Zmiri-ignore-leaks",
112+
"-Zmiri-disable-isolation",
113+
'--cfg=feature="stub_supervisor_api_client"',
114+
],
115+
tags = [
116+
"miri",
117+
"no-asan",
118+
],
119+
target_compatible_with = ["@platforms//os:linux"],
120+
)

0 commit comments

Comments
 (0)