-
Notifications
You must be signed in to change notification settings - Fork 12.8k
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
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: