move mir-opt miri tests to CI logic - #160422
Conversation
|
rustbot has assigned @Mark-Simulacrum. Use Why was this reviewer chosen?The reviewer was selected based on:
|
|
In general, I like to make bootstrap steps more composable and remove similar special cases from them. On the other hand, adding bespoke test commands into the CI bash scripts runs into the risk of making it less obvious to people what failed on CI, and how to reproduce it locally. Especially since this is configured via an environment variable, and bootstrap will not print it after a failure, unlike the command-line args. That being said, we already have a bunch of similar commands on CI, so no big deal. Just a remark. |
|
Hm actually strangely this does not seem to run any mir-opt tests any more. In the logs I just see |
Yeah that is a fair point. I think ideally we'd also print these env vars if the command fails but I am not sure how to best do that. Is there a shell mode like That said I think in this case the bespoke special case in |
|
We already use
👍
Hmm, strange indeed. It works for me locally. |
But that prints the command before it runs it. Ideally we'd have a mode that prints the command after it got run, but only if it failed. That's a separate discussion though. |
|
It looks like it's not actually doing expansion of the Oh, this uses |
891d7c1 to
d60de5c
Compare
|
Now it finished in 52min?^^ |
|
Well anyway the main point is it actually ran the mir-opt tests this time, so |
075edf5 to
548894b
Compare
| MIRIFLAGS=-Zmiri-provenance-gc=1 python3 "$X_PY" test --stage 2 miri miri/cargo-miri | ||
| else | ||
| python3 "$X_PY" test --stage 2 src/tools/miri src/tools/miri/cargo-miri | ||
| python3 "$X_PY" test --stage 2 miri miri/cargo-miri |
There was a problem hiding this comment.
Did you inline #160502 into this one? Btw it should be just cargo-miri, rather than miri/cargo-miri.
There was a problem hiding this comment.
Yeah I kind of it, as I was editing the file anyway I wanted tog et rid of the cargo-miri runs for looking at CI times here.
Btw it should be just cargo-miri, rather than miri/cargo-miri.
👍
2d91ed5 to
c8e4034
Compare
|
This pull request was unapproved. |
This comment has been minimized.
This comment has been minimized.
also refactor check-miri a bit to make it easier to read
c8e4034 to
a91590b
Compare
|
This PR was rebased onto a different main commit. Here's a range-diff highlighting what actually changed. Rebasing is a normal part of keeping PRs up to date, so no action is needed—this note is just to help reviewers. |
|
@bors r=Kobzol |
move mir-opt miri tests to CI logic It is useful to run Miri tests with mir-opts as that sometimes finds miscompilations. However, doing so on every `./x test miri` is annoying as it makes that take a lot longer, and it is inconsistent with `./miri test` in the Miri repo. So remove this logic there, and instead have the check-miri script in CI invoke the test suite a 2nd time with mir-opts enabled. Cc @rust-lang/miri
move mir-opt miri tests to CI logic It is useful to run Miri tests with mir-opts as that sometimes finds miscompilations. However, doing so on every `./x test miri` is annoying as it makes that take a lot longer, and it is inconsistent with `./miri test` in the Miri repo. So remove this logic there, and instead have the check-miri script in CI invoke the test suite a 2nd time with mir-opts enabled. Cc @rust-lang/miri
…uwer Rollup of 22 pull requests Successful merges: - #158147 (std: fix stack buffer overflow in Windows junction_point) - #159784 (Hint that memchr returns an in-bounds index) - #160130 (Select cache values to verify by key fingerprint, not value fingerprint) - #160343 (Rename `OutlivesPredicate` to `OutlivesClause`) - #160360 (Remove rustc_middle dependency on rustc_hir_pretty) - #160387 (rustc_codegen_ssa: Correctly apply the static `--jobs-backend` limit to backend parallelism) - #160422 (move mir-opt miri tests to CI logic) - #160444 (Avoid resolving path keywords outside `TypeNS`) - #160510 (Resolver: (un)tracked borrows for `CmRefCell` made safe my unsafe speculative flag) - #155424 ([blocked] Link to proposed LLM policy in CONTRIBUTING and pull request template) - #158726 (std: move futex implementations into sys::sync::futex) - #159225 (Split IncrCompSession out of Session) - #159820 (Make the `rustc_unsafe_specialization_marker` attribute actually `unsafe`) - #160198 (Rework `smallest_range_containing` to handle duplicates) - #160362 (Split `SpannedTypeVisitor` into its own crate, `rustc_ty_walk`) - #160390 (autodiff: Handle slice-tailed DSTs in type trees) - #160420 (Suggest `cast_signed()` for overflowing signed integer literals) - #160520 (Add some tests for specialization) - #160522 (fix(bootstrap): Normalize the names of proc macro dependency crates) - #160531 (docs: fix typo in AllowExprMetavar comment) - #160538 (Update expect messages in tcp.rs doc examples to follow the style guide) - #160548 (bootstrap: Register `coverage-map` and `coverage-run` aliases via a separate step)
move mir-opt miri tests to CI logic It is useful to run Miri tests with mir-opts as that sometimes finds miscompilations. However, doing so on every `./x test miri` is annoying as it makes that take a lot longer, and it is inconsistent with `./miri test` in the Miri repo. So remove this logic there, and instead have the check-miri script in CI invoke the test suite a 2nd time with mir-opts enabled. Cc @rust-lang/miri
…uwer Rollup of 25 pull requests Successful merges: - #154585 (treat no_mangle_generic_items as hard error instead of lint warning) - #158147 (std: fix stack buffer overflow in Windows junction_point) - #160130 (Select cache values to verify by key fingerprint, not value fingerprint) - #160343 (Rename `OutlivesPredicate` to `OutlivesClause`) - #160360 (Remove rustc_middle dependency on rustc_hir_pretty) - #160387 (rustc_codegen_ssa: Correctly apply the static `--jobs-backend` limit to backend parallelism) - #160422 (move mir-opt miri tests to CI logic) - #160444 (Avoid resolving path keywords outside `TypeNS`) - #160510 (Resolver: (un)tracked borrows for `CmRefCell` made safe my unsafe speculative flag) - #155424 ([blocked] Link to proposed LLM policy in CONTRIBUTING and pull request template) - #158726 (std: move futex implementations into sys::sync::futex) - #158762 (Emit thumb code on VEX V5) - #159225 (Split IncrCompSession out of Session) - #159820 (Make the `rustc_unsafe_specialization_marker` attribute actually `unsafe`) - #160198 (Rework `smallest_range_containing` to handle duplicates) - #160362 (Split `SpannedTypeVisitor` into its own crate, `rustc_ty_walk`) - #160390 (autodiff: Handle slice-tailed DSTs in type trees) - #160420 (Suggest `cast_signed()` for overflowing signed integer literals) - #160516 (Add regression test for HRTB projection in closure) - #160520 (Add some tests for specialization) - #160522 (fix(bootstrap): Normalize the names of proc macro dependency crates) - #160523 (Add regression test for opaque type) - #160531 (docs: fix typo in AllowExprMetavar comment) - #160538 (Update expect messages in tcp.rs doc examples to follow the style guide) - #160548 (bootstrap: Register `coverage-map` and `coverage-run` aliases via a separate step)
move mir-opt miri tests to CI logic It is useful to run Miri tests with mir-opts as that sometimes finds miscompilations. However, doing so on every `./x test miri` is annoying as it makes that take a lot longer, and it is inconsistent with `./miri test` in the Miri repo. So remove this logic there, and instead have the check-miri script in CI invoke the test suite a 2nd time with mir-opts enabled. Cc @rust-lang/miri
…uwer Rollup of 25 pull requests Successful merges: - #158147 (std: fix stack buffer overflow in Windows junction_point) - #160130 (Select cache values to verify by key fingerprint, not value fingerprint) - #160343 (Rename `OutlivesPredicate` to `OutlivesClause`) - #160360 (Remove rustc_middle dependency on rustc_hir_pretty) - #160387 (rustc_codegen_ssa: Correctly apply the static `--jobs-backend` limit to backend parallelism) - #160422 (move mir-opt miri tests to CI logic) - #160444 (Avoid resolving path keywords outside `TypeNS`) - #160510 (Resolver: (un)tracked borrows for `CmRefCell` made safe by unsafe speculative flag) - #155424 ([blocked] Link to proposed LLM policy in CONTRIBUTING and pull request template) - #158726 (std: move futex implementations into sys::sync::futex) - #158762 (Emit thumb code on VEX V5) - #159225 (Split IncrCompSession out of Session) - #159820 (Make the `rustc_unsafe_specialization_marker` attribute actually `unsafe`) - #160198 (Rework `smallest_range_containing` to handle duplicates) - #160362 (Split `SpannedTypeVisitor` into its own crate, `rustc_ty_walk`) - #160390 (autodiff: Handle slice-tailed DSTs in type trees) - #160420 (Suggest `cast_signed()` for overflowing signed integer literals) - #160501 (Add bootstrap CLI snapshot test for testing miri) - #160516 (Add regression test for HRTB projection in closure) - #160520 (Add some tests for specialization) - #160522 (fix(bootstrap): Normalize the names of proc macro dependency crates) - #160523 (Add regression test for opaque type) - #160531 (docs: fix typo in AllowExprMetavar comment) - #160538 (Update expect messages in tcp.rs doc examples to follow the style guide) - #160548 (bootstrap: Register `coverage-map` and `coverage-run` aliases via a separate step)
It is useful to run Miri tests with mir-opts as that sometimes finds miscompilations.
However, doing so on every
./x test miriis annoying as it makes that take a lot longer, and it is inconsistent with./miri testin the Miri repo. So remove this logic there, and instead have the check-miri script in CI invoke the test suite a 2nd time with mir-opts enabled.Cc @rust-lang/miri