Ninja
BuildTest Struct Reference
Inheritance diagram for BuildTest:

Public Member Functions

void AddCatRule (State *state)
 Add a "cat" rule to state.
 
 BuildTest ()
 
 BuildTest (DepsLog *log)
 
void Dirty (const string &path)
 
NodeGetNode (const std::string &path)
 Short way to get a Node by its path from state_.
 
virtual bool IsPathDead (StringPiece s) const
 Return if a given output is no longer part of the build manifest.
 
BuildConfig MakeConfig ()
 
void RebuildTarget (const string &target, const char *manifest, const char *log_path=NULL, const char *deps_path=NULL, State *state=NULL)
 Rebuild target in the 'working tree' (fs_).
 
virtual void SetUp ()
 
 ~BuildTest ()
 

Public Attributes

Builder builder_
 
FakeCommandRunner command_runner_
 
BuildConfig config_
 
VirtualFileSystem fs_
 
State state_
 
StatusPrinter status_
 

Detailed Description

Definition at line 537 of file build_test.cc.

Constructor & Destructor Documentation

◆ BuildTest() [1/2]

BuildTest::BuildTest ( )
inline

◆ BuildTest() [2/2]

BuildTest::BuildTest ( DepsLog * log)
inlineexplicit

◆ ~BuildTest()

BuildTest::~BuildTest ( )
inline

Definition at line 559 of file build_test.cc.

References builder_.

Member Function Documentation

◆ AddCatRule()

void StateTestWithBuiltinRules::AddCatRule ( State * state)
inherited

Add a "cat" rule to state.

Used by some tests; it's otherwise done by the ctor to state_.

Definition at line 89 of file test.cc.

References AssertParse().

Referenced by BuildTest::RebuildTarget(), and StateTestWithBuiltinRules().

◆ Dirty()

void BuildTest::Dirty ( const string & path)

◆ GetNode()

Node * StateTestWithBuiltinRules::GetNode ( const std::string & path)
inherited

Short way to get a Node by its path from state_.

Definition at line 95 of file test.cc.

References state_.

Referenced by BuildTest::Dirty(), PlanTest::PrepareForTarget(), TestPhonyUseCase(), and PlanTest::TestPoolWithDepthOne().

◆ IsPathDead()

virtual bool BuildTest::IsPathDead ( StringPiece s) const
inlinevirtual

Return if a given output is no longer part of the build manifest.

This is only called during recompaction and doesn't have to be fast.

Implements BuildLogUser.

Definition at line 563 of file build_test.cc.

◆ MakeConfig()

BuildConfig BuildTest::MakeConfig ( )
inline

Definition at line 575 of file build_test.cc.

References BuildConfig::QUIET, and BuildConfig::verbosity.

Referenced by BuildTest(), and BuildTest().

◆ RebuildTarget()

void BuildTest::RebuildTarget ( const string & target,
const char * manifest,
const char * log_path = NULL,
const char * deps_path = NULL,
State * state = NULL )

Rebuild target in the 'working tree' (fs_).

State of command_runner_ and logs contents (if specified) ARE MODIFIED. Handy to check for NOOP builds, and higher-level rebuild tests.

Definition at line 588 of file build_test.cc.

References StateTestWithBuiltinRules::AddCatRule(), Builder::AddTarget(), Builder::AlreadyUpToDate(), AssertParse(), Builder::Build(), Builder::command_runner_, command_runner_, config_, ExitSuccess, fs_, BuildLog::Load(), DepsLog::Load(), BuildLog::OpenForWrite(), DepsLog::OpenForWrite(), and status_.

◆ SetUp()

virtual void BuildTest::SetUp ( )
inlinevirtual

Member Data Documentation

◆ builder_

Builder BuildTest::builder_

◆ command_runner_

FakeCommandRunner BuildTest::command_runner_

Definition at line 582 of file build_test.cc.

Referenced by BuildTest(), BuildTest(), RebuildTarget(), SetUp(), and TestPhonyUseCase().

◆ config_

BuildConfig BuildTest::config_

Definition at line 581 of file build_test.cc.

Referenced by BuildDryRun::BuildDryRun(), BuildTest(), BuildTest(), and RebuildTarget().

◆ fs_

VirtualFileSystem BuildTest::fs_

Definition at line 583 of file build_test.cc.

Referenced by BuildTest(), BuildTest(), RebuildTarget(), SetUp(), and TestPhonyUseCase().

◆ state_

◆ status_

StatusPrinter BuildTest::status_

Definition at line 584 of file build_test.cc.

Referenced by BuildTest(), BuildTest(), and RebuildTarget().


The documentation for this struct was generated from the following file: