aboutsummaryrefslogtreecommitdiff
path: root/c
diff options
context:
space:
mode:
authorEvgenii Kliuchnikov <eustas@google.com>2023-07-06 11:56:38 +0000
committerEvgenii Kliuchnikov <eustas.ru@gmail.com>2023-07-10 11:43:27 +0000
commit70e7b1ae4a3f3cd0009cbcc81e66330780c16653 (patch)
tree267840d2d2224747bd84bbf8a7d7a7b75f84ff09 /c
parent413b098564a90a2e6cae192d30642d33a9197a39 (diff)
downloadbrotli-70e7b1ae4a3f3cd0009cbcc81e66330780c16653.zip
brotli-70e7b1ae4a3f3cd0009cbcc81e66330780c16653.tar.gz
brotli-70e7b1ae4a3f3cd0009cbcc81e66330780c16653.tar.bz2
simplify building of fuzzer
PiperOrigin-RevId: 545950923
Diffstat (limited to 'c')
-rw-r--r--c/fuzz/.bazelrc18
-rw-r--r--c/fuzz/BUILD.bazel12
-rw-r--r--c/fuzz/WORKSPACE.bazel0
3 files changed, 30 insertions, 0 deletions
diff --git a/c/fuzz/.bazelrc b/c/fuzz/.bazelrc
new file mode 100644
index 0000000..243942a
--- /dev/null
+++ b/c/fuzz/.bazelrc
@@ -0,0 +1,18 @@
+# Force the use of Clang for C++ builds.
+build --action_env=CC=clang
+build --action_env=CXX=clang++
+
+# Define the --config=asan-libfuzzer configuration.
+build:asan-libfuzzer --@rules_fuzzing//fuzzing:cc_engine=@rules_fuzzing//fuzzing/engines:libfuzzer
+build:asan-libfuzzer --@rules_fuzzing//fuzzing:cc_engine_instrumentation=libfuzzer
+build:asan-libfuzzer --@rules_fuzzing//fuzzing:cc_engine_sanitizer=asan
+
+# Define the --config=msan-libfuzzer configuration.
+build:msan-libfuzzer --@rules_fuzzing//fuzzing:cc_engine=@rules_fuzzing//fuzzing/engines:libfuzzer
+build:msan-libfuzzer --@rules_fuzzing//fuzzing:cc_engine_instrumentation=libfuzzer
+build:msan-libfuzzer --@rules_fuzzing//fuzzing:cc_engine_sanitizer=msan
+
+# Define the --config=ubsan-libfuzzer configuration.
+build:ubsan-libfuzzer --@rules_fuzzing//fuzzing:cc_engine=@rules_fuzzing//fuzzing/engines:libfuzzer
+build:ubsan-libfuzzer --@rules_fuzzing//fuzzing:cc_engine_instrumentation=libfuzzer
+build:ubsan-libfuzzer --@rules_fuzzing//fuzzing:cc_engine_sanitizer=ubsan
diff --git a/c/fuzz/BUILD.bazel b/c/fuzz/BUILD.bazel
new file mode 100644
index 0000000..7f56d96
--- /dev/null
+++ b/c/fuzz/BUILD.bazel
@@ -0,0 +1,12 @@
+load("@rules_fuzzing//fuzzing:cc_defs.bzl", "cc_fuzz_test")
+
+package(default_visibility = ["//visibility:public"])
+
+licenses(["notice"]) # MIT
+
+# To start fuzzing run: bazel run --config=asan-libfuzzer //:fuzz_config_run
+cc_fuzz_test(
+ name = "decode_fuzzer",
+ srcs = ["decode_fuzzer.c"],
+ deps = ["@org_brotli//:brotlidec"],
+)
diff --git a/c/fuzz/WORKSPACE.bazel b/c/fuzz/WORKSPACE.bazel
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/c/fuzz/WORKSPACE.bazel