]> git.lizzy.rs Git - rust.git/commitdiff
auto merge of #11120 : alexcrichton/rust/rustdoc-test, r=brson
authorbors <bors@rust-lang.org>
Mon, 23 Dec 2013 17:16:37 +0000 (09:16 -0800)
committerbors <bors@rust-lang.org>
Mon, 23 Dec 2013 17:16:37 +0000 (09:16 -0800)
This commit adds a `--test` flag to rustdoc to expose the ability to test code examples in doc strings. This work by using sundown's `lang` attribute to figure out how a code block should be tested. The format for this is:

```
1. ```rust
2. ```rust,ignore
3. ```rust,notest
4. ```rust,should_fail
```

Where `rust` means that rustdoc will attempt to test is, `ignore` means that it will not execute the test but it will compile it, `notest` means that rustdoc completely ignores it, and `should_fail` means that the test should fail. This commit also leverages `extra::test` for the testing harness in order to allow parallelization and whatnot.

I have fixed all existing code examples in libstd and libextra, but I have not made a pass through the crates in order to change code blocks to testable code blocks.

It may also be a questionable decision to require opting-in to a testable code block.

Finally, I kept our sugar in the doc suite to omit lines starting with `#` in documentation but still process them during tests.

Closes #2925


Trivial merge