xref: /aosp_15_r20/external/grpc-grpc/tools/fuzztest.bazelrc (revision cc02d7e222339f7a4f6ba5f422e6413f4bd931f2)
1*cc02d7e2SAndroid Build Coastguard Worker### DO NOT EDIT. Generated file.
2*cc02d7e2SAndroid Build Coastguard Worker#
3*cc02d7e2SAndroid Build Coastguard Worker# To regenerate, run the following from your project's workspace:
4*cc02d7e2SAndroid Build Coastguard Worker#
5*cc02d7e2SAndroid Build Coastguard Worker#  bazel run @com_google_fuzztest//bazel:setup_configs > fuzztest.bazelrc
6*cc02d7e2SAndroid Build Coastguard Worker#
7*cc02d7e2SAndroid Build Coastguard Worker# And don't forget to add the following to your project's .bazelrc:
8*cc02d7e2SAndroid Build Coastguard Worker#
9*cc02d7e2SAndroid Build Coastguard Worker#  try-import %workspace%/fuzztest.bazelrc
10*cc02d7e2SAndroid Build Coastguard Worker
11*cc02d7e2SAndroid Build Coastguard Worker
12*cc02d7e2SAndroid Build Coastguard Worker### Common options.
13*cc02d7e2SAndroid Build Coastguard Worker#
14*cc02d7e2SAndroid Build Coastguard Worker# Do not use directly.
15*cc02d7e2SAndroid Build Coastguard Worker
16*cc02d7e2SAndroid Build Coastguard Worker# Compile and link with Address Sanitizer (ASAN).
17*cc02d7e2SAndroid Build Coastguard Workerbuild:fuzztest-common --linkopt=-fsanitize=address
18*cc02d7e2SAndroid Build Coastguard Workerbuild:fuzztest-common --copt=-fsanitize=address
19*cc02d7e2SAndroid Build Coastguard Worker
20*cc02d7e2SAndroid Build Coastguard Worker# Standard define for "ifdef-ing" any fuzz test specific code.
21*cc02d7e2SAndroid Build Coastguard Workerbuild:fuzztest-common --copt=-DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
22*cc02d7e2SAndroid Build Coastguard Worker
23*cc02d7e2SAndroid Build Coastguard Worker# In fuzz tests, we want to catch assertion violations even in optimized builds.
24*cc02d7e2SAndroid Build Coastguard Workerbuild:fuzztest-common --copt=-UNDEBUG
25*cc02d7e2SAndroid Build Coastguard Worker
26*cc02d7e2SAndroid Build Coastguard Worker# Enable libc++ assertions.
27*cc02d7e2SAndroid Build Coastguard Worker# See https://libcxx.llvm.org/UsingLibcxx.html#enabling-the-safe-libc-mode
28*cc02d7e2SAndroid Build Coastguard Workerbuild:fuzztest-common --copt=-D_LIBCPP_ENABLE_ASSERTIONS=1
29*cc02d7e2SAndroid Build Coastguard Worker
30*cc02d7e2SAndroid Build Coastguard Worker
31*cc02d7e2SAndroid Build Coastguard Worker### FuzzTest build configuration.
32*cc02d7e2SAndroid Build Coastguard Worker#
33*cc02d7e2SAndroid Build Coastguard Worker# Use with: --config=fuzztest
34*cc02d7e2SAndroid Build Coastguard Worker
35*cc02d7e2SAndroid Build Coastguard Workerbuild:fuzztest --config=fuzztest-common
36*cc02d7e2SAndroid Build Coastguard Worker
37*cc02d7e2SAndroid Build Coastguard Worker# Link statically.
38*cc02d7e2SAndroid Build Coastguard Workerbuild:fuzztest --dynamic_mode=off
39*cc02d7e2SAndroid Build Coastguard Worker
40*cc02d7e2SAndroid Build Coastguard Worker# We rely on the following flag instead of the compiler provided
41*cc02d7e2SAndroid Build Coastguard Worker# __has_feature(address_sanitizer) to know that we have an ASAN build even in
42*cc02d7e2SAndroid Build Coastguard Worker# the uninstrumented runtime.
43*cc02d7e2SAndroid Build Coastguard Workerbuild:fuzztest --copt=-DADDRESS_SANITIZER
44*cc02d7e2SAndroid Build Coastguard Worker
45*cc02d7e2SAndroid Build Coastguard Worker# We apply coverage tracking instrumentation to everything but the
46*cc02d7e2SAndroid Build Coastguard Worker# FuzzTest framework itself (including GoogleTest and GoogleMock).
47*cc02d7e2SAndroid Build Coastguard Workerbuild:fuzztest --per_file_copt=+//,-fuzztest/.*,-googletest/.*,-googlemock/.*@-fsanitize-coverage=inline-8bit-counters,-fsanitize-coverage=trace-cmp
48*cc02d7e2SAndroid Build Coastguard Worker
49