Remove nll compare mode. (#1366)

This commit is contained in:
Eric Huss 2022-06-08 10:21:15 -07:00 committed by GitHub
parent bc81f9918c
commit e83cd73692
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 18 additions and 20 deletions

View File

@ -501,23 +501,22 @@ To run the tests in a different mode, you need to pass the `--compare-mode`
CLI flag: CLI flag:
```bash ```bash
./x.py test src/test/ui --compare-mode=nll ./x.py test src/test/ui --compare-mode=chalk
``` ```
The possible compare modes are: The possible compare modes are:
* `nll` — Runs in the "true" NLL mode with `-Zborrowck=mir`. * `polonius` — Runs with Polonius with `-Zpolonius -Zborrowck=mir`.
See [UI compare modes](ui.md#compare-modes) for more.
* `polonius` — Runs with Polonius with `-Zpolonius -Zborrowck=mir`, and reuses
the `nll` stderr files.
* `chalk` — Runs with Chalk with `-Zchalk`. * `chalk` — Runs with Chalk with `-Zchalk`.
* `split-dwarf` — Runs with unpacked split-DWARF with `-Csplit-debuginfo=unpacked`. * `split-dwarf` — Runs with unpacked split-DWARF with `-Csplit-debuginfo=unpacked`.
* `split-dwarf-single` — Runs with packed split-DWARF with `-Csplit-debuginfo=packed`. * `split-dwarf-single` — Runs with packed split-DWARF with `-Csplit-debuginfo=packed`.
See [UI compare modes](ui.md#compare-modes) for more information about how UI
tests support different output for different modes.
In CI, compare modes are only used in one Linux builder, and only with the In CI, compare modes are only used in one Linux builder, and only with the
following settings: following settings:
* `src/test/ui`: Uses `nll` mode.
* `src/test/debuginfo`: Uses `split-dwarf` mode. * `src/test/debuginfo`: Uses `split-dwarf` mode.
This helps ensure that none of the debuginfo tests are affected when This helps ensure that none of the debuginfo tests are affected when
enabling split-DWARF. enabling split-DWARF.

View File

@ -125,7 +125,7 @@ Some examples of `X` in `ignore-X` or `only-X`:
* When [remote testing] is used: `remote` * When [remote testing] is used: `remote`
* When debug-assertions are enabled: `debug` * When debug-assertions are enabled: `debug`
* When particular debuggers are being tested: `cdb`, `gdb`, `lldb` * When particular debuggers are being tested: `cdb`, `gdb`, `lldb`
* Specific [compare modes]: `compare-mode-nll`, `compare-mode-polonius`, * Specific [compare modes]: `compare-mode-polonius`,
`compare-mode-chalk`, `compare-mode-split-dwarf`, `compare-mode-chalk`, `compare-mode-split-dwarf`,
`compare-mode-split-dwarf-single` `compare-mode-split-dwarf-single`

View File

@ -196,13 +196,13 @@ of the `build` directory from time to time.
## Running tests with different "compare modes" ## Running tests with different "compare modes"
UI tests may have different output depending on certain "modes" that UI tests may have different output depending on certain "modes" that
the compiler is in. For example, when in "non-lexical lifetimes" (NLL) the compiler is in. For example, when using the Polonius
mode a test `foo.rs` will first look for expected output in mode, a test `foo.rs` will first look for expected output in
`foo.nll.stderr`, falling back to the usual `foo.stderr` if not found. `foo.polonius.stderr`, falling back to the usual `foo.stderr` if not found.
To run the UI test suite in NLL mode, one would use the following: The following will run the UI test suite in Polonius mode:
```bash ```bash
./x.py test src/test/ui --compare-mode=nll ./x.py test src/test/ui --compare-mode=polonius
``` ```
See [Compare modes](compiletest.md#compare-modes) for more details. See [Compare modes](compiletest.md#compare-modes) for more details.

View File

@ -74,7 +74,7 @@ The general form is:
* `32bit.stderr` — compiler stderr with `stderr-per-bitwidth` header on a 32-bit target * `32bit.stderr` — compiler stderr with `stderr-per-bitwidth` header on a 32-bit target
A simple example would be `foo.stderr` next to a `foo.rs` test. A simple example would be `foo.stderr` next to a `foo.rs` test.
A more complex example would be `foo.my-revision.nll.stderr`. A more complex example would be `foo.my-revision.polonius.stderr`.
There are several [headers](headers.md) which will change how compiletest will There are several [headers](headers.md) which will change how compiletest will
check for output files: check for output files:
@ -496,12 +496,11 @@ In some cases, this might result in different output from the compiler.
To support this, different output files can be saved which contain the To support this, different output files can be saved which contain the
output based on the compare mode. output based on the compare mode.
For example, when in "non-lexical lifetimes" (NLL) mode a test `foo.rs` will For example, when using the Polonius mode, a test `foo.rs` will
first look for expected output in `foo.nll.stderr`, falling back to the usual first look for expected output in `foo.polonius.stderr`, falling back to the usual
`foo.stderr` if not found. `foo.stderr` if not found.
This is useful as "true" NLL mode can sometimes result in different This is useful as different modes can sometimes result in different
diagnostics and behavior compared to the "migrate mode" NLL (which is the diagnostics and behavior.
current default).
This can help track which tests have differences between the modes, and to This can help track which tests have differences between the modes, and to
visually inspect those diagnostic differences. visually inspect those diagnostic differences.
@ -509,7 +508,7 @@ If in the rare case you encounter a test that has different behavior, you can
run something like the following to generate the alternate stderr file: run something like the following to generate the alternate stderr file:
```sh ```sh
./x.py test src/test/ui --compare-mode=nll --bless ./x.py test src/test/ui --compare-mode=polonius --bless
``` ```
Currently, only `nll` mode is checked in CI for UI tests. Currently none of the compare modes are checked in CI for UI tests.