Debug test data with assert_ok and assert_err
#476
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 is the purpose of this pull request?
Which crates are being modified?
Description
We have a couple of
assert!(result.is_ok())andassert!(result.is_err())in our tests. These are very readable but whenever they fail they don't debug theResultvalue. We have recently seen this lack of debugging in some electrum tests CI fails:We could fix this with
result.unwrap()orresult.unwrap_err(), but it worsens readability. I find it nicer to use these newassert_okandassert_errmacros. Added a few unit and doc tests for them.Notes to the reviewers
There's a clippy lint for this but it's on restriction mode because of the readability loss of using unwraps, which we solve with these macros. But the clippy lint doesn't catch all cases for some reason. I also saw there's an
std::assert_matchesmacro but it's unstable.