summaryrefslogtreecommitdiffstats
path: root/src/tools/cargo/tests/testsuite/cargo_add/cyclic_features/mod.rs
blob: 8b4c6123a5e39e788c70185abedd180ddb15f5ef (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
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("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;

    snapbox::cmd::Command::cargo_ui()
        .arg("add")
        .arg_line("test_cyclic_features")
        .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);
}