summaryrefslogtreecommitdiffstats
path: root/src/tools/cargo/tests/testsuite/cargo_remove/gc_patch
diff options
context:
space:
mode:
Diffstat (limited to 'src/tools/cargo/tests/testsuite/cargo_remove/gc_patch')
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_remove/gc_patch/mod.rs72
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_remove/gc_patch/out/Cargo.toml9
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_remove/gc_patch/out/src/lib.rs0
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_remove/gc_patch/stderr.log3
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_remove/gc_patch/stdout.log0
5 files changed, 84 insertions, 0 deletions
diff --git a/src/tools/cargo/tests/testsuite/cargo_remove/gc_patch/mod.rs b/src/tools/cargo/tests/testsuite/cargo_remove/gc_patch/mod.rs
new file mode 100644
index 000000000..2c1d592fb
--- /dev/null
+++ b/src/tools/cargo/tests/testsuite/cargo_remove/gc_patch/mod.rs
@@ -0,0 +1,72 @@
+use cargo_test_support::basic_manifest;
+use cargo_test_support::compare::assert_ui;
+use cargo_test_support::curr_dir;
+use cargo_test_support::git;
+use cargo_test_support::project;
+use cargo_test_support::CargoCommand;
+
+use crate::cargo_remove::init_registry;
+
+#[cargo_test]
+fn case() {
+ init_registry();
+
+ let git_project1 = git::new("bar1", |project| {
+ project
+ .file("Cargo.toml", &basic_manifest("bar", "0.1.0"))
+ .file("src/lib.rs", "")
+ })
+ .url();
+
+ let git_project2 = git::new("bar2", |project| {
+ project
+ .file("Cargo.toml", &basic_manifest("bar", "0.1.0"))
+ .file("src/lib.rs", "")
+ })
+ .url();
+
+ let in_project = project()
+ .file(
+ "Cargo.toml",
+ &format!(
+ "[workspace]\n\
+ members = [ \"my-member\" ]\n\
+ \n\
+ [package]\n\
+ name = \"my-project\"\n\
+ version = \"0.1.0\"\n\
+ \n\
+ [dependencies]\n\
+ bar = {{ git = \"{git_project1}\" }}\n\
+ \n\
+ [patch.\"{git_project1}\"]\n\
+ bar = {{ git = \"{git_project2}\" }}\n\
+ \n\
+ [patch.crates-io]\n\
+ bar = {{ git = \"{git_project2}\" }}\n",
+ ),
+ )
+ .file("src/lib.rs", "")
+ .file(
+ "my-member/Cargo.toml",
+ "[package]\n\
+ name = \"my-member\"\n\
+ version = \"0.1.0\"\n\
+ \n\
+ [dependencies]\n\
+ bar = \"0.1.0\"\n",
+ )
+ .file("my-member/src/lib.rs", "")
+ .build();
+
+ snapbox::cmd::Command::cargo_ui()
+ .arg("remove")
+ .args(["bar"])
+ .current_dir(&in_project.root())
+ .assert()
+ .success()
+ .stdout_matches_path(curr_dir!().join("stdout.log"))
+ .stderr_matches_path(curr_dir!().join("stderr.log"));
+
+ assert_ui().subset_matches(curr_dir!().join("out"), &in_project.root());
+}
diff --git a/src/tools/cargo/tests/testsuite/cargo_remove/gc_patch/out/Cargo.toml b/src/tools/cargo/tests/testsuite/cargo_remove/gc_patch/out/Cargo.toml
new file mode 100644
index 000000000..2d8c22115
--- /dev/null
+++ b/src/tools/cargo/tests/testsuite/cargo_remove/gc_patch/out/Cargo.toml
@@ -0,0 +1,9 @@
+[workspace]
+members = [ "my-member" ]
+
+[package]
+name = "my-project"
+version = "0.1.0"
+
+[patch.crates-io]
+bar = { git = "[ROOTURL]/bar2" }
diff --git a/src/tools/cargo/tests/testsuite/cargo_remove/gc_patch/out/src/lib.rs b/src/tools/cargo/tests/testsuite/cargo_remove/gc_patch/out/src/lib.rs
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/src/tools/cargo/tests/testsuite/cargo_remove/gc_patch/out/src/lib.rs
diff --git a/src/tools/cargo/tests/testsuite/cargo_remove/gc_patch/stderr.log b/src/tools/cargo/tests/testsuite/cargo_remove/gc_patch/stderr.log
new file mode 100644
index 000000000..1dd2e7757
--- /dev/null
+++ b/src/tools/cargo/tests/testsuite/cargo_remove/gc_patch/stderr.log
@@ -0,0 +1,3 @@
+ Removing bar from dependencies
+ Updating git repository `[ROOTURL]/bar2`
+ Updating `dummy-registry` index
diff --git a/src/tools/cargo/tests/testsuite/cargo_remove/gc_patch/stdout.log b/src/tools/cargo/tests/testsuite/cargo_remove/gc_patch/stdout.log
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/src/tools/cargo/tests/testsuite/cargo_remove/gc_patch/stdout.log