diff options
author | Qingning Huo <qingninghuo@gmail.com> | 2012-03-14 21:11:31 (GMT) |
---|---|---|
committer | Qingning Huo <qingninghuo@gmail.com> | 2012-03-14 21:11:31 (GMT) |
commit | ef505e4573b14c802b1e5c2891694fa3c4e677e1 (patch) | |
tree | 530991bf5c6422082e35b9ff3a16b011febe0e02 /src/clean_test.cc | |
parent | fdec96f54e92d2990ebf1ba5434b317d3d8ad49d (diff) | |
download | Ninja-ef505e4573b14c802b1e5c2891694fa3c4e677e1.zip Ninja-ef505e4573b14c802b1e5c2891694fa3c4e677e1.tar.gz Ninja-ef505e4573b14c802b1e5c2891694fa3c4e677e1.tar.bz2 |
Remove depfiles when running when running "ninja -t clean <target>"
or "ninja -t clean -r <rule>"
Diffstat (limited to 'src/clean_test.cc')
-rw-r--r-- | src/clean_test.cc | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/src/clean_test.cc b/src/clean_test.cc index fbbe6a1..2e3a6b0 100644 --- a/src/clean_test.cc +++ b/src/clean_test.cc @@ -249,6 +249,36 @@ TEST_F(CleanTest, CleanDepFile) { EXPECT_EQ(2u, fs_.files_removed_.size()); } +TEST_F(CleanTest, CleanDepFileOnCleanTarget) { + ASSERT_NO_FATAL_FAILURE(AssertParse(&state_, +"rule cc\n" +" command = cc $in > $out\n" +" depfile = $out.d\n" +"build out1: cc in1\n")); + fs_.Create("out1", 1, ""); + fs_.Create("out1.d", 1, ""); + + Cleaner cleaner(&state_, config_, &fs_); + EXPECT_EQ(0, cleaner.CleanTarget("out1")); + EXPECT_EQ(2, cleaner.cleaned_files_count()); + EXPECT_EQ(2u, fs_.files_removed_.size()); +} + +TEST_F(CleanTest, CleanDepFileOnCleanRule) { + ASSERT_NO_FATAL_FAILURE(AssertParse(&state_, +"rule cc\n" +" command = cc $in > $out\n" +" depfile = $out.d\n" +"build out1: cc in1\n")); + fs_.Create("out1", 1, ""); + fs_.Create("out1.d", 1, ""); + + Cleaner cleaner(&state_, config_, &fs_); + EXPECT_EQ(0, cleaner.CleanRule("cc")); + EXPECT_EQ(2, cleaner.cleaned_files_count()); + EXPECT_EQ(2u, fs_.files_removed_.size()); +} + TEST_F(CleanTest, CleanRspFile) { ASSERT_NO_FATAL_FAILURE(AssertParse(&state_, "rule cc\n" |