Ninja
Classes | Functions
manifest_parser_test.cc File Reference
#include "manifest_parser.h"
#include <map>
#include <vector>
#include "graph.h"
#include "state.h"
#include "test.h"
Include dependency graph for manifest_parser_test.cc:

Go to the source code of this file.

Classes

struct  ParserTest
 

Functions

 TEST_F (ParserTest, Empty)
 
 TEST_F (ParserTest, Rules)
 
 TEST_F (ParserTest, RuleAttributes)
 
 TEST_F (ParserTest, IgnoreIndentedComments)
 
 TEST_F (ParserTest, IgnoreIndentedBlankLines)
 
 TEST_F (ParserTest, ResponseFiles)
 
 TEST_F (ParserTest, InNewline)
 
 TEST_F (ParserTest, Variables)
 
 TEST_F (ParserTest, VariableScope)
 
 TEST_F (ParserTest, Continuation)
 
 TEST_F (ParserTest, Backslash)
 
 TEST_F (ParserTest, Comment)
 
 TEST_F (ParserTest, Dollars)
 
 TEST_F (ParserTest, EscapeSpaces)
 
 TEST_F (ParserTest, CanonicalizeFile)
 
 TEST_F (ParserTest, PathVariables)
 
 TEST_F (ParserTest, CanonicalizePaths)
 
 TEST_F (ParserTest, DuplicateEdgeWithMultipleOutputs)
 
 TEST_F (ParserTest, NoDeadPointerFromDuplicateEdge)
 
 TEST_F (ParserTest, DuplicateEdgeWithMultipleOutputsError)
 
 TEST_F (ParserTest, DuplicateEdgeInIncludedFile)
 
 TEST_F (ParserTest, PhonySelfReferenceIgnored)
 
 TEST_F (ParserTest, PhonySelfReferenceKept)
 
 TEST_F (ParserTest, ReservedWords)
 
 TEST_F (ParserTest, Errors)
 
 TEST_F (ParserTest, MissingInput)
 
 TEST_F (ParserTest, MultipleOutputs)
 
 TEST_F (ParserTest, MultipleOutputsWithDeps)
 
 TEST_F (ParserTest, SubNinja)
 
 TEST_F (ParserTest, MissingSubNinja)
 
 TEST_F (ParserTest, DuplicateRuleInDifferentSubninjas)
 
 TEST_F (ParserTest, DuplicateRuleInDifferentSubninjasWithInclude)
 
 TEST_F (ParserTest, Include)
 
 TEST_F (ParserTest, BrokenInclude)
 
 TEST_F (ParserTest, Implicit)
 
 TEST_F (ParserTest, OrderOnly)
 
 TEST_F (ParserTest, ImplicitOutput)
 
 TEST_F (ParserTest, ImplicitOutputEmpty)
 
 TEST_F (ParserTest, ImplicitOutputDupe)
 
 TEST_F (ParserTest, ImplicitOutputDupes)
 
 TEST_F (ParserTest, NoExplicitOutput)
 
 TEST_F (ParserTest, DefaultDefault)
 
 TEST_F (ParserTest, DefaultDefaultCycle)
 
 TEST_F (ParserTest, DefaultStatements)
 
 TEST_F (ParserTest, UTF8)
 
 TEST_F (ParserTest, CRLF)
 
 TEST_F (ParserTest, DyndepNotSpecified)
 
 TEST_F (ParserTest, DyndepNotInput)
 
 TEST_F (ParserTest, DyndepExplicitInput)
 
 TEST_F (ParserTest, DyndepImplicitInput)
 
 TEST_F (ParserTest, DyndepOrderOnlyInput)
 
 TEST_F (ParserTest, DyndepRuleInput)
 

Function Documentation

◆ TEST_F() [1/52]

TEST_F ( ParserTest  ,
Empty   
)

Definition at line 39 of file manifest_parser_test.cc.

References ASSERT_NO_FATAL_FAILURE, and AssertParse().

◆ TEST_F() [2/52]

TEST_F ( ParserTest  ,
Rules   
)

◆ TEST_F() [3/52]

TEST_F ( ParserTest  ,
RuleAttributes   
)

Definition at line 60 of file manifest_parser_test.cc.

References ASSERT_NO_FATAL_FAILURE, and AssertParse().

◆ TEST_F() [4/52]

TEST_F ( ParserTest  ,
IgnoreIndentedComments   
)

◆ TEST_F() [5/52]

TEST_F ( ParserTest  ,
IgnoreIndentedBlankLines   
)

Definition at line 94 of file manifest_parser_test.cc.

References ASSERT_NO_FATAL_FAILURE, AssertParse(), and EXPECT_EQ.

◆ TEST_F() [6/52]

TEST_F ( ParserTest  ,
ResponseFiles   
)

◆ TEST_F() [7/52]

TEST_F ( ParserTest  ,
InNewline   
)

◆ TEST_F() [8/52]

TEST_F ( ParserTest  ,
Variables   
)

Definition at line 146 of file manifest_parser_test.cc.

References ASSERT_EQ, ASSERT_NO_FATAL_FAILURE, AssertParse(), and EXPECT_EQ.

◆ TEST_F() [9/52]

TEST_F ( ParserTest  ,
VariableScope   
)

Definition at line 171 of file manifest_parser_test.cc.

References ASSERT_EQ, ASSERT_NO_FATAL_FAILURE, AssertParse(), and EXPECT_EQ.

◆ TEST_F() [10/52]

TEST_F ( ParserTest  ,
Continuation   
)

◆ TEST_F() [11/52]

TEST_F ( ParserTest  ,
Backslash   
)

Definition at line 203 of file manifest_parser_test.cc.

References ASSERT_NO_FATAL_FAILURE, AssertParse(), and EXPECT_EQ.

◆ TEST_F() [12/52]

TEST_F ( ParserTest  ,
Comment   
)

Definition at line 212 of file manifest_parser_test.cc.

References ASSERT_NO_FATAL_FAILURE, AssertParse(), and EXPECT_EQ.

◆ TEST_F() [13/52]

TEST_F ( ParserTest  ,
Dollars   
)

Definition at line 219 of file manifest_parser_test.cc.

References ASSERT_NO_FATAL_FAILURE, AssertParse(), and EXPECT_EQ.

◆ TEST_F() [14/52]

TEST_F ( ParserTest  ,
EscapeSpaces   
)

◆ TEST_F() [15/52]

TEST_F ( ParserTest  ,
CanonicalizeFile   
)

◆ TEST_F() [16/52]

TEST_F ( ParserTest  ,
PathVariables   
)

◆ TEST_F() [17/52]

TEST_F ( ParserTest  ,
CanonicalizePaths   
)

◆ TEST_F() [18/52]

TEST_F ( ParserTest  ,
DuplicateEdgeWithMultipleOutputs   
)

Definition at line 333 of file manifest_parser_test.cc.

References ASSERT_NO_FATAL_FAILURE, and AssertParse().

◆ TEST_F() [19/52]

TEST_F ( ParserTest  ,
NoDeadPointerFromDuplicateEdge   
)

Definition at line 345 of file manifest_parser_test.cc.

References ASSERT_NO_FATAL_FAILURE, and AssertParse().

◆ TEST_F() [20/52]

TEST_F ( ParserTest  ,
DuplicateEdgeWithMultipleOutputsError   
)

◆ TEST_F() [21/52]

TEST_F ( ParserTest  ,
DuplicateEdgeInIncludedFile   
)

◆ TEST_F() [22/52]

TEST_F ( ParserTest  ,
PhonySelfReferenceIgnored   
)

◆ TEST_F() [23/52]

TEST_F ( ParserTest  ,
PhonySelfReferenceKept   
)

◆ TEST_F() [24/52]

TEST_F ( ParserTest  ,
ReservedWords   
)

Definition at line 415 of file manifest_parser_test.cc.

References ASSERT_NO_FATAL_FAILURE, and AssertParse().

◆ TEST_F() [25/52]

TEST_F ( ParserTest  ,
Errors   
)

Definition at line 423 of file manifest_parser_test.cc.

References EXPECT_EQ, EXPECT_FALSE, and ManifestParser::ParseTest().

◆ TEST_F() [26/52]

TEST_F ( ParserTest  ,
MissingInput   
)

Definition at line 841 of file manifest_parser_test.cc.

References EXPECT_EQ, EXPECT_FALSE, and Parser::Load().

◆ TEST_F() [27/52]

TEST_F ( ParserTest  ,
MultipleOutputs   
)

Definition at line 849 of file manifest_parser_test.cc.

References EXPECT_EQ, EXPECT_TRUE, and ManifestParser::ParseTest().

◆ TEST_F() [28/52]

TEST_F ( ParserTest  ,
MultipleOutputsWithDeps   
)

Definition at line 859 of file manifest_parser_test.cc.

References EXPECT_EQ, EXPECT_TRUE, and ManifestParser::ParseTest().

◆ TEST_F() [29/52]

TEST_F ( ParserTest  ,
SubNinja   
)

◆ TEST_F() [30/52]

TEST_F ( ParserTest  ,
MissingSubNinja   
)

Definition at line 894 of file manifest_parser_test.cc.

References EXPECT_EQ, EXPECT_FALSE, and ManifestParser::ParseTest().

◆ TEST_F() [31/52]

TEST_F ( ParserTest  ,
DuplicateRuleInDifferentSubninjas   
)

Definition at line 904 of file manifest_parser_test.cc.

References EXPECT_TRUE, and ManifestParser::ParseTest().

◆ TEST_F() [32/52]

TEST_F ( ParserTest  ,
DuplicateRuleInDifferentSubninjasWithInclude   
)

Definition at line 915 of file manifest_parser_test.cc.

References EXPECT_TRUE, and ManifestParser::ParseTest().

◆ TEST_F() [33/52]

TEST_F ( ParserTest  ,
Include   
)

Definition at line 928 of file manifest_parser_test.cc.

References ASSERT_EQ, ASSERT_NO_FATAL_FAILURE, AssertParse(), and EXPECT_EQ.

◆ TEST_F() [34/52]

TEST_F ( ParserTest  ,
BrokenInclude   
)

Definition at line 939 of file manifest_parser_test.cc.

References EXPECT_EQ, EXPECT_FALSE, and ManifestParser::ParseTest().

◆ TEST_F() [35/52]

TEST_F ( ParserTest  ,
Implicit   
)

◆ TEST_F() [36/52]

TEST_F ( ParserTest  ,
OrderOnly   
)

◆ TEST_F() [37/52]

TEST_F ( ParserTest  ,
ImplicitOutput   
)

◆ TEST_F() [38/52]

TEST_F ( ParserTest  ,
ImplicitOutputEmpty   
)

◆ TEST_F() [39/52]

TEST_F ( ParserTest  ,
ImplicitOutputDupe   
)

◆ TEST_F() [40/52]

TEST_F ( ParserTest  ,
ImplicitOutputDupes   
)

◆ TEST_F() [41/52]

TEST_F ( ParserTest  ,
NoExplicitOutput   
)

Definition at line 1015 of file manifest_parser_test.cc.

References EXPECT_TRUE, and ManifestParser::ParseTest().

◆ TEST_F() [42/52]

TEST_F ( ParserTest  ,
DefaultDefault   
)

Definition at line 1024 of file manifest_parser_test.cc.

References ASSERT_NO_FATAL_FAILURE, AssertParse(), and EXPECT_EQ.

◆ TEST_F() [43/52]

TEST_F ( ParserTest  ,
DefaultDefaultCycle   
)

Definition at line 1037 of file manifest_parser_test.cc.

References ASSERT_NO_FATAL_FAILURE, AssertParse(), and EXPECT_EQ.

◆ TEST_F() [44/52]

TEST_F ( ParserTest  ,
DefaultStatements   
)

Definition at line 1047 of file manifest_parser_test.cc.

References ASSERT_EQ, ASSERT_NO_FATAL_FAILURE, AssertParse(), and EXPECT_EQ.

◆ TEST_F() [45/52]

TEST_F ( ParserTest  ,
UTF8   
)

Definition at line 1067 of file manifest_parser_test.cc.

References ASSERT_NO_FATAL_FAILURE, and AssertParse().

◆ TEST_F() [46/52]

TEST_F ( ParserTest  ,
CRLF   
)

Definition at line 1074 of file manifest_parser_test.cc.

References EXPECT_TRUE, and ManifestParser::ParseTest().

◆ TEST_F() [47/52]

TEST_F ( ParserTest  ,
DyndepNotSpecified   
)

◆ TEST_F() [48/52]

TEST_F ( ParserTest  ,
DyndepNotInput   
)

Definition at line 1099 of file manifest_parser_test.cc.

References EXPECT_EQ, EXPECT_FALSE, and ManifestParser::ParseTest().

◆ TEST_F() [49/52]

TEST_F ( ParserTest  ,
DyndepExplicitInput   
)

◆ TEST_F() [50/52]

TEST_F ( ParserTest  ,
DyndepImplicitInput   
)

◆ TEST_F() [51/52]

TEST_F ( ParserTest  ,
DyndepOrderOnlyInput   
)

◆ TEST_F() [52/52]

TEST_F ( ParserTest  ,
DyndepRuleInput   
)