rust/src/libstd
Alex Crichton bb9062a296 rustbuild: Add support for crate tests + doctests
This commit adds support to rustbuild to run crate unit tests (those defined by
`#[test]`) as well as documentation tests. All tests are powered by `cargo test`
under the hood.

Each step requires the `libtest` library is built for that corresponding stage.
Ideally the `test` crate would be a dev-dependency, but for now it's just easier
to ensure that we sequence everything in the right order.

Currently no filtering is implemented, so there's not actually a method of
testing *only* libstd or *only* libcore, but rather entire swaths of crates are
tested all at once.

A few points of note here are:

* The `coretest` and `collectionstest` crates are just listed as `[[test]]`
  entires for `cargo test` to naturally pick up. This mean that `cargo test -p
  core` actually runs all the tests for libcore.
* Libraries that aren't tested all mention `test = false` in their `Cargo.toml`
* Crates aren't currently allowed to have dev-dependencies due to
  rust-lang/cargo#860, but we can likely alleviate this restriction once
  workspaces are implemented.

cc #31590
2016-05-12 08:52:20 -07:00
..
collections Auto merge of #33091 - sanxiyn:unused-trait-import-3, r=nrc 2016-05-08 04:50:27 -07:00
ffi Add Default implementation for &CStr and CString 2016-05-05 10:57:06 +02:00
io Utilize Result::unwrap_err in more places. 2016-05-09 08:40:57 -04:00
net Rollup merge of #33439 - birkenfeld:ip-rfc-refs, r=steveklabnik 2016-05-07 15:35:19 -04:00
num Implement RFC 1542 2016-05-07 08:52:41 -07:00
os Fix libstd on DragonFly 2016-04-07 11:39:27 +02:00
prelude End stdlib module summaries with a full stop. 2016-03-04 17:37:11 -05:00
rand std: restructure rand os code into sys modules 2016-02-17 16:21:32 -08:00
sync Utilize Result::unwrap_err in more places. 2016-05-09 08:40:57 -04:00
sys Auto merge of #32900 - alexcrichton:panic2abort, r=nikomatsakis 2016-05-09 18:23:48 -07:00
thread rustc: Implement custom panic runtimes 2016-05-09 08:22:36 -07:00
time Panic on overflow in Duration::new constructor 2016-04-18 12:41:30 +02:00
ascii.rs std: Stabilize APIs for the 1.9 release 2016-04-11 08:57:53 -07:00
build.rs rustbuild: Tighten dependencies of build scripts 2016-05-10 23:41:19 -07:00
Cargo.toml rustbuild: Add support for crate tests + doctests 2016-05-12 08:52:20 -07:00
env.rs Rollup merge of #32691 - frewsxcv:patch-28, r=alexcrichton 2016-04-06 12:12:08 -07:00
error.rs Implement RFC 1542 2016-05-07 08:52:41 -07:00
fs.rs Utilize Result::unwrap_err in more places. 2016-05-09 08:40:57 -04:00
lib.rs rustc: Implement custom panic runtimes 2016-05-09 08:22:36 -07:00
macros.rs rustc: Implement custom panic runtimes 2016-05-09 08:22:36 -07:00
memchr.rs Minor spelling fixes 2016-02-09 11:52:39 -05:00
panic.rs rustc: Implement custom panic runtimes 2016-05-09 08:22:36 -07:00
panicking.rs rustc: Use C++ personalities on MSVC 2016-05-09 17:28:48 -07:00
path.rs Fix Windows UNC paths in std::path docs 2016-04-10 14:51:23 -07:00
primitive_docs.rs Add Copy to the traits that are automatically implemented for tuples 2016-04-06 20:10:33 +02:00
process.rs Rollup merge of #33224 - alexcrichton:create-exit-status, r=aturon 2016-05-09 14:59:20 -07:00
rt.rs rustc: Implement custom panic runtimes 2016-05-09 08:22:36 -07:00
rtdeps.rs bootstrap: Add directives to not double-link libs 2016-02-11 11:12:32 -08:00