summary refs log tree commit diff
path: root/tests/ui/README.md
blob: c14d0ee78c8dfd5a6326efd91ff3a5acef27dec0 (plain)
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
# UI Tests

This folder contains `rustc`'s
[UI tests](https://rustc-dev-guide.rust-lang.org/tests/ui.html).

## Test Directives (Headers)

Typically, a UI test will have some test directives / headers which are
special comments that tell compiletest how to build and intepret a test.

As part of an on-going effort to rewrite compiletest
(see <https://github.com/rust-lang/compiler-team/issues/536>), a major
change proposal to change legacy compiletest-style headers `// <directive>`
to [`ui_test`](https://github.com/oli-obk/ui_test)-style headers
`//@ <directive>` was accepted (see
<https://github.com/rust-lang/compiler-team/issues/512>.

An example directive is `ignore-test`. In legacy compiletest style, the header
would be written as

```rs
// ignore-test
```

but in `ui_test` style, the header would be written as

```rs
//@ ignore-test
```

compiletest is changed to accept only `//@` directives for UI tests
(currently), and will reject and report an error if it encounters any
comments `// <content>` that may be parsed as an legacy compiletest-style
test header. To fix this, you should migrate to the `ui_test`-style header
`//@ <content>`.