Skip to content

Commit 3a40df8

Browse files
author
Angelo Ross
committed
Showcase output with too many features
1 parent 8c3d4f6 commit 3a40df8

File tree

13 files changed

+510
-0
lines changed

13 files changed

+510
-0
lines changed
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
[workspace]
2+
3+
[package]
4+
name = "cargo-list-test-fixture"
5+
version = "0.0.0"

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

Whitespace-only changes.
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
use cargo_test_support::compare::assert_ui;
2+
use cargo_test_support::prelude::*;
3+
use cargo_test_support::Project;
4+
use itertools::Itertools;
5+
6+
use cargo_test_support::curr_dir;
7+
8+
#[cargo_test]
9+
fn case() {
10+
const MANY_FEATURES_COUNT: usize = 200;
11+
const ACTIVATED_FEATURES_COUNT: usize = 100;
12+
13+
cargo_test_support::registry::init();
14+
let mut test_package =
15+
cargo_test_support::registry::Package::new("your-face", "99999.0.0+my-package");
16+
for i in 0..MANY_FEATURES_COUNT {
17+
test_package.feature(format!("eyes{i:03}").as_str(), &[]);
18+
}
19+
test_package.publish();
20+
21+
let project = Project::from_template(curr_dir!().join("in"));
22+
let project_root = project.root();
23+
let cwd = &project_root;
24+
25+
let features = (0..ACTIVATED_FEATURES_COUNT)
26+
.map(|i| format!("eyes{i:03}"))
27+
.join(",");
28+
snapbox::cmd::Command::cargo_ui()
29+
.arg("add")
30+
.arg_line(format!("your-face --features {features}").as_str())
31+
.current_dir(cwd)
32+
.assert()
33+
.success()
34+
.stdout_matches_path(curr_dir!().join("stdout.log"))
35+
.stderr_matches_path(curr_dir!().join("stderr.log"));
36+
37+
assert_ui().subset_matches(curr_dir!().join("out"), &project_root);
38+
}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
[workspace]
2+
3+
[package]
4+
name = "cargo-list-test-fixture"
5+
version = "0.0.0"
6+
7+
[dependencies]
8+
your-face = { version = "99999.0.0", features = ["eyes000", "eyes001", "eyes002", "eyes003", "eyes004", "eyes005", "eyes006", "eyes007", "eyes008", "eyes009", "eyes010", "eyes011", "eyes012", "eyes013", "eyes014", "eyes015", "eyes016", "eyes017", "eyes018", "eyes019", "eyes020", "eyes021", "eyes022", "eyes023", "eyes024", "eyes025", "eyes026", "eyes027", "eyes028", "eyes029", "eyes030", "eyes031", "eyes032", "eyes033", "eyes034", "eyes035", "eyes036", "eyes037", "eyes038", "eyes039", "eyes040", "eyes041", "eyes042", "eyes043", "eyes044", "eyes045", "eyes046", "eyes047", "eyes048", "eyes049", "eyes050", "eyes051", "eyes052", "eyes053", "eyes054", "eyes055", "eyes056", "eyes057", "eyes058", "eyes059", "eyes060", "eyes061", "eyes062", "eyes063", "eyes064", "eyes065", "eyes066", "eyes067", "eyes068", "eyes069", "eyes070", "eyes071", "eyes072", "eyes073", "eyes074", "eyes075", "eyes076", "eyes077", "eyes078", "eyes079", "eyes080", "eyes081", "eyes082", "eyes083", "eyes084", "eyes085", "eyes086", "eyes087", "eyes088", "eyes089", "eyes090", "eyes091", "eyes092", "eyes093", "eyes094", "eyes095", "eyes096", "eyes097", "eyes098", "eyes099"] }
Lines changed: 203 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,203 @@
1+
Updating `dummy-registry` index
2+
Adding your-face v99999.0.0 to dependencies.
3+
Features:
4+
+ eyes000
5+
+ eyes001
6+
+ eyes002
7+
+ eyes003
8+
+ eyes004
9+
+ eyes005
10+
+ eyes006
11+
+ eyes007
12+
+ eyes008
13+
+ eyes009
14+
+ eyes010
15+
+ eyes011
16+
+ eyes012
17+
+ eyes013
18+
+ eyes014
19+
+ eyes015
20+
+ eyes016
21+
+ eyes017
22+
+ eyes018
23+
+ eyes019
24+
+ eyes020
25+
+ eyes021
26+
+ eyes022
27+
+ eyes023
28+
+ eyes024
29+
+ eyes025
30+
+ eyes026
31+
+ eyes027
32+
+ eyes028
33+
+ eyes029
34+
+ eyes030
35+
+ eyes031
36+
+ eyes032
37+
+ eyes033
38+
+ eyes034
39+
+ eyes035
40+
+ eyes036
41+
+ eyes037
42+
+ eyes038
43+
+ eyes039
44+
+ eyes040
45+
+ eyes041
46+
+ eyes042
47+
+ eyes043
48+
+ eyes044
49+
+ eyes045
50+
+ eyes046
51+
+ eyes047
52+
+ eyes048
53+
+ eyes049
54+
+ eyes050
55+
+ eyes051
56+
+ eyes052
57+
+ eyes053
58+
+ eyes054
59+
+ eyes055
60+
+ eyes056
61+
+ eyes057
62+
+ eyes058
63+
+ eyes059
64+
+ eyes060
65+
+ eyes061
66+
+ eyes062
67+
+ eyes063
68+
+ eyes064
69+
+ eyes065
70+
+ eyes066
71+
+ eyes067
72+
+ eyes068
73+
+ eyes069
74+
+ eyes070
75+
+ eyes071
76+
+ eyes072
77+
+ eyes073
78+
+ eyes074
79+
+ eyes075
80+
+ eyes076
81+
+ eyes077
82+
+ eyes078
83+
+ eyes079
84+
+ eyes080
85+
+ eyes081
86+
+ eyes082
87+
+ eyes083
88+
+ eyes084
89+
+ eyes085
90+
+ eyes086
91+
+ eyes087
92+
+ eyes088
93+
+ eyes089
94+
+ eyes090
95+
+ eyes091
96+
+ eyes092
97+
+ eyes093
98+
+ eyes094
99+
+ eyes095
100+
+ eyes096
101+
+ eyes097
102+
+ eyes098
103+
+ eyes099
104+
- eyes100
105+
- eyes101
106+
- eyes102
107+
- eyes103
108+
- eyes104
109+
- eyes105
110+
- eyes106
111+
- eyes107
112+
- eyes108
113+
- eyes109
114+
- eyes110
115+
- eyes111
116+
- eyes112
117+
- eyes113
118+
- eyes114
119+
- eyes115
120+
- eyes116
121+
- eyes117
122+
- eyes118
123+
- eyes119
124+
- eyes120
125+
- eyes121
126+
- eyes122
127+
- eyes123
128+
- eyes124
129+
- eyes125
130+
- eyes126
131+
- eyes127
132+
- eyes128
133+
- eyes129
134+
- eyes130
135+
- eyes131
136+
- eyes132
137+
- eyes133
138+
- eyes134
139+
- eyes135
140+
- eyes136
141+
- eyes137
142+
- eyes138
143+
- eyes139
144+
- eyes140
145+
- eyes141
146+
- eyes142
147+
- eyes143
148+
- eyes144
149+
- eyes145
150+
- eyes146
151+
- eyes147
152+
- eyes148
153+
- eyes149
154+
- eyes150
155+
- eyes151
156+
- eyes152
157+
- eyes153
158+
- eyes154
159+
- eyes155
160+
- eyes156
161+
- eyes157
162+
- eyes158
163+
- eyes159
164+
- eyes160
165+
- eyes161
166+
- eyes162
167+
- eyes163
168+
- eyes164
169+
- eyes165
170+
- eyes166
171+
- eyes167
172+
- eyes168
173+
- eyes169
174+
- eyes170
175+
- eyes171
176+
- eyes172
177+
- eyes173
178+
- eyes174
179+
- eyes175
180+
- eyes176
181+
- eyes177
182+
- eyes178
183+
- eyes179
184+
- eyes180
185+
- eyes181
186+
- eyes182
187+
- eyes183
188+
- eyes184
189+
- eyes185
190+
- eyes186
191+
- eyes187
192+
- eyes188
193+
- eyes189
194+
- eyes190
195+
- eyes191
196+
- eyes192
197+
- eyes193
198+
- eyes194
199+
- eyes195
200+
- eyes196
201+
- eyes197
202+
- eyes198
203+
- eyes199

tests/testsuite/cargo_add/features_too_many_activated/stdout.log

Whitespace-only changes.
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
[workspace]
2+
3+
[package]
4+
name = "cargo-list-test-fixture"
5+
version = "0.0.0"

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

Whitespace-only changes.
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
use cargo_test_support::compare::assert_ui;
2+
use cargo_test_support::prelude::*;
3+
use cargo_test_support::Project;
4+
use itertools::Itertools;
5+
6+
use cargo_test_support::curr_dir;
7+
8+
#[cargo_test]
9+
fn case() {
10+
const MANY_FEATURES_COUNT: usize = 200;
11+
const ACTIVATED_FEATURES_COUNT: usize = 10;
12+
13+
cargo_test_support::registry::init();
14+
let mut test_package =
15+
cargo_test_support::registry::Package::new("your-face", "99999.0.0+my-package");
16+
for i in 0..MANY_FEATURES_COUNT {
17+
test_package.feature(format!("eyes{i:03}").as_str(), &[]);
18+
}
19+
test_package.publish();
20+
21+
let project = Project::from_template(curr_dir!().join("in"));
22+
let project_root = project.root();
23+
let cwd = &project_root;
24+
25+
let features = (0..ACTIVATED_FEATURES_COUNT)
26+
.map(|i| format!("eyes{i:03}"))
27+
.join(",");
28+
snapbox::cmd::Command::cargo_ui()
29+
.arg("add")
30+
.arg_line(format!("your-face --features {features}").as_str())
31+
.current_dir(cwd)
32+
.assert()
33+
.success()
34+
.stdout_matches_path(curr_dir!().join("stdout.log"))
35+
.stderr_matches_path(curr_dir!().join("stderr.log"));
36+
37+
assert_ui().subset_matches(curr_dir!().join("out"), &project_root);
38+
}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
[workspace]
2+
3+
[package]
4+
name = "cargo-list-test-fixture"
5+
version = "0.0.0"
6+
7+
[dependencies]
8+
your-face = { version = "99999.0.0", features = ["eyes000", "eyes001", "eyes002", "eyes003", "eyes004", "eyes005", "eyes006", "eyes007", "eyes008", "eyes009"] }

0 commit comments

Comments
 (0)