rust/src/test/run-fail
bors 493d999ffa Auto merge of #32007 - nikomatsakis:compiletest-incremental, r=alexcrichton
This PR extends compiletest to support **test revisions** and with a preliminary **incremental testing harness**. run-pass, compile-fail, and run-fail tests may be tagged with

```
// revisions: a b c d
```

This will cause the test to be re-run four times with `--cfg {a,b,c,d}` in turn. This means you can write very closely related things using `cfg`. You can also configure the headers/expected-errors by writing `//[foo] header: value` or `//[foo]~ ERROR bar`, where `foo` is the name of your revision. See the changes to `coherence-cow.rs` as a proof of concept.

The main point of this work is to support the incremental testing harness. This PR contains an initial, unused version. The code that uses it will land later. The incremental testing harness compiles each revision in turn, and requires that the revisions have particular names (e.g., `rpass2`, `cfail3`), which tell it whether a particular revision is expected to compile or not.

Two questions:

- Is there compiletest documentation anywhere I can update?
- Should I hold off on landing the incremental testing harness until I have the code to exercise it? (That will come in a separate PR, still fixing a few details)

r? @alexcrichton
cc @rust-lang/compiler <-- new testing capabilities
2016-03-03 17:41:13 +00:00
..
args-panic.rs
assert-as-macro.rs
assert-eq-macro-panic.rs
assert-macro-explicit.rs
assert-macro-fmt.rs
assert-macro-owned.rs
assert-macro-static.rs
binop-fail-3.rs
binop-panic.rs
bounds-check-no-overflow.rs
bug-811.rs
bug-2470-bounds-check-overflow.rs
die-macro-expr.rs
die-macro-pure.rs
die-macro.rs
diverging-closure.rs
divide-by-zero.rs
doublepanic.rs
dst-raw-slice.rs
explicit-panic-msg.rs
explicit-panic.rs
expr-fn-panic.rs
expr-if-panic-fn.rs
expr-if-panic.rs
expr-match-panic-fn.rs
expr-match-panic.rs
fmt-panic.rs
for-each-loop-panic.rs
glob-use-std.rs
hashmap-capacity-overflow.rs
if-check-panic.rs
if-cond-bot.rs
issue-948.rs
issue-2444.rs
issue-2761.rs
issue-3029.rs
issue-6458-1.rs
issue-12920.rs
issue-13202.rs
issue-18576.rs
issue-20971.rs
issue-23354-2.rs
issue-23354.rs
issue-28934.rs
main-panic.rs
match-bot-panic.rs
match-disc-bot.rs
match-wildcards.rs
meta-revision-bad.rs add a run-fail meta test 2016-03-02 14:26:28 -05:00
meta-revision-ok.rs add a run-fail meta test 2016-03-02 14:26:28 -05:00
mir_drop_panics.rs MSVC SEH in MIR is implemented here 2016-02-17 21:46:05 +02:00
mir_dynamic_drops_1.rs Fix tests 2016-02-24 22:04:27 +02:00
mir_dynamic_drops_2.rs Fix tests 2016-02-24 22:04:27 +02:00
mir_dynamic_drops_3.rs Fix tests 2016-02-24 22:04:27 +02:00
mir_indexing_oob_1.rs Add tests 2016-01-06 13:57:52 +02:00
mir_indexing_oob_2.rs Add tests 2016-01-06 13:57:52 +02:00
mir_indexing_oob_3.rs Add tests 2016-01-06 13:57:52 +02:00
mir_trans_calls_converging_drops_2.rs MSVC SEH in MIR is implemented here 2016-02-17 21:46:05 +02:00
mir_trans_calls_converging_drops.rs MSVC SEH in MIR is implemented here 2016-02-17 21:46:05 +02:00
mir_trans_calls_diverging_drops.rs MSVC SEH in MIR is implemented here 2016-02-17 21:46:05 +02:00
mir_trans_calls_diverging.rs Add tests 2016-01-06 13:57:52 +02:00
mir_trans_no_landing_pads_diverging.rs Add tests 2016-01-06 13:57:52 +02:00
mir_trans_no_landing_pads.rs Add tests 2016-01-06 13:57:52 +02:00
mod-zero.rs
overflowing-add.rs
overflowing-lsh-1.rs
overflowing-lsh-2.rs
overflowing-lsh-3.rs
overflowing-lsh-4.rs
overflowing-mul.rs
overflowing-neg.rs
overflowing-pow.rs
overflowing-rsh-1.rs
overflowing-rsh-2.rs
overflowing-rsh-3.rs
overflowing-rsh-4.rs
overflowing-rsh-5.rs
overflowing-rsh-6.rs
overflowing-sub.rs
panic-arg.rs
panic-macro-any-wrapped.rs
panic-macro-any.rs
panic-macro-explicit.rs
panic-macro-fmt.rs
panic-macro-owned.rs
panic-macro-static.rs
panic-main.rs
panic-parens.rs
panic-set-handler.rs
panic-set-unset-handler.rs
panic-take-handler-nop.rs
panic-task-name-none.rs
panic-task-name-owned.rs
panic.rs
result-get-panic.rs
rhs-type.rs
run-unexported-tests.rs
str-overrun.rs
task-spawn-barefn.rs
test-panic.rs
test-should-fail-bad-message.rs
test-tasks-invalid-value.rs
tls-exit-status.rs
unimplemented-macro-panic.rs
unique-panic.rs
unreachable-fmt-msg.rs
unreachable-macro-panic.rs
unreachable-static-msg.rs
unreachable.rs
unwind-interleaved.rs
unwind-rec2.rs
unwind-rec.rs
unwind-unique.rs
vec-overrun.rs
while-body-panics.rs
while-panic.rs