|
1 | 1 | //! Tests for the `cargo tree` command with -e features option.
|
2 | 2 |
|
3 |
| -#![allow(deprecated)] |
4 |
| - |
5 | 3 | use cargo_test_support::project;
|
6 | 4 | use cargo_test_support::registry::{Dependency, Package};
|
| 5 | +use cargo_test_support::str; |
7 | 6 |
|
8 | 7 | #[cargo_test]
|
9 | 8 | fn dep_feature_various() {
|
@@ -52,41 +51,40 @@ fn dep_feature_various() {
|
52 | 51 | .build();
|
53 | 52 |
|
54 | 53 | p.cargo("tree -e features")
|
55 |
| - .with_stdout( |
56 |
| - "\ |
| 54 | + .with_stdout_data(str![[r#" |
57 | 55 | foo v0.1.0 ([..]/foo)
|
58 | 56 | ├── nodefaultdep v1.0.0
|
59 |
| -├── defaultdep feature \"default\" |
| 57 | +├── defaultdep feature "default" |
60 | 58 | │ ├── defaultdep v1.0.0
|
61 |
| -│ │ └── optdep feature \"default\" |
| 59 | +│ │ └── optdep feature "default" |
62 | 60 | │ │ ├── optdep v1.0.0
|
63 |
| -│ │ └── optdep feature \"cat\" |
| 61 | +│ │ └── optdep feature "cat" |
64 | 62 | │ │ └── optdep v1.0.0
|
65 |
| -│ └── defaultdep feature \"f1\" |
| 63 | +│ └── defaultdep feature "f1" |
66 | 64 | │ ├── defaultdep v1.0.0 (*)
|
67 |
| -│ └── defaultdep feature \"optdep\" |
| 65 | +│ └── defaultdep feature "optdep" |
68 | 66 | │ └── defaultdep v1.0.0 (*)
|
69 |
| -├── nameddep feature \"default\" |
| 67 | +├── nameddep feature "default" |
70 | 68 | │ ├── nameddep v1.0.0
|
71 |
| -│ │ └── serde feature \"default\" |
| 69 | +│ │ └── serde feature "default" |
72 | 70 | │ │ └── serde v1.0.0
|
73 |
| -│ │ └── serde_derive feature \"default\" |
| 71 | +│ │ └── serde_derive feature "default" |
74 | 72 | │ │ └── serde_derive v1.0.0
|
75 |
| -│ └── nameddep feature \"serde-stuff\" |
| 73 | +│ └── nameddep feature "serde-stuff" |
76 | 74 | │ ├── nameddep v1.0.0 (*)
|
77 |
| -│ ├── nameddep feature \"serde\" |
| 75 | +│ ├── nameddep feature "serde" |
78 | 76 | │ │ └── nameddep v1.0.0 (*)
|
79 |
| -│ └── serde feature \"derive\" |
| 77 | +│ └── serde feature "derive" |
80 | 78 | │ ├── serde v1.0.0 (*)
|
81 |
| -│ └── serde feature \"serde_derive\" |
| 79 | +│ └── serde feature "serde_derive" |
82 | 80 | │ └── serde v1.0.0 (*)
|
83 |
| -├── nameddep feature \"serde\" (*) |
84 |
| -└── nameddep feature \"vehicle\" |
| 81 | +├── nameddep feature "serde" (*) |
| 82 | +└── nameddep feature "vehicle" |
85 | 83 | ├── nameddep v1.0.0 (*)
|
86 |
| - └── nameddep feature \"car\" |
| 84 | + └── nameddep feature "car" |
87 | 85 | └── nameddep v1.0.0 (*)
|
88 |
| -", |
89 |
| - ) |
| 86 | +
|
| 87 | +"#]]) |
90 | 88 | .run();
|
91 | 89 | }
|
92 | 90 |
|
@@ -135,38 +133,36 @@ fn graph_features_ws_interdependent() {
|
135 | 133 | .build();
|
136 | 134 |
|
137 | 135 | p.cargo("tree -e features")
|
138 |
| - .with_stdout( |
139 |
| - "\ |
| 136 | + .with_stdout_data(str![[r#" |
140 | 137 | a v0.1.0 ([..]/foo/a)
|
141 |
| -├── b feature \"default\" (command-line) |
| 138 | +├── b feature "default" (command-line) |
142 | 139 | │ ├── b v0.1.0 ([..]/foo/b)
|
143 |
| -│ └── b feature \"feat1\" |
| 140 | +│ └── b feature "feat1" |
144 | 141 | │ └── b v0.1.0 ([..]/foo/b)
|
145 |
| -└── b feature \"feat2\" |
| 142 | +└── b feature "feat2" |
146 | 143 | └── b v0.1.0 ([..]/foo/b)
|
147 | 144 |
|
148 | 145 | b v0.1.0 ([..]/foo/b)
|
149 |
| -", |
150 |
| - ) |
| 146 | +
|
| 147 | +"#]]) |
151 | 148 | .run();
|
152 | 149 |
|
153 | 150 | p.cargo("tree -e features -i a -i b")
|
154 |
| - .with_stdout( |
155 |
| - "\ |
| 151 | + .with_stdout_data(str![[r#" |
156 | 152 | a v0.1.0 ([..]/foo/a)
|
157 |
| -├── a feature \"a1\" |
158 |
| -│ └── a feature \"default\" (command-line) |
159 |
| -└── a feature \"default\" (command-line) |
| 153 | +├── a feature "a1" |
| 154 | +│ └── a feature "default" (command-line) |
| 155 | +└── a feature "default" (command-line) |
160 | 156 |
|
161 | 157 | b v0.1.0 ([..]/foo/b)
|
162 |
| -├── b feature \"default\" (command-line) |
| 158 | +├── b feature "default" (command-line) |
163 | 159 | │ └── a v0.1.0 ([..]/foo/a) (*)
|
164 |
| -├── b feature \"feat1\" |
165 |
| -│ └── b feature \"default\" (command-line) (*) |
166 |
| -└── b feature \"feat2\" |
| 160 | +├── b feature "feat1" |
| 161 | +│ └── b feature "default" (command-line) (*) |
| 162 | +└── b feature "feat2" |
167 | 163 | └── a v0.1.0 ([..]/foo/a) (*)
|
168 |
| -", |
169 |
| - ) |
| 164 | +
|
| 165 | +"#]]) |
170 | 166 | .run();
|
171 | 167 | }
|
172 | 168 |
|
@@ -202,90 +198,84 @@ fn slash_feature_name() {
|
202 | 198 | .build();
|
203 | 199 |
|
204 | 200 | p.cargo("tree -e features --features f1")
|
205 |
| - .with_stdout( |
206 |
| - "\ |
| 201 | + .with_stdout_data(str![[r#" |
207 | 202 | foo v0.1.0 ([..]/foo)
|
208 |
| -├── notopt feature \"default\" |
| 203 | +├── notopt feature "default" |
209 | 204 | │ └── notopt v1.0.0
|
210 |
| -└── opt feature \"default\" |
| 205 | +└── opt feature "default" |
211 | 206 | └── opt v1.0.0
|
212 |
| -", |
213 |
| - ) |
| 207 | +
|
| 208 | +"#]]) |
214 | 209 | .run();
|
215 | 210 |
|
216 | 211 | p.cargo("tree -e features --features f1 -i foo")
|
217 |
| - .with_stdout( |
218 |
| - "\ |
| 212 | + .with_stdout_data(str![[r#" |
219 | 213 | foo v0.1.0 ([..]/foo)
|
220 |
| -├── foo feature \"default\" (command-line) |
221 |
| -├── foo feature \"f1\" (command-line) |
222 |
| -└── foo feature \"opt\" |
223 |
| - └── foo feature \"f1\" (command-line) |
224 |
| -", |
225 |
| - ) |
| 214 | +├── foo feature "default" (command-line) |
| 215 | +├── foo feature "f1" (command-line) |
| 216 | +└── foo feature "opt" |
| 217 | + └── foo feature "f1" (command-line) |
| 218 | +
|
| 219 | +"#]]) |
226 | 220 | .run();
|
227 | 221 |
|
228 | 222 | p.cargo("tree -e features --features f1 -i notopt")
|
229 |
| - .with_stdout( |
230 |
| - "\ |
| 223 | + .with_stdout_data(str![[r#" |
231 | 224 | notopt v1.0.0
|
232 |
| -├── notopt feature \"animal\" |
233 |
| -│ └── foo feature \"f1\" (command-line) |
234 |
| -├── notopt feature \"cat\" |
235 |
| -│ └── notopt feature \"animal\" (*) |
236 |
| -└── notopt feature \"default\" |
| 225 | +├── notopt feature "animal" |
| 226 | +│ └── foo feature "f1" (command-line) |
| 227 | +├── notopt feature "cat" |
| 228 | +│ └── notopt feature "animal" (*) |
| 229 | +└── notopt feature "default" |
237 | 230 | └── foo v0.1.0 ([..]/foo)
|
238 |
| - ├── foo feature \"default\" (command-line) |
239 |
| - ├── foo feature \"f1\" (command-line) |
240 |
| - └── foo feature \"opt\" |
241 |
| - └── foo feature \"f1\" (command-line) |
242 |
| -", |
243 |
| - ) |
| 231 | + ├── foo feature "default" (command-line) |
| 232 | + ├── foo feature "f1" (command-line) |
| 233 | + └── foo feature "opt" |
| 234 | + └── foo feature "f1" (command-line) |
| 235 | +
|
| 236 | +"#]]) |
244 | 237 | .run();
|
245 | 238 |
|
246 | 239 | p.cargo("tree -e features --features notopt/animal -i notopt")
|
247 |
| - .with_stdout( |
248 |
| - "\ |
| 240 | + .with_stdout_data(str![[r#" |
249 | 241 | notopt v1.0.0
|
250 |
| -├── notopt feature \"animal\" (command-line) |
251 |
| -├── notopt feature \"cat\" |
252 |
| -│ └── notopt feature \"animal\" (command-line) |
253 |
| -└── notopt feature \"default\" |
| 242 | +├── notopt feature "animal" (command-line) |
| 243 | +├── notopt feature "cat" |
| 244 | +│ └── notopt feature "animal" (command-line) |
| 245 | +└── notopt feature "default" |
254 | 246 | └── foo v0.1.0 ([..]/foo)
|
255 |
| - └── foo feature \"default\" (command-line) |
256 |
| -", |
257 |
| - ) |
| 247 | + └── foo feature "default" (command-line) |
| 248 | +
|
| 249 | +"#]]) |
258 | 250 | .run();
|
259 | 251 |
|
260 | 252 | p.cargo("tree -e features --all-features")
|
261 |
| - .with_stdout( |
262 |
| - "\ |
| 253 | + .with_stdout_data(str![[r#" |
263 | 254 | foo v0.1.0 ([..]/foo)
|
264 |
| -├── notopt feature \"default\" |
| 255 | +├── notopt feature "default" |
265 | 256 | │ └── notopt v1.0.0
|
266 |
| -├── opt feature \"default\" |
| 257 | +├── opt feature "default" |
267 | 258 | │ └── opt v1.0.0
|
268 |
| -└── opt2 feature \"default\" |
| 259 | +└── opt2 feature "default" |
269 | 260 | └── opt2 v1.0.0
|
270 |
| -", |
271 |
| - ) |
| 261 | +
|
| 262 | +"#]]) |
272 | 263 | .run();
|
273 | 264 |
|
274 | 265 | p.cargo("tree -e features --all-features -i opt2")
|
275 |
| - .with_stdout( |
276 |
| - "\ |
| 266 | + .with_stdout_data(str![[r#" |
277 | 267 | opt2 v1.0.0
|
278 |
| -└── opt2 feature \"default\" |
| 268 | +└── opt2 feature "default" |
279 | 269 | └── foo v0.1.0 ([..]/foo)
|
280 |
| - ├── foo feature \"default\" (command-line) |
281 |
| - ├── foo feature \"f1\" (command-line) |
282 |
| - │ └── foo feature \"f2\" (command-line) |
283 |
| - ├── foo feature \"f2\" (command-line) |
284 |
| - ├── foo feature \"opt\" (command-line) |
285 |
| - │ └── foo feature \"f1\" (command-line) (*) |
286 |
| - └── foo feature \"opt2\" (command-line) |
287 |
| -", |
288 |
| - ) |
| 270 | + ├── foo feature "default" (command-line) |
| 271 | + ├── foo feature "f1" (command-line) |
| 272 | + │ └── foo feature "f2" (command-line) |
| 273 | + ├── foo feature "f2" (command-line) |
| 274 | + ├── foo feature "opt" (command-line) |
| 275 | + │ └── foo feature "f1" (command-line) (*) |
| 276 | + └── foo feature "opt2" (command-line) |
| 277 | +
|
| 278 | +"#]]) |
289 | 279 | .run();
|
290 | 280 | }
|
291 | 281 |
|
@@ -330,35 +320,32 @@ fn features_enables_inactive_target() {
|
330 | 320 | .file("src/lib.rs", "")
|
331 | 321 | .build();
|
332 | 322 | p.cargo("tree -e features")
|
333 |
| - .with_stdout( |
334 |
| - "\ |
| 323 | + .with_stdout_data(str![[r#" |
335 | 324 | foo v0.1.0 ([..]/foo)
|
336 |
| -└── dep2 feature \"default\" |
| 325 | +└── dep2 feature "default" |
337 | 326 | └── dep2 v1.0.0
|
338 |
| -", |
339 |
| - ) |
| 327 | +
|
| 328 | +"#]]) |
340 | 329 | .run();
|
341 | 330 | p.cargo("tree -e features --all-features")
|
342 |
| - .with_stdout( |
343 |
| - "\ |
| 331 | + .with_stdout_data(str![[r#" |
344 | 332 | foo v0.1.0 ([..]/foo)
|
345 |
| -└── dep2 feature \"default\" |
| 333 | +└── dep2 feature "default" |
346 | 334 | └── dep2 v1.0.0
|
347 |
| -", |
348 |
| - ) |
| 335 | +
|
| 336 | +"#]]) |
349 | 337 | .run();
|
350 | 338 | p.cargo("tree -e features --all-features --target=all")
|
351 |
| - .with_stdout( |
352 |
| - "\ |
| 339 | + .with_stdout_data(str![[r#" |
353 | 340 | foo v0.1.0 ([..]/foo)
|
354 |
| -├── dep1 feature \"default\" |
| 341 | +├── dep1 feature "default" |
355 | 342 | │ └── dep1 v1.0.0
|
356 |
| -├── dep2 feature \"default\" |
| 343 | +├── dep2 feature "default" |
357 | 344 | │ └── dep2 v1.0.0
|
358 |
| -│ └── optdep feature \"default\" |
| 345 | +│ └── optdep feature "default" |
359 | 346 | │ └── optdep v1.0.0
|
360 |
| -└── optdep feature \"default\" (*) |
361 |
| -", |
362 |
| - ) |
| 347 | +└── optdep feature "default" (*) |
| 348 | +
|
| 349 | +"#]]) |
363 | 350 | .run();
|
364 | 351 | }
|
0 commit comments