diff --git a/.github/workflows/cifuzz.yml b/.github/workflows/cifuzz.yml index d4f2c7a53e..d0b9747bb4 100644 --- a/.github/workflows/cifuzz.yml +++ b/.github/workflows/cifuzz.yml @@ -2,8 +2,8 @@ name: CI Fuzz on: pull_request: paths: - - 'include/**' - 'ext/**' + - 'include/**' - 'src/**' - 'tests/gtest/**' - 'tests/oss-fuzz/**' diff --git a/ext/fuzztest.cmd b/ext/fuzztest.cmd index b8d0dabfb1..79c0f3dbfc 100755 --- a/ext/fuzztest.cmd +++ b/ext/fuzztest.cmd @@ -9,7 +9,7 @@ git clone https://github.com/google/fuzztest.git cd fuzztest -: # There is no tagged release as of 2024/02/23. Pick the last commit that works. +: # There is no tagged release as of 2024/04/01. Pick the latest commit that works. git checkout dfd4a6441377391a53dd942efa1e228d90d2627c sed -i 's/-fsanitize=address//g' ./cmake/FuzzTestFlagSetup.cmake sed -i 's/-DADDRESS_SANITIZER//g' ./cmake/FuzzTestFlagSetup.cmake diff --git a/tests/oss-fuzz/build.sh b/tests/oss-fuzz/build.sh index 517cad8782..c56c0d6f3a 100755 --- a/tests/oss-fuzz/build.sh +++ b/tests/oss-fuzz/build.sh @@ -120,7 +120,14 @@ then this_dir=\$(dirname \"\$0\") export TEST_DATA_DIRS=\$this_dir/corpus chmod +x \$this_dir/$fuzz_basename -\$this_dir/$fuzz_basename --fuzz=$fuzz_entrypoint -- \$@ +ARGS=\$* +ARGS=\$(echo \${ARGS} | sed \"s/-timeout=\\([0-9]\\+\\)/-fuzz_for=\1s/g\") +# Keep rss_limit_mb +ARGS=\$(echo \${ARGS} | sed \"s/-runs=\\([0-9]\\+\\)/ /g\") +FUZZTEST_PRNG_SEED=\$(echo \${ARGS} | sed \"s/.*-seed=\\([0-9]\\+\\).*/\1/g\") +ARGS=\$(echo \${ARGS} | sed \"s/-seed=\\([0-9]\\+\\)/ /g\") +\$this_dir/$fuzz_basename --fuzz=$fuzz_entrypoint -- \$ARGS +echo \"\$this_dir/$fuzz_basename --fuzz=$fuzz_entrypoint -- \$ARGS\" chmod -x \$this_dir/$fuzz_basename" > $OUT/$TARGET_FUZZER chmod +x $OUT/$TARGET_FUZZER done