Ninja
Classes | Functions
build_test.cc File Reference
#include "build.h"
#include <assert.h>
#include "build_log.h"
#include "deps_log.h"
#include "graph.h"
#include "status.h"
#include "test.h"
Include dependency graph for build_test.cc:

Go to the source code of this file.

Classes

struct  BuildDryRun
 
struct  BuildTest
 
struct  BuildWithDepsLogTest
 Tests of builds involving deps logs necessarily must span multiple builds. More...
 
struct  BuildWithLogTest
 
struct  BuildWithQueryDepsLogTest
 
struct  CompareEdgesByOutput
 
struct  FakeCommandRunner
 Fake implementation of CommandRunner, useful for tests. More...
 
struct  PlanTest
 Fixture for tests involving Plan. More...
 

Functions

 TEST_F (PlanTest, Basic)
 
 TEST_F (PlanTest, DoubleOutputDirect)
 
 TEST_F (PlanTest, DoubleOutputIndirect)
 
 TEST_F (PlanTest, DoubleDependent)
 
 TEST_F (PlanTest, PoolWithDepthOne)
 
 TEST_F (PlanTest, ConsolePool)
 
 TEST_F (PlanTest, PoolsWithDepthTwo)
 
 TEST_F (PlanTest, PoolWithRedundantEdges)
 
 TEST_F (PlanTest, PoolWithFailingEdge)
 
 TEST_F (BuildTest, NoWork)
 
 TEST_F (BuildTest, OneStep)
 
 TEST_F (BuildTest, OneStep2)
 
 TEST_F (BuildTest, TwoStep)
 
 TEST_F (BuildTest, TwoOutputs)
 
 TEST_F (BuildTest, ImplicitOutput)
 
 TEST_F (BuildTest, MultiOutIn)
 
 TEST_F (BuildTest, Chain)
 
 TEST_F (BuildTest, MissingInput)
 
 TEST_F (BuildTest, MissingTarget)
 
 TEST_F (BuildTest, MissingInputTarget)
 
 TEST_F (BuildTest, MakeDirs)
 
 TEST_F (BuildTest, DepFileMissing)
 
 TEST_F (BuildTest, DepFileOK)
 
 TEST_F (BuildTest, DepFileParseError)
 
 TEST_F (BuildTest, EncounterReadyTwice)
 
 TEST_F (BuildTest, OrderOnlyDeps)
 
 TEST_F (BuildTest, RebuildOrderOnlyDeps)
 
 TEST_F (BuildTest, Phony)
 
 TEST_F (BuildTest, PhonyNoWork)
 
 TEST_F (BuildTest, PhonySelfReference)
 
 TEST_F (BuildTest, PhonyUseCase1)
 
 TEST_F (BuildTest, PhonyUseCase2)
 
 TEST_F (BuildTest, PhonyUseCase3)
 
 TEST_F (BuildTest, PhonyUseCase4)
 
 TEST_F (BuildTest, PhonyUseCase5)
 
 TEST_F (BuildTest, PhonyUseCase6)
 
 TEST_F (BuildTest, Fail)
 
 TEST_F (BuildTest, SwallowFailures)
 
 TEST_F (BuildTest, SwallowFailuresLimit)
 
 TEST_F (BuildTest, SwallowFailuresPool)
 
 TEST_F (BuildTest, PoolEdgesReadyButNotWanted)
 
 TEST_F (BuildWithLogTest, ImplicitGeneratedOutOfDate)
 
 TEST_F (BuildWithLogTest, ImplicitGeneratedOutOfDate2)
 
 TEST_F (BuildWithLogTest, NotInLogButOnDisk)
 
 TEST_F (BuildWithLogTest, RebuildAfterFailure)
 
 TEST_F (BuildWithLogTest, RebuildWithNoInputs)
 
 TEST_F (BuildWithLogTest, RestatTest)
 
 TEST_F (BuildWithLogTest, RestatMissingFile)
 
 TEST_F (BuildWithLogTest, RestatSingleDependentOutputDirty)
 
 TEST_F (BuildWithLogTest, RestatMissingInput)
 
 TEST_F (BuildWithLogTest, GeneratedPlainDepfileMtime)
 
 TEST_F (BuildDryRun, AllCommandsShown)
 
 TEST_F (BuildTest, RspFileSuccess)
 
 TEST_F (BuildTest, RspFileFailure)
 
 TEST_F (BuildWithLogTest, RspFileCmdLineChange)
 
 TEST_F (BuildTest, InterruptCleanup)
 
 TEST_F (BuildTest, StatFailureAbortsBuild)
 
 TEST_F (BuildTest, PhonyWithNoInputs)
 
 TEST_F (BuildTest, DepsGccWithEmptyDepfileErrorsOut)
 
 TEST_F (BuildTest, StatusFormatElapsed)
 
 TEST_F (BuildTest, StatusFormatReplacePlaceholder)
 
 TEST_F (BuildTest, FailedDepsParse)
 
 TEST_F (BuildWithQueryDepsLogTest, TwoOutputsDepFileMSVC)
 Test a MSVC-style deps log with multiple outputs. More...
 
 TEST_F (BuildWithQueryDepsLogTest, TwoOutputsDepFileGCCOneLine)
 Test a GCC-style deps log with multiple outputs. More...
 
 TEST_F (BuildWithQueryDepsLogTest, TwoOutputsDepFileGCCMultiLineInput)
 Test a GCC-style deps log with multiple outputs using a line per input. More...
 
 TEST_F (BuildWithQueryDepsLogTest, TwoOutputsDepFileGCCMultiLineOutput)
 Test a GCC-style deps log with multiple outputs using a line per output. More...
 
 TEST_F (BuildWithQueryDepsLogTest, TwoOutputsDepFileGCCOnlyMainOutput)
 Test a GCC-style deps log with multiple outputs mentioning only the main output. More...
 
 TEST_F (BuildWithQueryDepsLogTest, TwoOutputsDepFileGCCOnlySecondaryOutput)
 Test a GCC-style deps log with multiple outputs mentioning only the secondary output. More...
 
 TEST_F (BuildWithDepsLogTest, Straightforward)
 Run a straightforward build where the deps log is used. More...
 
 TEST_F (BuildWithDepsLogTest, ObsoleteDeps)
 Verify that obsolete dependency info causes a rebuild. More...
 
 TEST_F (BuildWithDepsLogTest, DepsIgnoredInDryRun)
 
 TEST_F (BuildTest, RestatDepfileDependency)
 Check that a restat rule generating a header cancels compilations correctly. More...
 
 TEST_F (BuildWithDepsLogTest, RestatDepfileDependencyDepsLog)
 Check that a restat rule generating a header cancels compilations correctly, depslog case. More...
 
 TEST_F (BuildWithDepsLogTest, DepFileOKDepsLog)
 
 TEST_F (BuildWithDepsLogTest, DiscoveredDepDuringBuildChanged)
 
 TEST_F (BuildTest, RestatMissingDepfile)
 Check that a restat rule doesn't clear an edge if the depfile is missing. More...
 
 TEST_F (BuildWithDepsLogTest, RestatMissingDepfileDepslog)
 Check that a restat rule doesn't clear an edge if the deps are missing. More...
 
 TEST_F (BuildTest, WrongOutputInDepfileCausesRebuild)
 
 TEST_F (BuildTest, Console)
 
 TEST_F (BuildTest, DyndepMissingAndNoRule)
 
 TEST_F (BuildTest, DyndepReadyImplicitConnection)
 
 TEST_F (BuildTest, DyndepReadySyntaxError)
 
 TEST_F (BuildTest, DyndepReadyCircular)
 
 TEST_F (BuildTest, DyndepBuild)
 
 TEST_F (BuildTest, DyndepBuildSyntaxError)
 
 TEST_F (BuildTest, DyndepBuildUnrelatedOutput)
 
 TEST_F (BuildTest, DyndepBuildDiscoverNewOutput)
 
 TEST_F (BuildTest, DyndepBuildDiscoverNewOutputWithMultipleRules1)
 
 TEST_F (BuildTest, DyndepBuildDiscoverNewOutputWithMultipleRules2)
 
 TEST_F (BuildTest, DyndepBuildDiscoverNewInput)
 
 TEST_F (BuildTest, DyndepBuildDiscoverNewInputWithValidation)
 
 TEST_F (BuildTest, DyndepBuildDiscoverNewInputWithTransitiveValidation)
 
 TEST_F (BuildTest, DyndepBuildDiscoverImplicitConnection)
 
 TEST_F (BuildTest, DyndepBuildDiscoverOutputAndDepfileInput)
 
 TEST_F (BuildTest, DyndepBuildDiscoverNowWantEdge)
 
 TEST_F (BuildTest, DyndepBuildDiscoverNowWantEdgeAndDependent)
 
 TEST_F (BuildTest, DyndepBuildDiscoverCircular)
 
 TEST_F (BuildWithLogTest, DyndepBuildDiscoverRestat)
 
 TEST_F (BuildTest, DyndepBuildDiscoverScheduledEdge)
 
 TEST_F (BuildTest, DyndepTwoLevelDirect)
 
 TEST_F (BuildTest, DyndepTwoLevelIndirect)
 
 TEST_F (BuildTest, DyndepTwoLevelDiscoveredReady)
 
 TEST_F (BuildTest, DyndepTwoLevelDiscoveredDirty)
 
 TEST_F (BuildTest, Validation)
 
 TEST_F (BuildTest, ValidationDependsOnOutput)
 
 TEST_F (BuildWithDepsLogTest, ValidationThroughDepfile)
 
 TEST_F (BuildTest, ValidationCircular)
 
 TEST_F (BuildTest, ValidationWithCircularDependency)
 
void TestPhonyUseCase (BuildTest *t, int i)
 

Function Documentation

◆ TEST_F() [1/108]

TEST_F ( PlanTest  ,
Basic   
)

◆ TEST_F() [2/108]

TEST_F ( PlanTest  ,
DoubleOutputDirect   
)

◆ TEST_F() [3/108]

TEST_F ( PlanTest  ,
DoubleOutputIndirect   
)

◆ TEST_F() [4/108]

TEST_F ( PlanTest  ,
DoubleDependent   
)

◆ TEST_F() [5/108]

TEST_F ( PlanTest  ,
PoolWithDepthOne   
)

Definition at line 240 of file build_test.cc.

◆ TEST_F() [6/108]

TEST_F ( PlanTest  ,
ConsolePool   
)

Definition at line 251 of file build_test.cc.

◆ TEST_F() [7/108]

TEST_F ( PlanTest  ,
PoolsWithDepthTwo   
)

◆ TEST_F() [8/108]

TEST_F ( PlanTest  ,
PoolWithRedundantEdges   
)

◆ TEST_F() [9/108]

TEST_F ( PlanTest  ,
PoolWithFailingEdge   
)

◆ TEST_F() [10/108]

TEST_F ( BuildTest  ,
NoWork   
)

Definition at line 731 of file build_test.cc.

References EXPECT_TRUE.

◆ TEST_F() [11/108]

TEST_F ( BuildTest  ,
OneStep   
)

Definition at line 736 of file build_test.cc.

References ASSERT_EQ, EXPECT_EQ, and EXPECT_TRUE.

◆ TEST_F() [12/108]

TEST_F ( BuildTest  ,
OneStep2   
)

Definition at line 750 of file build_test.cc.

References ASSERT_EQ, EXPECT_EQ, and EXPECT_TRUE.

◆ TEST_F() [13/108]

TEST_F ( BuildTest  ,
TwoStep   
)

Definition at line 764 of file build_test.cc.

References ASSERT_EQ, EXPECT_EQ, and EXPECT_TRUE.

◆ TEST_F() [14/108]

TEST_F ( BuildTest  ,
TwoOutputs   
)

Definition at line 795 of file build_test.cc.

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

◆ TEST_F() [15/108]

TEST_F ( BuildTest  ,
ImplicitOutput   
)

Definition at line 812 of file build_test.cc.

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

◆ TEST_F() [16/108]

TEST_F ( BuildTest  ,
MultiOutIn   
)

Definition at line 830 of file build_test.cc.

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

◆ TEST_F() [17/108]

TEST_F ( BuildTest  ,
Chain   
)

◆ TEST_F() [18/108]

TEST_F ( BuildTest  ,
MissingInput   
)

Definition at line 884 of file build_test.cc.

References EXPECT_EQ, and EXPECT_FALSE.

◆ TEST_F() [19/108]

TEST_F ( BuildTest  ,
MissingTarget   
)

Definition at line 893 of file build_test.cc.

References EXPECT_EQ, and EXPECT_FALSE.

◆ TEST_F() [20/108]

TEST_F ( BuildTest  ,
MissingInputTarget   
)

Definition at line 900 of file build_test.cc.

References EXPECT_EQ, and EXPECT_FALSE.

◆ TEST_F() [21/108]

TEST_F ( BuildTest  ,
MakeDirs   
)

Definition at line 908 of file build_test.cc.

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

◆ TEST_F() [22/108]

TEST_F ( BuildTest  ,
DepFileMissing   
)

Definition at line 928 of file build_test.cc.

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

◆ TEST_F() [23/108]

TEST_F ( BuildTest  ,
DepFileOK   
)

◆ TEST_F() [24/108]

TEST_F ( BuildTest  ,
DepFileParseError   
)

Definition at line 967 of file build_test.cc.

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

◆ TEST_F() [25/108]

TEST_F ( BuildTest  ,
EncounterReadyTwice   
)

Definition at line 978 of file build_test.cc.

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

◆ TEST_F() [26/108]

TEST_F ( BuildTest  ,
OrderOnlyDeps   
)

◆ TEST_F() [27/108]

TEST_F ( BuildTest  ,
RebuildOrderOnlyDeps   
)

Definition at line 1071 of file build_test.cc.

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

◆ TEST_F() [28/108]

TEST_F ( BuildTest  ,
Phony   
)

◆ TEST_F() [29/108]

TEST_F ( BuildTest  ,
PhonyNoWork   
)

Definition at line 1167 of file build_test.cc.

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

◆ TEST_F() [30/108]

TEST_F ( BuildTest  ,
PhonySelfReference   
)

Definition at line 1183 of file build_test.cc.

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

◆ TEST_F() [31/108]

TEST_F ( BuildTest  ,
PhonyUseCase1   
)

Definition at line 1332 of file build_test.cc.

References TestPhonyUseCase().

◆ TEST_F() [32/108]

TEST_F ( BuildTest  ,
PhonyUseCase2   
)

Definition at line 1333 of file build_test.cc.

References TestPhonyUseCase().

◆ TEST_F() [33/108]

TEST_F ( BuildTest  ,
PhonyUseCase3   
)

Definition at line 1334 of file build_test.cc.

References TestPhonyUseCase().

◆ TEST_F() [34/108]

TEST_F ( BuildTest  ,
PhonyUseCase4   
)

Definition at line 1335 of file build_test.cc.

References TestPhonyUseCase().

◆ TEST_F() [35/108]

TEST_F ( BuildTest  ,
PhonyUseCase5   
)

Definition at line 1336 of file build_test.cc.

References TestPhonyUseCase().

◆ TEST_F() [36/108]

TEST_F ( BuildTest  ,
PhonyUseCase6   
)

Definition at line 1337 of file build_test.cc.

References TestPhonyUseCase().

◆ TEST_F() [37/108]

TEST_F ( BuildTest  ,
Fail   
)

◆ TEST_F() [38/108]

TEST_F ( BuildTest  ,
SwallowFailures   
)

◆ TEST_F() [39/108]

TEST_F ( BuildTest  ,
SwallowFailuresLimit   
)

◆ TEST_F() [40/108]

TEST_F ( BuildTest  ,
SwallowFailuresPool   
)

◆ TEST_F() [41/108]

TEST_F ( BuildTest  ,
PoolEdgesReadyButNotWanted   
)

Definition at line 1420 of file build_test.cc.

References Pool::current_use(), EXPECT_GE, and State::LookupPool().

◆ TEST_F() [42/108]

TEST_F ( BuildWithLogTest  ,
ImplicitGeneratedOutOfDate   
)

Definition at line 1453 of file build_test.cc.

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

◆ TEST_F() [43/108]

TEST_F ( BuildWithLogTest  ,
ImplicitGeneratedOutOfDate2   
)

Definition at line 1471 of file build_test.cc.

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

◆ TEST_F() [44/108]

TEST_F ( BuildWithLogTest  ,
NotInLogButOnDisk   
)

Definition at line 1502 of file build_test.cc.

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

◆ TEST_F() [45/108]

TEST_F ( BuildWithLogTest  ,
RebuildAfterFailure   
)

◆ TEST_F() [46/108]

TEST_F ( BuildWithLogTest  ,
RebuildWithNoInputs   
)

Definition at line 1572 of file build_test.cc.

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

◆ TEST_F() [47/108]

TEST_F ( BuildWithLogTest  ,
RestatTest   
)

Definition at line 1603 of file build_test.cc.

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

◆ TEST_F() [48/108]

TEST_F ( BuildWithLogTest  ,
RestatMissingFile   
)

Definition at line 1668 of file build_test.cc.

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

◆ TEST_F() [49/108]

TEST_F ( BuildWithLogTest  ,
RestatSingleDependentOutputDirty   
)

Definition at line 1709 of file build_test.cc.

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

◆ TEST_F() [50/108]

TEST_F ( BuildWithLogTest  ,
RestatMissingInput   
)

Definition at line 1751 of file build_test.cc.

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

◆ TEST_F() [51/108]

TEST_F ( BuildWithLogTest  ,
GeneratedPlainDepfileMtime   
)

Definition at line 1803 of file build_test.cc.

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

◆ TEST_F() [52/108]

TEST_F ( BuildDryRun  ,
AllCommandsShown   
)

Definition at line 1836 of file build_test.cc.

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

◆ TEST_F() [53/108]

TEST_F ( BuildTest  ,
RspFileSuccess   
)

Definition at line 1867 of file build_test.cc.

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

◆ TEST_F() [54/108]

TEST_F ( BuildTest  ,
RspFileFailure   
)

◆ TEST_F() [55/108]

TEST_F ( BuildWithLogTest  ,
RspFileCmdLineChange   
)

◆ TEST_F() [56/108]

TEST_F ( BuildTest  ,
InterruptCleanup   
)

◆ TEST_F() [57/108]

TEST_F ( BuildTest  ,
StatFailureAbortsBuild   
)

Definition at line 2038 of file build_test.cc.

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

◆ TEST_F() [58/108]

TEST_F ( BuildTest  ,
PhonyWithNoInputs   
)

Definition at line 2053 of file build_test.cc.

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

◆ TEST_F() [59/108]

TEST_F ( BuildTest  ,
DepsGccWithEmptyDepfileErrorsOut   
)

◆ TEST_F() [60/108]

TEST_F ( BuildTest  ,
StatusFormatElapsed   
)

Definition at line 2097 of file build_test.cc.

References EXPECT_EQ.

◆ TEST_F() [61/108]

TEST_F ( BuildTest  ,
StatusFormatReplacePlaceholder   
)

Definition at line 2104 of file build_test.cc.

References EXPECT_EQ.

◆ TEST_F() [62/108]

TEST_F ( BuildTest  ,
FailedDepsParse   
)

◆ TEST_F() [63/108]

TEST_F ( BuildWithQueryDepsLogTest  ,
TwoOutputsDepFileMSVC   
)

Test a MSVC-style deps log with multiple outputs.

Definition at line 2151 of file build_test.cc.

References ASSERT_EQ, ASSERT_NO_FATAL_FAILURE, AssertParse(), EXPECT_EQ, EXPECT_TRUE, DepsLog::Deps::node_count, DepsLog::Deps::nodes, and Node::path().

◆ TEST_F() [64/108]

TEST_F ( BuildWithQueryDepsLogTest  ,
TwoOutputsDepFileGCCOneLine   
)

Test a GCC-style deps log with multiple outputs.

Definition at line 2179 of file build_test.cc.

References ASSERT_EQ, ASSERT_NO_FATAL_FAILURE, AssertParse(), EXPECT_EQ, EXPECT_TRUE, DepsLog::Deps::node_count, DepsLog::Deps::nodes, and Node::path().

◆ TEST_F() [65/108]

TEST_F ( BuildWithQueryDepsLogTest  ,
TwoOutputsDepFileGCCMultiLineInput   
)

Test a GCC-style deps log with multiple outputs using a line per input.

Definition at line 2210 of file build_test.cc.

References ASSERT_EQ, ASSERT_NO_FATAL_FAILURE, AssertParse(), EXPECT_EQ, EXPECT_TRUE, DepsLog::Deps::node_count, DepsLog::Deps::nodes, and Node::path().

◆ TEST_F() [66/108]

TEST_F ( BuildWithQueryDepsLogTest  ,
TwoOutputsDepFileGCCMultiLineOutput   
)

Test a GCC-style deps log with multiple outputs using a line per output.

Definition at line 2241 of file build_test.cc.

References ASSERT_EQ, ASSERT_NO_FATAL_FAILURE, AssertParse(), EXPECT_EQ, EXPECT_TRUE, DepsLog::Deps::node_count, DepsLog::Deps::nodes, and Node::path().

◆ TEST_F() [67/108]

TEST_F ( BuildWithQueryDepsLogTest  ,
TwoOutputsDepFileGCCOnlyMainOutput   
)

Test a GCC-style deps log with multiple outputs mentioning only the main output.

Definition at line 2272 of file build_test.cc.

References ASSERT_EQ, ASSERT_NO_FATAL_FAILURE, AssertParse(), EXPECT_EQ, EXPECT_TRUE, DepsLog::Deps::node_count, DepsLog::Deps::nodes, and Node::path().

◆ TEST_F() [68/108]

TEST_F ( BuildWithQueryDepsLogTest  ,
TwoOutputsDepFileGCCOnlySecondaryOutput   
)

Test a GCC-style deps log with multiple outputs mentioning only the secondary output.

Definition at line 2303 of file build_test.cc.

References ASSERT_EQ, ASSERT_NO_FATAL_FAILURE, AssertParse(), EXPECT_EQ, EXPECT_TRUE, DepsLog::Deps::node_count, DepsLog::Deps::nodes, and Node::path().

◆ TEST_F() [69/108]

TEST_F ( BuildWithDepsLogTest  ,
Straightforward   
)

◆ TEST_F() [70/108]

TEST_F ( BuildWithDepsLogTest  ,
ObsoleteDeps   
)

Verify that obsolete dependency info causes a rebuild.

1) Run a successful build where everything has time t, record deps. 2) Move input/output to time t+1 – despite files in alignment, should still need to rebuild due to deps at older time.

Definition at line 2426 of file build_test.cc.

References Builder::AddTarget(), ASSERT_EQ, ASSERT_NO_FATAL_FAILURE, ASSERT_TRUE, AssertParse(), Builder::Build(), DepsLog::Close(), Builder::command_runner_, EXPECT_EQ, EXPECT_TRUE, DepsLog::Load(), and DepsLog::OpenForWrite().

◆ TEST_F() [71/108]

TEST_F ( BuildWithDepsLogTest  ,
DepsIgnoredInDryRun   
)

◆ TEST_F() [72/108]

TEST_F ( BuildTest  ,
RestatDepfileDependency   
)

Check that a restat rule generating a header cancels compilations correctly.

Definition at line 2526 of file build_test.cc.

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

◆ TEST_F() [73/108]

TEST_F ( BuildWithDepsLogTest  ,
RestatDepfileDependencyDepsLog   
)

Check that a restat rule generating a header cancels compilations correctly, depslog case.

Definition at line 2549 of file build_test.cc.

References Builder::AddTarget(), ASSERT_EQ, ASSERT_NO_FATAL_FAILURE, ASSERT_TRUE, AssertParse(), Builder::Build(), DepsLog::Close(), Builder::command_runner_, EXPECT_EQ, EXPECT_TRUE, DepsLog::Load(), and DepsLog::OpenForWrite().

◆ TEST_F() [74/108]

TEST_F ( BuildWithDepsLogTest  ,
DepFileOKDepsLog   
)

◆ TEST_F() [75/108]

TEST_F ( BuildWithDepsLogTest  ,
DiscoveredDepDuringBuildChanged   
)

◆ TEST_F() [76/108]

TEST_F ( BuildTest  ,
RestatMissingDepfile   
)

Check that a restat rule doesn't clear an edge if the depfile is missing.

Follows from: https://github.com/ninja-build/ninja/issues/603

Definition at line 2825 of file build_test.cc.

References ASSERT_EQ.

◆ TEST_F() [77/108]

TEST_F ( BuildWithDepsLogTest  ,
RestatMissingDepfileDepslog   
)

Check that a restat rule doesn't clear an edge if the deps are missing.

https://github.com/ninja-build/ninja/issues/603

Definition at line 2849 of file build_test.cc.

References ASSERT_EQ.

◆ TEST_F() [78/108]

TEST_F ( BuildTest  ,
WrongOutputInDepfileCausesRebuild   
)

Definition at line 2899 of file build_test.cc.

References ASSERT_EQ.

◆ TEST_F() [79/108]

TEST_F ( BuildTest  ,
Console   
)

Definition at line 2916 of file build_test.cc.

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

◆ TEST_F() [80/108]

TEST_F ( BuildTest  ,
DyndepMissingAndNoRule   
)

Definition at line 2933 of file build_test.cc.

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

◆ TEST_F() [81/108]

TEST_F ( BuildTest  ,
DyndepReadyImplicitConnection   
)

Definition at line 2948 of file build_test.cc.

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

◆ TEST_F() [82/108]

TEST_F ( BuildTest  ,
DyndepReadySyntaxError   
)

Definition at line 2976 of file build_test.cc.

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

◆ TEST_F() [83/108]

TEST_F ( BuildTest  ,
DyndepReadyCircular   
)

Definition at line 2994 of file build_test.cc.

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

◆ TEST_F() [84/108]

TEST_F ( BuildTest  ,
DyndepBuild   
)

Definition at line 3015 of file build_test.cc.

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

◆ TEST_F() [85/108]

TEST_F ( BuildTest  ,
DyndepBuildSyntaxError   
)

◆ TEST_F() [86/108]

TEST_F ( BuildTest  ,
DyndepBuildUnrelatedOutput   
)

Definition at line 3074 of file build_test.cc.

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

◆ TEST_F() [87/108]

TEST_F ( BuildTest  ,
DyndepBuildDiscoverNewOutput   
)

Definition at line 3106 of file build_test.cc.

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

◆ TEST_F() [88/108]

TEST_F ( BuildTest  ,
DyndepBuildDiscoverNewOutputWithMultipleRules1   
)

◆ TEST_F() [89/108]

TEST_F ( BuildTest  ,
DyndepBuildDiscoverNewOutputWithMultipleRules2   
)

◆ TEST_F() [90/108]

TEST_F ( BuildTest  ,
DyndepBuildDiscoverNewInput   
)

Definition at line 3208 of file build_test.cc.

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

◆ TEST_F() [91/108]

TEST_F ( BuildTest  ,
DyndepBuildDiscoverNewInputWithValidation   
)

◆ TEST_F() [92/108]

TEST_F ( BuildTest  ,
DyndepBuildDiscoverNewInputWithTransitiveValidation   
)

Definition at line 3267 of file build_test.cc.

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

◆ TEST_F() [93/108]

TEST_F ( BuildTest  ,
DyndepBuildDiscoverImplicitConnection   
)

Definition at line 3301 of file build_test.cc.

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

◆ TEST_F() [94/108]

TEST_F ( BuildTest  ,
DyndepBuildDiscoverOutputAndDepfileInput   
)

◆ TEST_F() [95/108]

TEST_F ( BuildTest  ,
DyndepBuildDiscoverNowWantEdge   
)

Definition at line 3375 of file build_test.cc.

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

◆ TEST_F() [96/108]

TEST_F ( BuildTest  ,
DyndepBuildDiscoverNowWantEdgeAndDependent   
)

Definition at line 3408 of file build_test.cc.

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

◆ TEST_F() [97/108]

TEST_F ( BuildTest  ,
DyndepBuildDiscoverCircular   
)

◆ TEST_F() [98/108]

TEST_F ( BuildWithLogTest  ,
DyndepBuildDiscoverRestat   
)

Definition at line 3473 of file build_test.cc.

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

◆ TEST_F() [99/108]

TEST_F ( BuildTest  ,
DyndepBuildDiscoverScheduledEdge   
)

Definition at line 3523 of file build_test.cc.

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

◆ TEST_F() [100/108]

TEST_F ( BuildTest  ,
DyndepTwoLevelDirect   
)

Definition at line 3571 of file build_test.cc.

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

◆ TEST_F() [101/108]

TEST_F ( BuildTest  ,
DyndepTwoLevelIndirect   
)

Definition at line 3618 of file build_test.cc.

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

◆ TEST_F() [102/108]

TEST_F ( BuildTest  ,
DyndepTwoLevelDiscoveredReady   
)

Definition at line 3663 of file build_test.cc.

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

◆ TEST_F() [103/108]

TEST_F ( BuildTest  ,
DyndepTwoLevelDiscoveredDirty   
)

Definition at line 3704 of file build_test.cc.

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

◆ TEST_F() [104/108]

TEST_F ( BuildTest  ,
Validation   
)

Definition at line 3745 of file build_test.cc.

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

◆ TEST_F() [105/108]

TEST_F ( BuildTest  ,
ValidationDependsOnOutput   
)

Definition at line 3797 of file build_test.cc.

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

◆ TEST_F() [106/108]

TEST_F ( BuildWithDepsLogTest  ,
ValidationThroughDepfile   
)

◆ TEST_F() [107/108]

TEST_F ( BuildTest  ,
ValidationCircular   
)

Definition at line 3926 of file build_test.cc.

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

◆ TEST_F() [108/108]

TEST_F ( BuildTest  ,
ValidationWithCircularDependency   
)

Definition at line 3976 of file build_test.cc.

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

◆ TestPhonyUseCase()

void TestPhonyUseCase ( BuildTest t,
int  i 
)