Class ITracker

Inheritance Relationships

Derived Type

Class Documentation

class ITracker

Subclassed by Catch::TestCaseTracking::TrackerBase

Public Functions

inline ITracker(NameAndLocation &&nameAndLoc, ITracker *parent)
inline NameAndLocation const &nameAndLocation() const
inline ITracker *parent() const
virtual ~ITracker()
virtual bool isComplete() const = 0

Returns true if tracker run to completion (successfully or not)

inline bool isSuccessfullyCompleted() const

Returns true if tracker run to completion successfully.

bool isOpen() const

Returns true if tracker has started but hasn’t been completed.

bool hasStarted() const

Returns true iff tracker has started.

virtual void close() = 0
virtual void fail() = 0
void markAsNeedingAnotherRun()
void addChild(ITrackerPtr &&child)

Register a nested ITracker.

ITracker *findChild(NameAndLocationRef const &nameAndLocation)

Returns ptr to specific child if register with this tracker.

Returns nullptr if not found.

inline bool hasChildren() const

Have any children been added?

void openChild()

Marks tracker as executing a child, doing se recursively up the tree.

virtual bool isSectionTracker() const

Returns true if the instance is a section tracker

Subclasses should override to true if they are, replaces RTTI for internal debug checks.

virtual bool isGeneratorTracker() const

Returns true if the instance is a generator tracker

Subclasses should override to true if they are, replaces RTTI for internal debug checks.

Protected Types

enum CycleState

Values:

enumerator NotStarted
enumerator Executing
enumerator ExecutingChildren
enumerator NeedsAnotherRun
enumerator CompletedSuccessfully
enumerator Failed

Protected Attributes

ITracker *m_parent = nullptr
Children m_children
CycleState m_runState = NotStarted