about summary refs log tree commit diff
path: root/src/test/codegen
diff options
context:
space:
mode:
authorMatthias Krüger <matthias.krueger@famsik.de>2022-08-20 19:45:16 +0200
committerGitHub <noreply@github.com>2022-08-20 19:45:16 +0200
commit44894a7c51627df9bcd707a96b3a91f395c3da8e (patch)
treea7eefbae2ae815018cf7930a1895f5112be7cff8 /src/test/codegen
parent7f0289623c73c1d81671b0fb19598ac36c9dc5a8 (diff)
parentf47b61d19e1c17bac9fff34e9b304bad4f132ffe (diff)
downloadrust-44894a7c51627df9bcd707a96b3a91f395c3da8e.tar.gz
rust-44894a7c51627df9bcd707a96b3a91f395c3da8e.zip
Rollup merge of #100777 - pnkfelix:expand-codegen-tests-readme, r=TaKO8Ki
elaborate how revisions work with FileCheck stuff in src/test/codegen

elaborate how revisions work with FileCheck stuff in src/test/codegen
Diffstat (limited to 'src/test/codegen')
-rw-r--r--src/test/codegen/README.md22
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
+```