aboutsummaryrefslogtreecommitdiff
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
parent413b098564a90a2e6cae192d30642d33a9197a39 (diff)
downloadbrotli-70e7b1ae4a3f3cd0009cbcc81e66330780c16653.zip
brotli-70e7b1ae4a3f3cd0009cbcc81e66330780c16653.tar.gz
brotli-70e7b1ae4a3f3cd0009cbcc81e66330780c16653.tar.bz2
simplify building of fuzzer
PiperOrigin-RevId: 545950923
-rw-r--r--.github/workflows/build_test.yml15
-rw-r--r--.github/workflows/codeql.yml4
-rw-r--r--.github/workflows/fuzz.yml5
-rw-r--r--.github/workflows/release.yaml4
-rw-r--r--.github/workflows/scorecard.yml4
-rw-r--r--BUILD.bazel (renamed from BUILD)0
-rw-r--r--WORKSPACE.bazel (renamed from WORKSPACE)5
-rw-r--r--c/fuzz/.bazelrc18
-rw-r--r--c/fuzz/BUILD.bazel12
-rw-r--r--c/fuzz/WORKSPACE.bazel0
-rw-r--r--go/BUILD.bazel (renamed from go/BUILD)0
-rw-r--r--go/WORKSPACE.bazel (renamed from go/WORKSPACE)0
-rw-r--r--go/cbrotli/BUILD.bazel (renamed from go/cbrotli/BUILD)0
-rw-r--r--java/BUILD.bazel (renamed from java/BUILD)0
-rw-r--r--java/WORKSPACE.bazel (renamed from java/WORKSPACE)0
-rw-r--r--java/org/brotli/common/BUILD.bazel (renamed from java/org/brotli/common/BUILD)0
-rw-r--r--java/org/brotli/dec/BUILD.bazel (renamed from java/org/brotli/dec/BUILD)0
-rw-r--r--java/org/brotli/enc/BUILD.bazel (renamed from java/org/brotli/enc/BUILD)0
-rw-r--r--java/org/brotli/integration/BUILD.bazel (renamed from java/org/brotli/integration/BUILD)0
-rw-r--r--java/org/brotli/wrapper/common/BUILD.bazel (renamed from java/org/brotli/wrapper/common/BUILD)0
-rw-r--r--java/org/brotli/wrapper/dec/BUILD.bazel (renamed from java/org/brotli/wrapper/dec/BUILD)0
-rw-r--r--java/org/brotli/wrapper/enc/BUILD.bazel (renamed from java/org/brotli/wrapper/enc/BUILD)0
-rw-r--r--js/BUILD.bazel (renamed from js/BUILD)0
-rw-r--r--js/WORKSPACE.bazel (renamed from js/WORKSPACE)0
-rw-r--r--research/BUILD.bazel (renamed from research/BUILD)0
-rw-r--r--research/WORKSPACE.bazel (renamed from research/WORKSPACE)0
26 files changed, 65 insertions, 2 deletions
diff --git a/.github/workflows/build_test.yml b/.github/workflows/build_test.yml
index 31bcd64..590a54a 100644
--- a/.github/workflows/build_test.yml
+++ b/.github/workflows/build_test.yml
@@ -13,6 +13,10 @@ on:
pull_request:
types: [opened, reopened, labeled, synchronize]
+concurrency:
+ group: ${{ github.workflow }}-${{ github.ref }}-${{ github.event_name }}
+ cancel-in-progress: ${{ github.event_name == 'pull_request' }}
+
jobs:
ubuntu_build:
name: Build and test ${{ matrix.name }}
@@ -288,8 +292,15 @@ jobs:
- name: Quick Fuzz
if: ${{ matrix.build_system == 'fuzz' }}
run: |
- export ASAN_OPTIONS=detect_leaks=0
- ./c/fuzz/test_fuzzer.sh
+ mkdir ${RUNNER_TEMP}/decode_corpora
+ unzip java/org/brotli/integration/fuzz_data.zip -d ${RUNNER_TEMP}/decode_corpora
+ cd ${GITHUB_WORKSPACE}/c/fuzz
+ bazelisk build --config=asan-libfuzzer :decode_fuzzer
+ for f in `ls ${RUNNER_TEMP}/decode_corpora`
+ do
+ echo "Testing $f"
+ ./bazel-bin/decode_fuzzer_bin ${RUNNER_TEMP}/decode_corpora/$f
+ done
- name: Build with Bazel
if: ${{ matrix.build_system == 'bazel' }}
diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml
index 1df6419..fad20e2 100644
--- a/.github/workflows/codeql.yml
+++ b/.github/workflows/codeql.yml
@@ -9,6 +9,10 @@ on:
schedule:
- cron: '18 15 * * 0'
+concurrency:
+ group: ${{ github.workflow }}-${{ github.ref }}-${{ github.event_name }}
+ cancel-in-progress: ${{ github.event_name == 'pull_request' }}
+
jobs:
analyze:
name: Analyze
diff --git a/.github/workflows/fuzz.yml b/.github/workflows/fuzz.yml
index 77188ab..78e71e3 100644
--- a/.github/workflows/fuzz.yml
+++ b/.github/workflows/fuzz.yml
@@ -7,6 +7,11 @@
name: CIFuzz
on: [pull_request]
+
+concurrency:
+ group: ${{ github.workflow }}-${{ github.ref }}-${{ github.event_name }}
+ cancel-in-progress: ${{ github.event_name == 'pull_request' }}
+
jobs:
Fuzzing:
runs-on: ubuntu-latest
diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml
index 967d5f6..0f2be31 100644
--- a/.github/workflows/release.yaml
+++ b/.github/workflows/release.yaml
@@ -14,6 +14,10 @@ on:
release:
types: [ published ]
+concurrency:
+ group: ${{ github.workflow }}-${{ github.ref }}-${{ github.event_name }}
+ cancel-in-progress: ${{ github.event_name == 'pull_request' }}
+
jobs:
windows_build:
name: Windows Build (vcpkg / ${{ matrix.triplet }})
diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml
index a71f9f8..9b544e6 100644
--- a/.github/workflows/scorecard.yml
+++ b/.github/workflows/scorecard.yml
@@ -14,6 +14,10 @@ on:
push:
branches: [ "master" ]
+concurrency:
+ group: ${{ github.workflow }}-${{ github.ref }}-${{ github.event_name }}
+ cancel-in-progress: ${{ github.event_name == 'pull_request' }}
+
# Declare default permissions as read only.
permissions: read-all
diff --git a/BUILD b/BUILD.bazel
index 34e4a54..34e4a54 100644
--- a/BUILD
+++ b/BUILD.bazel
diff --git a/WORKSPACE b/WORKSPACE.bazel
index 75f3768..c26ddf8 100644
--- a/WORKSPACE
+++ b/WORKSPACE.bazel
@@ -1,6 +1,11 @@
workspace(name = "org_brotli")
local_repository(
+ name = "ignore_org_brotli_fuzz",
+ path = "c/fuzz",
+)
+
+local_repository(
name = "ignore_org_brotli_go",
path = "go",
)
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
diff --git a/go/BUILD b/go/BUILD.bazel
index 72a5317..72a5317 100644
--- a/go/BUILD
+++ b/go/BUILD.bazel
diff --git a/go/WORKSPACE b/go/WORKSPACE.bazel
index 570e250..570e250 100644
--- a/go/WORKSPACE
+++ b/go/WORKSPACE.bazel
diff --git a/go/cbrotli/BUILD b/go/cbrotli/BUILD.bazel
index 78ad36c..78ad36c 100644
--- a/go/cbrotli/BUILD
+++ b/go/cbrotli/BUILD.bazel
diff --git a/java/BUILD b/java/BUILD.bazel
index 0ae6c15..0ae6c15 100644
--- a/java/BUILD
+++ b/java/BUILD.bazel
diff --git a/java/WORKSPACE b/java/WORKSPACE.bazel
index 3ac9d4b..3ac9d4b 100644
--- a/java/WORKSPACE
+++ b/java/WORKSPACE.bazel
diff --git a/java/org/brotli/common/BUILD b/java/org/brotli/common/BUILD.bazel
index 771b1e3..771b1e3 100644
--- a/java/org/brotli/common/BUILD
+++ b/java/org/brotli/common/BUILD.bazel
diff --git a/java/org/brotli/dec/BUILD b/java/org/brotli/dec/BUILD.bazel
index 17286e0..17286e0 100644
--- a/java/org/brotli/dec/BUILD
+++ b/java/org/brotli/dec/BUILD.bazel
diff --git a/java/org/brotli/enc/BUILD b/java/org/brotli/enc/BUILD.bazel
index 66905b9..66905b9 100644
--- a/java/org/brotli/enc/BUILD
+++ b/java/org/brotli/enc/BUILD.bazel
diff --git a/java/org/brotli/integration/BUILD b/java/org/brotli/integration/BUILD.bazel
index 5b77325..5b77325 100644
--- a/java/org/brotli/integration/BUILD
+++ b/java/org/brotli/integration/BUILD.bazel
diff --git a/java/org/brotli/wrapper/common/BUILD b/java/org/brotli/wrapper/common/BUILD.bazel
index eeaa474..eeaa474 100644
--- a/java/org/brotli/wrapper/common/BUILD
+++ b/java/org/brotli/wrapper/common/BUILD.bazel
diff --git a/java/org/brotli/wrapper/dec/BUILD b/java/org/brotli/wrapper/dec/BUILD.bazel
index ca902f7..ca902f7 100644
--- a/java/org/brotli/wrapper/dec/BUILD
+++ b/java/org/brotli/wrapper/dec/BUILD.bazel
diff --git a/java/org/brotli/wrapper/enc/BUILD b/java/org/brotli/wrapper/enc/BUILD.bazel
index b8500c7..b8500c7 100644
--- a/java/org/brotli/wrapper/enc/BUILD
+++ b/java/org/brotli/wrapper/enc/BUILD.bazel
diff --git a/js/BUILD b/js/BUILD.bazel
index d74e42c..d74e42c 100644
--- a/js/BUILD
+++ b/js/BUILD.bazel
diff --git a/js/WORKSPACE b/js/WORKSPACE.bazel
index 8e3b2af..8e3b2af 100644
--- a/js/WORKSPACE
+++ b/js/WORKSPACE.bazel
diff --git a/research/BUILD b/research/BUILD.bazel
index ef6967e..ef6967e 100644
--- a/research/BUILD
+++ b/research/BUILD.bazel
diff --git a/research/WORKSPACE b/research/WORKSPACE.bazel
index 343c3bb..343c3bb 100644
--- a/research/WORKSPACE
+++ b/research/WORKSPACE.bazel