google / google/oss-fuzz

CIFuzz does not handle fuzztest scripts

Open
#11,599 3 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.