diff options
author | Evgenii Kliuchnikov <eustas@google.com> | 2023-07-06 11:56:38 +0000 |
---|---|---|
committer | Evgenii Kliuchnikov <eustas.ru@gmail.com> | 2023-07-10 11:43:27 +0000 |
commit | 70e7b1ae4a3f3cd0009cbcc81e66330780c16653 (patch) | |
tree | 267840d2d2224747bd84bbf8a7d7a7b75f84ff09 | |
parent | 413b098564a90a2e6cae192d30642d33a9197a39 (diff) | |
download | brotli-70e7b1ae4a3f3cd0009cbcc81e66330780c16653.zip brotli-70e7b1ae4a3f3cd0009cbcc81e66330780c16653.tar.gz brotli-70e7b1ae4a3f3cd0009cbcc81e66330780c16653.tar.bz2 |
simplify building of fuzzer
PiperOrigin-RevId: 545950923
-rw-r--r-- | .github/workflows/build_test.yml | 15 | ||||
-rw-r--r-- | .github/workflows/codeql.yml | 4 | ||||
-rw-r--r-- | .github/workflows/fuzz.yml | 5 | ||||
-rw-r--r-- | .github/workflows/release.yaml | 4 | ||||
-rw-r--r-- | .github/workflows/scorecard.yml | 4 | ||||
-rw-r--r-- | BUILD.bazel (renamed from BUILD) | 0 | ||||
-rw-r--r-- | WORKSPACE.bazel (renamed from WORKSPACE) | 5 | ||||
-rw-r--r-- | c/fuzz/.bazelrc | 18 | ||||
-rw-r--r-- | c/fuzz/BUILD.bazel | 12 | ||||
-rw-r--r-- | c/fuzz/WORKSPACE.bazel | 0 | ||||
-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/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 |