-
Notifications
You must be signed in to change notification settings - Fork 13.7k
Commit b7da574
authored
Unrolled build for #146119
Rollup merge of #146119 - Zalathar:capture, r=jieyouxu
compiletest: Implement an experimental `--new-output-capture` mode
Thanks to the efforts on #140192, compiletest no longer has an unstable dependency on libtest, but it still has an unstable dependency on `#![feature(internal_output_capture)]`. That makes building compiletest more complicated than for most other bootstrap tools.
This PR therefore adds opt-in support for an experimental compiletest mode that avoids the use of `internal_output_capture` APIs, and instead uses more mundane means to capture the output of individual test runners.
Each `TestCx` now contains `&dyn ConsoleOut` references for stdout and stderr. All print statements in `compiletests::runtest` have been replaced with `write!` or `writeln!` calls that explicitly write to one of those trait objects. The underlying implementation then forwards to `print!` or `eprint!` (for `--no-capture` or old-output-capture mode), or writes to a separate buffer (in new-output-capture mode).
---
Currently, new-output-capture is disabled by default. It can be explicitly enabled in one of two ways:
- When running `x test`, pass `--new-output-capture=on` as a *compiletest* argument (after `--`).
- E.g. `x test ui -- --new-output-capture=on`.
- The short form is `-Non` or `-Ny`.
- Set environment variable `COMPILETEST_NEW_OUTPUT_CAPTURE=on`.
After some amount of opt-in testing, new-output-capture will become the default (with a temporary opt-out). Eventually, old-output-capture and `#![feature(internal_output_capture)]` will be completely removed from compiletest.
r? jieyouxuFile tree
13 files changed
+275
-75
lines changed- src/tools/compiletest/src
- runtest
13 files changed
+275
-75
lines changedLines changed: 5 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
667 | 667 |
| |
668 | 668 |
| |
669 | 669 |
| |
670 | + | ||
671 | + | ||
672 | + | ||
673 | + | ||
670 | 674 |
| |
671 | 675 |
| |
672 | 676 |
| |
| |||
784 | 788 |
| |
785 | 789 |
| |
786 | 790 |
| |
791 | + | ||
787 | 792 |
| |
788 | 793 |
| |
789 | 794 |
| |
|
Lines changed: 75 additions & 13 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
13 | 13 |
| |
14 | 14 |
| |
15 | 15 |
| |
16 | + | ||
16 | 17 |
| |
17 | 18 |
| |
18 | 19 |
| |
| |||
120 | 121 |
| |
121 | 122 |
| |
122 | 123 |
| |
123 | - | ||
124 | + | ||
124 | 125 |
| |
125 | 126 |
| |
126 | - | ||
127 | + | ||
127 | 128 |
| |
128 | 129 |
| |
129 | - | ||
130 | 130 |
| |
131 | - | ||
132 | - | ||
131 | + | ||
132 | + | ||
133 | 133 |
| |
134 | 134 |
| |
135 | - | ||
135 | + | ||
136 | + | ||
137 | + | ||
138 | + | ||
136 | 139 |
| |
137 | 140 |
| |
138 | 141 |
| |
139 | - | ||
140 | - | ||
141 | - | ||
142 | - | ||
142 | + | ||
143 | + | ||
143 | 144 |
| |
144 | - | ||
145 | + | ||
145 | 146 |
| |
146 | 147 |
| |
147 | 148 |
| |
| |||
152 | 153 |
| |
153 | 154 |
| |
154 | 155 |
| |
155 | - | ||
156 | 156 |
| |
157 | + | ||
157 | 158 |
| |
158 | 159 |
| |
159 | 160 |
| |
161 | + | ||
162 | + | ||
163 | + | ||
164 | + | ||
165 | + | ||
166 | + | ||
167 | + | ||
168 | + | ||
169 | + | ||
170 | + | ||
171 | + | ||
172 | + | ||
173 | + | ||
174 | + | ||
175 | + | ||
176 | + | ||
177 | + | ||
178 | + | ||
179 | + | ||
180 | + | ||
181 | + | ||
182 | + | ||
183 | + | ||
184 | + | ||
185 | + | ||
186 | + | ||
187 | + | ||
188 | + | ||
189 | + | ||
190 | + | ||
191 | + | ||
192 | + | ||
193 | + | ||
194 | + | ||
195 | + | ||
196 | + | ||
197 | + | ||
198 | + | ||
199 | + | ||
200 | + | ||
201 | + | ||
202 | + | ||
203 | + | ||
204 | + | ||
205 | + | ||
206 | + | ||
207 | + | ||
208 | + | ||
209 | + | ||
210 | + | ||
211 | + | ||
212 | + | ||
213 | + | ||
214 | + | ||
215 | + | ||
216 | + | ||
217 | + | ||
218 | + | ||
219 | + | ||
160 | 220 |
| |
161 | 221 |
| |
162 | 222 |
| |
| |||
174 | 234 |
| |
175 | 235 |
| |
176 | 236 |
| |
177 | - | ||
237 | + | ||
178 | 238 |
| |
179 | 239 |
| |
180 | 240 |
| |
241 | + | ||
242 | + | ||
181 | 243 |
| |
182 | 244 |
| |
183 | 245 |
| |
|
Lines changed: 28 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
15 | 15 |
| |
16 | 16 |
| |
17 | 17 |
| |
18 | + | ||
18 | 19 |
| |
19 | 20 |
| |
20 | 21 |
| |
| |||
177 | 178 |
| |
178 | 179 |
| |
179 | 180 |
| |
181 | + | ||
182 | + | ||
183 | + | ||
184 | + | ||
185 | + | ||
186 | + | ||
180 | 187 |
| |
181 | 188 |
| |
182 | 189 |
| |
| |||
461 | 468 |
| |
462 | 469 |
| |
463 | 470 |
| |
471 | + | ||
472 | + | ||
473 | + | ||
474 | + | ||
475 | + | ||
476 | + | ||
477 | + | ||
478 | + | ||
464 | 479 |
| |
465 | 480 |
| |
466 | 481 |
| |
| |||
476 | 491 |
| |
477 | 492 |
| |
478 | 493 |
| |
494 | + | ||
495 | + | ||
496 | + | ||
497 | + | ||
498 | + | ||
499 | + | ||
500 | + | ||
501 | + | ||
502 | + | ||
503 | + | ||
504 | + | ||
505 | + | ||
506 | + | ||
479 | 507 |
| |
480 | 508 |
| |
481 | 509 |
| |
|
Lines changed: 52 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
1 | + | ||
2 | + | ||
3 | + | ||
4 | + | ||
5 | + | ||
6 | + | ||
7 | + | ||
8 | + | ||
9 | + | ||
10 | + | ||
11 | + | ||
12 | + | ||
13 | + | ||
14 | + | ||
15 | + | ||
16 | + | ||
17 | + | ||
18 | + | ||
19 | + | ||
20 | + | ||
21 | + | ||
22 | + | ||
23 | + | ||
24 | + | ||
25 | + | ||
26 | + | ||
27 | + | ||
28 | + | ||
29 | + | ||
30 | + | ||
31 | + | ||
32 | + | ||
33 | + | ||
34 | + | ||
35 | + | ||
36 | + | ||
37 | + | ||
38 | + | ||
39 | + | ||
40 | + | ||
41 | + | ||
42 | + | ||
43 | + | ||
44 | + | ||
45 | + | ||
46 | + | ||
47 | + | ||
48 | + | ||
49 | + | ||
50 | + | ||
51 | + | ||
52 | + |
0 commit comments