mirror of
https://github.com/rust-lang/cargo.git
synced 2025-10-04 11:34:35 +00:00
Auto merge of #9128 - poliorcetics:respect-shortness-rustdoc, r=ehuss
Pass the error message format to rustdoc - Goes with rust-lang/rust#81675. - Will help with rust-lang/rust#81662. This is my first PR to Cargo and I haven't finished reading the contributor guide yet, how should I add tests for this ? Did I had the code in the correct place ?
This commit is contained in:
commit
572e201536
@ -228,6 +228,7 @@ impl<'a, 'cfg> Context<'a, 'cfg> {
|
|||||||
let mut unstable_opts = false;
|
let mut unstable_opts = false;
|
||||||
let mut args = compiler::extern_args(&self, unit, &mut unstable_opts)?;
|
let mut args = compiler::extern_args(&self, unit, &mut unstable_opts)?;
|
||||||
args.extend(compiler::lto_args(&self, unit));
|
args.extend(compiler::lto_args(&self, unit));
|
||||||
|
|
||||||
for feature in &unit.features {
|
for feature in &unit.features {
|
||||||
args.push("--cfg".into());
|
args.push("--cfg".into());
|
||||||
args.push(format!("feature=\"{}\"", feature).into());
|
args.push(format!("feature=\"{}\"", feature).into());
|
||||||
@ -242,6 +243,16 @@ impl<'a, 'cfg> Context<'a, 'cfg> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
args.extend(self.bcx.rustdocflags_args(unit).iter().map(Into::into));
|
args.extend(self.bcx.rustdocflags_args(unit).iter().map(Into::into));
|
||||||
|
|
||||||
|
use super::MessageFormat;
|
||||||
|
let format = match self.bcx.build_config.message_format {
|
||||||
|
MessageFormat::Short => "short",
|
||||||
|
MessageFormat::Human => "human",
|
||||||
|
MessageFormat::Json { .. } => "json",
|
||||||
|
};
|
||||||
|
args.push("--error-format".into());
|
||||||
|
args.push(format.into());
|
||||||
|
|
||||||
self.compilation.to_doc_test.push(compilation::Doctest {
|
self.compilation.to_doc_test.push(compilation::Doctest {
|
||||||
unit: unit.clone(),
|
unit: unit.clone(),
|
||||||
args,
|
args,
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
//! Tests for --message-format flag.
|
//! Tests for --message-format flag.
|
||||||
|
|
||||||
use cargo_test_support::{basic_manifest, project};
|
use cargo_test_support::{basic_lib_manifest, basic_manifest, is_nightly, project};
|
||||||
|
|
||||||
#[cargo_test]
|
#[cargo_test]
|
||||||
fn cannot_specify_two() {
|
fn cannot_specify_two() {
|
||||||
@ -109,3 +109,30 @@ fn cargo_renders_ansi() {
|
|||||||
.with_stdout_contains("[..]\\u001b[38;5;9merror[..]")
|
.with_stdout_contains("[..]\\u001b[38;5;9merror[..]")
|
||||||
.run();
|
.run();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[cargo_test]
|
||||||
|
fn cargo_renders_doctests() {
|
||||||
|
if !is_nightly() {
|
||||||
|
// --error-format=short support added in 1.51
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
let p = project()
|
||||||
|
.file("Cargo.toml", &basic_lib_manifest("foo"))
|
||||||
|
.file(
|
||||||
|
"src/lib.rs",
|
||||||
|
"\
|
||||||
|
/// ```rust
|
||||||
|
/// bar()
|
||||||
|
/// ```
|
||||||
|
pub fn bar() {}
|
||||||
|
",
|
||||||
|
)
|
||||||
|
.build();
|
||||||
|
|
||||||
|
p.cargo("test --doc --message-format short")
|
||||||
|
.with_status(101)
|
||||||
|
.with_stdout_contains("src/lib.rs:2:1: error[E0425]:[..]")
|
||||||
|
.with_stdout_contains("[..]src/lib.rs - bar (line 1)[..]")
|
||||||
|
.run();
|
||||||
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user