mirror of
				https://github.com/catchorg/Catch2.git
				synced 2025-11-04 05:59:32 +01:00 
			
		
		
		
	Allow using only types in TEMPLATE_TEST_CASE_SIG. (#2995)
				
					
				
			Right now `TEMPLATE_TEST_CASE_SIG` fails to compile when the signature contains only types:
```
TEMPLATE_TEST_CASE_SIG(
  "TemplateTestSig: compiles with two type parameters",
  "[template][onlytypes]",
  ((typename U, typename V), U, V), (int,int)) {}
```
The trick is to resolve the ambiguity between the two overloads of
`get_wrapper` (`TypeList` and `Nttp`) by making one match more strongly.
We also need to allow `reg_test` to register more than one type.
Add unit tests.
Fixes #2680
---------
Co-authored-by: Martin Hořeňovský <martin.horenovsky@gmail.com>
			
			
This commit is contained in:
		@@ -16,6 +16,15 @@
 | 
				
			|||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					namespace Catch {
 | 
				
			||||||
 | 
					    namespace Detail {
 | 
				
			||||||
 | 
					        template <int N>
 | 
				
			||||||
 | 
					        struct priority_tag : priority_tag<N - 1> {};
 | 
				
			||||||
 | 
					        template <>
 | 
				
			||||||
 | 
					        struct priority_tag<0> {};
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define CATCH_RECURSION_LEVEL0(...) __VA_ARGS__
 | 
					#define CATCH_RECURSION_LEVEL0(...) __VA_ARGS__
 | 
				
			||||||
#define CATCH_RECURSION_LEVEL1(...) CATCH_RECURSION_LEVEL0(CATCH_RECURSION_LEVEL0(CATCH_RECURSION_LEVEL0(__VA_ARGS__)))
 | 
					#define CATCH_RECURSION_LEVEL1(...) CATCH_RECURSION_LEVEL0(CATCH_RECURSION_LEVEL0(CATCH_RECURSION_LEVEL0(__VA_ARGS__)))
 | 
				
			||||||
#define CATCH_RECURSION_LEVEL2(...) CATCH_RECURSION_LEVEL1(CATCH_RECURSION_LEVEL1(CATCH_RECURSION_LEVEL1(__VA_ARGS__)))
 | 
					#define CATCH_RECURSION_LEVEL2(...) CATCH_RECURSION_LEVEL1(CATCH_RECURSION_LEVEL1(CATCH_RECURSION_LEVEL1(__VA_ARGS__)))
 | 
				
			||||||
@@ -75,10 +84,10 @@
 | 
				
			|||||||
#define INTERNAL_CATCH_MAKE_NAMESPACE(name) INTERNAL_CATCH_MAKE_NAMESPACE2(name)
 | 
					#define INTERNAL_CATCH_MAKE_NAMESPACE(name) INTERNAL_CATCH_MAKE_NAMESPACE2(name)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifndef CATCH_CONFIG_TRADITIONAL_MSVC_PREPROCESSOR
 | 
					#ifndef CATCH_CONFIG_TRADITIONAL_MSVC_PREPROCESSOR
 | 
				
			||||||
#define INTERNAL_CATCH_MAKE_TYPE_LIST2(...) decltype(get_wrapper<INTERNAL_CATCH_REMOVE_PARENS_GEN(__VA_ARGS__)>())
 | 
					#define INTERNAL_CATCH_MAKE_TYPE_LIST2(...) decltype(get_wrapper<INTERNAL_CATCH_REMOVE_PARENS_GEN(__VA_ARGS__)>(Catch::Detail::priority_tag<1>{}))
 | 
				
			||||||
#define INTERNAL_CATCH_MAKE_TYPE_LIST(...) INTERNAL_CATCH_MAKE_TYPE_LIST2(INTERNAL_CATCH_REMOVE_PARENS(__VA_ARGS__))
 | 
					#define INTERNAL_CATCH_MAKE_TYPE_LIST(...) INTERNAL_CATCH_MAKE_TYPE_LIST2(INTERNAL_CATCH_REMOVE_PARENS(__VA_ARGS__))
 | 
				
			||||||
#else
 | 
					#else
 | 
				
			||||||
#define INTERNAL_CATCH_MAKE_TYPE_LIST2(...) INTERNAL_CATCH_EXPAND_VARGS(decltype(get_wrapper<INTERNAL_CATCH_REMOVE_PARENS_GEN(__VA_ARGS__)>()))
 | 
					#define INTERNAL_CATCH_MAKE_TYPE_LIST2(...) INTERNAL_CATCH_EXPAND_VARGS(decltype(get_wrapper<INTERNAL_CATCH_REMOVE_PARENS_GEN(__VA_ARGS__)>(Catch::Detail::priority_tag<1>{})))
 | 
				
			||||||
#define INTERNAL_CATCH_MAKE_TYPE_LIST(...) INTERNAL_CATCH_EXPAND_VARGS(INTERNAL_CATCH_MAKE_TYPE_LIST2(INTERNAL_CATCH_REMOVE_PARENS(__VA_ARGS__)))
 | 
					#define INTERNAL_CATCH_MAKE_TYPE_LIST(...) INTERNAL_CATCH_EXPAND_VARGS(INTERNAL_CATCH_MAKE_TYPE_LIST2(INTERNAL_CATCH_REMOVE_PARENS(__VA_ARGS__)))
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -101,11 +110,11 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#define INTERNAL_CATCH_TYPE_GEN\
 | 
					#define INTERNAL_CATCH_TYPE_GEN\
 | 
				
			||||||
    template<typename...> struct TypeList {};\
 | 
					    template<typename...> struct TypeList {};\
 | 
				
			||||||
    template<typename...Ts>\
 | 
					    template<typename... Ts>\
 | 
				
			||||||
    constexpr auto get_wrapper() noexcept -> TypeList<Ts...> { return {}; }\
 | 
					    constexpr auto get_wrapper(Catch::Detail::priority_tag<1>) noexcept -> TypeList<Ts...> { return {}; }\
 | 
				
			||||||
    template<template<typename...> class...> struct TemplateTypeList{};\
 | 
					    template<template<typename...> class...> struct TemplateTypeList{};\
 | 
				
			||||||
    template<template<typename...> class...Cs>\
 | 
					    template<template<typename...> class...Cs>\
 | 
				
			||||||
    constexpr auto get_wrapper() noexcept -> TemplateTypeList<Cs...> { return {}; }\
 | 
					    constexpr auto get_wrapper(Catch::Detail::priority_tag<1>) noexcept -> TemplateTypeList<Cs...> { return {}; }\
 | 
				
			||||||
    template<typename...>\
 | 
					    template<typename...>\
 | 
				
			||||||
    struct append;\
 | 
					    struct append;\
 | 
				
			||||||
    template<typename...>\
 | 
					    template<typename...>\
 | 
				
			||||||
@@ -135,10 +144,10 @@
 | 
				
			|||||||
#define INTERNAL_CATCH_NTTP_1(signature, ...)\
 | 
					#define INTERNAL_CATCH_NTTP_1(signature, ...)\
 | 
				
			||||||
    template<INTERNAL_CATCH_REMOVE_PARENS(signature)> struct Nttp{};\
 | 
					    template<INTERNAL_CATCH_REMOVE_PARENS(signature)> struct Nttp{};\
 | 
				
			||||||
    template<INTERNAL_CATCH_REMOVE_PARENS(signature)>\
 | 
					    template<INTERNAL_CATCH_REMOVE_PARENS(signature)>\
 | 
				
			||||||
    constexpr auto get_wrapper() noexcept -> Nttp<__VA_ARGS__> { return {}; } \
 | 
					    constexpr auto get_wrapper(Catch::Detail::priority_tag<0>) noexcept -> Nttp<__VA_ARGS__> { return {}; } \
 | 
				
			||||||
    template<template<INTERNAL_CATCH_REMOVE_PARENS(signature)> class...> struct NttpTemplateTypeList{};\
 | 
					    template<template<INTERNAL_CATCH_REMOVE_PARENS(signature)> class...> struct NttpTemplateTypeList{};\
 | 
				
			||||||
    template<template<INTERNAL_CATCH_REMOVE_PARENS(signature)> class...Cs>\
 | 
					    template<template<INTERNAL_CATCH_REMOVE_PARENS(signature)> class...Cs>\
 | 
				
			||||||
    constexpr auto get_wrapper() noexcept -> NttpTemplateTypeList<Cs...> { return {}; } \
 | 
					    constexpr auto get_wrapper(Catch::Detail::priority_tag<0>) noexcept -> NttpTemplateTypeList<Cs...> { return {}; } \
 | 
				
			||||||
    \
 | 
					    \
 | 
				
			||||||
    template< template<INTERNAL_CATCH_REMOVE_PARENS(signature)> class Container, template<INTERNAL_CATCH_REMOVE_PARENS(signature)> class List, INTERNAL_CATCH_REMOVE_PARENS(signature)>\
 | 
					    template< template<INTERNAL_CATCH_REMOVE_PARENS(signature)> class Container, template<INTERNAL_CATCH_REMOVE_PARENS(signature)> class List, INTERNAL_CATCH_REMOVE_PARENS(signature)>\
 | 
				
			||||||
    struct rewrap<NttpTemplateTypeList<Container>, List<__VA_ARGS__>> { using type = TypeList<Container<__VA_ARGS__>>; };\
 | 
					    struct rewrap<NttpTemplateTypeList<Container>, List<__VA_ARGS__>> { using type = TypeList<Container<__VA_ARGS__>>; };\
 | 
				
			||||||
@@ -163,13 +172,14 @@
 | 
				
			|||||||
    template<INTERNAL_CATCH_REMOVE_PARENS(signature)>\
 | 
					    template<INTERNAL_CATCH_REMOVE_PARENS(signature)>\
 | 
				
			||||||
    static void TestName()
 | 
					    static void TestName()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define INTERNAL_CATCH_NTTP_REGISTER0(TestFunc, signature)\
 | 
					#define INTERNAL_CATCH_TYPES_REGISTER(TestFunc)\
 | 
				
			||||||
    template<typename Type>\
 | 
					    template<typename... Ts>\
 | 
				
			||||||
    void reg_test(TypeList<Type>, Catch::NameAndTags nameAndTags)\
 | 
					    void reg_test(TypeList<Ts...>, Catch::NameAndTags nameAndTags)\
 | 
				
			||||||
    {\
 | 
					    {\
 | 
				
			||||||
        Catch::AutoReg( Catch::makeTestInvoker(&TestFunc<Type>), CATCH_INTERNAL_LINEINFO, Catch::StringRef(), nameAndTags);\
 | 
					        Catch::AutoReg( Catch::makeTestInvoker(&TestFunc<Ts...>), CATCH_INTERNAL_LINEINFO, Catch::StringRef(), nameAndTags);\
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define INTERNAL_CATCH_NTTP_REGISTER0(TestFunc, signature, ...)
 | 
				
			||||||
#define INTERNAL_CATCH_NTTP_REGISTER(TestFunc, signature, ...)\
 | 
					#define INTERNAL_CATCH_NTTP_REGISTER(TestFunc, signature, ...)\
 | 
				
			||||||
    template<INTERNAL_CATCH_REMOVE_PARENS(signature)>\
 | 
					    template<INTERNAL_CATCH_REMOVE_PARENS(signature)>\
 | 
				
			||||||
    void reg_test(Nttp<__VA_ARGS__>, Catch::NameAndTags nameAndTags)\
 | 
					    void reg_test(Nttp<__VA_ARGS__>, Catch::NameAndTags nameAndTags)\
 | 
				
			||||||
@@ -218,7 +228,7 @@
 | 
				
			|||||||
#define INTERNAL_CATCH_DEFINE_SIG_TEST_METHOD(TestName, ...) INTERNAL_CATCH_VA_NARGS_IMPL( "dummy", __VA_ARGS__, INTERNAL_CATCH_DEFINE_SIG_TEST_METHOD_X,INTERNAL_CATCH_DEFINE_SIG_TEST_METHOD_X, INTERNAL_CATCH_DEFINE_SIG_TEST_METHOD_X, INTERNAL_CATCH_DEFINE_SIG_TEST_METHOD_X, INTERNAL_CATCH_DEFINE_SIG_TEST_METHOD_X, INTERNAL_CATCH_DEFINE_SIG_TEST_METHOD_X, INTERNAL_CATCH_DEFINE_SIG_TEST_METHOD_X,INTERNAL_CATCH_DEFINE_SIG_TEST_METHOD_X,INTERNAL_CATCH_DEFINE_SIG_TEST_METHOD_X, INTERNAL_CATCH_DEFINE_SIG_TEST_METHOD1, INTERNAL_CATCH_DEFINE_SIG_TEST_METHOD0)(TestName, __VA_ARGS__)
 | 
					#define INTERNAL_CATCH_DEFINE_SIG_TEST_METHOD(TestName, ...) INTERNAL_CATCH_VA_NARGS_IMPL( "dummy", __VA_ARGS__, INTERNAL_CATCH_DEFINE_SIG_TEST_METHOD_X,INTERNAL_CATCH_DEFINE_SIG_TEST_METHOD_X, INTERNAL_CATCH_DEFINE_SIG_TEST_METHOD_X, INTERNAL_CATCH_DEFINE_SIG_TEST_METHOD_X, INTERNAL_CATCH_DEFINE_SIG_TEST_METHOD_X, INTERNAL_CATCH_DEFINE_SIG_TEST_METHOD_X, INTERNAL_CATCH_DEFINE_SIG_TEST_METHOD_X,INTERNAL_CATCH_DEFINE_SIG_TEST_METHOD_X,INTERNAL_CATCH_DEFINE_SIG_TEST_METHOD_X, INTERNAL_CATCH_DEFINE_SIG_TEST_METHOD1, INTERNAL_CATCH_DEFINE_SIG_TEST_METHOD0)(TestName, __VA_ARGS__)
 | 
				
			||||||
#define INTERNAL_CATCH_DECLARE_SIG_TEST_METHOD(TestName, ClassName, ...) INTERNAL_CATCH_VA_NARGS_IMPL( "dummy", __VA_ARGS__, INTERNAL_CATCH_DECLARE_SIG_TEST_METHOD_X,INTERNAL_CATCH_DECLARE_SIG_TEST_METHOD_X, INTERNAL_CATCH_DECLARE_SIG_TEST_METHOD_X, INTERNAL_CATCH_DECLARE_SIG_TEST_METHOD_X, INTERNAL_CATCH_DECLARE_SIG_TEST_METHOD_X, INTERNAL_CATCH_DECLARE_SIG_TEST_METHOD_X, INTERNAL_CATCH_DECLARE_SIG_TEST_METHOD_X,INTERNAL_CATCH_DECLARE_SIG_TEST_METHOD_X,INTERNAL_CATCH_DECLARE_SIG_TEST_METHOD_X, INTERNAL_CATCH_DECLARE_SIG_TEST_METHOD1, INTERNAL_CATCH_DECLARE_SIG_TEST_METHOD0)(TestName, ClassName, __VA_ARGS__)
 | 
					#define INTERNAL_CATCH_DECLARE_SIG_TEST_METHOD(TestName, ClassName, ...) INTERNAL_CATCH_VA_NARGS_IMPL( "dummy", __VA_ARGS__, INTERNAL_CATCH_DECLARE_SIG_TEST_METHOD_X,INTERNAL_CATCH_DECLARE_SIG_TEST_METHOD_X, INTERNAL_CATCH_DECLARE_SIG_TEST_METHOD_X, INTERNAL_CATCH_DECLARE_SIG_TEST_METHOD_X, INTERNAL_CATCH_DECLARE_SIG_TEST_METHOD_X, INTERNAL_CATCH_DECLARE_SIG_TEST_METHOD_X, INTERNAL_CATCH_DECLARE_SIG_TEST_METHOD_X,INTERNAL_CATCH_DECLARE_SIG_TEST_METHOD_X,INTERNAL_CATCH_DECLARE_SIG_TEST_METHOD_X, INTERNAL_CATCH_DECLARE_SIG_TEST_METHOD1, INTERNAL_CATCH_DECLARE_SIG_TEST_METHOD0)(TestName, ClassName, __VA_ARGS__)
 | 
				
			||||||
#define INTERNAL_CATCH_NTTP_REG_METHOD_GEN(TestName, ...) INTERNAL_CATCH_VA_NARGS_IMPL( "dummy", __VA_ARGS__, INTERNAL_CATCH_NTTP_REGISTER_METHOD, INTERNAL_CATCH_NTTP_REGISTER_METHOD, INTERNAL_CATCH_NTTP_REGISTER_METHOD, INTERNAL_CATCH_NTTP_REGISTER_METHOD, INTERNAL_CATCH_NTTP_REGISTER_METHOD, INTERNAL_CATCH_NTTP_REGISTER_METHOD, INTERNAL_CATCH_NTTP_REGISTER_METHOD, INTERNAL_CATCH_NTTP_REGISTER_METHOD, INTERNAL_CATCH_NTTP_REGISTER_METHOD, INTERNAL_CATCH_NTTP_REGISTER_METHOD0, INTERNAL_CATCH_NTTP_REGISTER_METHOD0)(TestName, __VA_ARGS__)
 | 
					#define INTERNAL_CATCH_NTTP_REG_METHOD_GEN(TestName, ...) INTERNAL_CATCH_VA_NARGS_IMPL( "dummy", __VA_ARGS__, INTERNAL_CATCH_NTTP_REGISTER_METHOD, INTERNAL_CATCH_NTTP_REGISTER_METHOD, INTERNAL_CATCH_NTTP_REGISTER_METHOD, INTERNAL_CATCH_NTTP_REGISTER_METHOD, INTERNAL_CATCH_NTTP_REGISTER_METHOD, INTERNAL_CATCH_NTTP_REGISTER_METHOD, INTERNAL_CATCH_NTTP_REGISTER_METHOD, INTERNAL_CATCH_NTTP_REGISTER_METHOD, INTERNAL_CATCH_NTTP_REGISTER_METHOD, INTERNAL_CATCH_NTTP_REGISTER_METHOD0, INTERNAL_CATCH_NTTP_REGISTER_METHOD0)(TestName, __VA_ARGS__)
 | 
				
			||||||
#define INTERNAL_CATCH_NTTP_REG_GEN(TestFunc, ...) INTERNAL_CATCH_VA_NARGS_IMPL( "dummy", __VA_ARGS__, INTERNAL_CATCH_NTTP_REGISTER, INTERNAL_CATCH_NTTP_REGISTER, INTERNAL_CATCH_NTTP_REGISTER, INTERNAL_CATCH_NTTP_REGISTER, INTERNAL_CATCH_NTTP_REGISTER, INTERNAL_CATCH_NTTP_REGISTER, INTERNAL_CATCH_NTTP_REGISTER, INTERNAL_CATCH_NTTP_REGISTER, INTERNAL_CATCH_NTTP_REGISTER, INTERNAL_CATCH_NTTP_REGISTER0, INTERNAL_CATCH_NTTP_REGISTER0)(TestFunc, __VA_ARGS__)
 | 
					#define INTERNAL_CATCH_NTTP_REG_GEN(TestFunc, ...) INTERNAL_CATCH_TYPES_REGISTER(TestFunc) INTERNAL_CATCH_VA_NARGS_IMPL( "dummy", __VA_ARGS__, INTERNAL_CATCH_NTTP_REGISTER, INTERNAL_CATCH_NTTP_REGISTER, INTERNAL_CATCH_NTTP_REGISTER, INTERNAL_CATCH_NTTP_REGISTER, INTERNAL_CATCH_NTTP_REGISTER, INTERNAL_CATCH_NTTP_REGISTER, INTERNAL_CATCH_NTTP_REGISTER, INTERNAL_CATCH_NTTP_REGISTER, INTERNAL_CATCH_NTTP_REGISTER, INTERNAL_CATCH_NTTP_REGISTER0, INTERNAL_CATCH_NTTP_REGISTER0)(TestFunc, __VA_ARGS__)
 | 
				
			||||||
#define INTERNAL_CATCH_DEFINE_SIG_TEST(TestName, ...) INTERNAL_CATCH_VA_NARGS_IMPL( "dummy", __VA_ARGS__, INTERNAL_CATCH_DEFINE_SIG_TEST_X, INTERNAL_CATCH_DEFINE_SIG_TEST_X, INTERNAL_CATCH_DEFINE_SIG_TEST_X, INTERNAL_CATCH_DEFINE_SIG_TEST_X, INTERNAL_CATCH_DEFINE_SIG_TEST_X, INTERNAL_CATCH_DEFINE_SIG_TEST_X, INTERNAL_CATCH_DEFINE_SIG_TEST_X, INTERNAL_CATCH_DEFINE_SIG_TEST_X,INTERNAL_CATCH_DEFINE_SIG_TEST_X,INTERNAL_CATCH_DEFINE_SIG_TEST1, INTERNAL_CATCH_DEFINE_SIG_TEST0)(TestName, __VA_ARGS__)
 | 
					#define INTERNAL_CATCH_DEFINE_SIG_TEST(TestName, ...) INTERNAL_CATCH_VA_NARGS_IMPL( "dummy", __VA_ARGS__, INTERNAL_CATCH_DEFINE_SIG_TEST_X, INTERNAL_CATCH_DEFINE_SIG_TEST_X, INTERNAL_CATCH_DEFINE_SIG_TEST_X, INTERNAL_CATCH_DEFINE_SIG_TEST_X, INTERNAL_CATCH_DEFINE_SIG_TEST_X, INTERNAL_CATCH_DEFINE_SIG_TEST_X, INTERNAL_CATCH_DEFINE_SIG_TEST_X, INTERNAL_CATCH_DEFINE_SIG_TEST_X,INTERNAL_CATCH_DEFINE_SIG_TEST_X,INTERNAL_CATCH_DEFINE_SIG_TEST1, INTERNAL_CATCH_DEFINE_SIG_TEST0)(TestName, __VA_ARGS__)
 | 
				
			||||||
#define INTERNAL_CATCH_DECLARE_SIG_TEST(TestName, ...) INTERNAL_CATCH_VA_NARGS_IMPL( "dummy", __VA_ARGS__, INTERNAL_CATCH_DECLARE_SIG_TEST_X,INTERNAL_CATCH_DECLARE_SIG_TEST_X, INTERNAL_CATCH_DECLARE_SIG_TEST_X, INTERNAL_CATCH_DECLARE_SIG_TEST_X, INTERNAL_CATCH_DECLARE_SIG_TEST_X, INTERNAL_CATCH_DECLARE_SIG_TEST_X, INTERNAL_CATCH_DEFINE_SIG_TEST_X,INTERNAL_CATCH_DECLARE_SIG_TEST_X,INTERNAL_CATCH_DECLARE_SIG_TEST_X, INTERNAL_CATCH_DECLARE_SIG_TEST1, INTERNAL_CATCH_DECLARE_SIG_TEST0)(TestName, __VA_ARGS__)
 | 
					#define INTERNAL_CATCH_DECLARE_SIG_TEST(TestName, ...) INTERNAL_CATCH_VA_NARGS_IMPL( "dummy", __VA_ARGS__, INTERNAL_CATCH_DECLARE_SIG_TEST_X,INTERNAL_CATCH_DECLARE_SIG_TEST_X, INTERNAL_CATCH_DECLARE_SIG_TEST_X, INTERNAL_CATCH_DECLARE_SIG_TEST_X, INTERNAL_CATCH_DECLARE_SIG_TEST_X, INTERNAL_CATCH_DECLARE_SIG_TEST_X, INTERNAL_CATCH_DEFINE_SIG_TEST_X,INTERNAL_CATCH_DECLARE_SIG_TEST_X,INTERNAL_CATCH_DECLARE_SIG_TEST_X, INTERNAL_CATCH_DECLARE_SIG_TEST1, INTERNAL_CATCH_DECLARE_SIG_TEST0)(TestName, __VA_ARGS__)
 | 
				
			||||||
#define INTERNAL_CATCH_REMOVE_PARENS_GEN(...) INTERNAL_CATCH_VA_NARGS_IMPL(__VA_ARGS__, INTERNAL_CATCH_REMOVE_PARENS_11_ARG,INTERNAL_CATCH_REMOVE_PARENS_10_ARG,INTERNAL_CATCH_REMOVE_PARENS_9_ARG,INTERNAL_CATCH_REMOVE_PARENS_8_ARG,INTERNAL_CATCH_REMOVE_PARENS_7_ARG,INTERNAL_CATCH_REMOVE_PARENS_6_ARG,INTERNAL_CATCH_REMOVE_PARENS_5_ARG,INTERNAL_CATCH_REMOVE_PARENS_4_ARG,INTERNAL_CATCH_REMOVE_PARENS_3_ARG,INTERNAL_CATCH_REMOVE_PARENS_2_ARG,INTERNAL_CATCH_REMOVE_PARENS_1_ARG)(__VA_ARGS__)
 | 
					#define INTERNAL_CATCH_REMOVE_PARENS_GEN(...) INTERNAL_CATCH_VA_NARGS_IMPL(__VA_ARGS__, INTERNAL_CATCH_REMOVE_PARENS_11_ARG,INTERNAL_CATCH_REMOVE_PARENS_10_ARG,INTERNAL_CATCH_REMOVE_PARENS_9_ARG,INTERNAL_CATCH_REMOVE_PARENS_8_ARG,INTERNAL_CATCH_REMOVE_PARENS_7_ARG,INTERNAL_CATCH_REMOVE_PARENS_6_ARG,INTERNAL_CATCH_REMOVE_PARENS_5_ARG,INTERNAL_CATCH_REMOVE_PARENS_4_ARG,INTERNAL_CATCH_REMOVE_PARENS_3_ARG,INTERNAL_CATCH_REMOVE_PARENS_2_ARG,INTERNAL_CATCH_REMOVE_PARENS_1_ARG)(__VA_ARGS__)
 | 
				
			||||||
@@ -228,7 +238,7 @@
 | 
				
			|||||||
#define INTERNAL_CATCH_DEFINE_SIG_TEST_METHOD(TestName, ...) INTERNAL_CATCH_EXPAND_VARGS(INTERNAL_CATCH_VA_NARGS_IMPL( "dummy", __VA_ARGS__, INTERNAL_CATCH_DEFINE_SIG_TEST_METHOD_X,INTERNAL_CATCH_DEFINE_SIG_TEST_METHOD_X, INTERNAL_CATCH_DEFINE_SIG_TEST_METHOD_X, INTERNAL_CATCH_DEFINE_SIG_TEST_METHOD_X, INTERNAL_CATCH_DEFINE_SIG_TEST_METHOD_X, INTERNAL_CATCH_DEFINE_SIG_TEST_METHOD_X, INTERNAL_CATCH_DEFINE_SIG_TEST_METHOD_X,INTERNAL_CATCH_DEFINE_SIG_TEST_METHOD_X,INTERNAL_CATCH_DEFINE_SIG_TEST_METHOD_X, INTERNAL_CATCH_DEFINE_SIG_TEST_METHOD1, INTERNAL_CATCH_DEFINE_SIG_TEST_METHOD0)(TestName, __VA_ARGS__))
 | 
					#define INTERNAL_CATCH_DEFINE_SIG_TEST_METHOD(TestName, ...) INTERNAL_CATCH_EXPAND_VARGS(INTERNAL_CATCH_VA_NARGS_IMPL( "dummy", __VA_ARGS__, INTERNAL_CATCH_DEFINE_SIG_TEST_METHOD_X,INTERNAL_CATCH_DEFINE_SIG_TEST_METHOD_X, INTERNAL_CATCH_DEFINE_SIG_TEST_METHOD_X, INTERNAL_CATCH_DEFINE_SIG_TEST_METHOD_X, INTERNAL_CATCH_DEFINE_SIG_TEST_METHOD_X, INTERNAL_CATCH_DEFINE_SIG_TEST_METHOD_X, INTERNAL_CATCH_DEFINE_SIG_TEST_METHOD_X,INTERNAL_CATCH_DEFINE_SIG_TEST_METHOD_X,INTERNAL_CATCH_DEFINE_SIG_TEST_METHOD_X, INTERNAL_CATCH_DEFINE_SIG_TEST_METHOD1, INTERNAL_CATCH_DEFINE_SIG_TEST_METHOD0)(TestName, __VA_ARGS__))
 | 
				
			||||||
#define INTERNAL_CATCH_DECLARE_SIG_TEST_METHOD(TestName, ClassName, ...) INTERNAL_CATCH_EXPAND_VARGS(INTERNAL_CATCH_VA_NARGS_IMPL( "dummy", __VA_ARGS__, INTERNAL_CATCH_DECLARE_SIG_TEST_METHOD_X,INTERNAL_CATCH_DECLARE_SIG_TEST_METHOD_X, INTERNAL_CATCH_DECLARE_SIG_TEST_METHOD_X, INTERNAL_CATCH_DECLARE_SIG_TEST_METHOD_X, INTERNAL_CATCH_DECLARE_SIG_TEST_METHOD_X, INTERNAL_CATCH_DECLARE_SIG_TEST_METHOD_X, INTERNAL_CATCH_DECLARE_SIG_TEST_METHOD_X,INTERNAL_CATCH_DECLARE_SIG_TEST_METHOD_X,INTERNAL_CATCH_DECLARE_SIG_TEST_METHOD_X, INTERNAL_CATCH_DECLARE_SIG_TEST_METHOD1, INTERNAL_CATCH_DECLARE_SIG_TEST_METHOD0)(TestName, ClassName, __VA_ARGS__))
 | 
					#define INTERNAL_CATCH_DECLARE_SIG_TEST_METHOD(TestName, ClassName, ...) INTERNAL_CATCH_EXPAND_VARGS(INTERNAL_CATCH_VA_NARGS_IMPL( "dummy", __VA_ARGS__, INTERNAL_CATCH_DECLARE_SIG_TEST_METHOD_X,INTERNAL_CATCH_DECLARE_SIG_TEST_METHOD_X, INTERNAL_CATCH_DECLARE_SIG_TEST_METHOD_X, INTERNAL_CATCH_DECLARE_SIG_TEST_METHOD_X, INTERNAL_CATCH_DECLARE_SIG_TEST_METHOD_X, INTERNAL_CATCH_DECLARE_SIG_TEST_METHOD_X, INTERNAL_CATCH_DECLARE_SIG_TEST_METHOD_X,INTERNAL_CATCH_DECLARE_SIG_TEST_METHOD_X,INTERNAL_CATCH_DECLARE_SIG_TEST_METHOD_X, INTERNAL_CATCH_DECLARE_SIG_TEST_METHOD1, INTERNAL_CATCH_DECLARE_SIG_TEST_METHOD0)(TestName, ClassName, __VA_ARGS__))
 | 
				
			||||||
#define INTERNAL_CATCH_NTTP_REG_METHOD_GEN(TestName, ...) INTERNAL_CATCH_EXPAND_VARGS(INTERNAL_CATCH_VA_NARGS_IMPL( "dummy", __VA_ARGS__, INTERNAL_CATCH_NTTP_REGISTER_METHOD, INTERNAL_CATCH_NTTP_REGISTER_METHOD, INTERNAL_CATCH_NTTP_REGISTER_METHOD, INTERNAL_CATCH_NTTP_REGISTER_METHOD, INTERNAL_CATCH_NTTP_REGISTER_METHOD, INTERNAL_CATCH_NTTP_REGISTER_METHOD, INTERNAL_CATCH_NTTP_REGISTER_METHOD, INTERNAL_CATCH_NTTP_REGISTER_METHOD, INTERNAL_CATCH_NTTP_REGISTER_METHOD, INTERNAL_CATCH_NTTP_REGISTER_METHOD0, INTERNAL_CATCH_NTTP_REGISTER_METHOD0)(TestName, __VA_ARGS__))
 | 
					#define INTERNAL_CATCH_NTTP_REG_METHOD_GEN(TestName, ...) INTERNAL_CATCH_EXPAND_VARGS(INTERNAL_CATCH_VA_NARGS_IMPL( "dummy", __VA_ARGS__, INTERNAL_CATCH_NTTP_REGISTER_METHOD, INTERNAL_CATCH_NTTP_REGISTER_METHOD, INTERNAL_CATCH_NTTP_REGISTER_METHOD, INTERNAL_CATCH_NTTP_REGISTER_METHOD, INTERNAL_CATCH_NTTP_REGISTER_METHOD, INTERNAL_CATCH_NTTP_REGISTER_METHOD, INTERNAL_CATCH_NTTP_REGISTER_METHOD, INTERNAL_CATCH_NTTP_REGISTER_METHOD, INTERNAL_CATCH_NTTP_REGISTER_METHOD, INTERNAL_CATCH_NTTP_REGISTER_METHOD0, INTERNAL_CATCH_NTTP_REGISTER_METHOD0)(TestName, __VA_ARGS__))
 | 
				
			||||||
#define INTERNAL_CATCH_NTTP_REG_GEN(TestFunc, ...) INTERNAL_CATCH_EXPAND_VARGS(INTERNAL_CATCH_VA_NARGS_IMPL( "dummy", __VA_ARGS__, INTERNAL_CATCH_NTTP_REGISTER, INTERNAL_CATCH_NTTP_REGISTER, INTERNAL_CATCH_NTTP_REGISTER, INTERNAL_CATCH_NTTP_REGISTER, INTERNAL_CATCH_NTTP_REGISTER, INTERNAL_CATCH_NTTP_REGISTER, INTERNAL_CATCH_NTTP_REGISTER, INTERNAL_CATCH_NTTP_REGISTER, INTERNAL_CATCH_NTTP_REGISTER, INTERNAL_CATCH_NTTP_REGISTER0, INTERNAL_CATCH_NTTP_REGISTER0)(TestFunc, __VA_ARGS__))
 | 
					#define INTERNAL_CATCH_NTTP_REG_GEN(TestFunc, ...) INTERNAL_CATCH_TYPES_REGISTER(TestFunc) INTERNAL_CATCH_EXPAND_VARGS(INTERNAL_CATCH_VA_NARGS_IMPL( "dummy", __VA_ARGS__, INTERNAL_CATCH_NTTP_REGISTER, INTERNAL_CATCH_NTTP_REGISTER, INTERNAL_CATCH_NTTP_REGISTER, INTERNAL_CATCH_NTTP_REGISTER, INTERNAL_CATCH_NTTP_REGISTER, INTERNAL_CATCH_NTTP_REGISTER, INTERNAL_CATCH_NTTP_REGISTER, INTERNAL_CATCH_NTTP_REGISTER, INTERNAL_CATCH_NTTP_REGISTER, INTERNAL_CATCH_NTTP_REGISTER0, INTERNAL_CATCH_NTTP_REGISTER0)(TestFunc, __VA_ARGS__))
 | 
				
			||||||
#define INTERNAL_CATCH_DEFINE_SIG_TEST(TestName, ...) INTERNAL_CATCH_EXPAND_VARGS(INTERNAL_CATCH_VA_NARGS_IMPL( "dummy", __VA_ARGS__, INTERNAL_CATCH_DEFINE_SIG_TEST_X, INTERNAL_CATCH_DEFINE_SIG_TEST_X, INTERNAL_CATCH_DEFINE_SIG_TEST_X, INTERNAL_CATCH_DEFINE_SIG_TEST_X, INTERNAL_CATCH_DEFINE_SIG_TEST_X, INTERNAL_CATCH_DEFINE_SIG_TEST_X, INTERNAL_CATCH_DEFINE_SIG_TEST_X, INTERNAL_CATCH_DEFINE_SIG_TEST_X,INTERNAL_CATCH_DEFINE_SIG_TEST_X,INTERNAL_CATCH_DEFINE_SIG_TEST1, INTERNAL_CATCH_DEFINE_SIG_TEST0)(TestName, __VA_ARGS__))
 | 
					#define INTERNAL_CATCH_DEFINE_SIG_TEST(TestName, ...) INTERNAL_CATCH_EXPAND_VARGS(INTERNAL_CATCH_VA_NARGS_IMPL( "dummy", __VA_ARGS__, INTERNAL_CATCH_DEFINE_SIG_TEST_X, INTERNAL_CATCH_DEFINE_SIG_TEST_X, INTERNAL_CATCH_DEFINE_SIG_TEST_X, INTERNAL_CATCH_DEFINE_SIG_TEST_X, INTERNAL_CATCH_DEFINE_SIG_TEST_X, INTERNAL_CATCH_DEFINE_SIG_TEST_X, INTERNAL_CATCH_DEFINE_SIG_TEST_X, INTERNAL_CATCH_DEFINE_SIG_TEST_X,INTERNAL_CATCH_DEFINE_SIG_TEST_X,INTERNAL_CATCH_DEFINE_SIG_TEST1, INTERNAL_CATCH_DEFINE_SIG_TEST0)(TestName, __VA_ARGS__))
 | 
				
			||||||
#define INTERNAL_CATCH_DECLARE_SIG_TEST(TestName, ...) INTERNAL_CATCH_EXPAND_VARGS(INTERNAL_CATCH_VA_NARGS_IMPL( "dummy", __VA_ARGS__, INTERNAL_CATCH_DECLARE_SIG_TEST_X,INTERNAL_CATCH_DECLARE_SIG_TEST_X, INTERNAL_CATCH_DECLARE_SIG_TEST_X, INTERNAL_CATCH_DECLARE_SIG_TEST_X, INTERNAL_CATCH_DECLARE_SIG_TEST_X, INTERNAL_CATCH_DECLARE_SIG_TEST_X, INTERNAL_CATCH_DEFINE_SIG_TEST_X,INTERNAL_CATCH_DECLARE_SIG_TEST_X,INTERNAL_CATCH_DECLARE_SIG_TEST_X, INTERNAL_CATCH_DECLARE_SIG_TEST1, INTERNAL_CATCH_DECLARE_SIG_TEST0)(TestName, __VA_ARGS__))
 | 
					#define INTERNAL_CATCH_DECLARE_SIG_TEST(TestName, ...) INTERNAL_CATCH_EXPAND_VARGS(INTERNAL_CATCH_VA_NARGS_IMPL( "dummy", __VA_ARGS__, INTERNAL_CATCH_DECLARE_SIG_TEST_X,INTERNAL_CATCH_DECLARE_SIG_TEST_X, INTERNAL_CATCH_DECLARE_SIG_TEST_X, INTERNAL_CATCH_DECLARE_SIG_TEST_X, INTERNAL_CATCH_DECLARE_SIG_TEST_X, INTERNAL_CATCH_DECLARE_SIG_TEST_X, INTERNAL_CATCH_DEFINE_SIG_TEST_X,INTERNAL_CATCH_DECLARE_SIG_TEST_X,INTERNAL_CATCH_DECLARE_SIG_TEST_X, INTERNAL_CATCH_DECLARE_SIG_TEST1, INTERNAL_CATCH_DECLARE_SIG_TEST0)(TestName, __VA_ARGS__))
 | 
				
			||||||
#define INTERNAL_CATCH_REMOVE_PARENS_GEN(...) INTERNAL_CATCH_EXPAND_VARGS(INTERNAL_CATCH_VA_NARGS_IMPL(__VA_ARGS__, INTERNAL_CATCH_REMOVE_PARENS_11_ARG,INTERNAL_CATCH_REMOVE_PARENS_10_ARG,INTERNAL_CATCH_REMOVE_PARENS_9_ARG,INTERNAL_CATCH_REMOVE_PARENS_8_ARG,INTERNAL_CATCH_REMOVE_PARENS_7_ARG,INTERNAL_CATCH_REMOVE_PARENS_6_ARG,INTERNAL_CATCH_REMOVE_PARENS_5_ARG,INTERNAL_CATCH_REMOVE_PARENS_4_ARG,INTERNAL_CATCH_REMOVE_PARENS_3_ARG,INTERNAL_CATCH_REMOVE_PARENS_2_ARG,INTERNAL_CATCH_REMOVE_PARENS_1_ARG)(__VA_ARGS__))
 | 
					#define INTERNAL_CATCH_REMOVE_PARENS_GEN(...) INTERNAL_CATCH_EXPAND_VARGS(INTERNAL_CATCH_VA_NARGS_IMPL(__VA_ARGS__, INTERNAL_CATCH_REMOVE_PARENS_11_ARG,INTERNAL_CATCH_REMOVE_PARENS_10_ARG,INTERNAL_CATCH_REMOVE_PARENS_9_ARG,INTERNAL_CATCH_REMOVE_PARENS_8_ARG,INTERNAL_CATCH_REMOVE_PARENS_7_ARG,INTERNAL_CATCH_REMOVE_PARENS_6_ARG,INTERNAL_CATCH_REMOVE_PARENS_5_ARG,INTERNAL_CATCH_REMOVE_PARENS_4_ARG,INTERNAL_CATCH_REMOVE_PARENS_3_ARG,INTERNAL_CATCH_REMOVE_PARENS_2_ARG,INTERNAL_CATCH_REMOVE_PARENS_1_ARG)(__VA_ARGS__))
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -139,7 +139,7 @@
 | 
				
			|||||||
                }                                                     \
 | 
					                }                                                     \
 | 
				
			||||||
            };                                                        \
 | 
					            };                                                        \
 | 
				
			||||||
            static int INTERNAL_CATCH_UNIQUE_NAME( globalRegistrar ) = [](){ \
 | 
					            static int INTERNAL_CATCH_UNIQUE_NAME( globalRegistrar ) = [](){ \
 | 
				
			||||||
                using TestInit = typename create<TestName, decltype(get_wrapper<INTERNAL_CATCH_REMOVE_PARENS(TmplTypes)>()), TypeList<INTERNAL_CATCH_MAKE_TYPE_LISTS_FROM_TYPES(INTERNAL_CATCH_REMOVE_PARENS(TypesList))>>::type; \
 | 
					                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;                                           \
 | 
					                TestInit t;                                           \
 | 
				
			||||||
                t.reg_tests();                                        \
 | 
					                t.reg_tests();                                        \
 | 
				
			||||||
                return 0;                                             \
 | 
					                return 0;                                             \
 | 
				
			||||||
@@ -271,7 +271,7 @@
 | 
				
			|||||||
                }\
 | 
					                }\
 | 
				
			||||||
            };\
 | 
					            };\
 | 
				
			||||||
            static int INTERNAL_CATCH_UNIQUE_NAME( globalRegistrar ) = [](){\
 | 
					            static int INTERNAL_CATCH_UNIQUE_NAME( globalRegistrar ) = [](){\
 | 
				
			||||||
                using TestInit = typename create<TestNameClass, decltype(get_wrapper<INTERNAL_CATCH_REMOVE_PARENS(TmplTypes)>()), TypeList<INTERNAL_CATCH_MAKE_TYPE_LISTS_FROM_TYPES(INTERNAL_CATCH_REMOVE_PARENS(TypesList))>>::type;\
 | 
					                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;\
 | 
					                TestInit t;\
 | 
				
			||||||
                t.reg_tests();\
 | 
					                t.reg_tests();\
 | 
				
			||||||
                return 0;\
 | 
					                return 0;\
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -262,6 +262,10 @@ Message from section two
 | 
				
			|||||||
:test-result: PASS TemplateTest: vectors can be sized and resized - int
 | 
					:test-result: PASS TemplateTest: vectors can be sized and resized - int
 | 
				
			||||||
:test-result: PASS TemplateTest: vectors can be sized and resized - std::string
 | 
					:test-result: PASS TemplateTest: vectors can be sized and resized - std::string
 | 
				
			||||||
:test-result: PASS TemplateTest: vectors can be sized and resized - std::tuple<int,float>
 | 
					:test-result: PASS TemplateTest: vectors can be sized and resized - std::tuple<int,float>
 | 
				
			||||||
 | 
					:test-result: FAIL TemplateTestSig: compiles with a single int parameter - 1
 | 
				
			||||||
 | 
					:test-result: FAIL TemplateTestSig: compiles with a single int parameter - 3
 | 
				
			||||||
 | 
					:test-result: FAIL TemplateTestSig: compiles with a single int parameter - 6
 | 
				
			||||||
 | 
					:test-result: FAIL TemplateTestSig: compiles with two type parameters - int,int
 | 
				
			||||||
:test-result: PASS TemplateTestSig: vectors can be sized and resized - (std::tuple<int, float>), 6
 | 
					:test-result: PASS TemplateTestSig: vectors can be sized and resized - (std::tuple<int, float>), 6
 | 
				
			||||||
:test-result: PASS TemplateTestSig: vectors can be sized and resized - float,4
 | 
					:test-result: PASS TemplateTestSig: vectors can be sized and resized - float,4
 | 
				
			||||||
:test-result: PASS TemplateTestSig: vectors can be sized and resized - int,5
 | 
					:test-result: PASS TemplateTestSig: vectors can be sized and resized - int,5
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -255,6 +255,10 @@
 | 
				
			|||||||
:test-result: PASS TemplateTest: vectors can be sized and resized - int
 | 
					:test-result: PASS TemplateTest: vectors can be sized and resized - int
 | 
				
			||||||
:test-result: PASS TemplateTest: vectors can be sized and resized - std::string
 | 
					:test-result: PASS TemplateTest: vectors can be sized and resized - std::string
 | 
				
			||||||
:test-result: PASS TemplateTest: vectors can be sized and resized - std::tuple<int,float>
 | 
					:test-result: PASS TemplateTest: vectors can be sized and resized - std::tuple<int,float>
 | 
				
			||||||
 | 
					:test-result: FAIL TemplateTestSig: compiles with a single int parameter - 1
 | 
				
			||||||
 | 
					:test-result: FAIL TemplateTestSig: compiles with a single int parameter - 3
 | 
				
			||||||
 | 
					:test-result: FAIL TemplateTestSig: compiles with a single int parameter - 6
 | 
				
			||||||
 | 
					:test-result: FAIL TemplateTestSig: compiles with two type parameters - int,int
 | 
				
			||||||
:test-result: PASS TemplateTestSig: vectors can be sized and resized - (std::tuple<int, float>), 6
 | 
					:test-result: PASS TemplateTestSig: vectors can be sized and resized - (std::tuple<int, float>), 6
 | 
				
			||||||
:test-result: PASS TemplateTestSig: vectors can be sized and resized - float,4
 | 
					:test-result: PASS TemplateTestSig: vectors can be sized and resized - float,4
 | 
				
			||||||
:test-result: PASS TemplateTestSig: vectors can be sized and resized - int,5
 | 
					:test-result: PASS TemplateTestSig: vectors can be sized and resized - int,5
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2854,7 +2854,7 @@ InternalBenchmark.tests.cpp:<line number>: passed: med == 18. for: 18.0 == 18.0
 | 
				
			|||||||
InternalBenchmark.tests.cpp:<line number>: passed: q3 == 23. for: 23.0 == 23.0
 | 
					InternalBenchmark.tests.cpp:<line number>: passed: q3 == 23. for: 23.0 == 23.0
 | 
				
			||||||
Misc.tests.cpp:<line number>: passed:
 | 
					Misc.tests.cpp:<line number>: passed:
 | 
				
			||||||
Misc.tests.cpp:<line number>: passed:
 | 
					Misc.tests.cpp:<line number>: passed:
 | 
				
			||||||
test cases:  419 |  313 passed |  86 failed | 6 skipped | 14 failed as expected
 | 
					test cases:  423 |  313 passed |  90 failed | 6 skipped | 14 failed as expected
 | 
				
			||||||
assertions: 2269 | 2087 passed | 147 failed | 35 failed as expected
 | 
					assertions: 2273 | 2087 passed | 151 failed | 35 failed as expected
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2843,7 +2843,7 @@ InternalBenchmark.tests.cpp:<line number>: passed: med == 18. for: 18.0 == 18.0
 | 
				
			|||||||
InternalBenchmark.tests.cpp:<line number>: passed: q3 == 23. for: 23.0 == 23.0
 | 
					InternalBenchmark.tests.cpp:<line number>: passed: q3 == 23. for: 23.0 == 23.0
 | 
				
			||||||
Misc.tests.cpp:<line number>: passed:
 | 
					Misc.tests.cpp:<line number>: passed:
 | 
				
			||||||
Misc.tests.cpp:<line number>: passed:
 | 
					Misc.tests.cpp:<line number>: passed:
 | 
				
			||||||
test cases:  419 |  313 passed |  86 failed | 6 skipped | 14 failed as expected
 | 
					test cases:  423 |  313 passed |  90 failed | 6 skipped | 14 failed as expected
 | 
				
			||||||
assertions: 2269 | 2087 passed | 147 failed | 35 failed as expected
 | 
					assertions: 2273 | 2087 passed | 151 failed | 35 failed as expected
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1610,6 +1610,6 @@ due to unexpected exception with message:
 | 
				
			|||||||
  Why would you throw a std::string?
 | 
					  Why would you throw a std::string?
 | 
				
			||||||
 | 
					
 | 
				
			||||||
===============================================================================
 | 
					===============================================================================
 | 
				
			||||||
test cases:  419 |  327 passed |  71 failed | 7 skipped | 14 failed as expected
 | 
					test cases:  423 |  331 passed |  71 failed | 7 skipped | 14 failed as expected
 | 
				
			||||||
assertions: 2252 | 2087 passed | 130 failed | 35 failed as expected
 | 
					assertions: 2252 | 2087 passed | 130 failed | 35 failed as expected
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -12526,6 +12526,42 @@ Misc.tests.cpp:<line number>: PASSED:
 | 
				
			|||||||
with expansion:
 | 
					with expansion:
 | 
				
			||||||
  5 >= 5
 | 
					  5 >= 5
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					TemplateTestSig: compiles with a single int parameter - 1
 | 
				
			||||||
 | 
					-------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					Misc.tests.cpp:<line number>
 | 
				
			||||||
 | 
					...............................................................................
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					No assertions in test case 'TemplateTestSig: compiles with a single int parameter - 1'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					TemplateTestSig: compiles with a single int parameter - 3
 | 
				
			||||||
 | 
					-------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					Misc.tests.cpp:<line number>
 | 
				
			||||||
 | 
					...............................................................................
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					No assertions in test case 'TemplateTestSig: compiles with a single int parameter - 3'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					TemplateTestSig: compiles with a single int parameter - 6
 | 
				
			||||||
 | 
					-------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					Misc.tests.cpp:<line number>
 | 
				
			||||||
 | 
					...............................................................................
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					No assertions in test case 'TemplateTestSig: compiles with a single int parameter - 6'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					TemplateTestSig: compiles with two type parameters - int,int
 | 
				
			||||||
 | 
					-------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					Misc.tests.cpp:<line number>
 | 
				
			||||||
 | 
					...............................................................................
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					No assertions in test case 'TemplateTestSig: compiles with two type parameters - int,int'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
-------------------------------------------------------------------------------
 | 
					-------------------------------------------------------------------------------
 | 
				
			||||||
TemplateTestSig: vectors can be sized and resized - (std::tuple<int, float>), 6
 | 
					TemplateTestSig: vectors can be sized and resized - (std::tuple<int, float>), 6
 | 
				
			||||||
-------------------------------------------------------------------------------
 | 
					-------------------------------------------------------------------------------
 | 
				
			||||||
@@ -19012,6 +19048,6 @@ Misc.tests.cpp:<line number>
 | 
				
			|||||||
Misc.tests.cpp:<line number>: PASSED:
 | 
					Misc.tests.cpp:<line number>: PASSED:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
===============================================================================
 | 
					===============================================================================
 | 
				
			||||||
test cases:  419 |  313 passed |  86 failed | 6 skipped | 14 failed as expected
 | 
					test cases:  423 |  313 passed |  90 failed | 6 skipped | 14 failed as expected
 | 
				
			||||||
assertions: 2269 | 2087 passed | 147 failed | 35 failed as expected
 | 
					assertions: 2273 | 2087 passed | 151 failed | 35 failed as expected
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -12519,6 +12519,42 @@ Misc.tests.cpp:<line number>: PASSED:
 | 
				
			|||||||
with expansion:
 | 
					with expansion:
 | 
				
			||||||
  5 >= 5
 | 
					  5 >= 5
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					TemplateTestSig: compiles with a single int parameter - 1
 | 
				
			||||||
 | 
					-------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					Misc.tests.cpp:<line number>
 | 
				
			||||||
 | 
					...............................................................................
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					No assertions in test case 'TemplateTestSig: compiles with a single int parameter - 1'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					TemplateTestSig: compiles with a single int parameter - 3
 | 
				
			||||||
 | 
					-------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					Misc.tests.cpp:<line number>
 | 
				
			||||||
 | 
					...............................................................................
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					No assertions in test case 'TemplateTestSig: compiles with a single int parameter - 3'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					TemplateTestSig: compiles with a single int parameter - 6
 | 
				
			||||||
 | 
					-------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					Misc.tests.cpp:<line number>
 | 
				
			||||||
 | 
					...............................................................................
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					No assertions in test case 'TemplateTestSig: compiles with a single int parameter - 6'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					TemplateTestSig: compiles with two type parameters - int,int
 | 
				
			||||||
 | 
					-------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					Misc.tests.cpp:<line number>
 | 
				
			||||||
 | 
					...............................................................................
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					No assertions in test case 'TemplateTestSig: compiles with two type parameters - int,int'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
-------------------------------------------------------------------------------
 | 
					-------------------------------------------------------------------------------
 | 
				
			||||||
TemplateTestSig: vectors can be sized and resized - (std::tuple<int, float>), 6
 | 
					TemplateTestSig: vectors can be sized and resized - (std::tuple<int, float>), 6
 | 
				
			||||||
-------------------------------------------------------------------------------
 | 
					-------------------------------------------------------------------------------
 | 
				
			||||||
@@ -19001,6 +19037,6 @@ Misc.tests.cpp:<line number>
 | 
				
			|||||||
Misc.tests.cpp:<line number>: PASSED:
 | 
					Misc.tests.cpp:<line number>: PASSED:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
===============================================================================
 | 
					===============================================================================
 | 
				
			||||||
test cases:  419 |  313 passed |  86 failed | 6 skipped | 14 failed as expected
 | 
					test cases:  423 |  313 passed |  90 failed | 6 skipped | 14 failed as expected
 | 
				
			||||||
assertions: 2269 | 2087 passed | 147 failed | 35 failed as expected
 | 
					assertions: 2273 | 2087 passed | 151 failed | 35 failed as expected
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,7 +1,7 @@
 | 
				
			|||||||
<?xml version="1.0" encoding="UTF-8"?>
 | 
					<?xml version="1.0" encoding="UTF-8"?>
 | 
				
			||||||
<testsuitesloose text artifact
 | 
					<testsuitesloose text artifact
 | 
				
			||||||
>
 | 
					>
 | 
				
			||||||
  <testsuite name="<exe-name>" errors="17" failures="130" skipped="12" tests="2281" hostname="tbd" time="{duration}" timestamp="{iso8601-timestamp}">
 | 
					  <testsuite name="<exe-name>" errors="17" failures="134" skipped="12" tests="2285" hostname="tbd" time="{duration}" timestamp="{iso8601-timestamp}">
 | 
				
			||||||
    <properties>
 | 
					    <properties>
 | 
				
			||||||
      <property name="random-seed" value="1"/>
 | 
					      <property name="random-seed" value="1"/>
 | 
				
			||||||
      <property name="filters" value=""*" ~[!nonportable] ~[!benchmark] ~[approvals]"/>
 | 
					      <property name="filters" value=""*" ~[!nonportable] ~[!benchmark] ~[approvals]"/>
 | 
				
			||||||
@@ -1475,6 +1475,10 @@ at Misc.tests.cpp:<line number>
 | 
				
			|||||||
    <testcase classname="<exe-name>.global" name="TemplateTest: vectors can be sized and resized - std::tuple<int,float>/resizing smaller changes size but not capacity/We can use the 'swap trick' to reset the capacity" time="{duration}" status="run"/>
 | 
					    <testcase classname="<exe-name>.global" name="TemplateTest: vectors can be sized and resized - std::tuple<int,float>/resizing smaller changes size but not capacity/We can use the 'swap trick' to reset the capacity" time="{duration}" status="run"/>
 | 
				
			||||||
    <testcase classname="<exe-name>.global" name="TemplateTest: vectors can be sized and resized - std::tuple<int,float>/reserving bigger changes capacity but not size" time="{duration}" status="run"/>
 | 
					    <testcase classname="<exe-name>.global" name="TemplateTest: vectors can be sized and resized - std::tuple<int,float>/reserving bigger changes capacity but not size" time="{duration}" status="run"/>
 | 
				
			||||||
    <testcase classname="<exe-name>.global" name="TemplateTest: vectors can be sized and resized - std::tuple<int,float>/reserving smaller does not change size or capacity" time="{duration}" status="run"/>
 | 
					    <testcase classname="<exe-name>.global" name="TemplateTest: vectors can be sized and resized - std::tuple<int,float>/reserving smaller does not change size or capacity" time="{duration}" status="run"/>
 | 
				
			||||||
 | 
					    <testcase classname="<exe-name>.global" name="TemplateTestSig: compiles with a single int parameter - 1" time="{duration}" status="run"/>
 | 
				
			||||||
 | 
					    <testcase classname="<exe-name>.global" name="TemplateTestSig: compiles with a single int parameter - 3" time="{duration}" status="run"/>
 | 
				
			||||||
 | 
					    <testcase classname="<exe-name>.global" name="TemplateTestSig: compiles with a single int parameter - 6" time="{duration}" status="run"/>
 | 
				
			||||||
 | 
					    <testcase classname="<exe-name>.global" name="TemplateTestSig: compiles with two type parameters - int,int" time="{duration}" status="run"/>
 | 
				
			||||||
    <testcase classname="<exe-name>.global" name="TemplateTestSig: vectors can be sized and resized - (std::tuple<int, float>), 6" time="{duration}" status="run"/>
 | 
					    <testcase classname="<exe-name>.global" name="TemplateTestSig: vectors can be sized and resized - (std::tuple<int, float>), 6" time="{duration}" status="run"/>
 | 
				
			||||||
    <testcase classname="<exe-name>.global" name="TemplateTestSig: vectors can be sized and resized - (std::tuple<int, float>), 6/resizing bigger changes size and capacity" time="{duration}" status="run"/>
 | 
					    <testcase classname="<exe-name>.global" name="TemplateTestSig: vectors can be sized and resized - (std::tuple<int, float>), 6/resizing bigger changes size and capacity" time="{duration}" status="run"/>
 | 
				
			||||||
    <testcase classname="<exe-name>.global" name="TemplateTestSig: vectors can be sized and resized - (std::tuple<int, float>), 6/resizing smaller changes size but not capacity" time="{duration}" status="run"/>
 | 
					    <testcase classname="<exe-name>.global" name="TemplateTestSig: vectors can be sized and resized - (std::tuple<int, float>), 6/resizing smaller changes size but not capacity" time="{duration}" status="run"/>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,6 +1,6 @@
 | 
				
			|||||||
<?xml version="1.0" encoding="UTF-8"?>
 | 
					<?xml version="1.0" encoding="UTF-8"?>
 | 
				
			||||||
<testsuites>
 | 
					<testsuites>
 | 
				
			||||||
  <testsuite name="<exe-name>" errors="17" failures="130" skipped="12" tests="2281" hostname="tbd" time="{duration}" timestamp="{iso8601-timestamp}">
 | 
					  <testsuite name="<exe-name>" errors="17" failures="134" skipped="12" tests="2285" hostname="tbd" time="{duration}" timestamp="{iso8601-timestamp}">
 | 
				
			||||||
    <properties>
 | 
					    <properties>
 | 
				
			||||||
      <property name="random-seed" value="1"/>
 | 
					      <property name="random-seed" value="1"/>
 | 
				
			||||||
      <property name="filters" value=""*" ~[!nonportable] ~[!benchmark] ~[approvals]"/>
 | 
					      <property name="filters" value=""*" ~[!nonportable] ~[!benchmark] ~[approvals]"/>
 | 
				
			||||||
@@ -1474,6 +1474,10 @@ at Misc.tests.cpp:<line number>
 | 
				
			|||||||
    <testcase classname="<exe-name>.global" name="TemplateTest: vectors can be sized and resized - std::tuple<int,float>/resizing smaller changes size but not capacity/We can use the 'swap trick' to reset the capacity" time="{duration}" status="run"/>
 | 
					    <testcase classname="<exe-name>.global" name="TemplateTest: vectors can be sized and resized - std::tuple<int,float>/resizing smaller changes size but not capacity/We can use the 'swap trick' to reset the capacity" time="{duration}" status="run"/>
 | 
				
			||||||
    <testcase classname="<exe-name>.global" name="TemplateTest: vectors can be sized and resized - std::tuple<int,float>/reserving bigger changes capacity but not size" time="{duration}" status="run"/>
 | 
					    <testcase classname="<exe-name>.global" name="TemplateTest: vectors can be sized and resized - std::tuple<int,float>/reserving bigger changes capacity but not size" time="{duration}" status="run"/>
 | 
				
			||||||
    <testcase classname="<exe-name>.global" name="TemplateTest: vectors can be sized and resized - std::tuple<int,float>/reserving smaller does not change size or capacity" time="{duration}" status="run"/>
 | 
					    <testcase classname="<exe-name>.global" name="TemplateTest: vectors can be sized and resized - std::tuple<int,float>/reserving smaller does not change size or capacity" time="{duration}" status="run"/>
 | 
				
			||||||
 | 
					    <testcase classname="<exe-name>.global" name="TemplateTestSig: compiles with a single int parameter - 1" time="{duration}" status="run"/>
 | 
				
			||||||
 | 
					    <testcase classname="<exe-name>.global" name="TemplateTestSig: compiles with a single int parameter - 3" time="{duration}" status="run"/>
 | 
				
			||||||
 | 
					    <testcase classname="<exe-name>.global" name="TemplateTestSig: compiles with a single int parameter - 6" time="{duration}" status="run"/>
 | 
				
			||||||
 | 
					    <testcase classname="<exe-name>.global" name="TemplateTestSig: compiles with two type parameters - int,int" time="{duration}" status="run"/>
 | 
				
			||||||
    <testcase classname="<exe-name>.global" name="TemplateTestSig: vectors can be sized and resized - (std::tuple<int, float>), 6" time="{duration}" status="run"/>
 | 
					    <testcase classname="<exe-name>.global" name="TemplateTestSig: vectors can be sized and resized - (std::tuple<int, float>), 6" time="{duration}" status="run"/>
 | 
				
			||||||
    <testcase classname="<exe-name>.global" name="TemplateTestSig: vectors can be sized and resized - (std::tuple<int, float>), 6/resizing bigger changes size and capacity" time="{duration}" status="run"/>
 | 
					    <testcase classname="<exe-name>.global" name="TemplateTestSig: vectors can be sized and resized - (std::tuple<int, float>), 6/resizing bigger changes size and capacity" time="{duration}" status="run"/>
 | 
				
			||||||
    <testcase classname="<exe-name>.global" name="TemplateTestSig: vectors can be sized and resized - (std::tuple<int, float>), 6/resizing smaller changes size but not capacity" time="{duration}" status="run"/>
 | 
					    <testcase classname="<exe-name>.global" name="TemplateTestSig: vectors can be sized and resized - (std::tuple<int, float>), 6/resizing smaller changes size but not capacity" time="{duration}" status="run"/>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1893,6 +1893,10 @@ at Misc.tests.cpp:<line number>
 | 
				
			|||||||
    <testCase name="TemplateTest: vectors can be sized and resized - std::tuple<int,float>/resizing smaller changes size but not capacity/We can use the 'swap trick' to reset the capacity" duration="{duration}"/>
 | 
					    <testCase name="TemplateTest: vectors can be sized and resized - std::tuple<int,float>/resizing smaller changes size but not capacity/We can use the 'swap trick' to reset the capacity" duration="{duration}"/>
 | 
				
			||||||
    <testCase name="TemplateTest: vectors can be sized and resized - std::tuple<int,float>/reserving bigger changes capacity but not size" duration="{duration}"/>
 | 
					    <testCase name="TemplateTest: vectors can be sized and resized - std::tuple<int,float>/reserving bigger changes capacity but not size" duration="{duration}"/>
 | 
				
			||||||
    <testCase name="TemplateTest: vectors can be sized and resized - std::tuple<int,float>/reserving smaller does not change size or capacity" duration="{duration}"/>
 | 
					    <testCase name="TemplateTest: vectors can be sized and resized - std::tuple<int,float>/reserving smaller does not change size or capacity" duration="{duration}"/>
 | 
				
			||||||
 | 
					    <testCase name="TemplateTestSig: compiles with a single int parameter - 1" duration="{duration}"/>
 | 
				
			||||||
 | 
					    <testCase name="TemplateTestSig: compiles with a single int parameter - 3" duration="{duration}"/>
 | 
				
			||||||
 | 
					    <testCase name="TemplateTestSig: compiles with a single int parameter - 6" duration="{duration}"/>
 | 
				
			||||||
 | 
					    <testCase name="TemplateTestSig: compiles with two type parameters - int,int" duration="{duration}"/>
 | 
				
			||||||
    <testCase name="TemplateTestSig: vectors can be sized and resized - (std::tuple<int, float>), 6" duration="{duration}"/>
 | 
					    <testCase name="TemplateTestSig: vectors can be sized and resized - (std::tuple<int, float>), 6" duration="{duration}"/>
 | 
				
			||||||
    <testCase name="TemplateTestSig: vectors can be sized and resized - (std::tuple<int, float>), 6/resizing bigger changes size and capacity" duration="{duration}"/>
 | 
					    <testCase name="TemplateTestSig: vectors can be sized and resized - (std::tuple<int, float>), 6/resizing bigger changes size and capacity" duration="{duration}"/>
 | 
				
			||||||
    <testCase name="TemplateTestSig: vectors can be sized and resized - (std::tuple<int, float>), 6/resizing smaller changes size but not capacity" duration="{duration}"/>
 | 
					    <testCase name="TemplateTestSig: vectors can be sized and resized - (std::tuple<int, float>), 6/resizing smaller changes size but not capacity" duration="{duration}"/>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1892,6 +1892,10 @@ at Misc.tests.cpp:<line number>
 | 
				
			|||||||
    <testCase name="TemplateTest: vectors can be sized and resized - std::tuple<int,float>/resizing smaller changes size but not capacity/We can use the 'swap trick' to reset the capacity" duration="{duration}"/>
 | 
					    <testCase name="TemplateTest: vectors can be sized and resized - std::tuple<int,float>/resizing smaller changes size but not capacity/We can use the 'swap trick' to reset the capacity" duration="{duration}"/>
 | 
				
			||||||
    <testCase name="TemplateTest: vectors can be sized and resized - std::tuple<int,float>/reserving bigger changes capacity but not size" duration="{duration}"/>
 | 
					    <testCase name="TemplateTest: vectors can be sized and resized - std::tuple<int,float>/reserving bigger changes capacity but not size" duration="{duration}"/>
 | 
				
			||||||
    <testCase name="TemplateTest: vectors can be sized and resized - std::tuple<int,float>/reserving smaller does not change size or capacity" duration="{duration}"/>
 | 
					    <testCase name="TemplateTest: vectors can be sized and resized - std::tuple<int,float>/reserving smaller does not change size or capacity" duration="{duration}"/>
 | 
				
			||||||
 | 
					    <testCase name="TemplateTestSig: compiles with a single int parameter - 1" duration="{duration}"/>
 | 
				
			||||||
 | 
					    <testCase name="TemplateTestSig: compiles with a single int parameter - 3" duration="{duration}"/>
 | 
				
			||||||
 | 
					    <testCase name="TemplateTestSig: compiles with a single int parameter - 6" duration="{duration}"/>
 | 
				
			||||||
 | 
					    <testCase name="TemplateTestSig: compiles with two type parameters - int,int" duration="{duration}"/>
 | 
				
			||||||
    <testCase name="TemplateTestSig: vectors can be sized and resized - (std::tuple<int, float>), 6" duration="{duration}"/>
 | 
					    <testCase name="TemplateTestSig: vectors can be sized and resized - (std::tuple<int, float>), 6" duration="{duration}"/>
 | 
				
			||||||
    <testCase name="TemplateTestSig: vectors can be sized and resized - (std::tuple<int, float>), 6/resizing bigger changes size and capacity" duration="{duration}"/>
 | 
					    <testCase name="TemplateTestSig: vectors can be sized and resized - (std::tuple<int, float>), 6/resizing bigger changes size and capacity" duration="{duration}"/>
 | 
				
			||||||
    <testCase name="TemplateTestSig: vectors can be sized and resized - (std::tuple<int, float>), 6/resizing smaller changes size but not capacity" duration="{duration}"/>
 | 
					    <testCase name="TemplateTestSig: vectors can be sized and resized - (std::tuple<int, float>), 6/resizing smaller changes size but not capacity" duration="{duration}"/>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -4567,5 +4567,5 @@ ok {test-number} - q3 == 23. for: 23.0 == 23.0
 | 
				
			|||||||
ok {test-number} -
 | 
					ok {test-number} -
 | 
				
			||||||
# xmlentitycheck
 | 
					# xmlentitycheck
 | 
				
			||||||
ok {test-number} -
 | 
					ok {test-number} -
 | 
				
			||||||
1..2281
 | 
					1..2285
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -4556,5 +4556,5 @@ ok {test-number} - q3 == 23. for: 23.0 == 23.0
 | 
				
			|||||||
ok {test-number} -
 | 
					ok {test-number} -
 | 
				
			||||||
# xmlentitycheck
 | 
					# xmlentitycheck
 | 
				
			||||||
ok {test-number} -
 | 
					ok {test-number} -
 | 
				
			||||||
1..2281
 | 
					1..2285
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -634,6 +634,14 @@
 | 
				
			|||||||
##teamcity[testFinished name='TemplateTest: vectors can be sized and resized - std::string' duration="{duration}"]
 | 
					##teamcity[testFinished name='TemplateTest: vectors can be sized and resized - std::string' duration="{duration}"]
 | 
				
			||||||
##teamcity[testStarted name='TemplateTest: vectors can be sized and resized - std::tuple<int,float>']
 | 
					##teamcity[testStarted name='TemplateTest: vectors can be sized and resized - std::tuple<int,float>']
 | 
				
			||||||
##teamcity[testFinished name='TemplateTest: vectors can be sized and resized - std::tuple<int,float>' duration="{duration}"]
 | 
					##teamcity[testFinished name='TemplateTest: vectors can be sized and resized - std::tuple<int,float>' duration="{duration}"]
 | 
				
			||||||
 | 
					##teamcity[testStarted name='TemplateTestSig: compiles with a single int parameter - 1']
 | 
				
			||||||
 | 
					##teamcity[testFinished name='TemplateTestSig: compiles with a single int parameter - 1' duration="{duration}"]
 | 
				
			||||||
 | 
					##teamcity[testStarted name='TemplateTestSig: compiles with a single int parameter - 3']
 | 
				
			||||||
 | 
					##teamcity[testFinished name='TemplateTestSig: compiles with a single int parameter - 3' duration="{duration}"]
 | 
				
			||||||
 | 
					##teamcity[testStarted name='TemplateTestSig: compiles with a single int parameter - 6']
 | 
				
			||||||
 | 
					##teamcity[testFinished name='TemplateTestSig: compiles with a single int parameter - 6' duration="{duration}"]
 | 
				
			||||||
 | 
					##teamcity[testStarted name='TemplateTestSig: compiles with two type parameters - int,int']
 | 
				
			||||||
 | 
					##teamcity[testFinished name='TemplateTestSig: compiles with two type parameters - int,int' duration="{duration}"]
 | 
				
			||||||
##teamcity[testStarted name='TemplateTestSig: vectors can be sized and resized - (std::tuple<int, float>), 6']
 | 
					##teamcity[testStarted name='TemplateTestSig: vectors can be sized and resized - (std::tuple<int, float>), 6']
 | 
				
			||||||
##teamcity[testFinished name='TemplateTestSig: vectors can be sized and resized - (std::tuple<int, float>), 6' duration="{duration}"]
 | 
					##teamcity[testFinished name='TemplateTestSig: vectors can be sized and resized - (std::tuple<int, float>), 6' duration="{duration}"]
 | 
				
			||||||
##teamcity[testStarted name='TemplateTestSig: vectors can be sized and resized - float,4']
 | 
					##teamcity[testStarted name='TemplateTestSig: vectors can be sized and resized - float,4']
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -634,6 +634,14 @@
 | 
				
			|||||||
##teamcity[testFinished name='TemplateTest: vectors can be sized and resized - std::string' duration="{duration}"]
 | 
					##teamcity[testFinished name='TemplateTest: vectors can be sized and resized - std::string' duration="{duration}"]
 | 
				
			||||||
##teamcity[testStarted name='TemplateTest: vectors can be sized and resized - std::tuple<int,float>']
 | 
					##teamcity[testStarted name='TemplateTest: vectors can be sized and resized - std::tuple<int,float>']
 | 
				
			||||||
##teamcity[testFinished name='TemplateTest: vectors can be sized and resized - std::tuple<int,float>' duration="{duration}"]
 | 
					##teamcity[testFinished name='TemplateTest: vectors can be sized and resized - std::tuple<int,float>' duration="{duration}"]
 | 
				
			||||||
 | 
					##teamcity[testStarted name='TemplateTestSig: compiles with a single int parameter - 1']
 | 
				
			||||||
 | 
					##teamcity[testFinished name='TemplateTestSig: compiles with a single int parameter - 1' duration="{duration}"]
 | 
				
			||||||
 | 
					##teamcity[testStarted name='TemplateTestSig: compiles with a single int parameter - 3']
 | 
				
			||||||
 | 
					##teamcity[testFinished name='TemplateTestSig: compiles with a single int parameter - 3' duration="{duration}"]
 | 
				
			||||||
 | 
					##teamcity[testStarted name='TemplateTestSig: compiles with a single int parameter - 6']
 | 
				
			||||||
 | 
					##teamcity[testFinished name='TemplateTestSig: compiles with a single int parameter - 6' duration="{duration}"]
 | 
				
			||||||
 | 
					##teamcity[testStarted name='TemplateTestSig: compiles with two type parameters - int,int']
 | 
				
			||||||
 | 
					##teamcity[testFinished name='TemplateTestSig: compiles with two type parameters - int,int' duration="{duration}"]
 | 
				
			||||||
##teamcity[testStarted name='TemplateTestSig: vectors can be sized and resized - (std::tuple<int, float>), 6']
 | 
					##teamcity[testStarted name='TemplateTestSig: vectors can be sized and resized - (std::tuple<int, float>), 6']
 | 
				
			||||||
##teamcity[testFinished name='TemplateTestSig: vectors can be sized and resized - (std::tuple<int, float>), 6' duration="{duration}"]
 | 
					##teamcity[testFinished name='TemplateTestSig: vectors can be sized and resized - (std::tuple<int, float>), 6' duration="{duration}"]
 | 
				
			||||||
##teamcity[testStarted name='TemplateTestSig: vectors can be sized and resized - float,4']
 | 
					##teamcity[testStarted name='TemplateTestSig: vectors can be sized and resized - float,4']
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -14483,6 +14483,18 @@ Message from section two
 | 
				
			|||||||
    </Section>
 | 
					    </Section>
 | 
				
			||||||
    <OverallResult success="true" skips="0"/>
 | 
					    <OverallResult success="true" skips="0"/>
 | 
				
			||||||
  </TestCase>
 | 
					  </TestCase>
 | 
				
			||||||
 | 
					  <TestCase name="TemplateTestSig: compiles with a single int parameter - 1" tags="[singleint][template]" filename="tests/<exe-name>/UsageTests/Misc.tests.cpp" >
 | 
				
			||||||
 | 
					    <OverallResult success="false" skips="0"/>
 | 
				
			||||||
 | 
					  </TestCase>
 | 
				
			||||||
 | 
					  <TestCase name="TemplateTestSig: compiles with a single int parameter - 3" tags="[singleint][template]" filename="tests/<exe-name>/UsageTests/Misc.tests.cpp" >
 | 
				
			||||||
 | 
					    <OverallResult success="false" skips="0"/>
 | 
				
			||||||
 | 
					  </TestCase>
 | 
				
			||||||
 | 
					  <TestCase name="TemplateTestSig: compiles with a single int parameter - 6" tags="[singleint][template]" filename="tests/<exe-name>/UsageTests/Misc.tests.cpp" >
 | 
				
			||||||
 | 
					    <OverallResult success="false" skips="0"/>
 | 
				
			||||||
 | 
					  </TestCase>
 | 
				
			||||||
 | 
					  <TestCase name="TemplateTestSig: compiles with two type parameters - int,int" tags="[onlytypes][template]" filename="tests/<exe-name>/UsageTests/Misc.tests.cpp" >
 | 
				
			||||||
 | 
					    <OverallResult success="false" skips="0"/>
 | 
				
			||||||
 | 
					  </TestCase>
 | 
				
			||||||
  <TestCase name="TemplateTestSig: vectors can be sized and resized - (std::tuple<int, float>), 6" tags="[nttp][template][vector]" filename="tests/<exe-name>/UsageTests/Misc.tests.cpp" >
 | 
					  <TestCase name="TemplateTestSig: vectors can be sized and resized - (std::tuple<int, float>), 6" tags="[nttp][template][vector]" filename="tests/<exe-name>/UsageTests/Misc.tests.cpp" >
 | 
				
			||||||
    <Expression success="true" type="REQUIRE" filename="tests/<exe-name>/UsageTests/Misc.tests.cpp" >
 | 
					    <Expression success="true" type="REQUIRE" filename="tests/<exe-name>/UsageTests/Misc.tests.cpp" >
 | 
				
			||||||
      <Original>
 | 
					      <Original>
 | 
				
			||||||
@@ -21971,6 +21983,6 @@ Approx( -1.95996398454005449 )
 | 
				
			|||||||
    </Section>
 | 
					    </Section>
 | 
				
			||||||
    <OverallResult success="true" skips="0"/>
 | 
					    <OverallResult success="true" skips="0"/>
 | 
				
			||||||
  </TestCase>
 | 
					  </TestCase>
 | 
				
			||||||
  <OverallResults successes="2087" failures="147" expectedFailures="35" skips="12"/>
 | 
					  <OverallResults successes="2087" failures="151" expectedFailures="35" skips="12"/>
 | 
				
			||||||
  <OverallResultsCases successes="313" failures="86" expectedFailures="14" skips="6"/>
 | 
					  <OverallResultsCases successes="313" failures="90" expectedFailures="14" skips="6"/>
 | 
				
			||||||
</Catch2TestRun>
 | 
					</Catch2TestRun>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -14483,6 +14483,18 @@ Message from section two
 | 
				
			|||||||
    </Section>
 | 
					    </Section>
 | 
				
			||||||
    <OverallResult success="true" skips="0"/>
 | 
					    <OverallResult success="true" skips="0"/>
 | 
				
			||||||
  </TestCase>
 | 
					  </TestCase>
 | 
				
			||||||
 | 
					  <TestCase name="TemplateTestSig: compiles with a single int parameter - 1" tags="[singleint][template]" filename="tests/<exe-name>/UsageTests/Misc.tests.cpp" >
 | 
				
			||||||
 | 
					    <OverallResult success="false" skips="0"/>
 | 
				
			||||||
 | 
					  </TestCase>
 | 
				
			||||||
 | 
					  <TestCase name="TemplateTestSig: compiles with a single int parameter - 3" tags="[singleint][template]" filename="tests/<exe-name>/UsageTests/Misc.tests.cpp" >
 | 
				
			||||||
 | 
					    <OverallResult success="false" skips="0"/>
 | 
				
			||||||
 | 
					  </TestCase>
 | 
				
			||||||
 | 
					  <TestCase name="TemplateTestSig: compiles with a single int parameter - 6" tags="[singleint][template]" filename="tests/<exe-name>/UsageTests/Misc.tests.cpp" >
 | 
				
			||||||
 | 
					    <OverallResult success="false" skips="0"/>
 | 
				
			||||||
 | 
					  </TestCase>
 | 
				
			||||||
 | 
					  <TestCase name="TemplateTestSig: compiles with two type parameters - int,int" tags="[onlytypes][template]" filename="tests/<exe-name>/UsageTests/Misc.tests.cpp" >
 | 
				
			||||||
 | 
					    <OverallResult success="false" skips="0"/>
 | 
				
			||||||
 | 
					  </TestCase>
 | 
				
			||||||
  <TestCase name="TemplateTestSig: vectors can be sized and resized - (std::tuple<int, float>), 6" tags="[nttp][template][vector]" filename="tests/<exe-name>/UsageTests/Misc.tests.cpp" >
 | 
					  <TestCase name="TemplateTestSig: vectors can be sized and resized - (std::tuple<int, float>), 6" tags="[nttp][template][vector]" filename="tests/<exe-name>/UsageTests/Misc.tests.cpp" >
 | 
				
			||||||
    <Expression success="true" type="REQUIRE" filename="tests/<exe-name>/UsageTests/Misc.tests.cpp" >
 | 
					    <Expression success="true" type="REQUIRE" filename="tests/<exe-name>/UsageTests/Misc.tests.cpp" >
 | 
				
			||||||
      <Original>
 | 
					      <Original>
 | 
				
			||||||
@@ -21970,6 +21982,6 @@ Approx( -1.95996398454005449 )
 | 
				
			|||||||
    </Section>
 | 
					    </Section>
 | 
				
			||||||
    <OverallResult success="true" skips="0"/>
 | 
					    <OverallResult success="true" skips="0"/>
 | 
				
			||||||
  </TestCase>
 | 
					  </TestCase>
 | 
				
			||||||
  <OverallResults successes="2087" failures="147" expectedFailures="35" skips="12"/>
 | 
					  <OverallResults successes="2087" failures="151" expectedFailures="35" skips="12"/>
 | 
				
			||||||
  <OverallResultsCases successes="313" failures="86" expectedFailures="14" skips="6"/>
 | 
					  <OverallResultsCases successes="313" failures="90" expectedFailures="14" skips="6"/>
 | 
				
			||||||
</Catch2TestRun>
 | 
					</Catch2TestRun>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -334,6 +334,10 @@ TEMPLATE_TEST_CASE( "TemplateTest: vectors can be sized and resized", "[vector][
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					TEMPLATE_TEST_CASE_SIG("TemplateTestSig: compiles with a single int parameter", "[template][singleint]", ((int V), V), 1, 3, 6) {}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					TEMPLATE_TEST_CASE_SIG("TemplateTestSig: compiles with two type parameters", "[template][onlytypes]", ((typename U, typename V), U, V), (int,int)) {}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
TEMPLATE_TEST_CASE_SIG("TemplateTestSig: vectors can be sized and resized", "[vector][template][nttp]", ((typename TestType, int V), TestType, V), (int,5), (float,4), (std::string,15), ((std::tuple<int, float>), 6)) {
 | 
					TEMPLATE_TEST_CASE_SIG("TemplateTestSig: vectors can be sized and resized", "[vector][template][nttp]", ((typename TestType, int V), TestType, V), (int,5), (float,4), (std::string,15), ((std::tuple<int, float>), 6)) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    std::vector<TestType> v(V);
 | 
					    std::vector<TestType> v(V);
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user