Ninja
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, Backslash)
 
 TEST_F (ParserTest, BrokenInclude)
 
 TEST_F (ParserTest, CanonicalizeFile)
 
 TEST_F (ParserTest, CanonicalizePaths)
 
 TEST_F (ParserTest, Comment)
 
 TEST_F (ParserTest, Continuation)
 
 TEST_F (ParserTest, CRLF)
 
 TEST_F (ParserTest, DefaultDefault)
 
 TEST_F (ParserTest, DefaultDefaultCycle)
 
 TEST_F (ParserTest, DefaultStatements)
 
 TEST_F (ParserTest, Dollars)
 
 TEST_F (ParserTest, DuplicateEdgeInIncludedFile)
 
 TEST_F (ParserTest, DuplicateEdgeWithMultipleOutputsError)
 
 TEST_F (ParserTest, DuplicateRuleInDifferentSubninjas)
 
 TEST_F (ParserTest, DuplicateRuleInDifferentSubninjasWithInclude)
 
 TEST_F (ParserTest, DyndepExplicitInput)
 
 TEST_F (ParserTest, DyndepImplicitInput)
 
 TEST_F (ParserTest, DyndepNotInput)
 
 TEST_F (ParserTest, DyndepNotSpecified)
 
 TEST_F (ParserTest, DyndepOrderOnlyInput)
 
 TEST_F (ParserTest, DyndepRuleInput)
 
 TEST_F (ParserTest, Empty)
 
 TEST_F (ParserTest, Errors)
 
 TEST_F (ParserTest, EscapeSpaces)
 
 TEST_F (ParserTest, IgnoreIndentedBlankLines)
 
 TEST_F (ParserTest, IgnoreIndentedComments)
 
 TEST_F (ParserTest, Implicit)
 
 TEST_F (ParserTest, ImplicitOutput)
 
 TEST_F (ParserTest, ImplicitOutputDupeError)
 
 TEST_F (ParserTest, ImplicitOutputDupesError)
 
 TEST_F (ParserTest, ImplicitOutputEmpty)
 
 TEST_F (ParserTest, Include)
 
 TEST_F (ParserTest, InNewline)
 
 TEST_F (ParserTest, MissingInput)
 
 TEST_F (ParserTest, MissingSubNinja)
 
 TEST_F (ParserTest, MultipleOutputs)
 
 TEST_F (ParserTest, MultipleOutputsWithDeps)
 
 TEST_F (ParserTest, NoExplicitOutput)
 
 TEST_F (ParserTest, OrderOnly)
 
 TEST_F (ParserTest, PathVariables)
 
 TEST_F (ParserTest, PhonySelfReferenceIgnored)
 
 TEST_F (ParserTest, PhonySelfReferenceKept)
 
 TEST_F (ParserTest, ReservedWords)
 
 TEST_F (ParserTest, ResponseFiles)
 
 TEST_F (ParserTest, RuleAttributes)
 
 TEST_F (ParserTest, Rules)
 
 TEST_F (ParserTest, SubNinja)
 
 TEST_F (ParserTest, UTF8)
 
 TEST_F (ParserTest, Validations)
 
 TEST_F (ParserTest, Variables)
 
 TEST_F (ParserTest, VariableScope)
 

Function Documentation

◆ TEST_F() [1/51]

TEST_F ( ParserTest ,
Backslash  )

Definition at line 203 of file manifest_parser_test.cc.

References AssertParse().

◆ TEST_F() [2/51]

TEST_F ( ParserTest ,
BrokenInclude  )

Definition at line 911 of file manifest_parser_test.cc.

References ManifestParser::ParseTest().

◆ TEST_F() [3/51]

TEST_F ( ParserTest ,
CanonicalizeFile  )

Definition at line 248 of file manifest_parser_test.cc.

References AssertParse().

◆ TEST_F() [4/51]

TEST_F ( ParserTest ,
CanonicalizePaths  )

Definition at line 293 of file manifest_parser_test.cc.

References AssertParse().

◆ TEST_F() [5/51]

TEST_F ( ParserTest ,
Comment  )

Definition at line 212 of file manifest_parser_test.cc.

References AssertParse().

◆ TEST_F() [6/51]

TEST_F ( ParserTest ,
Continuation  )

Definition at line 188 of file manifest_parser_test.cc.

References AssertParse().

◆ TEST_F() [7/51]

TEST_F ( ParserTest ,
CRLF  )

Definition at line 1054 of file manifest_parser_test.cc.

References ManifestParser::ParseTest().

◆ TEST_F() [8/51]

TEST_F ( ParserTest ,
DefaultDefault  )

Definition at line 1004 of file manifest_parser_test.cc.

References AssertParse().

◆ TEST_F() [9/51]

TEST_F ( ParserTest ,
DefaultDefaultCycle  )

Definition at line 1017 of file manifest_parser_test.cc.

References AssertParse().

◆ TEST_F() [10/51]

TEST_F ( ParserTest ,
DefaultStatements  )

Definition at line 1027 of file manifest_parser_test.cc.

References AssertParse().

◆ TEST_F() [11/51]

TEST_F ( ParserTest ,
Dollars  )

Definition at line 219 of file manifest_parser_test.cc.

References AssertParse().

◆ TEST_F() [12/51]

TEST_F ( ParserTest ,
DuplicateEdgeInIncludedFile  )

Definition at line 346 of file manifest_parser_test.cc.

References ManifestParser::ParseTest().

◆ TEST_F() [13/51]

TEST_F ( ParserTest ,
DuplicateEdgeWithMultipleOutputsError  )

Definition at line 333 of file manifest_parser_test.cc.

References ManifestParser::ParseTest().

◆ TEST_F() [14/51]

TEST_F ( ParserTest ,
DuplicateRuleInDifferentSubninjas  )

Definition at line 876 of file manifest_parser_test.cc.

References ManifestParser::ParseTest().

◆ TEST_F() [15/51]

TEST_F ( ParserTest ,
DuplicateRuleInDifferentSubninjasWithInclude  )

Definition at line 887 of file manifest_parser_test.cc.

References ManifestParser::ParseTest().

◆ TEST_F() [16/51]

TEST_F ( ParserTest ,
DyndepExplicitInput  )

◆ TEST_F() [17/51]

TEST_F ( ParserTest ,
DyndepImplicitInput  )

◆ TEST_F() [18/51]

TEST_F ( ParserTest ,
DyndepNotInput  )

Definition at line 1079 of file manifest_parser_test.cc.

References ManifestParser::ParseTest().

◆ TEST_F() [19/51]

TEST_F ( ParserTest ,
DyndepNotSpecified  )

Definition at line 1070 of file manifest_parser_test.cc.

References AssertParse(), and Edge::dyndep_.

◆ TEST_F() [20/51]

TEST_F ( ParserTest ,
DyndepOrderOnlyInput  )

◆ TEST_F() [21/51]

TEST_F ( ParserTest ,
DyndepRuleInput  )

◆ TEST_F() [22/51]

TEST_F ( ParserTest ,
Empty  )

Definition at line 39 of file manifest_parser_test.cc.

References AssertParse().

◆ TEST_F() [23/51]

TEST_F ( ParserTest ,
Errors  )

Definition at line 395 of file manifest_parser_test.cc.

References ManifestParser::ParseTest().

◆ TEST_F() [24/51]

TEST_F ( ParserTest ,
EscapeSpaces  )

Definition at line 235 of file manifest_parser_test.cc.

References AssertParse().

◆ TEST_F() [25/51]

TEST_F ( ParserTest ,
IgnoreIndentedBlankLines  )

Definition at line 94 of file manifest_parser_test.cc.

References AssertParse().

◆ TEST_F() [26/51]

TEST_F ( ParserTest ,
IgnoreIndentedComments  )

Definition at line 75 of file manifest_parser_test.cc.

References AssertParse(), and Edge::GetBindingBool().

◆ TEST_F() [27/51]

TEST_F ( ParserTest ,
Implicit  )

Definition at line 922 of file manifest_parser_test.cc.

References AssertParse(), and Edge::is_implicit().

◆ TEST_F() [28/51]

TEST_F ( ParserTest ,
ImplicitOutput  )

Definition at line 951 of file manifest_parser_test.cc.

References AssertParse(), Edge::is_implicit_out(), and Edge::outputs_.

◆ TEST_F() [29/51]

TEST_F ( ParserTest ,
ImplicitOutputDupeError  )

Definition at line 973 of file manifest_parser_test.cc.

References ManifestParser::ParseTest().

◆ TEST_F() [30/51]

TEST_F ( ParserTest ,
ImplicitOutputDupesError  )

Definition at line 984 of file manifest_parser_test.cc.

References ManifestParser::ParseTest().

◆ TEST_F() [31/51]

TEST_F ( ParserTest ,
ImplicitOutputEmpty  )

Definition at line 962 of file manifest_parser_test.cc.

References AssertParse(), Edge::is_implicit_out(), and Edge::outputs_.

◆ TEST_F() [32/51]

TEST_F ( ParserTest ,
Include  )

Definition at line 900 of file manifest_parser_test.cc.

References AssertParse().

◆ TEST_F() [33/51]

TEST_F ( ParserTest ,
InNewline  )

Definition at line 128 of file manifest_parser_test.cc.

References AssertParse(), and Edge::EvaluateCommand().

◆ TEST_F() [34/51]

TEST_F ( ParserTest ,
MissingInput  )

Definition at line 813 of file manifest_parser_test.cc.

References Parser::Load().

◆ TEST_F() [35/51]

TEST_F ( ParserTest ,
MissingSubNinja  )

Definition at line 866 of file manifest_parser_test.cc.

References ManifestParser::ParseTest().

◆ TEST_F() [36/51]

TEST_F ( ParserTest ,
MultipleOutputs  )

Definition at line 821 of file manifest_parser_test.cc.

References ManifestParser::ParseTest().

◆ TEST_F() [37/51]

TEST_F ( ParserTest ,
MultipleOutputsWithDeps  )

Definition at line 831 of file manifest_parser_test.cc.

References ManifestParser::ParseTest().

◆ TEST_F() [38/51]

TEST_F ( ParserTest ,
NoExplicitOutput  )

Definition at line 995 of file manifest_parser_test.cc.

References ManifestParser::ParseTest().

◆ TEST_F() [39/51]

TEST_F ( ParserTest ,
OrderOnly  )

Definition at line 932 of file manifest_parser_test.cc.

References AssertParse(), and Edge::is_order_only().

◆ TEST_F() [40/51]

TEST_F ( ParserTest ,
PathVariables  )

Definition at line 282 of file manifest_parser_test.cc.

References AssertParse().

◆ TEST_F() [41/51]

TEST_F ( ParserTest ,
PhonySelfReferenceIgnored  )

Definition at line 361 of file manifest_parser_test.cc.

References AssertParse(), Node::in_edge(), and Edge::inputs_.

◆ TEST_F() [42/51]

◆ TEST_F() [43/51]

TEST_F ( ParserTest ,
ReservedWords  )

Definition at line 387 of file manifest_parser_test.cc.

References AssertParse().

◆ TEST_F() [44/51]

TEST_F ( ParserTest ,
ResponseFiles  )

Definition at line 109 of file manifest_parser_test.cc.

References AssertParse().

◆ TEST_F() [45/51]

TEST_F ( ParserTest ,
RuleAttributes  )

Definition at line 60 of file manifest_parser_test.cc.

References AssertParse().

◆ TEST_F() [46/51]

TEST_F ( ParserTest ,
Rules  )

Definition at line 43 of file manifest_parser_test.cc.

References AssertParse().

◆ TEST_F() [47/51]

TEST_F ( ParserTest ,
SubNinja  )

Definition at line 841 of file manifest_parser_test.cc.

References AssertParse().

◆ TEST_F() [48/51]

TEST_F ( ParserTest ,
UTF8  )

Definition at line 1047 of file manifest_parser_test.cc.

References AssertParse().

◆ TEST_F() [49/51]

TEST_F ( ParserTest ,
Validations  )

Definition at line 941 of file manifest_parser_test.cc.

References AssertParse(), and Edge::validations_.

◆ TEST_F() [50/51]

TEST_F ( ParserTest ,
Variables  )

Definition at line 146 of file manifest_parser_test.cc.

References AssertParse(), and Edge::EvaluateCommand().

◆ TEST_F() [51/51]

TEST_F ( ParserTest ,
VariableScope  )

Definition at line 171 of file manifest_parser_test.cc.

References AssertParse().