summaryrefslogtreecommitdiffstats
path: root/src/tools/cargo/tests/testsuite/cargo_add
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-30 03:57:31 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-30 03:57:31 +0000
commitdc0db358abe19481e475e10c32149b53370f1a1c (patch)
treeab8ce99c4b255ce46f99ef402c27916055b899ee /src/tools/cargo/tests/testsuite/cargo_add
parentReleasing progress-linux version 1.71.1+dfsg1-2~progress7.99u1. (diff)
downloadrustc-dc0db358abe19481e475e10c32149b53370f1a1c.tar.xz
rustc-dc0db358abe19481e475e10c32149b53370f1a1c.zip
Merging upstream version 1.72.1+dfsg1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/tools/cargo/tests/testsuite/cargo_add')
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/add_basic/mod.rs15
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/add_multiple/mod.rs17
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/add_normalized_name_external/mod.rs20
l---------src/tools/cargo/tests/testsuite/cargo_add/add_toolchain/in (renamed from src/tools/cargo/tests/testsuite/cargo_add/invalid_git_external/in)0
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/add_toolchain/mod.rs (renamed from src/tools/cargo/tests/testsuite/cargo_add/invalid_git_external/mod.rs)9
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/add_toolchain/out/Cargo.toml (renamed from src/tools/cargo/tests/testsuite/cargo_add/invalid_git_external/out/Cargo.toml)0
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/add_toolchain/stderr.log2
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/add_toolchain/stdout.log (renamed from src/tools/cargo/tests/testsuite/cargo_add/invalid_git_external/stdout.log)0
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/build/mod.rs17
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/build_prefer_existing_version/mod.rs18
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/change_rename_target/mod.rs17
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/cyclic_features/mod.rs9
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/default_features/mod.rs17
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/deprecated_default_features/mod.rs15
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/deprecated_section/mod.rs15
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/detect_workspace_inherit/mod.rs4
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/detect_workspace_inherit_features/mod.rs4
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/detect_workspace_inherit_optional/mod.rs4
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/dev/mod.rs17
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/dev_build_conflict/mod.rs15
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/dev_prefer_existing_version/mod.rs17
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/dry_run/mod.rs15
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/empty_dep_table/mod.rs10
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/features/mod.rs10
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/features_empty/mod.rs10
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/features_multiple_occurrences/mod.rs10
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/features_preserve/mod.rs10
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/features_spaced_values/mod.rs10
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/features_unknown/mod.rs10
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/features_unknown_no_features/mod.rs15
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/git/mod.rs4
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/git_branch/mod.rs4
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/git_conflicts_namever/mod.rs15
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/git_dev/mod.rs4
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/git_inferred_name/mod.rs4
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/git_inferred_name_multiple/mod.rs4
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/git_multiple_names/mod.rs17
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/git_normalized_name/mod.rs4
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/git_registry/mod.rs17
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/git_rev/mod.rs4
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/git_tag/mod.rs4
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/infer_prerelease/mod.rs5
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/invalid_arg/mod.rs15
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/invalid_git_external/stderr.log12
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/invalid_git_name/mod.rs4
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/invalid_manifest/mod.rs15
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/invalid_name_external/mod.rs4
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/invalid_path/mod.rs4
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/invalid_path_name/mod.rs16
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/invalid_path_self/mod.rs4
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/invalid_target_empty/mod.rs15
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/invalid_vers/mod.rs15
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/list_features/mod.rs10
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/list_features_path/mod.rs21
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/list_features_path_no_default/mod.rs21
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/locked_changed/mod.rs15
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/locked_unchanged/mod.rs15
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/lockfile_updated/mod.rs17
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/manifest_path_package/mod.rs16
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/mod.rs95
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/multiple_conflicts_with_features/mod.rs21
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/multiple_conflicts_with_rename/mod.rs17
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/namever/mod.rs17
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/no_args/mod.rs4
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/no_default_features/mod.rs17
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/no_optional/mod.rs17
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/offline_empty_cache/mod.rs15
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/optional/mod.rs17
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/overwrite_default_features/mod.rs17
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/overwrite_default_features_with_no_default_features/mod.rs17
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/overwrite_features/mod.rs10
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/overwrite_git_with_path/mod.rs16
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/overwrite_inherit_features_noop/mod.rs2
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/overwrite_inherit_noop/mod.rs4
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/overwrite_inherit_optional_noop/mod.rs4
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/overwrite_inline_features/mod.rs21
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/overwrite_name_dev_noop/mod.rs11
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/overwrite_name_noop/mod.rs11
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/overwrite_no_default_features/mod.rs17
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/overwrite_no_default_features_with_default_features/mod.rs17
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/overwrite_no_optional/mod.rs17
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/overwrite_no_optional_with_optional/mod.rs17
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/overwrite_optional/mod.rs17
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/overwrite_optional_with_no_optional/mod.rs21
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/overwrite_path_noop/mod.rs11
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/overwrite_path_with_version/mod.rs16
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/overwrite_preserves_inline_table/mod.rs10
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/overwrite_rename_with_no_rename/mod.rs15
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/overwrite_rename_with_rename/mod.rs15
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/overwrite_rename_with_rename_noop/mod.rs15
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/overwrite_version_with_git/mod.rs15
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/overwrite_version_with_path/mod.rs16
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/overwrite_with_rename/mod.rs15
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/overwrite_workspace_dep/mod.rs4
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/overwrite_workspace_dep_features/mod.rs4
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/path/mod.rs16
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/path_dev/mod.rs16
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/path_inferred_name/mod.rs16
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/path_inferred_name_conflicts_full_feature/mod.rs4
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/path_normalized_name/mod.rs16
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/preserve_features_table/in/Cargo.toml21
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/preserve_features_table/in/src/lib.rs0
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/preserve_features_table/mod.rs31
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/preserve_features_table/out/Cargo.toml21
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/preserve_features_table/stderr.log7
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/preserve_features_table/stdout.log0
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/preserve_sorted/mod.rs17
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/preserve_unsorted/mod.rs17
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/quiet/mod.rs10
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/registry/mod.rs19
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/rename/mod.rs15
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/require_weak/mod.rs10
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/rust_version_ignore/mod.rs4
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/rust_version_incompatible/mod.rs4
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/rust_version_latest/mod.rs4
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/rust_version_older/mod.rs4
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/sorted_table_with_dotted_item/mod.rs22
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/target/mod.rs17
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/target_cfg/mod.rs17
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/vers/mod.rs15
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/workspace_name/mod.rs16
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/workspace_path/mod.rs16
-rw-r--r--src/tools/cargo/tests/testsuite/cargo_add/workspace_path_dev/mod.rs16
123 files changed, 1248 insertions, 335 deletions
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/add_basic/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/add_basic/mod.rs
index 33889dffa..67cd948ae 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/add_basic/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/add_basic/mod.rs
@@ -2,12 +2,23 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
+ cargo_test_support::registry::init();
+ for ver in [
+ "0.1.1+my-package",
+ "0.2.0+my-package",
+ "0.2.3+my-package",
+ "0.4.1+my-package",
+ "20.0.0+my-package",
+ "99999.0.0+my-package",
+ "99999.0.0-alpha.1+my-package",
+ ] {
+ cargo_test_support::registry::Package::new("my-package", ver).publish();
+ }
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = &project_root;
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/add_multiple/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/add_multiple/mod.rs
index a9cc20575..ce5e9b71d 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/add_multiple/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/add_multiple/mod.rs
@@ -2,12 +2,25 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
+ cargo_test_support::registry::init();
+ for name in ["my-package1", "my-package2"] {
+ for ver in [
+ "0.1.1+my-package",
+ "0.2.0+my-package",
+ "0.2.3+my-package",
+ "0.4.1+my-package",
+ "20.0.0+my-package",
+ "99999.0.0+my-package",
+ "99999.0.0-alpha.1+my-package",
+ ] {
+ cargo_test_support::registry::Package::new(name, ver).publish();
+ }
+ }
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = &project_root;
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/add_normalized_name_external/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/add_normalized_name_external/mod.rs
index 63605d8dc..ced39b99c 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/add_normalized_name_external/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/add_normalized_name_external/mod.rs
@@ -2,12 +2,28 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
+ cargo_test_support::registry::init();
+ cargo_test_support::registry::Package::new("linked-hash-map", "0.5.4")
+ .feature("clippy", &[])
+ .feature("heapsize", &[])
+ .feature("heapsize_impl", &[])
+ .feature("nightly", &[])
+ .feature("serde", &[])
+ .feature("serde_impl", &[])
+ .feature("serde_test", &[])
+ .publish();
+ cargo_test_support::registry::Package::new("inflector", "0.11.4")
+ .feature("default", &["heavyweight", "lazy_static", "regex"])
+ .feature("heavyweight", &[])
+ .feature("lazy_static", &[])
+ .feature("regex", &[])
+ .feature("unstable", &[])
+ .publish();
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = &project_root;
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/invalid_git_external/in b/src/tools/cargo/tests/testsuite/cargo_add/add_toolchain/in
index 6c6a27fcf..6c6a27fcf 120000
--- a/src/tools/cargo/tests/testsuite/cargo_add/invalid_git_external/in
+++ b/src/tools/cargo/tests/testsuite/cargo_add/add_toolchain/in
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/invalid_git_external/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/add_toolchain/mod.rs
index 705182f20..905b8c8a2 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/invalid_git_external/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/add_toolchain/mod.rs
@@ -2,25 +2,20 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = &project_root;
- let git_url = url::Url::from_directory_path(cwd.join("does-not-exist"))
- .unwrap()
- .to_string();
snapbox::cmd::Command::cargo_ui()
.arg("add")
- .args(["fake-git", "--git", &git_url])
+ .arg_line("+nightly")
.current_dir(cwd)
.assert()
- .code(101)
+ .failure()
.stdout_matches_path(curr_dir!().join("stdout.log"))
.stderr_matches_path(curr_dir!().join("stderr.log"));
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/invalid_git_external/out/Cargo.toml b/src/tools/cargo/tests/testsuite/cargo_add/add_toolchain/out/Cargo.toml
index 3ecdb6681..3ecdb6681 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/invalid_git_external/out/Cargo.toml
+++ b/src/tools/cargo/tests/testsuite/cargo_add/add_toolchain/out/Cargo.toml
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/add_toolchain/stderr.log b/src/tools/cargo/tests/testsuite/cargo_add/add_toolchain/stderr.log
new file mode 100644
index 000000000..0593685ad
--- /dev/null
+++ b/src/tools/cargo/tests/testsuite/cargo_add/add_toolchain/stderr.log
@@ -0,0 +1,2 @@
+error: invalid character `+` in dependency name: `+nightly`
+ Use `cargo +nightly add` if you meant to use the `nightly` toolchain.
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/invalid_git_external/stdout.log b/src/tools/cargo/tests/testsuite/cargo_add/add_toolchain/stdout.log
index e69de29bb..e69de29bb 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/invalid_git_external/stdout.log
+++ b/src/tools/cargo/tests/testsuite/cargo_add/add_toolchain/stdout.log
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/build/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/build/mod.rs
index 130ecfbb0..001dd3a8f 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/build/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/build/mod.rs
@@ -2,12 +2,25 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
+ cargo_test_support::registry::init();
+ for name in ["my-build-package1", "my-build-package2"] {
+ for ver in [
+ "0.1.1+my-package",
+ "0.2.0+my-package",
+ "0.2.3+my-package",
+ "0.4.1+my-package",
+ "20.0.0+my-package",
+ "99999.0.0+my-package",
+ "99999.0.0-alpha.1+my-package",
+ ] {
+ cargo_test_support::registry::Package::new(name, ver).publish();
+ }
+ }
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = &project_root;
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/build_prefer_existing_version/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/build_prefer_existing_version/mod.rs
index b0bb2e03b..285ec658a 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/build_prefer_existing_version/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/build_prefer_existing_version/mod.rs
@@ -2,11 +2,23 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_alt_registry;
-
#[cargo_test]
fn case() {
- init_alt_registry();
+ cargo_test_support::registry::alt_init();
+ for ver in [
+ "0.1.1+my-package",
+ "0.2.0+my-package",
+ "0.2.3+my-package",
+ "0.4.1+my-package",
+ "20.0.0+my-package",
+ "99999.0.0+my-package",
+ "99999.0.0-alpha.1+my-package",
+ ] {
+ cargo_test_support::registry::Package::new("cargo-list-test-fixture-dependency", ver)
+ .alternative(true)
+ .publish();
+ }
+
let project =
Project::from_template("tests/testsuite/cargo_add/build_prefer_existing_version/in");
let project_root = project.root();
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/change_rename_target/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/change_rename_target/mod.rs
index 94309b3ab..d1540c8ad 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/change_rename_target/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/change_rename_target/mod.rs
@@ -2,12 +2,25 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
+ cargo_test_support::registry::init();
+ for name in ["my-package1", "my-package2"] {
+ for ver in [
+ "0.1.1+my-package",
+ "0.2.0+my-package",
+ "0.2.3+my-package",
+ "0.4.1+my-package",
+ "20.0.0+my-package",
+ "99999.0.0+my-package",
+ "99999.0.0-alpha.1+my-package",
+ ] {
+ cargo_test_support::registry::Package::new(name, ver).publish();
+ }
+ }
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = &project_root;
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/cyclic_features/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/cyclic_features/mod.rs
index 5dffac323..8b4c6123a 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/cyclic_features/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/cyclic_features/mod.rs
@@ -2,12 +2,17 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
+ cargo_test_support::registry::init();
+ cargo_test_support::registry::Package::new("test_cyclic_features", "0.1.1")
+ .feature("default", &["feature-one", "feature-two"])
+ .feature("feature-one", &["feature-two"])
+ .feature("feature-two", &["feature-one"])
+ .publish();
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = &project_root;
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/default_features/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/default_features/mod.rs
index 88bdd8065..9d313b9d9 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/default_features/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/default_features/mod.rs
@@ -2,12 +2,25 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
+ cargo_test_support::registry::init();
+ for name in ["my-package1", "my-package2"] {
+ for ver in [
+ "0.1.1+my-package",
+ "0.2.0+my-package",
+ "0.2.3+my-package",
+ "0.4.1+my-package",
+ "20.0.0+my-package",
+ "99999.0.0+my-package",
+ "99999.0.0-alpha.1+my-package",
+ ] {
+ cargo_test_support::registry::Package::new(name, ver).publish();
+ }
+ }
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = &project_root;
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/deprecated_default_features/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/deprecated_default_features/mod.rs
index 10d4e4e98..c4fdd4f3e 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/deprecated_default_features/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/deprecated_default_features/mod.rs
@@ -2,12 +2,23 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
+ cargo_test_support::registry::init();
+ for ver in [
+ "0.1.1+my-package",
+ "0.2.0+my-package",
+ "0.2.3+my-package",
+ "0.4.1+my-package",
+ "20.0.0+my-package",
+ "99999.0.0+my-package",
+ "99999.0.0-alpha.1+my-package",
+ ] {
+ cargo_test_support::registry::Package::new("my-package", ver).publish();
+ }
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = &project_root;
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/deprecated_section/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/deprecated_section/mod.rs
index 10d4e4e98..c4fdd4f3e 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/deprecated_section/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/deprecated_section/mod.rs
@@ -2,12 +2,23 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
+ cargo_test_support::registry::init();
+ for ver in [
+ "0.1.1+my-package",
+ "0.2.0+my-package",
+ "0.2.3+my-package",
+ "0.4.1+my-package",
+ "20.0.0+my-package",
+ "99999.0.0+my-package",
+ "99999.0.0-alpha.1+my-package",
+ ] {
+ cargo_test_support::registry::Package::new("my-package", ver).publish();
+ }
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = &project_root;
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/detect_workspace_inherit/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/detect_workspace_inherit/mod.rs
index 065fb4f93..2b9550ce0 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/detect_workspace_inherit/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/detect_workspace_inherit/mod.rs
@@ -2,12 +2,12 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
+ cargo_test_support::registry::init();
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = &project_root;
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/detect_workspace_inherit_features/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/detect_workspace_inherit_features/mod.rs
index 11ab2b1bf..8067166dc 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/detect_workspace_inherit_features/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/detect_workspace_inherit_features/mod.rs
@@ -2,12 +2,12 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
+ cargo_test_support::registry::init();
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = &project_root;
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/detect_workspace_inherit_optional/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/detect_workspace_inherit_optional/mod.rs
index 7557b520d..423f1a26d 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/detect_workspace_inherit_optional/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/detect_workspace_inherit_optional/mod.rs
@@ -2,12 +2,12 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
+ cargo_test_support::registry::init();
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = &project_root;
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/dev/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/dev/mod.rs
index 112e92285..c838f1eac 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/dev/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/dev/mod.rs
@@ -2,12 +2,25 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
+ cargo_test_support::registry::init();
+ for name in ["my-dev-package1", "my-dev-package2"] {
+ for ver in [
+ "0.1.1+my-package",
+ "0.2.0+my-package",
+ "0.2.3+my-package",
+ "0.4.1+my-package",
+ "20.0.0+my-package",
+ "99999.0.0+my-package",
+ "99999.0.0-alpha.1+my-package",
+ ] {
+ cargo_test_support::registry::Package::new(name, ver).publish();
+ }
+ }
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = &project_root;
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/dev_build_conflict/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/dev_build_conflict/mod.rs
index 3f57c6b76..70432b529 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/dev_build_conflict/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/dev_build_conflict/mod.rs
@@ -2,12 +2,23 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
+ cargo_test_support::registry::init();
+ for ver in [
+ "0.1.1+my-package",
+ "0.2.0+my-package",
+ "0.2.3+my-package",
+ "0.4.1+my-package",
+ "20.0.0+my-package",
+ "99999.0.0+my-package",
+ "99999.0.0-alpha.1+my-package",
+ ] {
+ cargo_test_support::registry::Package::new("my-package", ver).publish();
+ }
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = &project_root;
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/dev_prefer_existing_version/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/dev_prefer_existing_version/mod.rs
index 1785ac820..2d3698c14 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/dev_prefer_existing_version/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/dev_prefer_existing_version/mod.rs
@@ -2,12 +2,25 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_alt_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_alt_registry();
+ cargo_test_support::registry::alt_init();
+ for ver in [
+ "0.1.1+my-package",
+ "0.2.0+my-package",
+ "0.2.3+my-package",
+ "0.4.1+my-package",
+ "20.0.0+my-package",
+ "99999.0.0+my-package",
+ "99999.0.0-alpha.1+my-package",
+ ] {
+ cargo_test_support::registry::Package::new("cargo-list-test-fixture-dependency", ver)
+ .alternative(true)
+ .publish();
+ }
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = &project_root;
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/dry_run/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/dry_run/mod.rs
index 209d20873..438ec7b73 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/dry_run/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/dry_run/mod.rs
@@ -2,12 +2,23 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
+ cargo_test_support::registry::init();
+ for ver in [
+ "0.1.1+my-package",
+ "0.2.0+my-package",
+ "0.2.3+my-package",
+ "0.4.1+my-package",
+ "20.0.0+my-package",
+ "99999.0.0+my-package",
+ "99999.0.0-alpha.1+my-package",
+ ] {
+ cargo_test_support::registry::Package::new("my-package", ver).publish();
+ }
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = &project_root;
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/empty_dep_table/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/empty_dep_table/mod.rs
index f6c507188..d612a07f7 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/empty_dep_table/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/empty_dep_table/mod.rs
@@ -2,12 +2,18 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
+ cargo_test_support::registry::init();
+ cargo_test_support::registry::Package::new("your-face", "99999.0.0+my-package")
+ .feature("nose", &[])
+ .feature("mouth", &[])
+ .feature("eyes", &[])
+ .feature("ears", &[])
+ .publish();
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = &project_root;
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/features/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/features/mod.rs
index 5e4115390..aebae9b3b 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/features/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/features/mod.rs
@@ -2,12 +2,18 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
+ cargo_test_support::registry::init();
+ cargo_test_support::registry::Package::new("your-face", "99999.0.0+my-package")
+ .feature("nose", &[])
+ .feature("mouth", &[])
+ .feature("eyes", &[])
+ .feature("ears", &[])
+ .publish();
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = &project_root;
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/features_empty/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/features_empty/mod.rs
index 81dffc1ee..d58c6a292 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/features_empty/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/features_empty/mod.rs
@@ -2,12 +2,18 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
+ cargo_test_support::registry::init();
+ cargo_test_support::registry::Package::new("your-face", "99999.0.0+my-package")
+ .feature("nose", &[])
+ .feature("mouth", &[])
+ .feature("eyes", &[])
+ .feature("ears", &[])
+ .publish();
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = &project_root;
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/features_multiple_occurrences/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/features_multiple_occurrences/mod.rs
index db47f860d..4189be7ea 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/features_multiple_occurrences/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/features_multiple_occurrences/mod.rs
@@ -2,12 +2,18 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
+ cargo_test_support::registry::init();
+ cargo_test_support::registry::Package::new("your-face", "99999.0.0+my-package")
+ .feature("nose", &[])
+ .feature("mouth", &[])
+ .feature("eyes", &[])
+ .feature("ears", &[])
+ .publish();
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = &project_root;
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/features_preserve/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/features_preserve/mod.rs
index ed99a3111..708fb4ddf 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/features_preserve/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/features_preserve/mod.rs
@@ -2,12 +2,18 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
+ cargo_test_support::registry::init();
+ cargo_test_support::registry::Package::new("your-face", "99999.0.0+my-package")
+ .feature("nose", &[])
+ .feature("mouth", &[])
+ .feature("eyes", &[])
+ .feature("ears", &[])
+ .publish();
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = &project_root;
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/features_spaced_values/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/features_spaced_values/mod.rs
index 2ef212e59..4ee483110 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/features_spaced_values/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/features_spaced_values/mod.rs
@@ -2,12 +2,18 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
+ cargo_test_support::registry::init();
+ cargo_test_support::registry::Package::new("your-face", "99999.0.0+my-package")
+ .feature("nose", &[])
+ .feature("mouth", &[])
+ .feature("eyes", &[])
+ .feature("ears", &[])
+ .publish();
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = &project_root;
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/features_unknown/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/features_unknown/mod.rs
index 7fd8d9529..552319402 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/features_unknown/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/features_unknown/mod.rs
@@ -2,12 +2,18 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
+ cargo_test_support::registry::init();
+ cargo_test_support::registry::Package::new("your-face", "99999.0.0+my-package")
+ .feature("nose", &[])
+ .feature("mouth", &[])
+ .feature("eyes", &[])
+ .feature("ears", &[])
+ .publish();
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = &project_root;
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/features_unknown_no_features/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/features_unknown_no_features/mod.rs
index 9f59a0353..dff50a61f 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/features_unknown_no_features/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/features_unknown_no_features/mod.rs
@@ -2,12 +2,23 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
+ cargo_test_support::registry::init();
+ for ver in [
+ "0.1.1+my-package",
+ "0.2.0+my-package",
+ "0.2.3+my-package",
+ "0.4.1+my-package",
+ "20.0.0+my-package",
+ "99999.0.0+my-package",
+ "99999.0.0-alpha.1+my-package",
+ ] {
+ cargo_test_support::registry::Package::new("my-package", ver).publish();
+ }
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = &project_root;
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/git/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/git/mod.rs
index bd82b3015..507fb417d 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/git/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/git/mod.rs
@@ -2,12 +2,12 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
+ cargo_test_support::registry::init();
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = &project_root;
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/git_branch/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/git_branch/mod.rs
index 051564566..8235a7c3c 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/git_branch/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/git_branch/mod.rs
@@ -2,12 +2,12 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
+ cargo_test_support::registry::init();
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = &project_root;
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/git_conflicts_namever/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/git_conflicts_namever/mod.rs
index f123298ae..86b268b59 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/git_conflicts_namever/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/git_conflicts_namever/mod.rs
@@ -2,12 +2,23 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
+ cargo_test_support::registry::init();
+ for ver in [
+ "0.1.1+my-package",
+ "0.2.0+my-package",
+ "0.2.3+my-package",
+ "0.4.1+my-package",
+ "20.0.0+my-package",
+ "99999.0.0+my-package",
+ "99999.0.0-alpha.1+my-package",
+ ] {
+ cargo_test_support::registry::Package::new("my-package", ver).publish();
+ }
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = &project_root;
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/git_dev/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/git_dev/mod.rs
index 9e14a4007..96be4f46e 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/git_dev/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/git_dev/mod.rs
@@ -2,12 +2,12 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
+ cargo_test_support::registry::init();
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = &project_root;
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/git_inferred_name/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/git_inferred_name/mod.rs
index 52183adf4..4a3ded8c2 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/git_inferred_name/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/git_inferred_name/mod.rs
@@ -2,12 +2,12 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
+ cargo_test_support::registry::init();
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = &project_root;
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/git_inferred_name_multiple/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/git_inferred_name_multiple/mod.rs
index a708a8ae7..a915f3472 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/git_inferred_name_multiple/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/git_inferred_name_multiple/mod.rs
@@ -2,12 +2,12 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
+ cargo_test_support::registry::init();
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = &project_root;
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/git_multiple_names/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/git_multiple_names/mod.rs
index 39eb6e626..3ffe10714 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/git_multiple_names/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/git_multiple_names/mod.rs
@@ -2,12 +2,25 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
+ cargo_test_support::registry::init();
+ for name in ["my-package1", "my-package2"] {
+ for ver in [
+ "0.1.1+my-package",
+ "0.2.0+my-package",
+ "0.2.3+my-package",
+ "0.4.1+my-package",
+ "20.0.0+my-package",
+ "99999.0.0+my-package",
+ "99999.0.0-alpha.1+my-package",
+ ] {
+ cargo_test_support::registry::Package::new(name, ver).publish();
+ }
+ }
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = &project_root;
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/git_normalized_name/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/git_normalized_name/mod.rs
index 03d861856..dbad20105 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/git_normalized_name/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/git_normalized_name/mod.rs
@@ -2,12 +2,12 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
+ cargo_test_support::registry::init();
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = &project_root;
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/git_registry/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/git_registry/mod.rs
index 6bf6f8933..e44d71470 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/git_registry/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/git_registry/mod.rs
@@ -2,12 +2,25 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_alt_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_alt_registry();
+ cargo_test_support::registry::alt_init();
+ for ver in [
+ "0.1.1+my-package",
+ "0.2.0+my-package",
+ "0.2.3+my-package",
+ "0.4.1+my-package",
+ "20.0.0+my-package",
+ "99999.0.0+my-package",
+ "99999.0.0-alpha.1+my-package",
+ ] {
+ cargo_test_support::registry::Package::new("versioned-package", ver)
+ .alternative(true)
+ .publish();
+ }
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = &project_root;
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/git_rev/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/git_rev/mod.rs
index 612607203..b8a669c7a 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/git_rev/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/git_rev/mod.rs
@@ -2,12 +2,12 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
+ cargo_test_support::registry::init();
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = &project_root;
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/git_tag/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/git_tag/mod.rs
index b355b1706..706fc9ab7 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/git_tag/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/git_tag/mod.rs
@@ -2,12 +2,12 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
+ cargo_test_support::registry::init();
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = &project_root;
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/infer_prerelease/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/infer_prerelease/mod.rs
index 94533f979..f2b49376a 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/infer_prerelease/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/infer_prerelease/mod.rs
@@ -2,12 +2,13 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
+ cargo_test_support::registry::init();
+ cargo_test_support::registry::Package::new("prerelease_only", "0.2.0-alpha.1").publish();
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = &project_root;
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/invalid_arg/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/invalid_arg/mod.rs
index 265a571bc..a4e4d268a 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/invalid_arg/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/invalid_arg/mod.rs
@@ -2,12 +2,23 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
+ cargo_test_support::registry::init();
+ for ver in [
+ "0.1.1+my-package",
+ "0.2.0+my-package",
+ "0.2.3+my-package",
+ "0.4.1+my-package",
+ "20.0.0+my-package",
+ "99999.0.0+my-package",
+ "99999.0.0-alpha.1+my-package",
+ ] {
+ cargo_test_support::registry::Package::new("my-package", ver).publish();
+ }
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = &project_root;
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/invalid_git_external/stderr.log b/src/tools/cargo/tests/testsuite/cargo_add/invalid_git_external/stderr.log
deleted file mode 100644
index 18656300b..000000000
--- a/src/tools/cargo/tests/testsuite/cargo_add/invalid_git_external/stderr.log
+++ /dev/null
@@ -1,12 +0,0 @@
- Updating git repository `[ROOTURL]/case/does-not-exist/`
-...
-error: failed to load source for dependency `fake-git`
-
-Caused by:
- Unable to update [ROOTURL]/case/does-not-exist/
-
-Caused by:
- failed to clone into: [ROOT]/home/.cargo/git/db/does-not-exist-[..]
-
-Caused by:
-...
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/invalid_git_name/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/invalid_git_name/mod.rs
index 0aff8c090..2f407105d 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/invalid_git_name/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/invalid_git_name/mod.rs
@@ -2,12 +2,12 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
+ cargo_test_support::registry::init();
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = &project_root;
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/invalid_manifest/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/invalid_manifest/mod.rs
index e385cfc3f..4a2d01765 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/invalid_manifest/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/invalid_manifest/mod.rs
@@ -2,12 +2,23 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
+ cargo_test_support::registry::init();
+ for ver in [
+ "0.1.1+my-package",
+ "0.2.0+my-package",
+ "0.2.3+my-package",
+ "0.4.1+my-package",
+ "20.0.0+my-package",
+ "99999.0.0+my-package",
+ "99999.0.0-alpha.1+my-package",
+ ] {
+ cargo_test_support::registry::Package::new("my-package", ver).publish();
+ }
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = &project_root;
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/invalid_name_external/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/invalid_name_external/mod.rs
index 16e041738..8cb9b5129 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/invalid_name_external/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/invalid_name_external/mod.rs
@@ -2,12 +2,12 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
+ cargo_test_support::registry::init();
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = &project_root;
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/invalid_path/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/invalid_path/mod.rs
index 0d26b552d..d8e6a34a6 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/invalid_path/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/invalid_path/mod.rs
@@ -2,12 +2,12 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
+ cargo_test_support::registry::init();
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = &project_root;
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/invalid_path_name/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/invalid_path_name/mod.rs
index 10d841475..aec088020 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/invalid_path_name/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/invalid_path_name/mod.rs
@@ -2,12 +2,24 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
+ cargo_test_support::registry::init();
+ for ver in [
+ "0.1.1+my-package",
+ "0.2.0+my-package",
+ "0.2.3+my-package",
+ "0.4.1+my-package",
+ "20.0.0+my-package",
+ "99999.0.0+my-package",
+ "99999.0.0-alpha.1+my-package",
+ ] {
+ cargo_test_support::registry::Package::new("cargo-list-test-fixture-dependency", ver)
+ .publish();
+ }
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = project_root.join("primary");
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/invalid_path_self/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/invalid_path_self/mod.rs
index a64190f44..4bb32531b 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/invalid_path_self/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/invalid_path_self/mod.rs
@@ -2,12 +2,12 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
+ cargo_test_support::registry::init();
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = &project_root;
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/invalid_target_empty/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/invalid_target_empty/mod.rs
index da93c4eb8..43b3a4a79 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/invalid_target_empty/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/invalid_target_empty/mod.rs
@@ -2,12 +2,23 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
+ cargo_test_support::registry::init();
+ for ver in [
+ "0.1.1+my-package",
+ "0.2.0+my-package",
+ "0.2.3+my-package",
+ "0.4.1+my-package",
+ "20.0.0+my-package",
+ "99999.0.0+my-package",
+ "99999.0.0-alpha.1+my-package",
+ ] {
+ cargo_test_support::registry::Package::new("my-package", ver).publish();
+ }
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = &project_root;
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/invalid_vers/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/invalid_vers/mod.rs
index c3b4d1f97..2ad903d1f 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/invalid_vers/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/invalid_vers/mod.rs
@@ -2,12 +2,23 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
+ cargo_test_support::registry::init();
+ for ver in [
+ "0.1.1+my-package",
+ "0.2.0+my-package",
+ "0.2.3+my-package",
+ "0.4.1+my-package",
+ "20.0.0+my-package",
+ "99999.0.0+my-package",
+ "99999.0.0-alpha.1+my-package",
+ ] {
+ cargo_test_support::registry::Package::new("my-package", ver).publish();
+ }
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = &project_root;
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/list_features/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/list_features/mod.rs
index e1e1b212f..0dbf824d0 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/list_features/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/list_features/mod.rs
@@ -2,12 +2,18 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
+ cargo_test_support::registry::init();
+ cargo_test_support::registry::Package::new("your-face", "99999.0.0+my-package")
+ .feature("nose", &[])
+ .feature("mouth", &[])
+ .feature("eyes", &[])
+ .feature("ears", &[])
+ .publish();
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = &project_root;
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/list_features_path/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/list_features_path/mod.rs
index 22733b883..e58de1c1d 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/list_features_path/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/list_features_path/mod.rs
@@ -2,12 +2,29 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
+ cargo_test_support::registry::init();
+ for ver in [
+ "0.1.1+my-package",
+ "0.2.0+my-package",
+ "0.2.3+my-package",
+ "0.4.1+my-package",
+ "20.0.0+my-package",
+ "99999.0.0+my-package",
+ "99999.0.0-alpha.1+my-package",
+ ] {
+ cargo_test_support::registry::Package::new("my-package", ver).publish();
+ }
+ cargo_test_support::registry::Package::new("your-face", "99999.0.0+my-package")
+ .feature("nose", &[])
+ .feature("mouth", &[])
+ .feature("eyes", &[])
+ .feature("ears", &[])
+ .publish();
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = project_root.join("primary");
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/list_features_path_no_default/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/list_features_path_no_default/mod.rs
index f520b2aca..0aa20873e 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/list_features_path_no_default/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/list_features_path_no_default/mod.rs
@@ -2,12 +2,29 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
+ cargo_test_support::registry::init();
+ for ver in [
+ "0.1.1+my-package",
+ "0.2.0+my-package",
+ "0.2.3+my-package",
+ "0.4.1+my-package",
+ "20.0.0+my-package",
+ "99999.0.0+my-package",
+ "99999.0.0-alpha.1+my-package",
+ ] {
+ cargo_test_support::registry::Package::new("my-package", ver).publish();
+ }
+ cargo_test_support::registry::Package::new("your-face", "99999.0.0+my-package")
+ .feature("nose", &[])
+ .feature("mouth", &[])
+ .feature("eyes", &[])
+ .feature("ears", &[])
+ .publish();
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = project_root.join("primary");
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/locked_changed/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/locked_changed/mod.rs
index 9e3e57fe5..5de047f57 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/locked_changed/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/locked_changed/mod.rs
@@ -2,12 +2,23 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
+ cargo_test_support::registry::init();
+ for ver in [
+ "0.1.1+my-package",
+ "0.2.0+my-package",
+ "0.2.3+my-package",
+ "0.4.1+my-package",
+ "20.0.0+my-package",
+ "99999.0.0+my-package",
+ "99999.0.0-alpha.1+my-package",
+ ] {
+ cargo_test_support::registry::Package::new("my-package", ver).publish();
+ }
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = &project_root;
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/locked_unchanged/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/locked_unchanged/mod.rs
index aba9918f7..613d8c863 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/locked_unchanged/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/locked_unchanged/mod.rs
@@ -2,12 +2,23 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
+ cargo_test_support::registry::init();
+ for ver in [
+ "0.1.1+my-package",
+ "0.2.0+my-package",
+ "0.2.3+my-package",
+ "0.4.1+my-package",
+ "20.0.0+my-package",
+ "99999.0.0+my-package",
+ "99999.0.0-alpha.1+my-package",
+ ] {
+ cargo_test_support::registry::Package::new("my-package", ver).publish();
+ }
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = &project_root;
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/lockfile_updated/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/lockfile_updated/mod.rs
index 33889dffa..4e99a18ef 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/lockfile_updated/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/lockfile_updated/mod.rs
@@ -2,12 +2,25 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
+ cargo_test_support::registry::init();
+ for name in ["my-package", "unrelateed-crate"] {
+ for ver in [
+ "0.1.1+my-package",
+ "0.2.0+my-package",
+ "0.2.3+my-package",
+ "0.4.1+my-package",
+ "20.0.0+my-package",
+ "99999.0.0+my-package",
+ "99999.0.0-alpha.1+my-package",
+ ] {
+ cargo_test_support::registry::Package::new(name, ver).publish();
+ }
+ }
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = &project_root;
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/manifest_path_package/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/manifest_path_package/mod.rs
index 008c2d33d..768cdb3a3 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/manifest_path_package/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/manifest_path_package/mod.rs
@@ -2,12 +2,24 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
+ cargo_test_support::registry::init();
+ for ver in [
+ "0.1.1+my-package",
+ "0.2.0+my-package",
+ "0.2.3+my-package",
+ "0.4.1+my-package",
+ "20.0.0+my-package",
+ "99999.0.0+my-package",
+ "99999.0.0-alpha.1+my-package",
+ ] {
+ cargo_test_support::registry::Package::new("cargo-list-test-fixture-dependency", ver)
+ .publish();
+ }
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = &project_root;
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/mod.rs
index cd7e94e09..be7a1546b 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/mod.rs
@@ -1,6 +1,7 @@
mod add_basic;
mod add_multiple;
mod add_normalized_name_external;
+mod add_toolchain;
mod build;
mod build_prefer_existing_version;
mod change_rename_target;
@@ -36,7 +37,6 @@ mod git_rev;
mod git_tag;
mod infer_prerelease;
mod invalid_arg;
-mod invalid_git_external;
mod invalid_git_name;
mod invalid_key_inherit_dependency;
mod invalid_key_overwrite_inherit_dependency;
@@ -96,6 +96,7 @@ mod path_dev;
mod path_inferred_name;
mod path_inferred_name_conflicts_full_feature;
mod path_normalized_name;
+mod preserve_features_table;
mod preserve_sorted;
mod preserve_unsorted;
mod quiet;
@@ -114,95 +115,3 @@ mod vers;
mod workspace_name;
mod workspace_path;
mod workspace_path_dev;
-
-fn init_registry() {
- cargo_test_support::registry::init();
- add_registry_packages(false);
-}
-
-fn init_alt_registry() {
- cargo_test_support::registry::alt_init();
- add_registry_packages(true);
-}
-
-fn add_registry_packages(alt: bool) {
- for name in [
- "my-package",
- "my-package1",
- "my-package2",
- "my-dev-package1",
- "my-dev-package2",
- "my-build-package1",
- "my-build-package2",
- "toml",
- "versioned-package",
- "cargo-list-test-fixture-dependency",
- "unrelateed-crate",
- ] {
- cargo_test_support::registry::Package::new(name, "0.1.1+my-package")
- .alternative(alt)
- .publish();
- cargo_test_support::registry::Package::new(name, "0.2.0+my-package")
- .alternative(alt)
- .publish();
- cargo_test_support::registry::Package::new(name, "0.2.3+my-package")
- .alternative(alt)
- .publish();
- cargo_test_support::registry::Package::new(name, "0.4.1+my-package")
- .alternative(alt)
- .publish();
- cargo_test_support::registry::Package::new(name, "20.0.0+my-package")
- .alternative(alt)
- .publish();
- cargo_test_support::registry::Package::new(name, "99999.0.0+my-package")
- .alternative(alt)
- .publish();
- cargo_test_support::registry::Package::new(name, "99999.0.0-alpha.1+my-package")
- .alternative(alt)
- .publish();
- }
-
- cargo_test_support::registry::Package::new("prerelease_only", "0.2.0-alpha.1")
- .alternative(alt)
- .publish();
- cargo_test_support::registry::Package::new("test_breaking", "0.2.0")
- .alternative(alt)
- .publish();
- cargo_test_support::registry::Package::new("test_nonbreaking", "0.1.1")
- .alternative(alt)
- .publish();
- cargo_test_support::registry::Package::new("test_cyclic_features", "0.1.1")
- .alternative(alt)
- .feature("default", &["feature-one", "feature-two"])
- .feature("feature-one", &["feature-two"])
- .feature("feature-two", &["feature-one"])
- .publish();
-
- // Normalization
- cargo_test_support::registry::Package::new("linked-hash-map", "0.5.4")
- .alternative(alt)
- .feature("clippy", &[])
- .feature("heapsize", &[])
- .feature("heapsize_impl", &[])
- .feature("nightly", &[])
- .feature("serde", &[])
- .feature("serde_impl", &[])
- .feature("serde_test", &[])
- .publish();
- cargo_test_support::registry::Package::new("inflector", "0.11.4")
- .alternative(alt)
- .feature("default", &["heavyweight", "lazy_static", "regex"])
- .feature("heavyweight", &[])
- .feature("lazy_static", &[])
- .feature("regex", &[])
- .feature("unstable", &[])
- .publish();
-
- cargo_test_support::registry::Package::new("your-face", "99999.0.0+my-package")
- .alternative(alt)
- .feature("nose", &[])
- .feature("mouth", &[])
- .feature("eyes", &[])
- .feature("ears", &[])
- .publish();
-}
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/multiple_conflicts_with_features/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/multiple_conflicts_with_features/mod.rs
index 10f824484..3cdad0e72 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/multiple_conflicts_with_features/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/multiple_conflicts_with_features/mod.rs
@@ -2,12 +2,29 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
+ cargo_test_support::registry::init();
+ for ver in [
+ "0.1.1+my-package",
+ "0.2.0+my-package",
+ "0.2.3+my-package",
+ "0.4.1+my-package",
+ "20.0.0+my-package",
+ "99999.0.0+my-package",
+ "99999.0.0-alpha.1+my-package",
+ ] {
+ cargo_test_support::registry::Package::new("my-package1", ver).publish();
+ }
+ cargo_test_support::registry::Package::new("your-face", "99999.0.0+my-package")
+ .feature("nose", &[])
+ .feature("mouth", &[])
+ .feature("eyes", &[])
+ .feature("ears", &[])
+ .publish();
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = &project_root;
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/multiple_conflicts_with_rename/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/multiple_conflicts_with_rename/mod.rs
index 293ed3eea..9a94dcffa 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/multiple_conflicts_with_rename/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/multiple_conflicts_with_rename/mod.rs
@@ -2,12 +2,25 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
+ cargo_test_support::registry::init();
+ for name in ["my-package1", "my-package2"] {
+ for ver in [
+ "0.1.1+my-package",
+ "0.2.0+my-package",
+ "0.2.3+my-package",
+ "0.4.1+my-package",
+ "20.0.0+my-package",
+ "99999.0.0+my-package",
+ "99999.0.0-alpha.1+my-package",
+ ] {
+ cargo_test_support::registry::Package::new(name, ver).publish();
+ }
+ }
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = &project_root;
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/namever/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/namever/mod.rs
index 90fda1a9f..063072c79 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/namever/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/namever/mod.rs
@@ -2,12 +2,25 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
+ cargo_test_support::registry::init();
+ for name in ["my-package", "my-package1", "my-package2"] {
+ for ver in [
+ "0.1.1+my-package",
+ "0.2.0+my-package",
+ "0.2.3+my-package",
+ "0.4.1+my-package",
+ "20.0.0+my-package",
+ "99999.0.0+my-package",
+ "99999.0.0-alpha.1+my-package",
+ ] {
+ cargo_test_support::registry::Package::new(name, ver).publish();
+ }
+ }
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = &project_root;
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/no_args/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/no_args/mod.rs
index 7eca17b56..aca1e5422 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/no_args/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/no_args/mod.rs
@@ -2,12 +2,12 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
+ cargo_test_support::registry::init();
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = &project_root;
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/no_default_features/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/no_default_features/mod.rs
index e72ca3be2..8a5d41c8d 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/no_default_features/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/no_default_features/mod.rs
@@ -2,12 +2,25 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
+ cargo_test_support::registry::init();
+ for name in ["my-package1", "my-package2"] {
+ for ver in [
+ "0.1.1+my-package",
+ "0.2.0+my-package",
+ "0.2.3+my-package",
+ "0.4.1+my-package",
+ "20.0.0+my-package",
+ "99999.0.0+my-package",
+ "99999.0.0-alpha.1+my-package",
+ ] {
+ cargo_test_support::registry::Package::new(name, ver).publish();
+ }
+ }
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = &project_root;
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/no_optional/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/no_optional/mod.rs
index fdb983b21..9145528bf 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/no_optional/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/no_optional/mod.rs
@@ -2,12 +2,25 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
+ cargo_test_support::registry::init();
+ for name in ["my-package1", "my-package2"] {
+ for ver in [
+ "0.1.1+my-package",
+ "0.2.0+my-package",
+ "0.2.3+my-package",
+ "0.4.1+my-package",
+ "20.0.0+my-package",
+ "99999.0.0+my-package",
+ "99999.0.0-alpha.1+my-package",
+ ] {
+ cargo_test_support::registry::Package::new(name, ver).publish();
+ }
+ }
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = &project_root;
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/offline_empty_cache/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/offline_empty_cache/mod.rs
index ae7485979..055b6a8a2 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/offline_empty_cache/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/offline_empty_cache/mod.rs
@@ -2,12 +2,23 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
+ cargo_test_support::registry::init();
+ for ver in [
+ "0.1.1+my-package",
+ "0.2.0+my-package",
+ "0.2.3+my-package",
+ "0.4.1+my-package",
+ "20.0.0+my-package",
+ "99999.0.0+my-package",
+ "99999.0.0-alpha.1+my-package",
+ ] {
+ cargo_test_support::registry::Package::new("my-package", ver).publish();
+ }
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = &project_root;
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/optional/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/optional/mod.rs
index 94d1cbf34..408a46ed3 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/optional/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/optional/mod.rs
@@ -2,12 +2,25 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
+ cargo_test_support::registry::init();
+ for name in ["my-package1", "my-package2"] {
+ for ver in [
+ "0.1.1+my-package",
+ "0.2.0+my-package",
+ "0.2.3+my-package",
+ "0.4.1+my-package",
+ "20.0.0+my-package",
+ "99999.0.0+my-package",
+ "99999.0.0-alpha.1+my-package",
+ ] {
+ cargo_test_support::registry::Package::new(name, ver).publish();
+ }
+ }
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = &project_root;
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/overwrite_default_features/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/overwrite_default_features/mod.rs
index 88bdd8065..9d313b9d9 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/overwrite_default_features/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/overwrite_default_features/mod.rs
@@ -2,12 +2,25 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
+ cargo_test_support::registry::init();
+ for name in ["my-package1", "my-package2"] {
+ for ver in [
+ "0.1.1+my-package",
+ "0.2.0+my-package",
+ "0.2.3+my-package",
+ "0.4.1+my-package",
+ "20.0.0+my-package",
+ "99999.0.0+my-package",
+ "99999.0.0-alpha.1+my-package",
+ ] {
+ cargo_test_support::registry::Package::new(name, ver).publish();
+ }
+ }
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = &project_root;
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/overwrite_default_features_with_no_default_features/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/overwrite_default_features_with_no_default_features/mod.rs
index e72ca3be2..8a5d41c8d 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/overwrite_default_features_with_no_default_features/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/overwrite_default_features_with_no_default_features/mod.rs
@@ -2,12 +2,25 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
+ cargo_test_support::registry::init();
+ for name in ["my-package1", "my-package2"] {
+ for ver in [
+ "0.1.1+my-package",
+ "0.2.0+my-package",
+ "0.2.3+my-package",
+ "0.4.1+my-package",
+ "20.0.0+my-package",
+ "99999.0.0+my-package",
+ "99999.0.0-alpha.1+my-package",
+ ] {
+ cargo_test_support::registry::Package::new(name, ver).publish();
+ }
+ }
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = &project_root;
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/overwrite_features/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/overwrite_features/mod.rs
index 0b2ab18b8..da55fced2 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/overwrite_features/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/overwrite_features/mod.rs
@@ -2,12 +2,18 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
+ cargo_test_support::registry::init();
+ cargo_test_support::registry::Package::new("your-face", "99999.0.0+my-package")
+ .feature("nose", &[])
+ .feature("mouth", &[])
+ .feature("eyes", &[])
+ .feature("ears", &[])
+ .publish();
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = &project_root;
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/overwrite_git_with_path/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/overwrite_git_with_path/mod.rs
index ab89e3a6d..fd63cc709 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/overwrite_git_with_path/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/overwrite_git_with_path/mod.rs
@@ -2,12 +2,24 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
+ cargo_test_support::registry::init();
+ for ver in [
+ "0.1.1+my-package",
+ "0.2.0+my-package",
+ "0.2.3+my-package",
+ "0.4.1+my-package",
+ "20.0.0+my-package",
+ "99999.0.0+my-package",
+ "99999.0.0-alpha.1+my-package",
+ ] {
+ cargo_test_support::registry::Package::new("cargo-list-test-fixture-dependency", ver)
+ .publish();
+ }
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = project_root.join("primary");
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/overwrite_inherit_features_noop/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/overwrite_inherit_features_noop/mod.rs
index 161783282..2b9550ce0 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/overwrite_inherit_features_noop/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/overwrite_inherit_features_noop/mod.rs
@@ -6,6 +6,8 @@ use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
+ cargo_test_support::registry::init();
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = &project_root;
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/overwrite_inherit_noop/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/overwrite_inherit_noop/mod.rs
index 065fb4f93..2b9550ce0 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/overwrite_inherit_noop/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/overwrite_inherit_noop/mod.rs
@@ -2,12 +2,12 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
+ cargo_test_support::registry::init();
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = &project_root;
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/overwrite_inherit_optional_noop/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/overwrite_inherit_optional_noop/mod.rs
index 065fb4f93..2b9550ce0 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/overwrite_inherit_optional_noop/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/overwrite_inherit_optional_noop/mod.rs
@@ -2,12 +2,12 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
+ cargo_test_support::registry::init();
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = &project_root;
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/overwrite_inline_features/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/overwrite_inline_features/mod.rs
index 356b4d788..52ad6968a 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/overwrite_inline_features/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/overwrite_inline_features/mod.rs
@@ -2,12 +2,29 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
+ cargo_test_support::registry::init();
+ for ver in [
+ "0.1.1+my-package",
+ "0.2.0+my-package",
+ "0.2.3+my-package",
+ "0.4.1+my-package",
+ "20.0.0+my-package",
+ "99999.0.0+my-package",
+ "99999.0.0-alpha.1+my-package",
+ ] {
+ cargo_test_support::registry::Package::new("unrelateed-crate", ver).publish();
+ }
+ cargo_test_support::registry::Package::new("your-face", "99999.0.0+my-package")
+ .feature("nose", &[])
+ .feature("mouth", &[])
+ .feature("eyes", &[])
+ .feature("ears", &[])
+ .publish();
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = &project_root;
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/overwrite_name_dev_noop/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/overwrite_name_dev_noop/mod.rs
index b418c7809..ea37368d5 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/overwrite_name_dev_noop/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/overwrite_name_dev_noop/mod.rs
@@ -2,12 +2,19 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_alt_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_alt_registry();
+ cargo_test_support::registry::alt_init();
+ cargo_test_support::registry::Package::new("your-face", "99999.0.0+my-package")
+ .alternative(true)
+ .feature("nose", &[])
+ .feature("mouth", &[])
+ .feature("eyes", &[])
+ .feature("ears", &[])
+ .publish();
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = &project_root;
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/overwrite_name_noop/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/overwrite_name_noop/mod.rs
index 193c5880b..120be4429 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/overwrite_name_noop/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/overwrite_name_noop/mod.rs
@@ -2,12 +2,19 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_alt_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_alt_registry();
+ cargo_test_support::registry::alt_init();
+ cargo_test_support::registry::Package::new("your-face", "99999.0.0+my-package")
+ .alternative(true)
+ .feature("nose", &[])
+ .feature("mouth", &[])
+ .feature("eyes", &[])
+ .feature("ears", &[])
+ .publish();
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = &project_root;
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/overwrite_no_default_features/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/overwrite_no_default_features/mod.rs
index e72ca3be2..8a5d41c8d 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/overwrite_no_default_features/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/overwrite_no_default_features/mod.rs
@@ -2,12 +2,25 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
+ cargo_test_support::registry::init();
+ for name in ["my-package1", "my-package2"] {
+ for ver in [
+ "0.1.1+my-package",
+ "0.2.0+my-package",
+ "0.2.3+my-package",
+ "0.4.1+my-package",
+ "20.0.0+my-package",
+ "99999.0.0+my-package",
+ "99999.0.0-alpha.1+my-package",
+ ] {
+ cargo_test_support::registry::Package::new(name, ver).publish();
+ }
+ }
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = &project_root;
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/overwrite_no_default_features_with_default_features/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/overwrite_no_default_features_with_default_features/mod.rs
index 88bdd8065..9d313b9d9 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/overwrite_no_default_features_with_default_features/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/overwrite_no_default_features_with_default_features/mod.rs
@@ -2,12 +2,25 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
+ cargo_test_support::registry::init();
+ for name in ["my-package1", "my-package2"] {
+ for ver in [
+ "0.1.1+my-package",
+ "0.2.0+my-package",
+ "0.2.3+my-package",
+ "0.4.1+my-package",
+ "20.0.0+my-package",
+ "99999.0.0+my-package",
+ "99999.0.0-alpha.1+my-package",
+ ] {
+ cargo_test_support::registry::Package::new(name, ver).publish();
+ }
+ }
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = &project_root;
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/overwrite_no_optional/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/overwrite_no_optional/mod.rs
index fdb983b21..9145528bf 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/overwrite_no_optional/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/overwrite_no_optional/mod.rs
@@ -2,12 +2,25 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
+ cargo_test_support::registry::init();
+ for name in ["my-package1", "my-package2"] {
+ for ver in [
+ "0.1.1+my-package",
+ "0.2.0+my-package",
+ "0.2.3+my-package",
+ "0.4.1+my-package",
+ "20.0.0+my-package",
+ "99999.0.0+my-package",
+ "99999.0.0-alpha.1+my-package",
+ ] {
+ cargo_test_support::registry::Package::new(name, ver).publish();
+ }
+ }
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = &project_root;
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/overwrite_no_optional_with_optional/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/overwrite_no_optional_with_optional/mod.rs
index 94d1cbf34..408a46ed3 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/overwrite_no_optional_with_optional/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/overwrite_no_optional_with_optional/mod.rs
@@ -2,12 +2,25 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
+ cargo_test_support::registry::init();
+ for name in ["my-package1", "my-package2"] {
+ for ver in [
+ "0.1.1+my-package",
+ "0.2.0+my-package",
+ "0.2.3+my-package",
+ "0.4.1+my-package",
+ "20.0.0+my-package",
+ "99999.0.0+my-package",
+ "99999.0.0-alpha.1+my-package",
+ ] {
+ cargo_test_support::registry::Package::new(name, ver).publish();
+ }
+ }
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = &project_root;
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/overwrite_optional/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/overwrite_optional/mod.rs
index 94d1cbf34..408a46ed3 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/overwrite_optional/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/overwrite_optional/mod.rs
@@ -2,12 +2,25 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
+ cargo_test_support::registry::init();
+ for name in ["my-package1", "my-package2"] {
+ for ver in [
+ "0.1.1+my-package",
+ "0.2.0+my-package",
+ "0.2.3+my-package",
+ "0.4.1+my-package",
+ "20.0.0+my-package",
+ "99999.0.0+my-package",
+ "99999.0.0-alpha.1+my-package",
+ ] {
+ cargo_test_support::registry::Package::new(name, ver).publish();
+ }
+ }
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = &project_root;
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/overwrite_optional_with_no_optional/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/overwrite_optional_with_no_optional/mod.rs
index c34c293f9..3090a7527 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/overwrite_optional_with_no_optional/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/overwrite_optional_with_no_optional/mod.rs
@@ -2,12 +2,29 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
+ cargo_test_support::registry::init();
+ for ver in [
+ "0.1.1+my-package",
+ "0.2.0+my-package",
+ "0.2.3+my-package",
+ "0.4.1+my-package",
+ "20.0.0+my-package",
+ "99999.0.0+my-package",
+ "99999.0.0-alpha.1+my-package",
+ ] {
+ cargo_test_support::registry::Package::new("my-package2", ver).publish();
+ }
+ cargo_test_support::registry::Package::new("your-face", "99999.0.0+my-package")
+ .feature("nose", &[])
+ .feature("mouth", &[])
+ .feature("eyes", &[])
+ .feature("ears", &[])
+ .publish();
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = &project_root;
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/overwrite_path_noop/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/overwrite_path_noop/mod.rs
index f04405a34..fc057d852 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/overwrite_path_noop/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/overwrite_path_noop/mod.rs
@@ -2,12 +2,19 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_alt_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_alt_registry();
+ cargo_test_support::registry::alt_init();
+ cargo_test_support::registry::Package::new("your-face", "99999.0.0+my-package")
+ .alternative(true)
+ .feature("nose", &[])
+ .feature("mouth", &[])
+ .feature("eyes", &[])
+ .feature("ears", &[])
+ .publish();
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = &project_root;
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/overwrite_path_with_version/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/overwrite_path_with_version/mod.rs
index 32674e23d..bb93cfa15 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/overwrite_path_with_version/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/overwrite_path_with_version/mod.rs
@@ -2,12 +2,24 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
+ cargo_test_support::registry::init();
+ for ver in [
+ "0.1.1+my-package",
+ "0.2.0+my-package",
+ "0.2.3+my-package",
+ "0.4.1+my-package",
+ "20.0.0+my-package",
+ "99999.0.0+my-package",
+ "99999.0.0-alpha.1+my-package",
+ ] {
+ cargo_test_support::registry::Package::new("cargo-list-test-fixture-dependency", ver)
+ .publish();
+ }
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = project_root.join("primary");
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/overwrite_preserves_inline_table/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/overwrite_preserves_inline_table/mod.rs
index 0b2ab18b8..da55fced2 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/overwrite_preserves_inline_table/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/overwrite_preserves_inline_table/mod.rs
@@ -2,12 +2,18 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
+ cargo_test_support::registry::init();
+ cargo_test_support::registry::Package::new("your-face", "99999.0.0+my-package")
+ .feature("nose", &[])
+ .feature("mouth", &[])
+ .feature("eyes", &[])
+ .feature("ears", &[])
+ .publish();
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = &project_root;
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/overwrite_rename_with_no_rename/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/overwrite_rename_with_no_rename/mod.rs
index a006c95fd..ea49a07c1 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/overwrite_rename_with_no_rename/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/overwrite_rename_with_no_rename/mod.rs
@@ -2,12 +2,23 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
+ cargo_test_support::registry::init();
+ for ver in [
+ "0.1.1+my-package",
+ "0.2.0+my-package",
+ "0.2.3+my-package",
+ "0.4.1+my-package",
+ "20.0.0+my-package",
+ "99999.0.0+my-package",
+ "99999.0.0-alpha.1+my-package",
+ ] {
+ cargo_test_support::registry::Package::new("versioned-package", ver).publish();
+ }
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = &project_root;
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/overwrite_rename_with_rename/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/overwrite_rename_with_rename/mod.rs
index e14282bc1..af96caef5 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/overwrite_rename_with_rename/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/overwrite_rename_with_rename/mod.rs
@@ -2,12 +2,23 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
+ cargo_test_support::registry::init();
+ for ver in [
+ "0.1.1+my-package",
+ "0.2.0+my-package",
+ "0.2.3+my-package",
+ "0.4.1+my-package",
+ "20.0.0+my-package",
+ "99999.0.0+my-package",
+ "99999.0.0-alpha.1+my-package",
+ ] {
+ cargo_test_support::registry::Package::new("versioned-package", ver).publish();
+ }
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = &project_root;
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/overwrite_rename_with_rename_noop/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/overwrite_rename_with_rename_noop/mod.rs
index c0ca2e552..734d0b99a 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/overwrite_rename_with_rename_noop/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/overwrite_rename_with_rename_noop/mod.rs
@@ -2,12 +2,23 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
+ cargo_test_support::registry::init();
+ for ver in [
+ "0.1.1+my-package",
+ "0.2.0+my-package",
+ "0.2.3+my-package",
+ "0.4.1+my-package",
+ "20.0.0+my-package",
+ "99999.0.0+my-package",
+ "99999.0.0-alpha.1+my-package",
+ ] {
+ cargo_test_support::registry::Package::new("versioned-package", ver).publish();
+ }
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = &project_root;
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/overwrite_version_with_git/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/overwrite_version_with_git/mod.rs
index ce7a0acb0..fcf0aa5e6 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/overwrite_version_with_git/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/overwrite_version_with_git/mod.rs
@@ -2,12 +2,23 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
+ cargo_test_support::registry::init();
+ for ver in [
+ "0.1.1+my-package",
+ "0.2.0+my-package",
+ "0.2.3+my-package",
+ "0.4.1+my-package",
+ "20.0.0+my-package",
+ "99999.0.0+my-package",
+ "99999.0.0-alpha.1+my-package",
+ ] {
+ cargo_test_support::registry::Package::new("versioned-package", ver).publish();
+ }
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = &project_root;
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/overwrite_version_with_path/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/overwrite_version_with_path/mod.rs
index ab89e3a6d..fd63cc709 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/overwrite_version_with_path/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/overwrite_version_with_path/mod.rs
@@ -2,12 +2,24 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
+ cargo_test_support::registry::init();
+ for ver in [
+ "0.1.1+my-package",
+ "0.2.0+my-package",
+ "0.2.3+my-package",
+ "0.4.1+my-package",
+ "20.0.0+my-package",
+ "99999.0.0+my-package",
+ "99999.0.0-alpha.1+my-package",
+ ] {
+ cargo_test_support::registry::Package::new("cargo-list-test-fixture-dependency", ver)
+ .publish();
+ }
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = project_root.join("primary");
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/overwrite_with_rename/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/overwrite_with_rename/mod.rs
index 05cc2d109..49a0ae0eb 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/overwrite_with_rename/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/overwrite_with_rename/mod.rs
@@ -2,12 +2,23 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
+ cargo_test_support::registry::init();
+ for ver in [
+ "0.1.1+my-package",
+ "0.2.0+my-package",
+ "0.2.3+my-package",
+ "0.4.1+my-package",
+ "20.0.0+my-package",
+ "99999.0.0+my-package",
+ "99999.0.0-alpha.1+my-package",
+ ] {
+ cargo_test_support::registry::Package::new("versioned-package", ver).publish();
+ }
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = &project_root;
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/overwrite_workspace_dep/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/overwrite_workspace_dep/mod.rs
index 87ed58f7f..15cfa571c 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/overwrite_workspace_dep/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/overwrite_workspace_dep/mod.rs
@@ -2,12 +2,12 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
+ cargo_test_support::registry::init();
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = &project_root;
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/overwrite_workspace_dep_features/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/overwrite_workspace_dep_features/mod.rs
index 87ed58f7f..15cfa571c 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/overwrite_workspace_dep_features/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/overwrite_workspace_dep_features/mod.rs
@@ -2,12 +2,12 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
+ cargo_test_support::registry::init();
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = &project_root;
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/path/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/path/mod.rs
index ab89e3a6d..fd63cc709 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/path/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/path/mod.rs
@@ -2,12 +2,24 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
+ cargo_test_support::registry::init();
+ for ver in [
+ "0.1.1+my-package",
+ "0.2.0+my-package",
+ "0.2.3+my-package",
+ "0.4.1+my-package",
+ "20.0.0+my-package",
+ "99999.0.0+my-package",
+ "99999.0.0-alpha.1+my-package",
+ ] {
+ cargo_test_support::registry::Package::new("cargo-list-test-fixture-dependency", ver)
+ .publish();
+ }
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = project_root.join("primary");
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/path_dev/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/path_dev/mod.rs
index 4ae04c70a..478e602a2 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/path_dev/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/path_dev/mod.rs
@@ -2,12 +2,24 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
+ cargo_test_support::registry::init();
+ for ver in [
+ "0.1.1+my-package",
+ "0.2.0+my-package",
+ "0.2.3+my-package",
+ "0.4.1+my-package",
+ "20.0.0+my-package",
+ "99999.0.0+my-package",
+ "99999.0.0-alpha.1+my-package",
+ ] {
+ cargo_test_support::registry::Package::new("cargo-list-test-fixture-dependency", ver)
+ .publish();
+ }
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = project_root.join("primary");
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/path_inferred_name/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/path_inferred_name/mod.rs
index ab89e3a6d..fd63cc709 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/path_inferred_name/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/path_inferred_name/mod.rs
@@ -2,12 +2,24 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
+ cargo_test_support::registry::init();
+ for ver in [
+ "0.1.1+my-package",
+ "0.2.0+my-package",
+ "0.2.3+my-package",
+ "0.4.1+my-package",
+ "20.0.0+my-package",
+ "99999.0.0+my-package",
+ "99999.0.0-alpha.1+my-package",
+ ] {
+ cargo_test_support::registry::Package::new("cargo-list-test-fixture-dependency", ver)
+ .publish();
+ }
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = project_root.join("primary");
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/path_inferred_name_conflicts_full_feature/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/path_inferred_name_conflicts_full_feature/mod.rs
index eadd096aa..17c328ea6 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/path_inferred_name_conflicts_full_feature/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/path_inferred_name_conflicts_full_feature/mod.rs
@@ -2,12 +2,12 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
+ cargo_test_support::registry::init();
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = project_root.join("primary");
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/path_normalized_name/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/path_normalized_name/mod.rs
index 754f2783f..8ae8a4e7d 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/path_normalized_name/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/path_normalized_name/mod.rs
@@ -2,12 +2,24 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
+ cargo_test_support::registry::init();
+ for ver in [
+ "0.1.1+my-package",
+ "0.2.0+my-package",
+ "0.2.3+my-package",
+ "0.4.1+my-package",
+ "20.0.0+my-package",
+ "99999.0.0+my-package",
+ "99999.0.0-alpha.1+my-package",
+ ] {
+ cargo_test_support::registry::Package::new("cargo-list-test-fixture-dependency", ver)
+ .publish();
+ }
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = project_root.join("primary");
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/preserve_features_table/in/Cargo.toml b/src/tools/cargo/tests/testsuite/cargo_add/preserve_features_table/in/Cargo.toml
new file mode 100644
index 000000000..d32f5eb82
--- /dev/null
+++ b/src/tools/cargo/tests/testsuite/cargo_add/preserve_features_table/in/Cargo.toml
@@ -0,0 +1,21 @@
+[package]
+name = "xxx"
+version = "0.1.0"
+edition = "2021"
+
+# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
+
+[dependencies]
+your-face = { version = "99999.0.0", optional = true }
+
+[features]
+default = [
+ "a",
+ "b",
+ "c",
+]
+a = [
+ "your-face?/nose", # but not the mouth and nose
+]
+b = []
+c = []
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/preserve_features_table/in/src/lib.rs b/src/tools/cargo/tests/testsuite/cargo_add/preserve_features_table/in/src/lib.rs
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/src/tools/cargo/tests/testsuite/cargo_add/preserve_features_table/in/src/lib.rs
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/preserve_features_table/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/preserve_features_table/mod.rs
new file mode 100644
index 000000000..1998fa742
--- /dev/null
+++ b/src/tools/cargo/tests/testsuite/cargo_add/preserve_features_table/mod.rs
@@ -0,0 +1,31 @@
+use cargo_test_support::compare::assert_ui;
+use cargo_test_support::prelude::*;
+use cargo_test_support::Project;
+
+use cargo_test_support::curr_dir;
+
+#[cargo_test]
+fn case() {
+ cargo_test_support::registry::init();
+ cargo_test_support::registry::Package::new("your-face", "99999.0.0+my-package")
+ .feature("nose", &[])
+ .feature("mouth", &[])
+ .feature("eyes", &[])
+ .feature("ears", &[])
+ .publish();
+
+ let project = Project::from_template(curr_dir!().join("in"));
+ let project_root = project.root();
+ let cwd = &project_root;
+
+ snapbox::cmd::Command::cargo_ui()
+ .arg("add")
+ .arg_line("your-face --no-optional")
+ .current_dir(cwd)
+ .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"), &project_root);
+}
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/preserve_features_table/out/Cargo.toml b/src/tools/cargo/tests/testsuite/cargo_add/preserve_features_table/out/Cargo.toml
new file mode 100644
index 000000000..39acd1016
--- /dev/null
+++ b/src/tools/cargo/tests/testsuite/cargo_add/preserve_features_table/out/Cargo.toml
@@ -0,0 +1,21 @@
+[package]
+name = "xxx"
+version = "0.1.0"
+edition = "2021"
+
+# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
+
+[dependencies]
+your-face = { version = "99999.0.0" }
+
+[features]
+default = [
+ "a",
+ "b",
+ "c",
+]
+a = [
+ "your-face/nose", # but not the mouth and nose
+]
+b = []
+c = []
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/preserve_features_table/stderr.log b/src/tools/cargo/tests/testsuite/cargo_add/preserve_features_table/stderr.log
new file mode 100644
index 000000000..796b9601b
--- /dev/null
+++ b/src/tools/cargo/tests/testsuite/cargo_add/preserve_features_table/stderr.log
@@ -0,0 +1,7 @@
+ Updating `dummy-registry` index
+ Adding your-face v99999.0.0 to dependencies.
+ Features:
+ - ears
+ - eyes
+ - mouth
+ - nose
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/preserve_features_table/stdout.log b/src/tools/cargo/tests/testsuite/cargo_add/preserve_features_table/stdout.log
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/src/tools/cargo/tests/testsuite/cargo_add/preserve_features_table/stdout.log
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/preserve_sorted/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/preserve_sorted/mod.rs
index 4dfb06ed1..aef0d3d2f 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/preserve_sorted/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/preserve_sorted/mod.rs
@@ -2,12 +2,25 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
+ cargo_test_support::registry::init();
+ for name in ["my-package", "versioned-package", "toml"] {
+ for ver in [
+ "0.1.1+my-package",
+ "0.2.0+my-package",
+ "0.2.3+my-package",
+ "0.4.1+my-package",
+ "20.0.0+my-package",
+ "99999.0.0+my-package",
+ "99999.0.0-alpha.1+my-package",
+ ] {
+ cargo_test_support::registry::Package::new(name, ver).publish();
+ }
+ }
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = &project_root;
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/preserve_unsorted/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/preserve_unsorted/mod.rs
index 4dfb06ed1..aef0d3d2f 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/preserve_unsorted/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/preserve_unsorted/mod.rs
@@ -2,12 +2,25 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
+ cargo_test_support::registry::init();
+ for name in ["my-package", "versioned-package", "toml"] {
+ for ver in [
+ "0.1.1+my-package",
+ "0.2.0+my-package",
+ "0.2.3+my-package",
+ "0.4.1+my-package",
+ "20.0.0+my-package",
+ "99999.0.0+my-package",
+ "99999.0.0-alpha.1+my-package",
+ ] {
+ cargo_test_support::registry::Package::new(name, ver).publish();
+ }
+ }
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = &project_root;
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/quiet/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/quiet/mod.rs
index 357843901..1a02b0802 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/quiet/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/quiet/mod.rs
@@ -2,12 +2,18 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
+ cargo_test_support::registry::init();
+ cargo_test_support::registry::Package::new("your-face", "99999.0.0+my-package")
+ .feature("nose", &[])
+ .feature("mouth", &[])
+ .feature("eyes", &[])
+ .feature("ears", &[])
+ .publish();
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = &project_root;
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/registry/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/registry/mod.rs
index d5ba9ef28..d0d937815 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/registry/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/registry/mod.rs
@@ -2,12 +2,27 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_alt_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_alt_registry();
+ cargo_test_support::registry::alt_init();
+ for name in ["my-package1", "my-package2"] {
+ for ver in [
+ "0.1.1+my-package",
+ "0.2.0+my-package",
+ "0.2.3+my-package",
+ "0.4.1+my-package",
+ "20.0.0+my-package",
+ "99999.0.0+my-package",
+ "99999.0.0-alpha.1+my-package",
+ ] {
+ cargo_test_support::registry::Package::new(name, ver)
+ .alternative(true)
+ .publish();
+ }
+ }
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = &project_root;
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/rename/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/rename/mod.rs
index 3fefcccf3..28c92d770 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/rename/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/rename/mod.rs
@@ -2,12 +2,23 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
+ cargo_test_support::registry::init();
+ for ver in [
+ "0.1.1+my-package",
+ "0.2.0+my-package",
+ "0.2.3+my-package",
+ "0.4.1+my-package",
+ "20.0.0+my-package",
+ "99999.0.0+my-package",
+ "99999.0.0-alpha.1+my-package",
+ ] {
+ cargo_test_support::registry::Package::new("my-package", ver).publish();
+ }
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = &project_root;
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/require_weak/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/require_weak/mod.rs
index d99e4482a..1998fa742 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/require_weak/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/require_weak/mod.rs
@@ -2,12 +2,18 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
+ cargo_test_support::registry::init();
+ cargo_test_support::registry::Package::new("your-face", "99999.0.0+my-package")
+ .feature("nose", &[])
+ .feature("mouth", &[])
+ .feature("eyes", &[])
+ .feature("ears", &[])
+ .publish();
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = &project_root;
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/rust_version_ignore/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/rust_version_ignore/mod.rs
index 9aa11eaac..a382d95f1 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/rust_version_ignore/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/rust_version_ignore/mod.rs
@@ -2,13 +2,11 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
-
+ cargo_test_support::registry::init();
cargo_test_support::registry::Package::new("rust-version-user", "0.1.0")
.rust_version("1.66")
.publish();
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/rust_version_incompatible/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/rust_version_incompatible/mod.rs
index 6baad0e05..31fb57786 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/rust_version_incompatible/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/rust_version_incompatible/mod.rs
@@ -2,13 +2,11 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
-
+ cargo_test_support::registry::init();
cargo_test_support::registry::Package::new("rust-version-user", "0.1.0")
.rust_version("1.66")
.publish();
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/rust_version_latest/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/rust_version_latest/mod.rs
index 60e38960f..7a42c566e 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/rust_version_latest/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/rust_version_latest/mod.rs
@@ -2,13 +2,11 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
-
+ cargo_test_support::registry::init();
cargo_test_support::registry::Package::new("rust-version-user", "0.1.0")
.rust_version("1.66")
.publish();
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/rust_version_older/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/rust_version_older/mod.rs
index 60e38960f..7a42c566e 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/rust_version_older/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/rust_version_older/mod.rs
@@ -2,13 +2,11 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
-
+ cargo_test_support::registry::init();
cargo_test_support::registry::Package::new("rust-version-user", "0.1.0")
.rust_version("1.66")
.publish();
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/sorted_table_with_dotted_item/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/sorted_table_with_dotted_item/mod.rs
index 55e4c2281..46e8708a1 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/sorted_table_with_dotted_item/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/sorted_table_with_dotted_item/mod.rs
@@ -2,12 +2,30 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
+ cargo_test_support::registry::init();
+ for name in [
+ "unrelateed-crate",
+ "versioned-package",
+ "toml",
+ "my-build-package1",
+ ] {
+ for ver in [
+ "0.1.1+my-package",
+ "0.2.0+my-package",
+ "0.2.3+my-package",
+ "0.4.1+my-package",
+ "20.0.0+my-package",
+ "99999.0.0+my-package",
+ "99999.0.0-alpha.1+my-package",
+ ] {
+ cargo_test_support::registry::Package::new(name, ver).publish();
+ }
+ }
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = &project_root;
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/target/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/target/mod.rs
index e263bad36..b47874949 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/target/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/target/mod.rs
@@ -2,12 +2,25 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
+ cargo_test_support::registry::init();
+ for name in ["my-package1", "my-package2"] {
+ for ver in [
+ "0.1.1+my-package",
+ "0.2.0+my-package",
+ "0.2.3+my-package",
+ "0.4.1+my-package",
+ "20.0.0+my-package",
+ "99999.0.0+my-package",
+ "99999.0.0-alpha.1+my-package",
+ ] {
+ cargo_test_support::registry::Package::new(name, ver).publish();
+ }
+ }
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = &project_root;
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/target_cfg/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/target_cfg/mod.rs
index 43efe8e8d..0478ece76 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/target_cfg/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/target_cfg/mod.rs
@@ -2,12 +2,25 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
+ cargo_test_support::registry::init();
+ for name in ["my-package1", "my-package2"] {
+ for ver in [
+ "0.1.1+my-package",
+ "0.2.0+my-package",
+ "0.2.3+my-package",
+ "0.4.1+my-package",
+ "20.0.0+my-package",
+ "99999.0.0+my-package",
+ "99999.0.0-alpha.1+my-package",
+ ] {
+ cargo_test_support::registry::Package::new(name, ver).publish();
+ }
+ }
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = &project_root;
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/vers/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/vers/mod.rs
index fb78739e9..ee7dab2d1 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/vers/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/vers/mod.rs
@@ -2,12 +2,23 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
+ cargo_test_support::registry::init();
+ for ver in [
+ "0.1.1+my-package",
+ "0.2.0+my-package",
+ "0.2.3+my-package",
+ "0.4.1+my-package",
+ "20.0.0+my-package",
+ "99999.0.0+my-package",
+ "99999.0.0-alpha.1+my-package",
+ ] {
+ cargo_test_support::registry::Package::new("my-package", ver).publish();
+ }
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = &project_root;
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/workspace_name/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/workspace_name/mod.rs
index ccaf850f9..2ab0807de 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/workspace_name/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/workspace_name/mod.rs
@@ -2,12 +2,24 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
+ cargo_test_support::registry::init();
+ for ver in [
+ "0.1.1+my-package",
+ "0.2.0+my-package",
+ "0.2.3+my-package",
+ "0.4.1+my-package",
+ "20.0.0+my-package",
+ "99999.0.0+my-package",
+ "99999.0.0-alpha.1+my-package",
+ ] {
+ cargo_test_support::registry::Package::new("cargo-list-test-fixture-dependency", ver)
+ .publish();
+ }
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = project_root.join("primary");
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/workspace_path/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/workspace_path/mod.rs
index ab89e3a6d..fd63cc709 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/workspace_path/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/workspace_path/mod.rs
@@ -2,12 +2,24 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
+ cargo_test_support::registry::init();
+ for ver in [
+ "0.1.1+my-package",
+ "0.2.0+my-package",
+ "0.2.3+my-package",
+ "0.4.1+my-package",
+ "20.0.0+my-package",
+ "99999.0.0+my-package",
+ "99999.0.0-alpha.1+my-package",
+ ] {
+ cargo_test_support::registry::Package::new("cargo-list-test-fixture-dependency", ver)
+ .publish();
+ }
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = project_root.join("primary");
diff --git a/src/tools/cargo/tests/testsuite/cargo_add/workspace_path_dev/mod.rs b/src/tools/cargo/tests/testsuite/cargo_add/workspace_path_dev/mod.rs
index 4ae04c70a..478e602a2 100644
--- a/src/tools/cargo/tests/testsuite/cargo_add/workspace_path_dev/mod.rs
+++ b/src/tools/cargo/tests/testsuite/cargo_add/workspace_path_dev/mod.rs
@@ -2,12 +2,24 @@ use cargo_test_support::compare::assert_ui;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
-use crate::cargo_add::init_registry;
use cargo_test_support::curr_dir;
#[cargo_test]
fn case() {
- init_registry();
+ cargo_test_support::registry::init();
+ for ver in [
+ "0.1.1+my-package",
+ "0.2.0+my-package",
+ "0.2.3+my-package",
+ "0.4.1+my-package",
+ "20.0.0+my-package",
+ "99999.0.0+my-package",
+ "99999.0.0-alpha.1+my-package",
+ ] {
+ cargo_test_support::registry::Package::new("cargo-list-test-fixture-dependency", ver)
+ .publish();
+ }
+
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = project_root.join("primary");