@@ -59,6 +59,43 @@ Likewise, you can test a single file by passing its path:
59
59
./x.py test src/test/ui/const-generics/const-test.rs
60
60
```
61
61
62
+ ### Run the UI test suite
63
+
64
+ The UI test suite is special in that it tests the command-line output
65
+ of the compiler, e.g. the wording and formatting of warnings and errors.
66
+ Every UI test file such as ` foo.rs ` will have a corresponding file
67
+ ` foo.stderr ` describing its expected output.
68
+
69
+ Similar to any other test suite, the UI test suite can be run with:
70
+
71
+ ``` bash
72
+ ./x.py test src/test/ui
73
+ ```
74
+
75
+ If you have made a change to the way that the compiler formats its output,
76
+ it would be extraordinarily tedious to have to reformat every ` *.stderr `
77
+ file manually. Fortunately there exists a flag that will allow you to
78
+ "bless" the current output of the compiler as the expected output.
79
+ When using this flag with the test runner, any UI tests that would
80
+ ordinarily fail will instead have their ` *.stderr ` files overwritten
81
+ with whatever output the compiler produces:
82
+
83
+ ``` bash
84
+ ./x.py test src/test/ui --bless
85
+ ```
86
+
87
+ Some UI tests will have different output depending on which "mode" that
88
+ the compiler is in. Specifically, the compiler may have different output
89
+ depending on whether the feature "non-lexical lifetimes" (NLL) is enabled.
90
+ Any UI test such as ` foo.rs ` whose output differs with NLL enabled will
91
+ have both a ` foo.stderr ` file and a ` foo.nll.stderr ` file.
92
+ By default, the UI test suite will not be run in NLL mode.
93
+ To run the UI test suite in NLL mode, use the following:
94
+
95
+ ``` bash
96
+ ./x.py test src/test/ui --compare-mode=nll
97
+ ```
98
+
62
99
### Run only the tidy script
63
100
64
101
``` bash
0 commit comments