From c951ed7fb6daa7dff6dfb3e648576488f74ccaee Mon Sep 17 00:00:00 2001 From: Guillaume Gomez Date: Sat, 11 Feb 2017 16:36:31 +0100 Subject: [PATCH] Add tested item in the rustdoc --test output --- src/librustdoc/test.rs | 8 ++++++-- src/test/run-make/issue-22131/Makefile | 2 +- src/tools/compiletest/src/runtest.rs | 16 ++++++++++------ 3 files changed, 17 insertions(+), 9 deletions(-) diff --git a/src/librustdoc/test.rs b/src/librustdoc/test.rs index 930cf401e74..349bddc8740 100644 --- a/src/librustdoc/test.rs +++ b/src/librustdoc/test.rs @@ -418,8 +418,12 @@ pub fn add_test(&mut self, test: String, should_panic: bool, no_run: bool, should_ignore: bool, as_test_harness: bool, compile_fail: bool, error_codes: Vec, line: usize, filename: String) { - let name = format!("{} - line {}", filename, line); - self.cnt += 1; + let name = if self.use_headers { + let s = self.current_header.as_ref().map(|s| &**s).unwrap_or(""); + format!("{} - {} (line {})", filename, s, line) + } else { + format!("{} - {} (line {})", filename, self.names.join("::"), line) + }; let cfgs = self.cfgs.clone(); let libs = self.libs.clone(); let externs = self.externs.clone(); diff --git a/src/test/run-make/issue-22131/Makefile b/src/test/run-make/issue-22131/Makefile index f65cc9e06a3..64af91b487b 100644 --- a/src/test/run-make/issue-22131/Makefile +++ b/src/test/run-make/issue-22131/Makefile @@ -4,4 +4,4 @@ all: foo.rs $(RUSTC) --cfg 'feature="bar"' --crate-type lib foo.rs $(HOST_RPATH_ENV) '$(RUSTDOC)' --test --cfg 'feature="bar"' \ -L $(TMPDIR) foo.rs |\ - grep -q 'foo.rs - line 11 ... ok' + grep -q 'foo.rs - foo (line 11) ... ok' diff --git a/src/tools/compiletest/src/runtest.rs b/src/tools/compiletest/src/runtest.rs index 1a3d7a190be..d0aba8a0b0a 100644 --- a/src/tools/compiletest/src/runtest.rs +++ b/src/tools/compiletest/src/runtest.rs @@ -1998,16 +1998,20 @@ fn check_rustdoc_test_option(&self, res: ProcRes) { for _ in res.stdout.split("\n") .filter(|s| s.starts_with("test ")) .inspect(|s| { - let tmp: Vec<&str> = s.split(" - line ").collect(); + 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) { tested += 1; - let line = tmp[1].split(" ...") - .next() - .unwrap_or("0") - .parse() - .unwrap_or(0); + let mut iter = tmp[1].split("(line "); + iter.next(); + let line = iter.next() + .unwrap_or(")") + .split(")") + .next() + .unwrap_or("0") + .parse() + .unwrap_or(0); if let Ok(pos) = v.binary_search(&line) { v.remove(pos); } else { -- GitLab