CIFuzz does not handle fuzztest scripts
- Dominant language
- Shell
- Stars
- 12.6k
- Forks
- 2.9k
- Avg merge
- 2d 2h
- Merged PRs (30d)
- 62
Description
When creating fuzztest scripts with the usual convention (bash script with @ in the name, calling the fuzztest binary), no test is found in CIFuzz:
```
2024-02-12 21:57:14,894 - root - INFO - ClusterFuzzDeployment: .
2024-02-12 21:57:14,894 - root - INFO - run fuzzers MODE is: code-change. Runner: .
2024-02-12 21:57:14,895 - root - INFO - Using address sanitizer.
2024-02-12 21:57:14,898 - root - INFO - Fuzz targets: []
2024-02-12 21:57:14,898 - root - ERROR - No fuzz targets were found in out directory: /github/workspace/build-out.
2024-02-12 21:57:14,898 - root - ERROR - Error occurred while running in workspace /github/workspace.
```
Probably due to https://github.com/google/oss-fuzz/blob/2fded4446bdd6e89f5f685d3bc66dab8e1fc6afc/infra/utils.py#L145
(For reference, this is where our project, libavif, creates its tests: https://github.com/AOMediaCodec/libavif/blob/b10d2697e9ed2fb09cb722335ff4342c353612b8/tests/oss-fuzz/build.sh#L84)
Contributor guide
Research direction
Start with infra/utils.py around line 145 and trace how CIFuzz discovers fuzz targets. Compare that logic with the bash-script convention shown in the libavif tests/oss-fuzz/build.sh reference. Done means CIFuzz detects and runs fuzztest scripts instead of reporting an empty target list.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python, shell
- Domain
- ci-cd, testing-qa
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100