Better hygiene around S3 methods in tests #740
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.
While working on something else, I noticed a flaky test:
Discussed with @DavisVaughan who offered some very helpful analysis: this comes from two different tests being run in the same R session ?in parallel or in some random order?. Both have assertions that tickle the
ark_positron_variable_display_value
method for a toy"foo"
class and they can crosstalk with each other.Again at @DavisVaughan's suggestion, I am introducing and using a method to unregister an S3 method in ark's method table.
I have very low-tech empirical proof that it's working. Before and after this PR, I ran
cargo test --package ark --lib variables::variable::tests
10 times. Before, I saw 2 failures (the exact one shown above) and 8 passes. After, I see 10 passes.