-
Notifications
You must be signed in to change notification settings - Fork 13.3k
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Miri UI tests aren't run on CI (or locally) #110102
Comments
This seems ... pretty unfortunate 😓 cc @rust-lang/release @rust-lang/miri, I know miri is nightly only but it makes me pretty uncomfortable to be shipping tools that aren't running tests, even if rust-lang/miri is still running the tests. |
If my shell history is anything to go by, this is recent breakage, and |
Yea, this is not breakage on the miri side afaict, but must be a change on the cargo or bootstrap side. I'm fine fixing this on our side tho. I can replicate the |
For making it follow normal |
Thanks! That would be great |
The panic test is now counted as an error test; we encounter a Terminate terminator, and emit an interpreter error, as opposed to just terminating due to a panic. So this test should have broken with rust-lang/rust#102906 but wasn't because the Miri test suite is currently broken in rust-lang/rust: rust-lang/rust#110102
Yeah I am pretty sure I tested this when we changed Miri to a subtree, and it worked back then. How does looking for Can we stop bootstrap from passing wrong flags to test runners? |
The panic test is now counted as an error test; we encounter a Terminate terminator, and emit an interpreter error, as opposed to just terminating due to a panic. So this test should have broken with rust-lang#102906 but wasn't because the Miri test suite is currently broken in rust-lang/rust: rust-lang#110102
I suggest that we change the test runner argument parsing to error out if there is any filter starting with // Arguments before the first '--' are filters, except if they start with `-` which are probably
// meant to be flags, and we don't support any flags.
for arg in args.as_ref().take_while(|arg| arg != "--") {
if arg.starts_with("-") {
eprintln!("Unknown command-line flag {arg}");
}
filters.push(arg);
}
// Append remaining arguments as filters
filters.extend(args); |
compiletest: complain about unknown flags This would have avoided rust-lang/rust#110102
compiletest: complain about unknown flags This would have avoided rust-lang/rust#110102
fix running Miri tests This partially reverts rust-lang/rust#108659 to fix rust-lang/rust#110102: the Miri test runner does not support any flags, they are interpreted as filters instead which leads to no tests being run. I have not checked any of the other test runners for whether they are having any trouble with these flags. Cc `@pietroalbini` `@Mark-Simulacrum` `@jyn514`
compiletest: complain about unknown flags This would have avoided rust-lang#110102
Issue
As the title says - Miri UI tests aren't run when invoked through x.py, or on CI:
https://github.com/rust-lang-ci/rust/actions/runs/4636594388/jobs/8204646214#step:26:13316
The actual issue appears to be that
compiletest.rs
in the miri directory expects no non-filter args to be passed to it when being run, but the args-Z unstable-options --format json
are getting passed.Discovery
I was trying to test miri locally, and I ran the command
x.py test src/tools/miri --stage 2
. I expected the miri UI tests to get run, but instead, they were all always getting filtered out, despite not passing a filter. After looking into it a bit, I discovered the filter vector was always["-Z", "unstable-options", "--format", "json"]
, and decided to check whether bors was running them.The text was updated successfully, but these errors were encountered: