Skip to content

Commit 0c143b1

Browse files
committed
test(build-dir): Added cargo clean -p test
1 parent 9121077 commit 0c143b1

File tree

1 file changed

+71
-1
lines changed

1 file changed

+71
-1
lines changed

tests/testsuite/build_dir.rs

Lines changed: 71 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
use std::path::PathBuf;
1212

1313
use crate::prelude::*;
14-
use cargo_test_support::registry::RegistryBuilder;
14+
use cargo_test_support::registry::{Package, RegistryBuilder};
1515
use cargo_test_support::{paths, prelude::*, project, str};
1616
use std::env::consts::{DLL_PREFIX, DLL_SUFFIX, EXE_SUFFIX};
1717

@@ -580,6 +580,76 @@ fn cargo_clean_should_clean_the_target_dir_and_build_dir() {
580580
assert_not_exists(&p.root().join("target-dir"));
581581
}
582582

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+
583653
#[cargo_test]
584654
fn timings_report_should_output_to_target_dir() {
585655
let p = project()

0 commit comments

Comments
 (0)