From ac7bf6eb198a7ccdaebb9bd152551deccaf0a975 Mon Sep 17 00:00:00 2001 From: Lin Yihai Date: Thu, 11 Apr 2024 15:35:56 +0800 Subject: [PATCH] test(package): `cargo package -p doesnt-exist` will package all packages in workspace --- tests/testsuite/package.rs | 64 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) diff --git a/tests/testsuite/package.rs b/tests/testsuite/package.rs index 860d69627..08662f1f9 100644 --- a/tests/testsuite/package.rs +++ b/tests/testsuite/package.rs @@ -2618,6 +2618,70 @@ src/main.rs p.cargo("package --allow-dirty").run(); } +#[cargo_test] +fn package_in_workspace_not_found() { + let p = project() + .file( + "Cargo.toml", + r#" + [workspace] + members = ["bar", "baz"] + "#, + ) + .file("src/main.rs", "fn main() {}") + .file( + "bar/Cargo.toml", + r#" + [package] + name = "bar" + version = "0.0.1" + edition = "2015" + authors = [] + license = "MIT" + description = "bar" + "#, + ) + .file("bar/src/main.rs", "fn main() {}") + .file( + "baz/Cargo.toml", + r#" + [package] + name = "baz" + version = "0.0.1" + edition = "2015" + authors = [] + license = "MIT" + description = "baz" + "#, + ) + .file("baz/src/main.rs", "fn main() {}") + .build(); + + p.cargo("package -p doesnt-exist") + .with_stderr( + "\ +[WARNING] manifest has no documentation, [..] +See [..] +[PACKAGING] bar v0.0.1 ([CWD]/bar) +[VERIFYING] bar v0.0.1 ([CWD]/bar) +[COMPILING] bar v0.0.1 ([CWD][..]) +[FINISHED] `dev` profile [unoptimized + debuginfo] target(s) in [..] +[PACKAGED] [..] files, [..] ([..] compressed) +[WARNING] manifest has no documentation, [..] +See [..] +[PACKAGING] baz v0.0.1 ([CWD]/baz) +[VERIFYING] baz v0.0.1 ([CWD]/baz) +[COMPILING] baz v0.0.1 ([CWD][..]) +[FINISHED] `dev` profile [unoptimized + debuginfo] target(s) in [..] +[PACKAGED] [..] files, [..] ([..] compressed) +", + ) + .run(); + + assert!(p.root().join("target/package/bar-0.0.1.crate").is_file()); + assert!(p.root().join("target/package/baz-0.0.1.crate").is_file()); +} + #[cargo_test] fn in_workspace() { let p = project()