|
11 | 11 | use std::path::PathBuf;
|
12 | 12 |
|
13 | 13 | use crate::prelude::*;
|
14 |
| -use cargo_test_support::registry::RegistryBuilder; |
| 14 | +use cargo_test_support::registry::{Package, RegistryBuilder}; |
15 | 15 | use cargo_test_support::{paths, prelude::*, project, str};
|
16 | 16 | use std::env::consts::{DLL_PREFIX, DLL_SUFFIX, EXE_SUFFIX};
|
17 | 17 |
|
@@ -580,6 +580,76 @@ fn cargo_clean_should_clean_the_target_dir_and_build_dir() {
|
580 | 580 | assert_not_exists(&p.root().join("target-dir"));
|
581 | 581 | }
|
582 | 582 |
|
| 583 | +#[cargo_test] |
| 584 | +fn cargo_clean_should_remove_correct_files() { |
| 585 | + Package::new("bar", "0.1.0").publish(); |
| 586 | + |
| 587 | + let p = project() |
| 588 | + .file( |
| 589 | + "Cargo.toml", |
| 590 | + r#" |
| 591 | + [package] |
| 592 | + name = "foo" |
| 593 | + version = "0.0.1" |
| 594 | + edition = "2015" |
| 595 | + authors = [] |
| 596 | + exclude = ["*.txt"] |
| 597 | + license = "MIT" |
| 598 | + description = "foo" |
| 599 | +
|
| 600 | + [dependencies] |
| 601 | + bar = "0.1" |
| 602 | + "#, |
| 603 | + ) |
| 604 | + .file("src/main.rs", r#"fn main() { println!("Hello, World!"); }"#) |
| 605 | + .file( |
| 606 | + ".cargo/config.toml", |
| 607 | + r#" |
| 608 | + [build] |
| 609 | + target-dir = "target-dir" |
| 610 | + build-dir = "build-dir" |
| 611 | + "#, |
| 612 | + ) |
| 613 | + .build(); |
| 614 | + |
| 615 | + p.cargo("build").enable_mac_dsym().run(); |
| 616 | + |
| 617 | + p.root().join("build-dir").assert_build_dir_layout(str![[r#" |
| 618 | +[ROOT]/foo/build-dir/.rustc_info.json |
| 619 | +[ROOT]/foo/build-dir/CACHEDIR.TAG |
| 620 | +[ROOT]/foo/build-dir/debug/.cargo-lock |
| 621 | +[ROOT]/foo/build-dir/debug/.fingerprint/foo-[HASH]/bin-foo |
| 622 | +[ROOT]/foo/build-dir/debug/.fingerprint/foo-[HASH]/bin-foo.json |
| 623 | +[ROOT]/foo/build-dir/debug/.fingerprint/foo-[HASH]/dep-bin-foo |
| 624 | +[ROOT]/foo/build-dir/debug/.fingerprint/foo-[HASH]/invoked.timestamp |
| 625 | +[ROOT]/foo/build-dir/debug/deps/foo[..][EXE] |
| 626 | +[ROOT]/foo/build-dir/debug/deps/foo[..].d |
| 627 | +[ROOT]/foo/build-dir/debug/.fingerprint/bar-[HASH]/lib-bar |
| 628 | +[ROOT]/foo/build-dir/debug/.fingerprint/bar-[HASH]/lib-bar.json |
| 629 | +[ROOT]/foo/build-dir/debug/.fingerprint/bar-[HASH]/dep-lib-bar |
| 630 | +[ROOT]/foo/build-dir/debug/.fingerprint/bar-[HASH]/invoked.timestamp |
| 631 | +[ROOT]/foo/build-dir/debug/deps/bar[..].d |
| 632 | +[ROOT]/foo/build-dir/debug/deps/libbar[..].rlib |
| 633 | +[ROOT]/foo/build-dir/debug/deps/libbar[..].rmeta |
| 634 | +
|
| 635 | +"#]]); |
| 636 | + |
| 637 | + p.cargo("clean -p bar").enable_mac_dsym().run(); |
| 638 | + |
| 639 | + p.root().join("build-dir").assert_build_dir_layout(str![[r#" |
| 640 | +[ROOT]/foo/build-dir/.rustc_info.json |
| 641 | +[ROOT]/foo/build-dir/CACHEDIR.TAG |
| 642 | +[ROOT]/foo/build-dir/debug/.cargo-lock |
| 643 | +[ROOT]/foo/build-dir/debug/.fingerprint/foo-[HASH]/bin-foo |
| 644 | +[ROOT]/foo/build-dir/debug/.fingerprint/foo-[HASH]/bin-foo.json |
| 645 | +[ROOT]/foo/build-dir/debug/.fingerprint/foo-[HASH]/dep-bin-foo |
| 646 | +[ROOT]/foo/build-dir/debug/.fingerprint/foo-[HASH]/invoked.timestamp |
| 647 | +[ROOT]/foo/build-dir/debug/deps/foo[..][EXE] |
| 648 | +[ROOT]/foo/build-dir/debug/deps/foo[..].d |
| 649 | +
|
| 650 | +"#]]); |
| 651 | +} |
| 652 | + |
583 | 653 | #[cargo_test]
|
584 | 654 | fn timings_report_should_output_to_target_dir() {
|
585 | 655 | let p = project()
|
|
0 commit comments