test: disable optimizations when testing#77
Merged
BurntSushi merged 1 commit intomasterfrom Aug 3, 2024
Merged
Conversation
61776d1 to
8e043fa
Compare
Owner
Author
8e043fa to
5a4fadd
Compare
I was getting pretty tired of the long compile times in between test runs. I thought they seemed particularly long for debug mode. It turns out that I had actually set `opt-level = 3` for running tests. This was because there were a select few tests that ran quite long in debug mode. But iteration time is important, so I trimmed down those tests and disabled optimizations. Tests run much more quickly now after making a change to the source code. We also add `cargo test --profile testrelease` to CI. This is just like normal tests, but disables `debug_assertions`. Jiff has a lot of extra stuff going on when `debug_assertions` are enabled due to its internal ranged integer abstraction. So it's useful to run tests without all that extra stuff too (reflecting what is intended to be run in production). Finally, we split win-gnu out to its own CI job and run a stripped down set of tests. Regretable, but it's *twice* as slow as the next slowest runner. That's sucks enough that we'll just live with worse test coverage until this becomes an obvious problem. (I'm also not even sure anyone is using this target anyway. It's not clear why anyone would.)
5a4fadd to
515a7bf
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
I was getting pretty tired of the long compile times in between test
runs. I thought they seemed particularly long for debug mode. It turns
out that I had actually set
opt-level = 3for running tests. This wasbecause there were a select few tests that ran quite long in debug mode.
But iteration time is important, so I trimmed down those tests and
disabled optimizations. Tests run much more quickly now after making a
change to the source code.
We also add
cargo test --profile testreleaseto CI. This is just likenormal tests, but disables
debug_assertions. Jiff has a lot of extrastuff going on when
debug_assertionsare enabled due to its internalranged integer abstraction. So it's useful to run tests without all that
extra stuff too (reflecting what is intended to be run in production).