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();
}
// 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
auto reporter = makeReporter(m_config.get());
// Handle list request
if (list(*reporter, m_config)) {
if (list(*reporter, *m_config)) {
return 0;
}

View File

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

View File

@ -31,7 +31,7 @@ namespace Catch {
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