Run ui tests on the parallel frontend#153801
Conversation
This comment has been minimized.
This comment has been minimized.
|
This may be a bit silly, but to avoid many unnecessary changes in stderr files you could put the |
|
What exactly failures are ignored by Right now |
failures would produce different errors so that |
tests/ui/async-await/mutually-recursive-async-impl-trait-type.rs
Outdated
Show resolved
Hide resolved
actual: The difference is from alloc ids. Should we mask all of them? |
|
It may be possible to normalize them instead of ignoring. |
| @@ -1,5 +1,5 @@ | |||
| //@ dont-require-annotations: NOTE | |||
|
|
|||
| //@ ignore-parallel-frontend different alloc ids | |||
There was a problem hiding this comment.
I will add normalization rules if it's confirmed.
| //@ stderr-per-bitwidth | ||
| //@ dont-require-annotations: NOTE | ||
|
|
||
| //@ ignore-parallel-frontend different alloc ids |
There was a problem hiding this comment.
Although some consts tests didn't get failed in my environment, I marked them as ignored due to alloc ids in stderr.
| //@ compile-flags: --force-warn unused_mut | ||
| //@ check-pass | ||
|
|
||
| //@ ignore-parallel-frontend the message `requested on the ...` appears in different lines |
There was a problem hiding this comment.
The message is reported on two different source lines. Maybe we can solve it by comparison approaches?
| //@ compile-flags: -Z query-dep-graph | ||
|
|
||
| //@ ignore-parallel-frontend dep graph | ||
| #![feature(rustc_attrs)] |
There was a problem hiding this comment.
The dep graph tests failed on some rustc_then_this_would_need attributes.
Do you know the detail? @zetanumbers @Zoxc
There was a problem hiding this comment.
I was able to reproduce a failure on main. It seems to be non-deterministic. Perhaps #152621 helps. I haven't looked into the issues with -Z query-dep-graph.
|
|
||
| Also, when running with `--parallel-frontend-threads`, the `compare-output-by-lines` directive would be implied for all tests, since the output from the parallel frontend can be non-deterministic in terms of the order of lines. | ||
|
|
||
| The parallel frontend is avaliable in UI tests only at the moment, and is not currently supported in other test suites. |
There was a problem hiding this comment.
| The parallel frontend is avaliable in UI tests only at the moment, and is not currently supported in other test suites. | |
| The parallel frontend is available in UI tests only at the moment, and is not currently supported in other test suites. |
|
|
||
| The parallel frontend is avaliable in UI tests only at the moment, and is not currently supported in other test suites. | ||
|
|
||
| If you run with `--parallel-frontend-threads` and `--bless`, then `--parallel-frontend-threads` will be valied. |
There was a problem hiding this comment.
What does this sentence mean? :) I didn't understand it due to the last word probably being typoed.
| bypass_ignore_backends: Default::default(), | ||
| jobs: Default::default(), | ||
| parallel_frontend_threads: Default::default(), | ||
| iteration_count: Default::default(), |
This PR adds two arguments for tests:
--parallel-frontend-threads: specify-Zthreadto compile test case (currently UI tests only)--iteration-count: the number of times to run each testAlso, due to the non-deterministic diagnostic orders and cycle errors, this PR adds the directive
//@ ignore-parallel-frontendto ignore tests with cycle error when the parallel-frontend is enabled (by--parallel-frontend-threads) and enables//@ compare-output-by-linesby default.Context: #t-compiler/parallel-rustc > Add the parallel front-end test suite @ 💬
This PR should work with #153797 together.