Skip to content

Commit 1f34b00

Browse files
committed
test(add): Show behavior with unrecognized feature with large list
1 parent 73a925a commit 1f34b00

File tree

11 files changed

+332
-0
lines changed

11 files changed

+332
-0
lines changed
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
[workspace]
2+
3+
[package]
4+
name = "cargo-list-test-fixture"
5+
version = "0.0.0"
6+
edition = "2015"
7+
8+
[dependencies.your-face]
9+
version = "99999.0.0"
10+
features = [
11+
"eyes000",
12+
"eyes001",
13+
"eyes002",
14+
"eyes003",
15+
"eyes004",
16+
"eyes005",
17+
"eyes006",
18+
"eyes007",
19+
"eyes008",
20+
"eyes009",
21+
"eyes010",
22+
"eyes011",
23+
"eyes012",
24+
"eyes013",
25+
"eyes014",
26+
"eyes015",
27+
"eyes016",
28+
"eyes017",
29+
"eyes018",
30+
"eyes019",
31+
"eyes020",
32+
"eyes021",
33+
"eyes022",
34+
"eyes023",
35+
"eyes024",
36+
"eyes025",
37+
"eyes026",
38+
"eyes027",
39+
"eyes028",
40+
"eyes029",
41+
"eyes030",
42+
"eyes031",
43+
"eyes032",
44+
"eyes033",
45+
"eyes034",
46+
"eyes035",
47+
"eyes036",
48+
"eyes037",
49+
"eyes038",
50+
"eyes039",
51+
]

tests/testsuite/cargo_add/features_error_activated_over_limit/in/src/lib.rs

Whitespace-only changes.
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
use cargo_test_support::compare::assert_ui;
2+
use cargo_test_support::current_dir;
3+
use cargo_test_support::file;
4+
use cargo_test_support::prelude::*;
5+
use cargo_test_support::str;
6+
use cargo_test_support::Project;
7+
8+
#[cargo_test]
9+
fn case() {
10+
const MANY_FEATURES_COUNT: usize = 50;
11+
12+
cargo_test_support::registry::init();
13+
let mut test_package =
14+
cargo_test_support::registry::Package::new("your-face", "99999.0.0+my-package");
15+
for i in 0..MANY_FEATURES_COUNT {
16+
test_package.feature(format!("eyes{i:03}").as_str(), &[]);
17+
}
18+
test_package.publish();
19+
20+
let project = Project::from_template(current_dir!().join("in"));
21+
let project_root = project.root();
22+
let cwd = &project_root;
23+
24+
let features = "eees100,eees101";
25+
snapbox::cmd::Command::cargo_ui()
26+
.arg("add")
27+
.arg_line(format!("your-face --features {features}").as_str())
28+
.current_dir(cwd)
29+
.assert()
30+
.failure()
31+
.stdout_eq(str![""])
32+
.stderr_eq(file!["stderr.term.svg"]);
33+
34+
assert_ui().subset_matches(current_dir!().join("out"), &project_root);
35+
}
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
[workspace]
2+
3+
[package]
4+
name = "cargo-list-test-fixture"
5+
version = "0.0.0"
6+
edition = "2015"
7+
8+
[dependencies.your-face]
9+
version = "99999.0.0"
10+
features = [
11+
"eyes000",
12+
"eyes001",
13+
"eyes002",
14+
"eyes003",
15+
"eyes004",
16+
"eyes005",
17+
"eyes006",
18+
"eyes007",
19+
"eyes008",
20+
"eyes009",
21+
"eyes010",
22+
"eyes011",
23+
"eyes012",
24+
"eyes013",
25+
"eyes014",
26+
"eyes015",
27+
"eyes016",
28+
"eyes017",
29+
"eyes018",
30+
"eyes019",
31+
"eyes020",
32+
"eyes021",
33+
"eyes022",
34+
"eyes023",
35+
"eyes024",
36+
"eyes025",
37+
"eyes026",
38+
"eyes027",
39+
"eyes028",
40+
"eyes029",
41+
"eyes030",
42+
"eyes031",
43+
"eyes032",
44+
"eyes033",
45+
"eyes034",
46+
"eyes035",
47+
"eyes036",
48+
"eyes037",
49+
"eyes038",
50+
"eyes039",
51+
]
Lines changed: 50 additions & 0 deletions
Loading
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
[workspace]
2+
3+
[package]
4+
name = "cargo-list-test-fixture"
5+
version = "0.0.0"
6+
edition = "2015"
7+
8+
[dependencies.your-face]
9+
version = "99999.0.0"
10+
features = [
11+
"eyes000",
12+
]

tests/testsuite/cargo_add/features_error_deactivated_over_limit/in/src/lib.rs

Whitespace-only changes.
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
use cargo_test_support::compare::assert_ui;
2+
use cargo_test_support::current_dir;
3+
use cargo_test_support::file;
4+
use cargo_test_support::prelude::*;
5+
use cargo_test_support::str;
6+
use cargo_test_support::Project;
7+
8+
#[cargo_test]
9+
fn case() {
10+
const MANY_FEATURES_COUNT: usize = 200;
11+
12+
cargo_test_support::registry::init();
13+
let mut test_package =
14+
cargo_test_support::registry::Package::new("your-face", "99999.0.0+my-package");
15+
for i in 0..MANY_FEATURES_COUNT {
16+
test_package.feature(format!("eyes{i:03}").as_str(), &[]);
17+
}
18+
test_package.publish();
19+
20+
let project = Project::from_template(current_dir!().join("in"));
21+
let project_root = project.root();
22+
let cwd = &project_root;
23+
24+
let features = "eees100,eees101";
25+
snapbox::cmd::Command::cargo_ui()
26+
.arg("add")
27+
.arg_line(format!("your-face --features {features}").as_str())
28+
.current_dir(cwd)
29+
.assert()
30+
.failure()
31+
.stdout_eq(str![""])
32+
.stderr_eq(file!["stderr.term.svg"]);
33+
34+
assert_ui().subset_matches(current_dir!().join("out"), &project_root);
35+
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
[workspace]
2+
3+
[package]
4+
name = "cargo-list-test-fixture"
5+
version = "0.0.0"
6+
edition = "2015"
7+
8+
[dependencies.your-face]
9+
version = "99999.0.0"
10+
features = [
11+
"eyes000",
12+
]
Lines changed: 84 additions & 0 deletions
Loading

0 commit comments

Comments
 (0)