summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEvan Martin <martine@danga.com>2013-04-05 21:08:41 (GMT)
committerEvan Martin <martine@danga.com>2013-04-08 22:02:51 (GMT)
commit8ec425abe38f468bc4bbb4c95d78fab3b93d2141 (patch)
treea2bc4e892980ccc1cce2e5d1d1a4d11ca4b18eca
parentadc4ee81443dbfae8584456c04ea1ba383da3d01 (diff)
downloadNinja-8ec425abe38f468bc4bbb4c95d78fab3b93d2141.zip
Ninja-8ec425abe38f468bc4bbb4c95d78fab3b93d2141.tar.gz
Ninja-8ec425abe38f468bc4bbb4c95d78fab3b93d2141.tar.bz2
add a test verifying build failure on bad deps
-rw-r--r--src/build_test.cc17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/build_test.cc b/src/build_test.cc
index bcd4d2e..1907197 100644
--- a/src/build_test.cc
+++ b/src/build_test.cc
@@ -1352,3 +1352,20 @@ TEST_F(BuildTest, StatusFormatReplacePlaceholder) {
status_.FormatProgressStatus("[%%/s%s/t%t/r%r/u%u/f%f]"));
}
+TEST_F(BuildTest, FailedDepsParse) {
+ ASSERT_NO_FATAL_FAILURE(AssertParse(&state_,
+"build bad_deps.o: cat in1\n"
+" deps = gcc\n"
+" depfile = in1.d\n"));
+
+ string err;
+ EXPECT_TRUE(builder_.AddTarget("bad_deps.o", &err));
+ ASSERT_EQ("", err);
+
+ // These deps will fail to parse, as they should only have one
+ // path to the left of the colon.
+ fs_.Create("in1.d", "XXX YYY");
+
+ EXPECT_FALSE(builder_.Build(&err));
+ EXPECT_EQ("subcommand failed", err);
+}