Small logic tweaks
diff --git a/include/internal/catch_running_test.hpp b/include/internal/catch_running_test.hpp
index 6f0ec7b..7f89ab7 100644
--- a/include/internal/catch_running_test.hpp
+++ b/include/internal/catch_running_test.hpp
@@ -55,16 +55,12 @@
}
void ranToCompletion() {
- if( m_runStatus == RanAtLeastOneSection ||
- m_runStatus == EncounteredASection ) {
- m_runStatus = RanToCompletionWithSections;
- if( m_lastSectionToRun ) {
- m_lastSectionToRun->ranToCompletion();
- m_changed = true;
- }
- }
- else {
+ if( m_runStatus != RanAtLeastOneSection && m_runStatus != EncounteredASection )
m_runStatus = RanToCompletionWithNoSections;
+ m_runStatus = RanToCompletionWithSections;
+ if( m_lastSectionToRun ) {
+ m_lastSectionToRun->ranToCompletion();
+ m_changed = true;
}
}
diff --git a/include/internal/catch_section_info.hpp b/include/internal/catch_section_info.hpp
index e28f314..7f09a94 100644
--- a/include/internal/catch_section_info.hpp
+++ b/include/internal/catch_section_info.hpp
@@ -22,7 +22,7 @@
virtual const ISectionInfo* getParent() const = 0;
};
- class SectionInfo : ISectionInfo {
+ class SectionInfo : public ISectionInfo {
public:
typedef std::vector<SectionInfo*> SubSections;
@@ -98,11 +98,10 @@
}
bool ran() {
- if( m_state < Branch ) {
- m_state = TestedLeaf;
- return true;
- }
- return false;
+ if( m_state >= Branch )
+ return false;
+ m_state = TestedLeaf;
+ return true;
}
void ranToCompletion() {