Small logic tweaks

This commit is contained in:
Phil Nash 2012-11-29 20:11:46 +00:00
parent 6f2343bf64
commit 3d6be037e9
2 changed files with 10 additions and 15 deletions

View File

@ -55,16 +55,12 @@ namespace Catch {
} }
void ranToCompletion() { void ranToCompletion() {
if( m_runStatus == RanAtLeastOneSection || if( m_runStatus != RanAtLeastOneSection && m_runStatus != EncounteredASection )
m_runStatus == EncounteredASection ) {
m_runStatus = RanToCompletionWithSections;
if( m_lastSectionToRun ) {
m_lastSectionToRun->ranToCompletion();
m_changed = true;
}
}
else {
m_runStatus = RanToCompletionWithNoSections; m_runStatus = RanToCompletionWithNoSections;
m_runStatus = RanToCompletionWithSections;
if( m_lastSectionToRun ) {
m_lastSectionToRun->ranToCompletion();
m_changed = true;
} }
} }

View File

@ -22,7 +22,7 @@ namespace Catch {
virtual const ISectionInfo* getParent() const = 0; virtual const ISectionInfo* getParent() const = 0;
}; };
class SectionInfo : ISectionInfo { class SectionInfo : public ISectionInfo {
public: public:
typedef std::vector<SectionInfo*> SubSections; typedef std::vector<SectionInfo*> SubSections;
@ -98,11 +98,10 @@ namespace Catch {
} }
bool ran() { bool ran() {
if( m_state < Branch ) { if( m_state >= Branch )
m_state = TestedLeaf; return false;
return true; m_state = TestedLeaf;
} return true;
return false;
} }
void ranToCompletion() { void ranToCompletion() {