Integrate integration tests in a single binary #459
Closed
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.
This looks like a big diff but is actually quite small! It moves the tests to a single binary as per https://matklad.github.io/2021/02/27/delete-cargo-integration-tests.html. We've used this pattern quite successfully in PRQL.
Running
time sh -c 'touch src/lib.rs; cargo test --tests --all-features'
:...so not such a proportional difference that this we absolutely have to merge this, but high in relative space. It also makes the test output smoother / less jittery when running tests in a loop fwiw.
FYI the only test I didn't put into the single binary was
test_clash_detection.rs
, because that seems to want to be alone.