-
Notifications
You must be signed in to change notification settings - Fork 79
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Distinguish between undetected and failing custom mutator (fail on th…
…e latter). I extended the IPC protocol for mutation via external binary: the binary now first writes a marker to indicate whether it has a custom mutator. If it does, it proceeds by writing mutants, otherwise it successfully exits. On the Centipede side, this allows distinguishing between an undetected custom mutator (indicated by the marker) and a failure (indicated by a failed execution). The protocol is implemented using a new type of runner result, `MutationResult`, similarly to the `ExecutionResult` and `BatchResult`. In addition, I cleaned up the `Mutate()` API so that the results are passed as return values instead of using output parameters. This results in cleaner, less error-prone, and more efficient code (e.g., the number of mallocs in the malloc-counting test went down significantly, so I updated the expected count there as well). With this change, we no longer need to perform the "domain setup check" as part of executing an input. The check happens implicitly during mutation. If the mutation fails, either due to an ineffective domain or other reasons, Centipede itself fails. PiperOrigin-RevId: 726191912
- Loading branch information
1 parent
c7651e4
commit 06a89df
Showing
28 changed files
with
491 additions
and
242 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.