Don't write test snapshot if no thread name #1155
Merged
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.
What
When dropping
Env
, if there is no thread name, don't write a snapshot file (and don't panic).Why
The current code for writing test snapshots under
testutils
assumes theEnv
has been constructed as part of a unit test, but this is not the case for e.g. fuzz tests.A fuzz test runs on the main thread and does not configure a thread name, but the test snapshot writer panics if there is no thread name.
This patch adds a (very crude) heuristic to decide that it is not running as part of a unit test and it is ok to not write the test snapshot. I looked for more reliable ways to determine if code was running as part of a unit test but did not find one.
Known limitations
This heuristic may be inaccurate for other unanticipated scenarios.