8#ifndef TWOBLUECUBES_CATCH_TEST_CASE_TRACKER_HPP_INCLUDED
9#define TWOBLUECUBES_CATCH_TEST_CASE_TRACKER_HPP_INCLUDED
19namespace TestCaseTracking {
69 ITracker* m_currentTracker =
nullptr;
70 RunState m_runState = NotStarted;
109 bool isOpen()
const override;
125 void close()
override;
126 void fail()
override;
135 std::vector<std::string> m_filters;
void addNextFilters(std::vector< std::string > const &filters)
void addInitialFilters(std::vector< std::string > const &filters)
static SectionTracker & acquire(TrackerContext &ctx, NameAndLocation const &nameAndLocation)
bool isSectionTracker() const override
bool isComplete() const override
SectionTracker(NameAndLocation const &nameAndLocation, TrackerContext &ctx, ITracker *parent)
ITrackerPtr findChild(NameAndLocation const &nameAndLocation) override
bool isGeneratorTracker() const override
NameAndLocation m_nameAndLocation
void markAsNeedingAnotherRun() override
bool isComplete() const override
void addChild(ITrackerPtr const &child) override
bool isSectionTracker() const override
NameAndLocation const & nameAndLocation() const override
bool isSuccessfullyCompleted() const override
TrackerBase(NameAndLocation const &nameAndLocation, TrackerContext &ctx, ITracker *parent)
bool isOpen() const override
ITracker & parent() override
bool hasChildren() const override
std::vector< ITrackerPtr > Children
void openChild() override
void setCurrentTracker(ITracker *tracker)
ITracker & currentTracker()
bool completedCycle() const
std::shared_ptr< ITracker > ITrackerPtr
virtual void markAsNeedingAnotherRun()=0
virtual bool hasChildren() const =0
virtual ITracker & parent()=0
virtual bool isGeneratorTracker() const =0
virtual ITrackerPtr findChild(NameAndLocation const &nameAndLocation)=0
virtual bool isOpen() const =0
virtual bool isSectionTracker() const =0
virtual void openChild()=0
virtual bool isComplete() const =0
virtual bool isSuccessfullyCompleted() const =0
virtual NameAndLocation const & nameAndLocation() const =0
virtual void addChild(ITrackerPtr const &child)=0
NameAndLocation(std::string const &_name, SourceLineInfo const &_location)