| |
| |
| |
| |
| |
| |
|
|
| #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); |
| } |
|
|
| } |
|
|