| | |
| | |
| | |
| | |
| | |
| | |
| |
|
| | #include "catch_config.hpp" |
| | #include "catch_enforce.h" |
| | #include "catch_stringref.h" |
| |
|
| | namespace Catch { |
| |
|
| | Config::Config( ConfigData const& data ) |
| | : m_data( data ), |
| | m_stream( openStream() ) |
| | { |
| | |
| | |
| | |
| |
|
| | for (auto& elem : m_data.testsOrTags) { |
| | elem = trim(elem); |
| | } |
| | for (auto& elem : m_data.sectionsToRun) { |
| | elem = trim(elem); |
| | } |
| |
|
| | TestSpecParser parser(ITagAliasRegistry::get()); |
| | if (!m_data.testsOrTags.empty()) { |
| | m_hasTestFilters = true; |
| | for (auto const& testOrTags : m_data.testsOrTags) { |
| | parser.parse(testOrTags); |
| | } |
| | } |
| | m_testSpec = parser.testSpec(); |
| | } |
| |
|
| | std::string const& Config::getFilename() const { |
| | return m_data.outputFilename ; |
| | } |
| |
|
| | bool Config::listTests() const { return m_data.listTests; } |
| | bool Config::listTestNamesOnly() const { return m_data.listTestNamesOnly; } |
| | bool Config::listTags() const { return m_data.listTags; } |
| | bool Config::listReporters() const { return m_data.listReporters; } |
| |
|
| | std::string Config::getProcessName() const { return m_data.processName; } |
| | std::string const& Config::getReporterName() const { return m_data.reporterName; } |
| |
|
| | std::vector<std::string> const& Config::getTestsOrTags() const { return m_data.testsOrTags; } |
| | std::vector<std::string> const& Config::getSectionsToRun() const { return m_data.sectionsToRun; } |
| |
|
| | TestSpec const& Config::testSpec() const { return m_testSpec; } |
| | bool Config::hasTestFilters() const { return m_hasTestFilters; } |
| |
|
| | bool Config::showHelp() const { return m_data.showHelp; } |
| |
|
| | |
| | bool Config::allowThrows() const { return !m_data.noThrow; } |
| | std::ostream& Config::stream() const { return m_stream->stream(); } |
| | std::string Config::name() const { return m_data.name.empty() ? m_data.processName : m_data.name; } |
| | bool Config::includeSuccessfulResults() const { return m_data.showSuccessfulTests; } |
| | bool Config::warnAboutMissingAssertions() const { return !!(m_data.warnings & WarnAbout::NoAssertions); } |
| | bool Config::warnAboutNoTests() const { return !!(m_data.warnings & WarnAbout::NoTests); } |
| | ShowDurations::OrNot Config::showDurations() const { return m_data.showDurations; } |
| | double Config::minDuration() const { return m_data.minDuration; } |
| | RunTests::InWhatOrder Config::runOrder() const { return m_data.runOrder; } |
| | unsigned int Config::rngSeed() const { return m_data.rngSeed; } |
| | UseColour::YesOrNo Config::useColour() const { return m_data.useColour; } |
| | bool Config::shouldDebugBreak() const { return m_data.shouldDebugBreak; } |
| | int Config::abortAfter() const { return m_data.abortAfter; } |
| | bool Config::showInvisibles() const { return m_data.showInvisibles; } |
| | Verbosity Config::verbosity() const { return m_data.verbosity; } |
| |
|
| | bool Config::benchmarkNoAnalysis() const { return m_data.benchmarkNoAnalysis; } |
| | int Config::benchmarkSamples() const { return m_data.benchmarkSamples; } |
| | double Config::benchmarkConfidenceInterval() const { return m_data.benchmarkConfidenceInterval; } |
| | unsigned int Config::benchmarkResamples() const { return m_data.benchmarkResamples; } |
| | std::chrono::milliseconds Config::benchmarkWarmupTime() const { return std::chrono::milliseconds(m_data.benchmarkWarmupTime); } |
| |
|
| | IStream const* Config::openStream() { |
| | return Catch::makeStream(m_data.outputFilename); |
| | } |
| |
|
| | } |
| |
|