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, Validations)
 
 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/53]

TEST_F ( ParserTest  ,
Empty   
)

Definition at line 39 of file manifest_parser_test.cc.

References ASSERT_NO_FATAL_FAILURE, and AssertParse().

◆ TEST_F() [2/53]

TEST_F ( ParserTest  ,
Rules   
)

◆ TEST_F() [3/53]

TEST_F ( ParserTest  ,
RuleAttributes   
)

Definition at line 60 of file manifest_parser_test.cc.

References ASSERT_NO_FATAL_FAILURE, and AssertParse().

◆ TEST_F() [4/53]

TEST_F ( ParserTest  ,
IgnoreIndentedComments   
)

◆ TEST_F() [5/53]

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/53]

TEST_F ( ParserTest  ,
ResponseFiles   
)

◆ TEST_F() [7/53]

TEST_F ( ParserTest  ,
InNewline   
)

◆ TEST_F() [8/53]

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/53]

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/53]

TEST_F ( ParserTest  ,
Continuation   
)

◆ TEST_F() [11/53]

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/53]

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/53]

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/53]

TEST_F ( ParserTest  ,
EscapeSpaces   
)

◆ TEST_F() [15/53]

TEST_F ( ParserTest  ,
CanonicalizeFile   
)

◆ TEST_F() [16/53]

TEST_F ( ParserTest  ,
PathVariables   
)

◆ TEST_F() [17/53]

TEST_F ( ParserTest  ,
CanonicalizePaths   
)

◆ TEST_F() [18/53]

TEST_F ( ParserTest  ,
DuplicateEdgeWithMultipleOutputs   
)

Definition at line 333 of file manifest_parser_test.cc.

References ASSERT_NO_FATAL_FAILURE, and AssertParse().

◆ TEST_F() [19/53]

TEST_F ( ParserTest  ,
NoDeadPointerFromDuplicateEdge   
)

Definition at line 345 of file manifest_parser_test.cc.

References ASSERT_NO_FATAL_FAILURE, and AssertParse().

◆ TEST_F() [20/53]

TEST_F ( ParserTest  ,
DuplicateEdgeWithMultipleOutputsError   
)

◆ TEST_F() [21/53]

TEST_F ( ParserTest  ,
DuplicateEdgeInIncludedFile   
)

◆ TEST_F() [22/53]

TEST_F ( ParserTest  ,
PhonySelfReferenceIgnored   
)

◆ TEST_F() [23/53]

TEST_F ( ParserTest  ,
PhonySelfReferenceKept   
)

◆ TEST_F() [24/53]

TEST_F ( ParserTest  ,
ReservedWords   
)

Definition at line 414 of file manifest_parser_test.cc.

References ASSERT_NO_FATAL_FAILURE, and AssertParse().

◆ TEST_F() [25/53]

TEST_F ( ParserTest  ,
Errors   
)

Definition at line 422 of file manifest_parser_test.cc.

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

◆ TEST_F() [26/53]

TEST_F ( ParserTest  ,
MissingInput   
)

Definition at line 840 of file manifest_parser_test.cc.

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

◆ TEST_F() [27/53]

TEST_F ( ParserTest  ,
MultipleOutputs   
)

Definition at line 848 of file manifest_parser_test.cc.

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

◆ TEST_F() [28/53]

TEST_F ( ParserTest  ,
MultipleOutputsWithDeps   
)

Definition at line 858 of file manifest_parser_test.cc.

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

◆ TEST_F() [29/53]

TEST_F ( ParserTest  ,
SubNinja   
)

◆ TEST_F() [30/53]

TEST_F ( ParserTest  ,
MissingSubNinja   
)

Definition at line 893 of file manifest_parser_test.cc.

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

◆ TEST_F() [31/53]

TEST_F ( ParserTest  ,
DuplicateRuleInDifferentSubninjas   
)

Definition at line 903 of file manifest_parser_test.cc.

References EXPECT_TRUE, and ManifestParser::ParseTest().

◆ TEST_F() [32/53]

TEST_F ( ParserTest  ,
DuplicateRuleInDifferentSubninjasWithInclude   
)

Definition at line 914 of file manifest_parser_test.cc.

References EXPECT_TRUE, and ManifestParser::ParseTest().

◆ TEST_F() [33/53]

TEST_F ( ParserTest  ,
Include   
)

Definition at line 927 of file manifest_parser_test.cc.

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

◆ TEST_F() [34/53]

TEST_F ( ParserTest  ,
BrokenInclude   
)

Definition at line 938 of file manifest_parser_test.cc.

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

◆ TEST_F() [35/53]

TEST_F ( ParserTest  ,
Implicit   
)

◆ TEST_F() [36/53]

TEST_F ( ParserTest  ,
OrderOnly   
)

◆ TEST_F() [37/53]

TEST_F ( ParserTest  ,
Validations   
)

◆ TEST_F() [38/53]

TEST_F ( ParserTest  ,
ImplicitOutput   
)

◆ TEST_F() [39/53]

TEST_F ( ParserTest  ,
ImplicitOutputEmpty   
)

◆ TEST_F() [40/53]

TEST_F ( ParserTest  ,
ImplicitOutputDupe   
)

◆ TEST_F() [41/53]

TEST_F ( ParserTest  ,
ImplicitOutputDupes   
)

◆ TEST_F() [42/53]

TEST_F ( ParserTest  ,
NoExplicitOutput   
)

Definition at line 1024 of file manifest_parser_test.cc.

References EXPECT_TRUE, and ManifestParser::ParseTest().

◆ TEST_F() [43/53]

TEST_F ( ParserTest  ,
DefaultDefault   
)

Definition at line 1033 of file manifest_parser_test.cc.

References ASSERT_NO_FATAL_FAILURE, AssertParse(), and EXPECT_EQ.

◆ TEST_F() [44/53]

TEST_F ( ParserTest  ,
DefaultDefaultCycle   
)

Definition at line 1046 of file manifest_parser_test.cc.

References ASSERT_NO_FATAL_FAILURE, AssertParse(), and EXPECT_EQ.

◆ TEST_F() [45/53]

TEST_F ( ParserTest  ,
DefaultStatements   
)

Definition at line 1056 of file manifest_parser_test.cc.

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

◆ TEST_F() [46/53]

TEST_F ( ParserTest  ,
UTF8   
)

Definition at line 1076 of file manifest_parser_test.cc.

References ASSERT_NO_FATAL_FAILURE, and AssertParse().

◆ TEST_F() [47/53]

TEST_F ( ParserTest  ,
CRLF   
)

Definition at line 1083 of file manifest_parser_test.cc.

References EXPECT_TRUE, and ManifestParser::ParseTest().

◆ TEST_F() [48/53]

TEST_F ( ParserTest  ,
DyndepNotSpecified   
)

◆ TEST_F() [49/53]

TEST_F ( ParserTest  ,
DyndepNotInput   
)

Definition at line 1108 of file manifest_parser_test.cc.

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

◆ TEST_F() [50/53]

TEST_F ( ParserTest  ,
DyndepExplicitInput   
)

◆ TEST_F() [51/53]

TEST_F ( ParserTest  ,
DyndepImplicitInput   
)

◆ TEST_F() [52/53]

TEST_F ( ParserTest  ,
DyndepOrderOnlyInput   
)

◆ TEST_F() [53/53]

TEST_F ( ParserTest  ,
DyndepRuleInput   
)