From cc8d4558956e48ff65d5e0d1af13f3f6e8466b84 Mon Sep 17 00:00:00 2001 From: Guillaume Gomez Date: Mon, 13 Feb 2017 18:11:20 +0100 Subject: [PATCH] Add filename when running rustdoc --test on a markdown file --- src/librustdoc/markdown.rs | 3 ++- src/librustdoc/test.rs | 9 +++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/librustdoc/markdown.rs b/src/librustdoc/markdown.rs index 70ef7c597e4d7..c67e2fdc2b027 100644 --- a/src/librustdoc/markdown.rs +++ b/src/librustdoc/markdown.rs @@ -155,7 +155,8 @@ pub fn test(input: &str, cfgs: Vec, libs: SearchPaths, externs: Externs, let mut opts = TestOptions::default(); opts.no_crate_inject = true; let mut collector = Collector::new(input.to_string(), cfgs, libs, externs, - true, opts, maybe_sysroot, None); + true, opts, maybe_sysroot, None, + Some(input.to_owned())); find_testable_code(&input_str, &mut collector, DUMMY_SP); test_args.insert(0, "rustdoctest".to_string()); testing::test_main(&test_args, collector.tests); diff --git a/src/librustdoc/test.rs b/src/librustdoc/test.rs index 349bddc87405c..1c37067d7f69d 100644 --- a/src/librustdoc/test.rs +++ b/src/librustdoc/test.rs @@ -104,7 +104,8 @@ pub fn run(input: &str, false, opts, maybe_sysroot, - Some(codemap)); + Some(codemap), + None); { let dep_graph = DepGraph::new(false); @@ -391,12 +392,13 @@ pub struct Collector { maybe_sysroot: Option, position: Span, codemap: Option>, + filename: Option, } impl Collector { pub fn new(cratename: String, cfgs: Vec, libs: SearchPaths, externs: Externs, use_headers: bool, opts: TestOptions, maybe_sysroot: Option, - codemap: Option>) -> Collector { + codemap: Option>, filename: Option) -> Collector { Collector { tests: Vec::new(), names: Vec::new(), @@ -411,6 +413,7 @@ impl Collector { maybe_sysroot: maybe_sysroot, position: DUMMY_SP, codemap: codemap, + filename: filename, } } @@ -483,6 +486,8 @@ impl Collector { pub fn get_filename(&self) -> String { if let Some(ref codemap) = self.codemap { codemap.span_to_filename(self.position) + } else if let Some(ref filename) = self.filename { + filename.clone() } else { "".to_owned() }