From 8ed2292dbe75b9b65e9fe1a079428d1e1e3b610f Mon Sep 17 00:00:00 2001 From: Guillaume Gomez Date: Sat, 13 Apr 2019 18:00:40 +0200 Subject: [PATCH 1/2] Set test flag when rustdoc is running with --test option --- src/librustdoc/config.rs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/librustdoc/config.rs b/src/librustdoc/config.rs index 769ea3ff7bc74..72421c9decc6f 100644 --- a/src/librustdoc/config.rs +++ b/src/librustdoc/config.rs @@ -351,6 +351,9 @@ impl Options { .unwrap_or_else(|| PathBuf::from("doc")); let mut cfgs = matches.opt_strs("cfg"); cfgs.push("rustdoc".to_string()); + if should_test { + cfgs.push("test".to_string()); + } let extension_css = matches.opt_str("e").map(|s| PathBuf::from(&s)); From 459d677bfffa0adeef75218d1cfa5f686e413f4d Mon Sep 17 00:00:00 2001 From: Guillaume Gomez Date: Wed, 24 Apr 2019 22:26:42 +0200 Subject: [PATCH 2/2] Add test for rustdoc cfg(test) feature --- src/test/rustdoc-ui/cfg-test.rs | 19 +++++++++++++++++++ src/test/rustdoc-ui/cfg-test.stdout | 6 ++++++ 2 files changed, 25 insertions(+) create mode 100644 src/test/rustdoc-ui/cfg-test.rs create mode 100644 src/test/rustdoc-ui/cfg-test.stdout diff --git a/src/test/rustdoc-ui/cfg-test.rs b/src/test/rustdoc-ui/cfg-test.rs new file mode 100644 index 0000000000000..e26034371f444 --- /dev/null +++ b/src/test/rustdoc-ui/cfg-test.rs @@ -0,0 +1,19 @@ +// compile-pass +// compile-flags:--test +// normalize-stdout-test: "src/test/rustdoc-ui" -> "$$DIR" + +/// this doctest will be ignored: +/// +/// ``` +/// assert!(false); +/// ``` +#[cfg(not(test))] +pub struct Foo; + +/// this doctest will be tested: +/// +/// ``` +/// assert!(true); +/// ``` +#[cfg(test)] +pub struct Foo; diff --git a/src/test/rustdoc-ui/cfg-test.stdout b/src/test/rustdoc-ui/cfg-test.stdout new file mode 100644 index 0000000000000..30bb0038d1b8d --- /dev/null +++ b/src/test/rustdoc-ui/cfg-test.stdout @@ -0,0 +1,6 @@ + +running 1 test +test $DIR/cfg-test.rs - Foo (line 15) ... ok + +test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out +