[CIFuzz] Don't assume fuzzer output is ascii
This is wrong because the output can be arbitrary. Instead change
code that deals with the output to deal with bytes. The testcase,
which is derived from the output can be decoded as UTF-8 since it
will be a unix path.
Skia has seen some unhandled connection reset errors.
When we see these errors when downloading old OSS-Fuzz build, retry downloading it, since the error is likely transient.
This is needed for CF to determine whether or not to allocate the
project on a higher end bot to run the blackbox fuzzer.
Previously this was keyed on the "none" entry under fuzzing_engines,
which wasn't very descriptive. This change also lets us do both blackbox
and greybox fuzzing in the same project, which will be done for quickjs.
Coverage builds need to be special cased since they aren't specified
in sanitizers. Instead they are done for all C/C++ projects that
use libFuzzer.
Move all of this special casing to `should_build_coverage` and call that from
`should_build` so we have one place where we decide this.
Add tests as well.
Fixes: https://github.com/google/oss-fuzz/issues/4371
* [infra] Fix reproduce command invoking run_fuzzer for a single testcase (#4338).
* review feedback
* do not introduce new variable, rely on SKIP_SEED_CORPUS only
The issue with 55d9a81 that caused it to be reverted by 3370f8f
was probably due to the build trigger on GCB being stale. I've
updated it so this commit should stick.
Make CIFuzz building accept an env var `MANUAL_SRC_PATH` that points to a manually prepared checkout of the project-under-tests's source code. This allows projects like Skia which are not on OSS-Fuzz and/or need to make changes to the repo after checking out the right commit to use CIFuzz.
Note that for now we aren't supporting this in GitHub, so projects that need to modify the source after checkout can't use it until
we do support it.
Also, use the local copy of OSS-Fuzz when building cifuzz-base instead of cloning it from GitHub. This makes local debugging/development much easier since it allows one to use CIFuzz with local changes.
- Remove gcb folder. Move the files that we still need into the
build/functions dir.
- Remove badge_images. They are now stored on GCS.
- Remove jenins configs.
* Initial UI Change to display historical logs
* Minor changes
* More formatting changes
* Adding license header
* Changes, take a look Oliver
* Changes for handling empty build history/ no last successful build
* Reverting the logs folder path from /logs/log to /log
* Merged to latest master and other chnages to template
* Changing backend to reflect build history
* Fixing order of query
* Removed last build status
* More changes
* Adding unit tests and fixes found by unit testing
* Fixing lint errors
* Added more unit tests and fixed typos and formatting
* Fixing comment caps
* Minor formatting issue
Co-authored-by: Oliver Chang <oliverchang@users.noreply.github.com>
* [rnp] Add afl engine
* Add fuzz_dump and fuzz_keyring to the exception list
These binaries - from https://github.com/rnpgp/rnp/tree/master/src/fuzzing -
are very tiny and just call into the library with a single API,
and are not staticly compiled - so they have very few UBSAN calls.