diff --git a/src/catch2/reporters/catch_reporter_combined_tu.cpp b/src/catch2/reporters/catch_reporter_combined_tu.cpp index 0625943310..2d6e112c2b 100644 --- a/src/catch2/reporters/catch_reporter_combined_tu.cpp +++ b/src/catch2/reporters/catch_reporter_combined_tu.cpp @@ -154,6 +154,12 @@ namespace Catch { void defaultListListeners( std::ostream& out, std::vector const& descriptions ) { + out << "Registered listeners:\n"; + + if(descriptions.empty()) { + return; + } + const auto maxNameLen = std::max_element( descriptions.begin(), descriptions.end(), @@ -163,7 +169,6 @@ namespace Catch { } ) ->name.size(); - out << "Registered listeners:\n"; for ( auto const& desc : descriptions ) { out << TextFlow::Column( static_cast( desc.name ) + ':' ) diff --git a/tests/ExtraTests/CMakeLists.txt b/tests/ExtraTests/CMakeLists.txt index e533ad4a44..f33bd7c117 100644 --- a/tests/ExtraTests/CMakeLists.txt +++ b/tests/ExtraTests/CMakeLists.txt @@ -459,7 +459,10 @@ add_test( NAME TestSpecs::OverrideFailureWithEmptySpec COMMAND $ --allow-running-no-tests ) - +add_test( + NAME List::Listeners::WorksWithoutRegisteredListeners + COMMAND $ --list-listeners +) set( EXTRA_TEST_BINARIES PrefixedMacros DisabledMacros