diff options
| author | Felix S. Klock II <pnkfelix@pnkfx.org> | 2022-08-19 16:40:26 -0400 |
|---|---|---|
| committer | Felix S. Klock II <pnkfelix@pnkfx.org> | 2022-08-19 16:40:26 -0400 |
| commit | f47b61d19e1c17bac9fff34e9b304bad4f132ffe (patch) | |
| tree | e1ea48cea3113cc08c88c3b232fea33ba926cd1c /src | |
| parent | 468887ef91e46847dff57b6b234cff0fad17cb71 (diff) | |
| download | rust-f47b61d19e1c17bac9fff34e9b304bad4f132ffe.tar.gz rust-f47b61d19e1c17bac9fff34e9b304bad4f132ffe.zip | |
elaborate how revisions work with FileCheck stuff in src/test/codegen
Diffstat (limited to 'src')
| -rw-r--r-- | src/test/codegen/README.md | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/test/codegen/README.md b/src/test/codegen/README.md index 00de55eeab1..8f2daaafcc7 100644 --- a/src/test/codegen/README.md +++ b/src/test/codegen/README.md @@ -1,2 +1,24 @@ The files here use the LLVM FileCheck framework, documented at <https://llvm.org/docs/CommandGuide/FileCheck.html>. + +One extension worth noting is the use of revisions as custom prefixes for +FileCheck. If your codegen test has different behavior based on the chosen +target or different compiler flags that you want to exercise, you can use a +revisions annotation, like so: + +```rust +// revisions: aaa bbb +// [bbb] compile-flags: --flags-for-bbb +``` + +After specifying those variations, you can write different expected, or +explicitly *unexpected* output by using `<prefix>-SAME:` and `<prefix>-NOT:`, +like so: + +```rust +// CHECK: expected code +// aaa-SAME: emitted-only-for-aaa +// aaa-NOT: emitted-only-for-bbb +// bbb-NOT: emitted-only-for-aaa +// bbb-SAME: emitted-only-for-bbb +``` |
