|
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