Do not use shared_ptr<Config> when listing things

This commit is contained in:
Martin Hořeňovský 2020-05-19 17:29:24 +02:00
parent fa160cf3f2
commit 458241cc90
No known key found for this signature in database
GPG Key ID: DE48307B8B0D381A
3 changed files with 12 additions and 10 deletions

View File

@ -273,11 +273,14 @@ namespace Catch {
applyFilenamesAsTags(); applyFilenamesAsTags();
} }
// Set up global config instance before we start calling into other functions
getCurrentMutableContext().setConfig(m_config);
// Create reporter(s) so we can route listings through them // Create reporter(s) so we can route listings through them
auto reporter = makeReporter(m_config.get()); auto reporter = makeReporter(m_config.get());
// Handle list request // Handle list request
if (list(*reporter, m_config)) { if (list(*reporter, *m_config)) {
return 0; return 0;
} }

View File

@ -90,20 +90,19 @@ namespace Catch {
return out; return out;
} }
bool list( IStreamingReporter& reporter, std::shared_ptr<Config> const& config ) { bool list( IStreamingReporter& reporter, Config const& config ) {
bool listed = false; bool listed = false;
getCurrentMutableContext().setConfig( config ); if (config.listTests()) {
if (config->listTests()) {
listed = true; listed = true;
listTests(reporter, *config); listTests(reporter, config);
} }
if (config->listTags()) { if (config.listTags()) {
listed = true; listed = true;
listTags(reporter, *config); listTags(reporter, config);
} }
if (config->listReporters()) { if (config.listReporters()) {
listed = true; listed = true;
listReporters(reporter, *config); listReporters(reporter, config);
} }
return listed; return listed;
} }

View File

@ -31,7 +31,7 @@ namespace Catch {
std::size_t count = 0; std::size_t count = 0;
}; };
bool list( IStreamingReporter& reporter, std::shared_ptr<Config> const& config ); bool list( IStreamingReporter& reporter, Config const& config );
} // end namespace Catch } // end namespace Catch