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, 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, 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)
 

Function Documentation

◆ TEST_F() [1/43]

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

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

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

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

TEST_F ( GraphTest  ,
ImplicitOutputParse   
)

◆ TEST_F() [6/43]

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

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

TEST_F ( GraphTest  ,
ImplicitOutputOnlyParse   
)

◆ TEST_F() [9/43]

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

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

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

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

TEST_F ( GraphTest  ,
VarInOutPathEscaping   
)

◆ TEST_F() [14/43]

TEST_F ( GraphTest  ,
DepfileWithCanonicalizablePath   
)

Definition at line 233 of file graph_test.cc.

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

◆ TEST_F() [15/43]

TEST_F ( GraphTest  ,
DepfileRemoved   
)

Definition at line 251 of file graph_test.cc.

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

◆ TEST_F() [16/43]

TEST_F ( GraphTest  ,
RuleVariablesInScope   
)

◆ TEST_F() [17/43]

TEST_F ( GraphTest  ,
DepfileOverride   
)

Definition at line 287 of file graph_test.cc.

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

◆ TEST_F() [18/43]

TEST_F ( GraphTest  ,
DepfileOverrideParent   
)

Definition at line 299 of file graph_test.cc.

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

◆ TEST_F() [19/43]

TEST_F ( GraphTest  ,
NestedPhonyPrintsDone   
)

◆ TEST_F() [20/43]

TEST_F ( GraphTest  ,
PhonySelfReferenceError   
)

◆ TEST_F() [21/43]

TEST_F ( GraphTest  ,
DependencyCycle   
)

Definition at line 340 of file graph_test.cc.

References ASSERT_EQ, AssertParse(), and EXPECT_FALSE.

◆ TEST_F() [22/43]

TEST_F ( GraphTest  ,
CycleInEdgesButNotInNodes1   
)

Definition at line 352 of file graph_test.cc.

References ASSERT_EQ, AssertParse(), and EXPECT_FALSE.

◆ TEST_F() [23/43]

TEST_F ( GraphTest  ,
CycleInEdgesButNotInNodes2   
)

Definition at line 360 of file graph_test.cc.

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

◆ TEST_F() [24/43]

TEST_F ( GraphTest  ,
CycleInEdgesButNotInNodes3   
)

Definition at line 368 of file graph_test.cc.

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

◆ TEST_F() [25/43]

TEST_F ( GraphTest  ,
CycleInEdgesButNotInNodes4   
)

Definition at line 377 of file graph_test.cc.

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

◆ TEST_F() [26/43]

TEST_F ( GraphTest  ,
CycleWithLengthZeroFromDepfile   
)

Definition at line 391 of file graph_test.cc.

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

◆ TEST_F() [27/43]

TEST_F ( GraphTest  ,
CycleWithLengthOneFromDepfile   
)

Definition at line 413 of file graph_test.cc.

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

◆ TEST_F() [28/43]

TEST_F ( GraphTest  ,
CycleWithLengthOneFromDepfileOneHopAway   
)

Definition at line 439 of file graph_test.cc.

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

◆ TEST_F() [29/43]

TEST_F ( GraphTest  ,
DyndepLoadTrivial   
)

◆ TEST_F() [30/43]

TEST_F ( GraphTest  ,
DyndepLoadMissingFile   
)

Definition at line 514 of file graph_test.cc.

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

◆ TEST_F() [31/43]

TEST_F ( GraphTest  ,
DyndepLoadMissingEntry   
)

Definition at line 528 of file graph_test.cc.

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

◆ TEST_F() [32/43]

TEST_F ( GraphTest  ,
DyndepLoadExtraEntry   
)

Definition at line 545 of file graph_test.cc.

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

◆ TEST_F() [33/43]

TEST_F ( GraphTest  ,
DyndepLoadOutputWithMultipleRules1   
)

Definition at line 566 of file graph_test.cc.

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

◆ TEST_F() [34/43]

TEST_F ( GraphTest  ,
DyndepLoadOutputWithMultipleRules2   
)

Definition at line 585 of file graph_test.cc.

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

◆ TEST_F() [35/43]

TEST_F ( GraphTest  ,
DyndepLoadMultiple   
)

◆ TEST_F() [36/43]

TEST_F ( GraphTest  ,
DyndepFileMissing   
)

Definition at line 668 of file graph_test.cc.

References ASSERT_EQ, AssertParse(), and EXPECT_FALSE.

◆ TEST_F() [37/43]

TEST_F ( GraphTest  ,
DyndepFileError   
)

Definition at line 681 of file graph_test.cc.

References ASSERT_EQ, AssertParse(), and EXPECT_FALSE.

◆ TEST_F() [38/43]

TEST_F ( GraphTest  ,
DyndepImplicitInputNewer   
)

Definition at line 697 of file graph_test.cc.

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

◆ TEST_F() [39/43]

TEST_F ( GraphTest  ,
DyndepFileReady   
)

Definition at line 723 of file graph_test.cc.

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

◆ TEST_F() [40/43]

TEST_F ( GraphTest  ,
DyndepFileNotClean   
)

Definition at line 752 of file graph_test.cc.

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

◆ TEST_F() [41/43]

TEST_F ( GraphTest  ,
DyndepFileNotReady   
)

Definition at line 777 of file graph_test.cc.

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

◆ TEST_F() [42/43]

TEST_F ( GraphTest  ,
DyndepFileSecondNotReady   
)

Definition at line 801 of file graph_test.cc.

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

◆ TEST_F() [43/43]

TEST_F ( GraphTest  ,
DyndepFileCircular   
)