From 380719da35991077c215659e4fd903b9a2273c95 Mon Sep 17 00:00:00 2001 From: Matheus Z Marchiore Date: Mon, 9 Oct 2023 22:41:18 -0300 Subject: [PATCH] feat: add package name and version to warning messages --- src/cargo/core/compiler/job_queue/mod.rs | 5 ++++- tests/testsuite/build_script.rs | 10 +++++----- tests/testsuite/build_script_env.rs | 6 +++--- tests/testsuite/build_script_extra_link_arg.rs | 2 +- tests/testsuite/features2.rs | 4 ++-- tests/testsuite/warn_on_failure.rs | 4 ++-- 6 files changed, 17 insertions(+), 14 deletions(-) diff --git a/src/cargo/core/compiler/job_queue/mod.rs b/src/cargo/core/compiler/job_queue/mod.rs index 738c8c267a9..e39fe184dfa 100644 --- a/src/cargo/core/compiler/job_queue/mod.rs +++ b/src/cargo/core/compiler/job_queue/mod.rs @@ -952,7 +952,10 @@ impl<'cfg> DrainState<'cfg> { } for warning in output.warnings.iter() { - bcx.config.shell().warn(warning)?; + let warning_with_package = + format!("{}@{}: {}", unit.pkg.name(), unit.pkg.version(), warning); + + bcx.config.shell().warn(warning_with_package)?; } if msg.is_some() { diff --git a/tests/testsuite/build_script.rs b/tests/testsuite/build_script.rs index 0ccbb4e27d7..72a5fb648aa 100644 --- a/tests/testsuite/build_script.rs +++ b/tests/testsuite/build_script.rs @@ -3778,8 +3778,8 @@ fn warnings_emitted() { [COMPILING] foo v0.5.0 ([..]) [RUNNING] `rustc [..]` [RUNNING] `[..]` -warning: foo -warning: bar +warning: foo@0.5.0: foo +warning: foo@0.5.0: bar [RUNNING] `rustc [..]` [FINISHED] dev [unoptimized + debuginfo] target(s) in [..] ", @@ -3816,7 +3816,7 @@ fn warnings_emitted_when_build_script_panics() { p.cargo("build") .with_status(101) .with_stdout("") - .with_stderr_contains("warning: foo\nwarning: bar") + .with_stderr_contains("warning: foo@0.5.0: foo\nwarning: foo@0.5.0: bar") .run(); } @@ -3929,8 +3929,8 @@ fn warnings_printed_on_vv() { [COMPILING] bar v0.1.0 [RUNNING] `[..] rustc [..]` [RUNNING] `[..]` -warning: foo -warning: bar +warning: bar@0.1.0: foo +warning: bar@0.1.0: bar [RUNNING] `[..] rustc [..]` [COMPILING] foo v0.5.0 ([..]) [RUNNING] `[..] rustc [..]` diff --git a/tests/testsuite/build_script_env.rs b/tests/testsuite/build_script_env.rs index df574600c91..badde3391ef 100644 --- a/tests/testsuite/build_script_env.rs +++ b/tests/testsuite/build_script_env.rs @@ -137,12 +137,12 @@ fn rustc_bootstrap() { // NOTE: uses RUSTC_BOOTSTRAP so it will be propagated to rustc // (this matters when tests are being run with a beta or stable cargo) .env("RUSTC_BOOTSTRAP", "1") - .with_stderr_contains("warning: Cannot set `RUSTC_BOOTSTRAP=1` [..]") + .with_stderr_contains("warning: has-dashes@0.0.1: Cannot set `RUSTC_BOOTSTRAP=1` [..]") .run(); // RUSTC_BOOTSTRAP set to the name of the library should warn p.cargo("check") .env("RUSTC_BOOTSTRAP", "has_dashes") - .with_stderr_contains("warning: Cannot set `RUSTC_BOOTSTRAP=1` [..]") + .with_stderr_contains("warning: has-dashes@0.0.1: Cannot set `RUSTC_BOOTSTRAP=1` [..]") .run(); // RUSTC_BOOTSTRAP set to some random value should error p.cargo("check") @@ -169,7 +169,7 @@ fn rustc_bootstrap() { // NOTE: uses RUSTC_BOOTSTRAP so it will be propagated to rustc // (this matters when tests are being run with a beta or stable cargo) .env("RUSTC_BOOTSTRAP", "1") - .with_stderr_contains("warning: Cannot set `RUSTC_BOOTSTRAP=1` [..]") + .with_stderr_contains("warning: foo@0.0.1: Cannot set `RUSTC_BOOTSTRAP=1` [..]") .run(); // RUSTC_BOOTSTRAP conditionally set when there's no library should error (regardless of the value) p.cargo("check") diff --git a/tests/testsuite/build_script_extra_link_arg.rs b/tests/testsuite/build_script_extra_link_arg.rs index ade262fec7f..964a55e97f6 100644 --- a/tests/testsuite/build_script_extra_link_arg.rs +++ b/tests/testsuite/build_script_extra_link_arg.rs @@ -204,7 +204,7 @@ fn cdylib_link_arg_transitive() { [COMPILING] bar v1.0.0 [..] [RUNNING] `rustc --crate-name build_script_build bar/build.rs [..] [RUNNING] `[..]build-script-build[..] -warning: cargo:rustc-link-arg-cdylib was specified in the build script of bar v1.0.0 \ +warning: bar@1.0.0: cargo:rustc-link-arg-cdylib was specified in the build script of bar v1.0.0 \ ([ROOT]/foo/bar), but that package does not contain a cdylib target Allowing this was an unintended change in the 1.50 release, and may become an error in \ diff --git a/tests/testsuite/features2.rs b/tests/testsuite/features2.rs index 9238de2c6f5..d4c32cc2f2f 100644 --- a/tests/testsuite/features2.rs +++ b/tests/testsuite/features2.rs @@ -1807,7 +1807,7 @@ fn shared_dep_same_but_dependencies() { [COMPILING] dep [..] [COMPILING] bin2 [..] [COMPILING] bin1 [..] -warning: feat: enabled +warning: bin2@0.1.0: feat: enabled [FINISHED] [..] ", ) @@ -1823,7 +1823,7 @@ warning: feat: enabled [FRESH] subdep [..] [FRESH] dep [..] [FRESH] bin1 [..] -warning: feat: enabled +warning: bin2@0.1.0: feat: enabled [FRESH] bin2 [..] [FINISHED] [..] ", diff --git a/tests/testsuite/warn_on_failure.rs b/tests/testsuite/warn_on_failure.rs index 19cb01813ae..f2c2bb0713f 100644 --- a/tests/testsuite/warn_on_failure.rs +++ b/tests/testsuite/warn_on_failure.rs @@ -105,7 +105,7 @@ fn warning_on_lib_failure() { .with_stderr_contains("[UPDATING] `[..]` index") .with_stderr_contains("[DOWNLOADED] bar v0.0.1 ([..])") .with_stderr_contains("[COMPILING] bar v0.0.1") - .with_stderr_contains(&format!("[WARNING] {}", WARNING1)) - .with_stderr_contains(&format!("[WARNING] {}", WARNING2)) + .with_stderr_contains(&format!("[WARNING] bar@0.0.1: {}", WARNING1)) + .with_stderr_contains(&format!("[WARNING] bar@0.0.1: {}", WARNING2)) .run(); }