From 377bc09b9ea70efee5d014d7df3caadd1aec71d2 Mon Sep 17 00:00:00 2001 From: FuzzTest Team Date: Tue, 21 Jul 2026 13:27:21 -0700 Subject: [PATCH] No public description PiperOrigin-RevId: 951667111 --- .bazelrc | 6 ++++++ MODULE.bazel | 42 ++++++++++++++++++++++++++++++++++++++++++ centipede/BUILD | 26 ++++++++++++++++++++++---- 3 files changed, 70 insertions(+), 4 deletions(-) diff --git a/.bazelrc b/.bazelrc index 19ff5f54d..5d9c8c38a 100644 --- a/.bazelrc +++ b/.bazelrc @@ -44,3 +44,9 @@ build:macos --macos_minimum_os=10.15 # bazel run //bazel:setup_configs > fuzztest.bazelrc # try-import %workspace%/fuzztest.bazelrc + +# Configure rules_rust to use the nightly channel toolchain by default. +build --@rules_rust//rust/toolchain/channel:channel=nightly + +# Link standard C++ library for Rust binaries on Linux +build:linux --linkopt=-lstdc++ diff --git a/MODULE.bazel b/MODULE.bazel index 4610482c3..08577ec09 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -27,6 +27,48 @@ bazel_dep( name = "rules_shell", version = "0.6.1", ) +bazel_dep( + name = "rules_rust", + version = "0.71.3", +) + +rust = use_extension("@rules_rust//rust:extensions.bzl", "rust") +rust.toolchain( + edition = "2024", + versions = ["nightly/2025-01-15"], +) +use_repo(rust, "rust_toolchains") +register_toolchains("@rust_toolchains//:all") + +crate = use_extension("@rules_rust//crate_universe:extensions.bzl", "crate") +crate.spec(package = "anyhow", version = "1.0.100") +crate.spec(package = "clap", version = "4.6.1", features = ["derive", "env"]) +crate.spec(package = "convert_case", version = "0.6.0") +crate.spec(package = "googletest", version = "0.14.3") +crate.spec(package = "humantime", version = "2.4.0") +crate.spec(package = "inventory", version = "0.3.20") +crate.spec(package = "num-traits", version = "0.2.19") +crate.spec(package = "postcard", version = "1.0.0", features = ["use-std"]) +crate.spec(package = "proc-macro2", version = "1.0.106") +crate.spec(package = "proc-macro-crate", version = "3.4.0") +crate.spec(package = "quote", version = "1.0.45") +crate.spec(package = "rand", version = "0.10.1") +crate.spec(package = "serde", version = "1.0.219", features = ["derive"]) +crate.spec(package = "spin", version = "0.10.0") +crate.spec( + package = "syn", + version = "2.0.117", + features = [ + "extra-traits", + "full", + "parsing", + "printing", + "visit-mut", + ], +) +crate.spec(package = "tempfile", version = "3.27.0") +crate.from_specs(name = "crate_index") +use_repo(crate, "crate_index") bazel_dep( name = "abseil-cpp", version = "20260526.0", diff --git a/centipede/BUILD b/centipede/BUILD index 518d7a6d5..057fb5e46 100644 --- a/centipede/BUILD +++ b/centipede/BUILD @@ -980,8 +980,6 @@ cc_library( name = "engine_worker", srcs = [ "engine_worker.cc", - "runner_utils.cc", - "runner_utils.h", ], hdrs = ["engine_worker_abi.h"], deps = [ @@ -990,6 +988,7 @@ cc_library( ":feature", ":runner_request", ":runner_result", + ":runner_utils", ":shared_memory_blob_sequence", "@abseil-cpp//absl/base:nullability", "@com_google_fuzztest//common:defs", @@ -1216,8 +1215,6 @@ cc_library( "reverse_pc_table.h", "runner_dl_info.cc", "runner_dl_info.h", - "runner_utils.cc", - "runner_utils.h", "sancov_callbacks.cc", "sancov_interceptors.cc", "sancov_object_array.cc", @@ -1239,6 +1236,7 @@ cc_library( ":foreach_nonzero", ":int_utils", ":runner_cmp_trace", + ":runner_utils", "@abseil-cpp//absl/base:core_headers", "@abseil-cpp//absl/base:nullability", "@abseil-cpp//absl/numeric:bits", @@ -2002,3 +2000,23 @@ sh_test( ":test_util_sh", ], ) + +cc_library( + name = "runner_utils", + srcs = ["runner_utils.cc"], + hdrs = ["runner_utils.h"], + copts = DISABLE_SANCOV_COPTS, + deps = [ + "@abseil-cpp//absl/base:nullability", + ], +) + +cc_static_library( + name = "centipede_engine_static", + deps = [ + ":engine_controller_with_subprocess", + ":engine_worker", + ":sancov_runtime", + ":weak_sancov_stubs", + ], +)