Ninja
Classes | Functions
graph_test.cc File Reference
#include "graph.h"
#include "build.h"
#include "test.h"
Include dependency graph for graph_test.cc:

Go to the source code of this file.

Classes

struct  GraphTest
 

Functions

 TEST_F (GraphTest, MissingImplicit)
 
 TEST_F (GraphTest, ModifiedImplicit)
 
 TEST_F (GraphTest, FunkyMakefilePath)
 
 TEST_F (GraphTest, ExplicitImplicit)
 
 TEST_F (GraphTest, ImplicitOutputParse)
 
 TEST_F (GraphTest, ImplicitOutputMissing)
 
 TEST_F (GraphTest, ImplicitOutputOutOfDate)
 
 TEST_F (GraphTest, ImplicitOutputOnlyParse)
 
 TEST_F (GraphTest, ImplicitOutputOnlyMissing)
 
 TEST_F (GraphTest, ImplicitOutputOnlyOutOfDate)
 
 TEST_F (GraphTest, PathWithCurrentDirectory)
 
 TEST_F (GraphTest, RootNodes)
 
 TEST_F (GraphTest, CollectInputs)
 
 TEST_F (GraphTest, VarInOutPathEscaping)
 
 TEST_F (GraphTest, DepfileWithCanonicalizablePath)
 
 TEST_F (GraphTest, DepfileRemoved)
 
 TEST_F (GraphTest, RuleVariablesInScope)
 
 TEST_F (GraphTest, DepfileOverride)
 
 TEST_F (GraphTest, DepfileOverrideParent)
 
 TEST_F (GraphTest, NestedPhonyPrintsDone)
 
 TEST_F (GraphTest, PhonySelfReferenceError)
 
 TEST_F (GraphTest, DependencyCycle)
 
 TEST_F (GraphTest, CycleInEdgesButNotInNodes1)
 
 TEST_F (GraphTest, CycleInEdgesButNotInNodes2)
 
 TEST_F (GraphTest, CycleInEdgesButNotInNodes3)
 
 TEST_F (GraphTest, CycleInEdgesButNotInNodes4)
 
 TEST_F (GraphTest, CycleWithLengthZeroFromDepfile)
 
 TEST_F (GraphTest, CycleWithLengthOneFromDepfile)
 
 TEST_F (GraphTest, CycleWithLengthOneFromDepfileOneHopAway)
 
 TEST_F (GraphTest, DyndepLoadTrivial)
 
 TEST_F (GraphTest, DyndepLoadImplicit)
 
 TEST_F (GraphTest, DyndepLoadMissingFile)
 
 TEST_F (GraphTest, DyndepLoadMissingEntry)
 
 TEST_F (GraphTest, DyndepLoadExtraEntry)
 
 TEST_F (GraphTest, DyndepLoadOutputWithMultipleRules1)
 
 TEST_F (GraphTest, DyndepLoadOutputWithMultipleRules2)
 
 TEST_F (GraphTest, DyndepLoadMultiple)
 
 TEST_F (GraphTest, DyndepFileMissing)
 
 TEST_F (GraphTest, DyndepFileError)
 
 TEST_F (GraphTest, DyndepImplicitInputNewer)
 
 TEST_F (GraphTest, DyndepFileReady)
 
 TEST_F (GraphTest, DyndepFileNotClean)
 
 TEST_F (GraphTest, DyndepFileNotReady)
 
 TEST_F (GraphTest, DyndepFileSecondNotReady)
 
 TEST_F (GraphTest, DyndepFileCircular)
 
 TEST_F (GraphTest, Validation)
 
 TEST_F (GraphTest, PhonyDepsMtimes)
 

Function Documentation

◆ TEST_F() [1/47]

TEST_F ( GraphTest  ,
MissingImplicit   
)

Definition at line 29 of file graph_test.cc.

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

◆ TEST_F() [2/47]

TEST_F ( GraphTest  ,
ModifiedImplicit   
)

Definition at line 45 of file graph_test.cc.

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

◆ TEST_F() [3/47]

TEST_F ( GraphTest  ,
FunkyMakefilePath   
)

Definition at line 61 of file graph_test.cc.

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

◆ TEST_F() [4/47]

TEST_F ( GraphTest  ,
ExplicitImplicit   
)

Definition at line 82 of file graph_test.cc.

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

◆ TEST_F() [5/47]

TEST_F ( GraphTest  ,
ImplicitOutputParse   
)

◆ TEST_F() [6/47]

TEST_F ( GraphTest  ,
ImplicitOutputMissing   
)

Definition at line 118 of file graph_test.cc.

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

◆ TEST_F() [7/47]

TEST_F ( GraphTest  ,
ImplicitOutputOutOfDate   
)

Definition at line 132 of file graph_test.cc.

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

◆ TEST_F() [8/47]

TEST_F ( GraphTest  ,
ImplicitOutputOnlyParse   
)

◆ TEST_F() [9/47]

TEST_F ( GraphTest  ,
ImplicitOutputOnlyMissing   
)

Definition at line 159 of file graph_test.cc.

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

◆ TEST_F() [10/47]

TEST_F ( GraphTest  ,
ImplicitOutputOnlyOutOfDate   
)

Definition at line 171 of file graph_test.cc.

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

◆ TEST_F() [11/47]

TEST_F ( GraphTest  ,
PathWithCurrentDirectory   
)

Definition at line 185 of file graph_test.cc.

References ASSERT_EQ, ASSERT_NO_FATAL_FAILURE, AssertParse(), EXPECT_FALSE, and EXPECT_TRUE.

◆ TEST_F() [12/47]

TEST_F ( GraphTest  ,
RootNodes   
)

Definition at line 202 of file graph_test.cc.

References ASSERT_NO_FATAL_FAILURE, AssertParse(), and EXPECT_EQ.

◆ TEST_F() [13/47]

TEST_F ( GraphTest  ,
CollectInputs   
)

◆ TEST_F() [14/47]

TEST_F ( GraphTest  ,
VarInOutPathEscaping   
)

◆ TEST_F() [15/47]

TEST_F ( GraphTest  ,
DepfileWithCanonicalizablePath   
)

Definition at line 266 of file graph_test.cc.

References ASSERT_EQ, ASSERT_NO_FATAL_FAILURE, AssertParse(), EXPECT_FALSE, and EXPECT_TRUE.

◆ TEST_F() [16/47]

TEST_F ( GraphTest  ,
DepfileRemoved   
)

Definition at line 284 of file graph_test.cc.

References ASSERT_EQ, ASSERT_NO_FATAL_FAILURE, AssertParse(), EXPECT_FALSE, and EXPECT_TRUE.

◆ TEST_F() [17/47]

TEST_F ( GraphTest  ,
RuleVariablesInScope   
)

◆ TEST_F() [18/47]

TEST_F ( GraphTest  ,
DepfileOverride   
)

Definition at line 320 of file graph_test.cc.

References ASSERT_NO_FATAL_FAILURE, AssertParse(), EXPECT_EQ, and Edge::GetBinding().

◆ TEST_F() [19/47]

TEST_F ( GraphTest  ,
DepfileOverrideParent   
)

Definition at line 332 of file graph_test.cc.

References ASSERT_NO_FATAL_FAILURE, AssertParse(), EXPECT_EQ, and Edge::GetBinding().

◆ TEST_F() [20/47]

TEST_F ( GraphTest  ,
NestedPhonyPrintsDone   
)

◆ TEST_F() [21/47]

TEST_F ( GraphTest  ,
PhonySelfReferenceError   
)

◆ TEST_F() [22/47]

TEST_F ( GraphTest  ,
DependencyCycle   
)

Definition at line 373 of file graph_test.cc.

References ASSERT_EQ, AssertParse(), and EXPECT_FALSE.

◆ TEST_F() [23/47]

TEST_F ( GraphTest  ,
CycleInEdgesButNotInNodes1   
)

Definition at line 385 of file graph_test.cc.

References ASSERT_EQ, AssertParse(), and EXPECT_FALSE.

◆ TEST_F() [24/47]

TEST_F ( GraphTest  ,
CycleInEdgesButNotInNodes2   
)

Definition at line 393 of file graph_test.cc.

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

◆ TEST_F() [25/47]

TEST_F ( GraphTest  ,
CycleInEdgesButNotInNodes3   
)

Definition at line 401 of file graph_test.cc.

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

◆ TEST_F() [26/47]

TEST_F ( GraphTest  ,
CycleInEdgesButNotInNodes4   
)

Definition at line 410 of file graph_test.cc.

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

◆ TEST_F() [27/47]

TEST_F ( GraphTest  ,
CycleWithLengthZeroFromDepfile   
)

Definition at line 424 of file graph_test.cc.

References ASSERT_EQ, AssertParse(), EXPECT_EQ, EXPECT_FALSE, and Edge::inputs_.

◆ TEST_F() [28/47]

TEST_F ( GraphTest  ,
CycleWithLengthOneFromDepfile   
)

Definition at line 446 of file graph_test.cc.

References ASSERT_EQ, AssertParse(), EXPECT_EQ, EXPECT_FALSE, and Edge::inputs_.

◆ TEST_F() [29/47]

TEST_F ( GraphTest  ,
CycleWithLengthOneFromDepfileOneHopAway   
)

Definition at line 472 of file graph_test.cc.

References ASSERT_EQ, AssertParse(), EXPECT_EQ, EXPECT_FALSE, and Edge::inputs_.

◆ TEST_F() [30/47]

TEST_F ( GraphTest  ,
DyndepLoadTrivial   
)

◆ TEST_F() [31/47]

TEST_F ( GraphTest  ,
DyndepLoadImplicit   
)

◆ TEST_F() [32/47]

TEST_F ( GraphTest  ,
DyndepLoadMissingFile   
)

Definition at line 578 of file graph_test.cc.

References ASSERT_TRUE, AssertParse(), EXPECT_EQ, and EXPECT_FALSE.

◆ TEST_F() [33/47]

TEST_F ( GraphTest  ,
DyndepLoadMissingEntry   
)

Definition at line 592 of file graph_test.cc.

References ASSERT_TRUE, AssertParse(), EXPECT_EQ, and EXPECT_FALSE.

◆ TEST_F() [34/47]

TEST_F ( GraphTest  ,
DyndepLoadExtraEntry   
)

Definition at line 609 of file graph_test.cc.

References ASSERT_TRUE, AssertParse(), EXPECT_EQ, and EXPECT_FALSE.

◆ TEST_F() [35/47]

TEST_F ( GraphTest  ,
DyndepLoadOutputWithMultipleRules1   
)

Definition at line 630 of file graph_test.cc.

References ASSERT_TRUE, AssertParse(), EXPECT_EQ, and EXPECT_FALSE.

◆ TEST_F() [36/47]

TEST_F ( GraphTest  ,
DyndepLoadOutputWithMultipleRules2   
)

Definition at line 649 of file graph_test.cc.

References ASSERT_TRUE, AssertParse(), EXPECT_EQ, EXPECT_FALSE, and EXPECT_TRUE.

◆ TEST_F() [37/47]

TEST_F ( GraphTest  ,
DyndepLoadMultiple   
)

◆ TEST_F() [38/47]

TEST_F ( GraphTest  ,
DyndepFileMissing   
)

Definition at line 732 of file graph_test.cc.

References ASSERT_EQ, AssertParse(), and EXPECT_FALSE.

◆ TEST_F() [39/47]

TEST_F ( GraphTest  ,
DyndepFileError   
)

Definition at line 745 of file graph_test.cc.

References ASSERT_EQ, AssertParse(), and EXPECT_FALSE.

◆ TEST_F() [40/47]

TEST_F ( GraphTest  ,
DyndepImplicitInputNewer   
)

Definition at line 761 of file graph_test.cc.

References ASSERT_EQ, AssertParse(), EXPECT_FALSE, and EXPECT_TRUE.

◆ TEST_F() [41/47]

TEST_F ( GraphTest  ,
DyndepFileReady   
)

Definition at line 787 of file graph_test.cc.

References ASSERT_EQ, AssertParse(), EXPECT_FALSE, and EXPECT_TRUE.

◆ TEST_F() [42/47]

TEST_F ( GraphTest  ,
DyndepFileNotClean   
)

Definition at line 816 of file graph_test.cc.

References ASSERT_EQ, AssertParse(), EXPECT_FALSE, and EXPECT_TRUE.

◆ TEST_F() [43/47]

TEST_F ( GraphTest  ,
DyndepFileNotReady   
)

Definition at line 841 of file graph_test.cc.

References ASSERT_EQ, AssertParse(), EXPECT_FALSE, and EXPECT_TRUE.

◆ TEST_F() [44/47]

TEST_F ( GraphTest  ,
DyndepFileSecondNotReady   
)

Definition at line 865 of file graph_test.cc.

References ASSERT_EQ, AssertParse(), EXPECT_FALSE, and EXPECT_TRUE.

◆ TEST_F() [45/47]

TEST_F ( GraphTest  ,
DyndepFileCircular   
)

◆ TEST_F() [46/47]

TEST_F ( GraphTest  ,
Validation   
)

Definition at line 926 of file graph_test.cc.

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

◆ TEST_F() [47/47]

TEST_F ( GraphTest  ,
PhonyDepsMtimes   
)