summaryrefslogtreecommitdiffstats
path: root/src/depfile_parser_test.cc
diff options
context:
space:
mode:
authorNico Weber <nicolasweber@gmx.de>2014-05-01 03:46:12 (GMT)
committerNico Weber <nicolasweber@gmx.de>2014-05-01 03:46:12 (GMT)
commitc2b7e472ee5db11a65d113a2d7e11668b9e4608f (patch)
treea2d62cf1a328ad9beb4d2ead48cb90d83014d627 /src/depfile_parser_test.cc
parent6c9a54649d4eec45f58e117612a34a2c214a0214 (diff)
downloadNinja-c2b7e472ee5db11a65d113a2d7e11668b9e4608f.zip
Ninja-c2b7e472ee5db11a65d113a2d7e11668b9e4608f.tar.gz
Ninja-c2b7e472ee5db11a65d113a2d7e11668b9e4608f.tar.bz2
Accept \r\n line endings in depfiles.
Fixes #752.
Diffstat (limited to 'src/depfile_parser_test.cc')
-rw-r--r--src/depfile_parser_test.cc12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/depfile_parser_test.cc b/src/depfile_parser_test.cc
index 0f6771a..581f3a2 100644
--- a/src/depfile_parser_test.cc
+++ b/src/depfile_parser_test.cc
@@ -58,6 +58,17 @@ TEST_F(DepfileParserTest, Continuation) {
EXPECT_EQ(2u, parser_.ins_.size());
}
+TEST_F(DepfileParserTest, CarriageReturnContinuation) {
+ string err;
+ EXPECT_TRUE(Parse(
+"foo.o: \\\r\n"
+" bar.h baz.h\r\n",
+ &err));
+ ASSERT_EQ("", err);
+ EXPECT_EQ("foo.o", parser_.out_.AsString());
+ EXPECT_EQ(2u, parser_.ins_.size());
+}
+
TEST_F(DepfileParserTest, BackSlashes) {
string err;
EXPECT_TRUE(Parse(
@@ -136,4 +147,5 @@ TEST_F(DepfileParserTest, RejectMultipleDifferentOutputs) {
// check that multiple different outputs are rejected by the parser
string err;
EXPECT_FALSE(Parse("foo bar: x y z", &err));
+ ASSERT_EQ("depfile has multiple output paths", err);
}