-
Notifications
You must be signed in to change notification settings - Fork 43
main_binary
should reuse the caller's target
#4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
From #43
|
As of right now, yes.
|
I've started mapping out what we might due to the API to help Please check out #44 and provide feedback |
The assert_cmd issue: assert-rs/assert_cmd#4 will make cargo to rebuild the binary and block the tests.
I decided to go with this because I feel like correctness trumps performance. For those not specifying `--target`, the performance will surprise them. For those specifying `--target`, the lack of correctness will surprise them but is less easily detected. Fixes assert-rs#4, assert-rs#44 BREAKING CHANGE: In this case, performance is a breaking change because this might cause CI's to time out.
This is an experiemnt in a new direction in trying to resolve - Cargo overhead (assert-rs#6) - Compile times from mismatched `--target` (assert-rs#57) - Suprising behavior if `--target <triplet>` isn't specified (assert-rs#4) The new downsides this introduces - No `main_binary` or `cargo_example` - Can only work within integration tests We're recommending the use of `escargot` in these cases which I think might be reasonable because instead of making policy decisions for the user, and no one ever being happy, the user can choose which policy they want. Plus, in more complex cases they should already be using `escargot` so they can cache. Fixes assert-rs#6 Fixes assert-rs#57
This is an experiemnt in a new direction in trying to resolve - Cargo overhead (assert-rs#6) - Compile times from mismatched `--target` (assert-rs#57) - Suprising behavior if `--target <triplet>` isn't specified (assert-rs#4) The new downsides this introduces - No `main_binary` or `cargo_example` - Can only work within integration tests We're recommending the use of `escargot` in these cases which I think might be reasonable because instead of making policy decisions for the user, and no one ever being happy, the user can choose which policy they want. Plus, in more complex cases they should already be using `escargot` so they can cache. Fixes assert-rs#6 Fixes assert-rs#57 BREAKING CHANGE: `main_binary` / `cargo_example` no longer exist. Also, successfully running `cargo_bin` has been restricted to integration tests.
I suspect when running
cargo test --target TRIPLET
thatmain_binary
will still use the defaultTRIPLE
.Downside: when the user is calling
cargo test
without a--target
, assert_cmd passing--target
will cause a one-time large compile time costSee assert-rs/assert_cli#109
The text was updated successfully, but these errors were encountered: