Add --scrape-tests flags so rustdoc can scrape examples from tests · rust-lang/rust@fbbcb08 (original) (raw)
`@@ -34,6 +34,7 @@ use std::path::PathBuf;
`
34
34
`crate struct ScrapeExamplesOptions {
`
35
35
`output_path: PathBuf,
`
36
36
`target_crates: Vec,
`
``
37
`+
crate scrape_tests: bool,
`
37
38
`}
`
38
39
``
39
40
`impl ScrapeExamplesOptions {
`
`@@ -43,16 +44,22 @@ impl ScrapeExamplesOptions {
`
43
44
`) -> Result<Option, i32> {
`
44
45
`let output_path = matches.opt_str("scrape-examples-output-path");
`
45
46
`let target_crates = matches.opt_strs("scrape-examples-target-crate");
`
46
``
`-
match (output_path, !target_crates.is_empty()) {
`
47
``
`-
(Some(output_path), true) => Ok(Some(ScrapeExamplesOptions {
`
``
47
`+
let scrape_tests = matches.opt_present("scrape-tests");
`
``
48
`+
match (output_path, !target_crates.is_empty(), scrape_tests) {
`
``
49
`+
(Some(output_path), true, _) => Ok(Some(ScrapeExamplesOptions {
`
48
50
`output_path: PathBuf::from(output_path),
`
49
51
` target_crates,
`
``
52
`+
scrape_tests,
`
50
53
`})),
`
51
``
`-
(Some(_), false) | (None, true) => {
`
``
54
`+
(Some(_), false, _) | (None, true, _) => {
`
52
55
` diag.err("must use --scrape-examples-output-path and --scrape-examples-target-crate together");
`
53
56
`Err(1)
`
54
57
`}
`
55
``
`-
(None, false) => Ok(None),
`
``
58
`+
(None, false, true) => {
`
``
59
`+
diag.err("must use --scrape-examples-output-path and --scrape-examples-target-crate with --scrape-tests");
`
``
60
`+
Err(1)
`
``
61
`+
}
`
``
62
`+
(None, false, false) => Ok(None),
`
56
63
`}
`
57
64
`}
`
58
65
`}
`