]> git.lizzy.rs Git - rust.git/commitdiff
Add filename when running rustdoc --test on a markdown file
authorGuillaume Gomez <guillaume1.gomez@gmail.com>
Mon, 13 Feb 2017 17:11:20 +0000 (18:11 +0100)
committerGuillaume Gomez <guillaume1.gomez@gmail.com>
Mon, 13 Feb 2017 17:11:20 +0000 (18:11 +0100)
src/librustdoc/markdown.rs
src/librustdoc/test.rs

index 70ef7c597e4d7ba55f3c81a5f46e477f3db2ea35..c67e2fdc2b0276a7ecf45938b19cfb66f94cdef5 100644 (file)
@@ -155,7 +155,8 @@ pub fn test(input: &str, cfgs: Vec<String>, 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);
index 349bddc87405cbeb2331a714bd8b738f4b0caa67..1c37067d7f69d46f8914db8fd4ed496dec3eccd9 100644 (file)
@@ -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<PathBuf>,
     position: Span,
     codemap: Option<Rc<CodeMap>>,
+    filename: Option<String>,
 }
 
 impl Collector {
     pub fn new(cratename: String, cfgs: Vec<String>, libs: SearchPaths, externs: Externs,
                use_headers: bool, opts: TestOptions, maybe_sysroot: Option<PathBuf>,
-               codemap: Option<Rc<CodeMap>>) -> Collector {
+               codemap: Option<Rc<CodeMap>>, filename: Option<String>) -> Collector {
         Collector {
             tests: Vec::new(),
             names: Vec::new(),
@@ -411,6 +413,7 @@ pub fn new(cratename: String, cfgs: Vec<String>, libs: SearchPaths, externs: Ext
             maybe_sysroot: maybe_sysroot,
             position: DUMMY_SP,
             codemap: codemap,
+            filename: filename,
         }
     }
 
@@ -483,6 +486,8 @@ pub fn set_position(&mut self, position: Span) {
     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 {
             "<input>".to_owned()
         }