mirror of
https://github.com/catchorg/Catch2.git
synced 2025-06-01 01:18:02 +00:00
Split out more headers into separate .cpp files
This commit is contained in:
parent
9de729b515
commit
a75eaa3c5a
5 changed files with 171 additions and 116 deletions
35
include/internal/catch_test_registry.cpp
Normal file
35
include/internal/catch_test_registry.cpp
Normal file
|
@ -0,0 +1,35 @@
|
|||
/*
|
||||
* Created by Martin on 25/07/2017.
|
||||
*
|
||||
* Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
* file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
*/
|
||||
|
||||
#include "catch_test_registry.hpp"
|
||||
#include "catch_test_case_registry_impl.hpp"
|
||||
#include "catch_interfaces_registry_hub.h"
|
||||
|
||||
namespace Catch {
|
||||
|
||||
auto makeTestInvoker( void(*testAsFunction)() ) noexcept -> ITestInvoker* {
|
||||
return new(std::nothrow) TestInvokerAsFunction( testAsFunction );
|
||||
}
|
||||
|
||||
NameAndTags::NameAndTags( StringRef name_ , StringRef tags_ ) noexcept : name( name_ ), tags( tags_ ) {}
|
||||
|
||||
AutoReg::AutoReg( ITestInvoker* invoker, SourceLineInfo const& lineInfo, StringRef classOrMethod, NameAndTags const& nameAndTags ) noexcept {
|
||||
try {
|
||||
getMutableRegistryHub()
|
||||
.registerTest(
|
||||
makeTestCase(
|
||||
invoker,
|
||||
extractClassName( classOrMethod.c_str() ),
|
||||
nameAndTags.name.c_str(),
|
||||
nameAndTags.tags.c_str(),
|
||||
lineInfo));
|
||||
} catch (...) {
|
||||
// Do not throw when constructing global objects, instead register the exception to be processed later
|
||||
getMutableRegistryHub().registerStartupException( std::current_exception() );
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue