google / google/fuzzbench

Refactor how failures are handled in builder.py

Open
#312 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
1.2k
Forks
302
PR merge metrics
No merged PRs in 30d

Description

Currently most of the externally used build functions in builder.py use `retry_build_loop` which takes a function `f` runs `f` in parallel on each item in the list, retrying up to 3 times if needed, and returns the list of items in the list that it was able to successfully call `f` on (`f` is either the function for building measurers or building fuzzer-benchmarks). `f` will log an error if it fails.
We should change this in two ways:
1. `f` should probably never log errror. Leave it to `retry_build_loop`. These should probably be warnings, since the error gets logged when retry_build_loop gives up.
2. Returning only successful items is weird. Instead return a list of all items and whether they succeed or not.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.