Support customized logic for FAILPOINTS tasks #72
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
See also commit messages.
I'd like to add 2 primitives to construct interesting race conditions between processes:
There does not seem to be a generic/portable way to implement them. But with certain assumptions like
$TESTING_TEMP
is a directory that can be freely written to for communication, it is possible to implement above feature. This PR adds a way so applications can implement their needs and get the logic exposed via theFAILPOINTS
environment variable.Side note:
It almost seems that there are 2 different use-cases of
fail
:cfg
,cfg_callback
without using theFAILPOINTS
environment at all. Different test cases have different failpoint configurationsFAILPOINTS
is probably used exclusively, since thecfg
approach would require compiling the executable to O(test case) different ones, which does not make much sense.The "callback" flexibility seems exclusive to library testing. This change closes the gap so application testing can get similar flexibility.