Skip to content

Commit

Permalink
Rollup merge of rust-lang#49188 - memoryleak47:macro_use_doctest, r=Q…
Browse files Browse the repository at this point in the history
…uietMisdreavus

Put `#[macro_use] extern crate <crate>` before fn main() in doctests

Closes rust-lang#49174.
  • Loading branch information
kennytm committed Mar 22, 2018
2 parents c945725 + 25c8210 commit 95967c7
Showing 1 changed file with 19 additions and 0 deletions.
19 changes: 19 additions & 0 deletions src/librustdoc/test.rs
Original file line number Diff line number Diff line change
Expand Up @@ -416,6 +416,7 @@ fn partition_source(s: &str) -> (String, String) {
let trimline = line.trim();
let header = trimline.is_whitespace() ||
trimline.starts_with("#![") ||
trimline.starts_with("#[macro_use] extern crate") ||
trimline.starts_with("extern crate");
if !header || after_header {
after_header = true;
Expand Down Expand Up @@ -827,6 +828,24 @@ assert_eq!(2+2, 4);
assert_eq!(output, (expected, 2));
}

#[test]
fn make_test_manual_extern_crate_with_macro_use() {
let opts = TestOptions::default();
let input =
"#[macro_use] extern crate asdf;
use asdf::qwop;
assert_eq!(2+2, 4);";
let expected =
"#![allow(unused)]
#[macro_use] extern crate asdf;
fn main() {
use asdf::qwop;
assert_eq!(2+2, 4);
}".to_string();
let output = make_test(input, Some("asdf"), false, &opts);
assert_eq!(output, (expected, 2));
}

#[test]
fn make_test_opts_attrs() {
//if you supplied some doctest attributes with #![doc(test(attr(...)))], it will use those
Expand Down

0 comments on commit 95967c7

Please sign in to comment.