oss-fuzz/infra
DavidKorczynski beef253ac7
infra: build: functions: cut corpus directory by last period (#9302)
When a corpus zip file is unzipped the destination folder is set to be
the directory corresponding to the filepath of the zip file but without
".zip" in the name. This is achieved by `for f in /corpus/*.zip; do
unzip -q $f -d ${f%%.*}` where `f%%.*` substitutes the path of `f` based
on the first occurrence of ".". This causes some issues with fuzztest
fuzzers where a fuzzer name always has a "." in it, e.g.

`escaping_test@EscapingTest.EscapingAStringNeverTriggersUndefinedBehavior`

Substituting the name in this way causes issues for some coverage builds
e.g.
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=53479

This changes it to substiute based on the last occurrence of ".", i.e.
just cutting off the ".zip".

Alternatively, we could substitute over
e.g. ".zip", however, this may cause some issues as a fuzztest fuzzer
may have ".zip" in the name.

Signed-off-by: David Korczynski <david@adalogics.com>

Signed-off-by: David Korczynski <david@adalogics.com>
2023-01-04 09:52:09 +11:00
..
base-images [centipede] Turn off warnings during compilation. (#9301) 2023-01-03 11:44:12 -05:00
build infra: build: functions: cut corpus directory by last period (#9302) 2023-01-04 09:52:09 +11:00
ci infra: remove temporary build image for Go (#9230) 2022-12-19 13:00:55 +11:00
cifuzz [cifuzz] Upgrade artifact package (#9347) 2023-01-03 16:35:21 -05:00
experimental [SystemSan] Add feature for opting out. (#9221) 2022-12-15 14:24:30 -05:00
sanitizers/pysecsan pysecsan: add framework for python sanitization (#8480) 2022-10-28 13:29:47 +01:00
tools Add helper scripts for wycheproof (#9008) 2022-11-21 17:20:42 -05:00
uploader Increase retry value to avoid build failures (#1468) 2018-06-02 09:12:31 -07:00
.dockerignore [NFC][CIFuzz] Rename test_files to test_data and delete unneeded testcases directory (#5448) 2021-03-19 11:49:38 -07:00
README.md Update README.md (#7352) 2022-03-02 10:39:34 -05:00
bisector.py [infra] Add different messages depending on bisection type (#6547) 2021-10-04 07:14:41 -05:00
bisector_test.py [infra][NFC] Use "testcase" instead of test_case for consistency. (#6159) 2021-08-03 18:05:00 -07:00
build_fuzzers.Dockerfile [cifuzz] Fuzz in cifuzz-base (#6142) 2021-08-05 13:27:24 -07:00
build_specified_commit.py [helper] Change logging from error to info (#6200) 2021-08-11 11:09:24 -07:00
build_specified_commit_test.py [helper] Change logging from error to info (#6200) 2021-08-11 11:09:24 -07:00
constants.py Centipede integration (#8046) 2022-09-06 02:34:58 +00:00
helper.py Fix the introspector report directory in helper.py (#9273) 2022-12-24 23:27:17 +00:00
helper_test.py [infra] Fix test failure. (#7098) 2022-01-05 15:00:00 -05:00
manifest.py [arm] Add manifest script (#8223) 2022-08-12 09:04:24 -04:00
presubmit.py [NFC] Minor SysSan improvements (#9149) 2022-12-14 08:40:06 +11:00
pytest.ini [CIFuzz] Refactor in preparation for filestore (#5841) 2021-05-26 09:45:22 -07:00
repo_manager.py Consider submodules while commit and PR checkout (#7500) 2022-04-05 11:14:39 -04:00
repo_manager_test.py cflite: Support private repos (#6592) 2021-10-20 13:51:57 +11:00
retry.py [CIFuzz] Refactor in preparation for filestore (#5841) 2021-05-26 09:45:22 -07:00
run_fuzzers.Dockerfile [cifuzz] Fuzz in cifuzz-base (#6142) 2021-08-05 13:27:24 -07:00
templates.py Enable github issue filing in new projects. (#7810) 2022-06-08 11:47:51 +10:00
test_repos.py [infra][NFC] Use "testcase" instead of test_case for consistency. (#6159) 2021-08-03 18:05:00 -07:00
trigger_test java: Fix bash escaping in memory setting logic (#8825) 2022-11-07 10:34:37 -08:00
utils.py [ClusterFuzzLite] Fix fuzz target search for coverage (#6799) 2021-11-09 07:49:21 -05:00
utils_test.py [cifuzz] Use javascript actions library for uploading artifacts (#6552) 2021-10-05 09:16:54 -04:00

README.md

infra

OSS-Fuzz project infrastructure

Core infrastructure:

  • base-images - docker images for building fuzz targets & corresponding jenkins pipeline.

Continuous Integration infrastructure:

  • ci - script to build projects in CI.

helper.py

script to automate common docker operations

Command Description
generate Generates skeleton files for a new project
build_image Builds a docker image for a given project
build_fuzzers Builds fuzz targets for a given project
run_fuzzer Runs a fuzz target in a docker container
coverage Runs fuzz target(s) in a docker container and generates a code coverage report. See Code Coverage doc
reproduce Runs a testcase to reproduce a crash
shell Starts a shell inside the docker image for a project