Rollup merge of #39859 - GuillaumeGomez:rustdoc-test-relative-path, r=alexcrichton
Set rustdoc --test files' path relative to the current directory r? @alexcrichton
This commit is contained in:
commit
46fed6e6fa
@ -12,7 +12,7 @@ use std::env;
|
||||
use std::ffi::OsString;
|
||||
use std::io::prelude::*;
|
||||
use std::io;
|
||||
use std::path::PathBuf;
|
||||
use std::path::{Path, PathBuf};
|
||||
use std::panic::{self, AssertUnwindSafe};
|
||||
use std::process::Command;
|
||||
use std::rc::Rc;
|
||||
@ -485,7 +485,15 @@ impl Collector {
|
||||
|
||||
pub fn get_filename(&self) -> String {
|
||||
if let Some(ref codemap) = self.codemap {
|
||||
codemap.span_to_filename(self.position)
|
||||
let filename = codemap.span_to_filename(self.position);
|
||||
if let Ok(cur_dir) = env::current_dir() {
|
||||
if let Ok(path) = Path::new(&filename).strip_prefix(&cur_dir) {
|
||||
if let Some(path) = path.to_str() {
|
||||
return path.to_owned();
|
||||
}
|
||||
}
|
||||
}
|
||||
filename
|
||||
} else if let Some(ref filename) = self.filename {
|
||||
filename.clone()
|
||||
} else {
|
||||
|
@ -1987,12 +1987,22 @@ actual:\n\
|
||||
fn check_rustdoc_test_option(&self, res: ProcRes) {
|
||||
let mut other_files = Vec::new();
|
||||
let mut files: HashMap<String, Vec<usize>> = HashMap::new();
|
||||
files.insert(self.testpaths.file.to_str().unwrap().to_owned(),
|
||||
let cwd = env::current_dir().unwrap();
|
||||
files.insert(self.testpaths.file.strip_prefix(&cwd)
|
||||
.unwrap_or(&self.testpaths.file)
|
||||
.to_str()
|
||||
.unwrap()
|
||||
.replace('\\', "/"),
|
||||
self.get_lines(&self.testpaths.file, Some(&mut other_files)));
|
||||
for other_file in other_files {
|
||||
let mut path = self.testpaths.file.clone();
|
||||
path.set_file_name(&format!("{}.rs", other_file));
|
||||
files.insert(path.to_str().unwrap().to_owned(), self.get_lines(&path, None));
|
||||
files.insert(path.strip_prefix(&cwd)
|
||||
.unwrap_or(&path)
|
||||
.to_str()
|
||||
.unwrap()
|
||||
.replace('\\', "/"),
|
||||
self.get_lines(&path, None));
|
||||
}
|
||||
|
||||
let mut tested = 0;
|
||||
@ -2002,7 +2012,8 @@ actual:\n\
|
||||
let tmp: Vec<&str> = s.split(" - ").collect();
|
||||
if tmp.len() == 2 {
|
||||
let path = tmp[0].rsplit("test ").next().unwrap();
|
||||
if let Some(ref mut v) = files.get_mut(path) {
|
||||
if let Some(ref mut v) = files.get_mut(
|
||||
&path.replace('\\', "/")) {
|
||||
tested += 1;
|
||||
let mut iter = tmp[1].split("(line ");
|
||||
iter.next();
|
||||
|
Loading…
x
Reference in New Issue
Block a user