mirror of
https://github.com/rust-lang/cargo.git
synced 2025-09-28 11:20:36 +00:00

In writing the contrib documentation for functional vs ui tests, I realized that as we work to make snapbox work for the functional tests, we'll need distinct `Assert` objects since we'll want to elide a lot more content in functional tests. I'm making room for this by qualifying the existing asserts as being for "ui".
40 lines
1.2 KiB
Rust
40 lines
1.2 KiB
Rust
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 git_inferred_name_multiple() {
|
|
init_registry();
|
|
let project = Project::from_template(curr_dir!().join("in"));
|
|
let project_root = project.root();
|
|
let cwd = &project_root;
|
|
let git_dep = cargo_test_support::git::new("git-package", |project| {
|
|
project
|
|
.file(
|
|
"p1/Cargo.toml",
|
|
&cargo_test_support::basic_manifest("my-package1", "0.3.0+my-package1"),
|
|
)
|
|
.file("p1/src/lib.rs", "")
|
|
.file(
|
|
"p2/Cargo.toml",
|
|
&cargo_test_support::basic_manifest("my-package2", "0.3.0+my-package2"),
|
|
)
|
|
.file("p2/src/lib.rs", "")
|
|
});
|
|
let git_url = git_dep.url().to_string();
|
|
|
|
snapbox::cmd::Command::cargo_ui()
|
|
.arg("add")
|
|
.args(["--git", &git_url])
|
|
.current_dir(cwd)
|
|
.assert()
|
|
.code(101)
|
|
.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);
|
|
}
|