mirror of
https://github.com/catchorg/Catch2.git
synced 2025-08-03 13:55:39 +02:00
Properly handle startup reporter registration errors
This commit is contained in:
31
tests/ExtraTests/X35-DuplicatedReporterNames.cpp
Normal file
31
tests/ExtraTests/X35-DuplicatedReporterNames.cpp
Normal file
@@ -0,0 +1,31 @@
|
||||
|
||||
// Copyright Catch2 Authors
|
||||
// Distributed under the Boost Software License, Version 1.0.
|
||||
// (See accompanying file LICENSE_1_0.txt or copy at
|
||||
// https://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
|
||||
/**\file
|
||||
* Checks that reporter registration errors are caught and handled as
|
||||
* startup errors, by causing a registration error by registering multiple
|
||||
* reporters with the same name.
|
||||
*/
|
||||
|
||||
#include <catch2/catch_test_macros.hpp>
|
||||
|
||||
#include <catch2/reporters/catch_reporter_registrars.hpp>
|
||||
#include <catch2/reporters/catch_reporter_streaming_base.hpp>
|
||||
|
||||
namespace {
|
||||
//! Trivial custom reporter for registration
|
||||
class TestReporter : public Catch::StreamingReporterBase {
|
||||
public:
|
||||
using StreamingReporterBase::StreamingReporterBase;
|
||||
|
||||
static std::string getDescription() { return "X35 test reporter"; }
|
||||
};
|
||||
}
|
||||
|
||||
CATCH_REGISTER_REPORTER( "test-reporter", TestReporter )
|
||||
CATCH_REGISTER_REPORTER( "test-reporter", TestReporter )
|
Reference in New Issue
Block a user