Per-phase statistics reporting #2422
Merged
+204
−196
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.
Fixes #1555.
I've also gone for a more substantial refactoring than the bare minimum. Where the old scheme converted attributes directly into report lines, this PR prefers to ship around a blob of JSON and provide a function for converting it to report lines.
Having a machine-readable form that we can dump out makes analysis (c.f. #437 (comment)) much easier, whether that's to assess a test suite, compare fuzzers, or decide if a proposed change is robustly better than the status quo. There's no public or supported interface in this PR, but it makes experimentation much easier - for example, I'm planning to use this to assess the effectiveness of targeted PBT and/or swarm testing vs. a baseline 🙂
To install this branch and try it out,
pip install -U git+https://github.com/Zac-HD/hypothesis.git@better-stats#subdirectory=hypothesis-python