mirror of
				https://github.com/catchorg/Catch2.git
				synced 2025-10-31 12:17:11 +01:00 
			
		
		
		
	Constify various autoregistry globals to avoid clang-tidy complaints
Closes #2582
This commit is contained in:
		| @@ -307,7 +307,7 @@ void print( std::ostream& os, int const level, std::string const& title, Catch:: | ||||
| // 2. My listener and registration: | ||||
| // | ||||
|  | ||||
| char const * dashed_line = | ||||
| char const * const dashed_line = | ||||
|     "--------------------------------------------------------------------------"; | ||||
|  | ||||
|  | ||||
|   | ||||
| @@ -23,7 +23,7 @@ namespace Catch { | ||||
| #define CATCH_REGISTER_TAG_ALIAS( alias, spec ) \ | ||||
|     CATCH_INTERNAL_START_WARNINGS_SUPPRESSION \ | ||||
|     CATCH_INTERNAL_SUPPRESS_GLOBALS_WARNINGS \ | ||||
|     namespace{ Catch::RegistrarForTagAliases INTERNAL_CATCH_UNIQUE_NAME( AutoRegisterTagAlias )( alias, spec, CATCH_INTERNAL_LINEINFO ); } \ | ||||
|     namespace{ const Catch::RegistrarForTagAliases INTERNAL_CATCH_UNIQUE_NAME( AutoRegisterTagAlias )( alias, spec, CATCH_INTERNAL_LINEINFO ); } \ | ||||
|     CATCH_INTERNAL_STOP_WARNINGS_SUPPRESSION | ||||
|  | ||||
| #endif // CATCH_TAG_ALIAS_AUTOREGISTRAR_HPP_INCLUDED | ||||
|   | ||||
| @@ -65,7 +65,7 @@ namespace Catch { | ||||
|     static std::string translatorName( signature ); \ | ||||
|     CATCH_INTERNAL_START_WARNINGS_SUPPRESSION \ | ||||
|     CATCH_INTERNAL_SUPPRESS_GLOBALS_WARNINGS \ | ||||
|     namespace{ Catch::ExceptionTranslatorRegistrar INTERNAL_CATCH_UNIQUE_NAME( catch_internal_ExceptionRegistrar )( &translatorName ); } \ | ||||
|     namespace{ const Catch::ExceptionTranslatorRegistrar INTERNAL_CATCH_UNIQUE_NAME( catch_internal_ExceptionRegistrar )( &translatorName ); } \ | ||||
|     CATCH_INTERNAL_STOP_WARNINGS_SUPPRESSION \ | ||||
|     static std::string translatorName( signature ) | ||||
|  | ||||
|   | ||||
| @@ -79,7 +79,7 @@ namespace Catch { | ||||
|     // There is no 1-1 mapping between signals and windows exceptions. | ||||
|     // Windows can easily distinguish between SO and SigSegV, | ||||
|     // but SigInt, SigTerm, etc are handled differently. | ||||
|     static SignalDefs signalDefs[] = { | ||||
|     static constexpr SignalDefs signalDefs[] = { | ||||
|         { EXCEPTION_ILLEGAL_INSTRUCTION,  "SIGILL - Illegal instruction signal" }, | ||||
|         { EXCEPTION_STACK_OVERFLOW, "SIGSEGV - Stack overflow" }, | ||||
|         { EXCEPTION_ACCESS_VIOLATION, "SIGSEGV - Segmentation violation signal" }, | ||||
| @@ -150,7 +150,7 @@ namespace Catch { | ||||
|         const char* name; | ||||
|     }; | ||||
|  | ||||
|     static SignalDefs signalDefs[] = { | ||||
|     static constexpr SignalDefs signalDefs[] = { | ||||
|         { SIGINT,  "SIGINT - Terminal interrupt signal" }, | ||||
|         { SIGILL,  "SIGILL - Illegal instruction signal" }, | ||||
|         { SIGFPE,  "SIGFPE - Floating point error signal" }, | ||||
|   | ||||
| @@ -14,7 +14,7 @@ | ||||
| namespace Catch { | ||||
|     CATCH_INTERNAL_START_WARNINGS_SUPPRESSION | ||||
|     CATCH_INTERNAL_SUPPRESS_GLOBALS_WARNINGS | ||||
|     static LeakDetector leakDetector; | ||||
|     static const LeakDetector leakDetector; | ||||
|     CATCH_INTERNAL_STOP_WARNINGS_SUPPRESSION | ||||
| } | ||||
|  | ||||
|   | ||||
| @@ -138,7 +138,7 @@ | ||||
|                     (void)expander{(Catch::AutoReg( Catch::makeTestInvoker( &TestFuncName<Types> ), CATCH_INTERNAL_LINEINFO, Catch::StringRef(), Catch::NameAndTags{ Name " - " + std::string(tmpl_types[index / num_types]) + '<' + types_list[index % num_types] + '>', Tags } ), index++)... };/* NOLINT */\ | ||||
|                 }                                                     \ | ||||
|             };                                                        \ | ||||
|             static int INTERNAL_CATCH_UNIQUE_NAME( globalRegistrar ) = [](){ \ | ||||
|             static const int INTERNAL_CATCH_UNIQUE_NAME( globalRegistrar ) = [](){ \ | ||||
|                 using TestInit = typename create<TestName, decltype(get_wrapper<INTERNAL_CATCH_REMOVE_PARENS(TmplTypes)>(Catch::Detail::priority_tag<1>{})), TypeList<INTERNAL_CATCH_MAKE_TYPE_LISTS_FROM_TYPES(INTERNAL_CATCH_REMOVE_PARENS(TypesList))>>::type; \ | ||||
|                 TestInit t;                                           \ | ||||
|                 t.reg_tests();                                        \ | ||||
| @@ -184,7 +184,7 @@ | ||||
|                 (void)expander{(Catch::AutoReg( Catch::makeTestInvoker( &TestFunc<Types> ), CATCH_INTERNAL_LINEINFO, Catch::StringRef(), Catch::NameAndTags{ Name " - " INTERNAL_CATCH_STRINGIZE(TmplList) " - " + std::to_string(index), Tags } ), index++)... };/* NOLINT */\ | ||||
|             }                                                     \ | ||||
|         };\ | ||||
|         static int INTERNAL_CATCH_UNIQUE_NAME( globalRegistrar ) = [](){ \ | ||||
|         static const int INTERNAL_CATCH_UNIQUE_NAME( globalRegistrar ) = [](){ \ | ||||
|                 using TestInit = typename convert<TestName, TmplList>::type; \ | ||||
|                 TestInit t;                                           \ | ||||
|                 t.reg_tests();                                        \ | ||||
| @@ -220,7 +220,7 @@ | ||||
|                     (void)expander{(reg_test(Types{}, #ClassName, Catch::NameAndTags{ Name " - " + std::string(tmpl_types[index]), Tags } ), index++)... };/* NOLINT */ \ | ||||
|                 }\ | ||||
|             };\ | ||||
|             static int INTERNAL_CATCH_UNIQUE_NAME( globalRegistrar ) = [](){\ | ||||
|             static const int INTERNAL_CATCH_UNIQUE_NAME( globalRegistrar ) = [](){\ | ||||
|                 TestNameClass<INTERNAL_CATCH_MAKE_TYPE_LISTS_FROM_TYPES(__VA_ARGS__)>();\ | ||||
|                 return 0;\ | ||||
|         }();\ | ||||
| @@ -270,7 +270,7 @@ | ||||
|                     (void)expander{(Catch::AutoReg( Catch::makeTestInvoker( &TestName<Types>::test ), CATCH_INTERNAL_LINEINFO, #ClassName, Catch::NameAndTags{ Name " - " + std::string(tmpl_types[index / num_types]) + '<' + types_list[index % num_types] + '>', Tags } ), index++)... };/* NOLINT */ \ | ||||
|                 }\ | ||||
|             };\ | ||||
|             static int INTERNAL_CATCH_UNIQUE_NAME( globalRegistrar ) = [](){\ | ||||
|             static const int INTERNAL_CATCH_UNIQUE_NAME( globalRegistrar ) = [](){\ | ||||
|                 using TestInit = typename create<TestNameClass, decltype(get_wrapper<INTERNAL_CATCH_REMOVE_PARENS(TmplTypes)>(Catch::Detail::priority_tag<1>{})), TypeList<INTERNAL_CATCH_MAKE_TYPE_LISTS_FROM_TYPES(INTERNAL_CATCH_REMOVE_PARENS(TypesList))>>::type;\ | ||||
|                 TestInit t;\ | ||||
|                 t.reg_tests();\ | ||||
| @@ -319,7 +319,7 @@ | ||||
|                     (void)expander{(Catch::AutoReg( Catch::makeTestInvoker( &TestName<Types>::test ), CATCH_INTERNAL_LINEINFO, #ClassName##_catch_sr, Catch::NameAndTags{ Name " - " INTERNAL_CATCH_STRINGIZE(TmplList) " - " + std::to_string(index), Tags } ), index++)... };/* NOLINT */ \ | ||||
|                 }\ | ||||
|             };\ | ||||
|             static int INTERNAL_CATCH_UNIQUE_NAME( globalRegistrar ) = [](){\ | ||||
|             static const int INTERNAL_CATCH_UNIQUE_NAME( globalRegistrar ) = [](){\ | ||||
|                 using TestInit = typename convert<TestNameClass, TmplList>::type;\ | ||||
|                 TestInit t;\ | ||||
|                 t.reg_tests();\ | ||||
|   | ||||
| @@ -103,22 +103,24 @@ namespace Catch { | ||||
|  | ||||
| #if !defined(CATCH_CONFIG_DISABLE) | ||||
|  | ||||
| #    define CATCH_REGISTER_REPORTER( name, reporterType )                      \ | ||||
|         CATCH_INTERNAL_START_WARNINGS_SUPPRESSION                              \ | ||||
|         CATCH_INTERNAL_SUPPRESS_GLOBALS_WARNINGS                               \ | ||||
|         namespace {                                                            \ | ||||
|             Catch::ReporterRegistrar<reporterType> INTERNAL_CATCH_UNIQUE_NAME( \ | ||||
|                 catch_internal_RegistrarFor )( name );                         \ | ||||
|         }                                                                      \ | ||||
| #    define CATCH_REGISTER_REPORTER( name, reporterType )                  \ | ||||
|         CATCH_INTERNAL_START_WARNINGS_SUPPRESSION                          \ | ||||
|         CATCH_INTERNAL_SUPPRESS_GLOBALS_WARNINGS                           \ | ||||
|         namespace {                                                        \ | ||||
|             const Catch::ReporterRegistrar<reporterType>                   \ | ||||
|                 INTERNAL_CATCH_UNIQUE_NAME( catch_internal_RegistrarFor )( \ | ||||
|                     name );                                                \ | ||||
|         }                                                                  \ | ||||
|         CATCH_INTERNAL_STOP_WARNINGS_SUPPRESSION | ||||
|  | ||||
| #    define CATCH_REGISTER_LISTENER( listenerType )                            \ | ||||
|         CATCH_INTERNAL_START_WARNINGS_SUPPRESSION                              \ | ||||
|         CATCH_INTERNAL_SUPPRESS_GLOBALS_WARNINGS                               \ | ||||
|         namespace {                                                            \ | ||||
|             Catch::ListenerRegistrar<listenerType> INTERNAL_CATCH_UNIQUE_NAME( \ | ||||
|                 catch_internal_RegistrarFor )( #listenerType##_catch_sr );     \ | ||||
|         }                                                                      \ | ||||
| #    define CATCH_REGISTER_LISTENER( listenerType )                        \ | ||||
|         CATCH_INTERNAL_START_WARNINGS_SUPPRESSION                          \ | ||||
|         CATCH_INTERNAL_SUPPRESS_GLOBALS_WARNINGS                           \ | ||||
|         namespace {                                                        \ | ||||
|             const Catch::ListenerRegistrar<listenerType>                   \ | ||||
|                 INTERNAL_CATCH_UNIQUE_NAME( catch_internal_RegistrarFor )( \ | ||||
|                     #listenerType##_catch_sr );                            \ | ||||
|         }                                                                  \ | ||||
|         CATCH_INTERNAL_STOP_WARNINGS_SUPPRESSION | ||||
|  | ||||
| #else // CATCH_CONFIG_DISABLE | ||||
|   | ||||
| @@ -56,7 +56,7 @@ namespace { | ||||
|  | ||||
|     CATCH_INTERNAL_START_WARNINGS_SUPPRESSION | ||||
|     CATCH_INTERNAL_SUPPRESS_GLOBALS_WARNINGS | ||||
|     static AutoTestReg autoTestReg; | ||||
|     static const AutoTestReg autoTestReg; | ||||
|     CATCH_INTERNAL_STOP_WARNINGS_SUPPRESSION | ||||
|  | ||||
|         template<typename T> | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Martin Hořeňovský
					Martin Hořeňovský