catch2/include/internal
Martin Hořeňovský da0edcbe25 Collect startup exceptions instead of throwing them
Previously, some errors in Catch configuration would cause exceptions to
be thrown before main was even entered. This leads to call to
`std::terminate`, which is not a particularly nice way of ending the
binary.

Now these exceptions are registered with a global collector and used
once Catch enters main. They can also be optionally ignored, if user
supplies his own main and opts not to check them (or ignored them
intentionally).

Closes #921
2017-06-04 21:39:27 +02:00
..
catch_approx.hpp Move back to static StringMaker<T>::convert 2017-05-21 23:40:05 +02:00
catch_assertionresult.h A load more C++11 tweaks - mostly moving initialisations from constructors to inline 2017-04-25 19:30:53 +01:00
catch_assertionresult.hpp Gutted catch_compiler_capabilities 2017-04-25 12:43:19 +02:00
catch_capture.hpp More macros are now variadic 2017-05-03 19:10:27 +02:00
catch_clara.h New version of Clara 2014-03-17 18:40:58 +00:00
catch_commandline.hpp Added CATCH_ENFORCE (and updated CATCH_INTERNAL_ERROR to be stream based) 2017-05-05 15:43:31 +01:00
catch_common.h Collect startup exceptions instead of throwing them 2017-06-04 21:39:27 +02:00
catch_common.hpp Added CATCH_ENFORCE (and updated CATCH_INTERNAL_ERROR to be stream based) 2017-05-05 15:43:31 +01:00
catch_compiler_capabilities.h Gutted catch_compiler_capabilities 2017-04-25 12:43:19 +02:00
catch_config.hpp Added CATCH_ENFORCE (and updated CATCH_INTERNAL_ERROR to be stream based) 2017-05-05 15:43:31 +01:00
catch_console_colour_impl.hpp Enable colourized output while in debugger 2017-05-22 00:41:31 +02:00
catch_console_colour.hpp Cleaned up terminal colouring impl and added more config options 2014-10-21 07:24:30 +01:00
catch_context_impl.hpp Migrated Config and IConfig to shared_ptr (from Ptr) 2017-04-25 21:56:14 +01:00
catch_context.h Removed Ptr, Shared and SharedImpl 2017-04-25 21:56:14 +01:00
catch_debugger.h Removed debug break support for PowerPC Macs 2017-04-25 12:27:26 +01:00
catch_debugger.hpp Gutted catch_compiler_capabilities 2017-04-25 12:43:19 +02:00
catch_default_main.hpp Moved WIndows leak detector code out of main() 2017-02-17 23:43:31 +00:00
catch_errno_guard.hpp Save errno before using sprintf, ifstream. 2017-03-06 21:51:22 +01:00
catch_evaluate.hpp Remove C++98 backcompat from evaluate 2017-04-25 11:28:40 +02:00
catch_exception_translator_registry.hpp exception translators considered even for types deriving from std::exception, now 2015-11-18 08:39:21 +00:00
catch_expression_lhs.hpp Reworked stringification layer, removed Catch::toString 2017-05-02 23:51:03 +02:00
catch_fatal_condition.hpp Gutted catch_compiler_capabilities 2017-04-25 12:43:19 +02:00
catch_generators_impl.hpp Converted (almost) all for-loops with iterators or indices to range-based 2017-04-25 11:07:02 +01:00
catch_generators.hpp Fix C4702 (unreachable code) in generators 2017-05-08 00:58:44 +02:00
catch_impl.hpp Collect startup exceptions instead of throwing them 2017-06-04 21:39:27 +02:00
catch_interfaces_capture.h Fixed up CATCH_CONFIG_FAST_COMPILE for REQUIREs 2017-04-03 11:36:55 +02:00
catch_interfaces_config.h Removed Ptr, Shared and SharedImpl 2017-04-25 21:56:14 +01:00
catch_interfaces_exception.h Gutted catch_compiler_capabilities 2017-04-25 12:43:19 +02:00
catch_interfaces_generators.h Removed all trailing whitespace 2013-07-03 19:14:59 +01:00
catch_interfaces_registry_hub.h Collect startup exceptions instead of throwing them 2017-06-04 21:39:27 +02:00
catch_interfaces_reporter.h converted IStreamingReporter to unique_ptr 2017-05-05 15:43:31 +01:00
catch_interfaces_runner.h Big assertion capture refactoring. 2014-05-28 18:53:01 +01:00
catch_interfaces_tag_alias_registry.h Tag aliases feature 2014-06-30 07:33:17 +01:00
catch_interfaces_testcase.h Removed Ptr, Shared and SharedImpl 2017-04-25 21:56:14 +01:00
catch_list.hpp Some listener and factory clean-ups 2017-04-25 21:56:14 +01:00
catch_matchers_string.h Gutted catch_compiler_capabilities 2017-04-25 12:43:19 +02:00
catch_matchers_string.hpp Take std::string by const-ref where possible 2017-03-06 13:16:43 +01:00
catch_matchers_vector.h Reworked stringification layer, removed Catch::toString 2017-05-02 23:51:03 +02:00
catch_matchers.hpp Gutted catch_compiler_capabilities 2017-04-25 12:43:19 +02:00
catch_message.h Suppressed a load of warnings 2014-05-19 18:57:14 +01:00
catch_message.hpp Fmt and tag fixup for #876 2017-04-04 11:31:13 +02:00
catch_notimplemented_exception.h Gutted catch_compiler_capabilities 2017-04-25 12:43:19 +02:00
catch_notimplemented_exception.hpp Gutted catch_compiler_capabilities 2017-04-25 12:43:19 +02:00
catch_objc_arc.hpp Conditionally compile clang pragmas 2012-08-16 18:47:41 +01:00
catch_objc.hpp Gutted catch_compiler_capabilities 2017-04-25 12:43:19 +02:00
catch_option.hpp Fix alignment for Catch::Option 2017-05-08 00:59:44 +02:00
catch_platform.h Merge branch 'windows-header-defines' of https://github.com/horenmar/Catch 2017-01-16 17:00:43 +01:00
catch_reenable_warnings.h Suppress warnings correctly for Intel compiler 2015-03-04 07:54:35 +00:00
catch_registry_hub.hpp Collect startup exceptions instead of throwing them 2017-06-04 21:39:27 +02:00
catch_reporter_registrars.hpp converted IStreamingReporter to unique_ptr 2017-05-05 15:43:31 +01:00
catch_reporter_registry.hpp Migrated IStreamingReporter from Ptr to std::shared_ptr 2017-04-25 21:56:14 +01:00
catch_result_builder.h A load more C++11 tweaks - mostly moving initialisations from constructors to inline 2017-04-25 19:30:53 +01:00
catch_result_builder.hpp A load more C++11 tweaks - mostly moving initialisations from constructors to inline 2017-04-25 19:30:53 +01:00
catch_result_type.h Stripped trailing whitespace from all source code lines 2015-11-04 18:04:15 +00:00
catch_run_context.hpp Added CATCH_ENFORCE (and updated CATCH_INTERNAL_ERROR to be stream based) 2017-05-05 15:43:31 +01:00
catch_section_info.h More include simplifications 2017-02-13 14:12:22 +01:00
catch_section_info.hpp Gutted catch_compiler_capabilities 2017-04-25 12:43:19 +02:00
catch_section.h A load more C++11 tweaks - mostly moving initialisations from constructors to inline 2017-04-25 19:30:53 +01:00
catch_section.hpp More include simplifications 2017-02-13 14:12:22 +01:00
catch_startup_exception_registry.h Collect startup exceptions instead of throwing them 2017-06-04 21:39:27 +02:00
catch_startup_exception_registry.hpp Collect startup exceptions instead of throwing them 2017-06-04 21:39:27 +02:00
catch_stream.h Gutted catch_compiler_capabilities 2017-04-25 12:43:19 +02:00
catch_stream.hpp Added CATCH_ENFORCE (and updated CATCH_INTERNAL_ERROR to be stream based) 2017-05-05 15:43:31 +01:00
catch_streambuf.h Gutted catch_compiler_capabilities 2017-04-25 12:43:19 +02:00
catch_suppress_warnings.h A load more C++11 tweaks - mostly moving initialisations from constructors to inline 2017-04-25 19:30:53 +01:00
catch_tag_alias_registry.h Tag Alias registry is part of registry hub instead of it’s own singleton 2017-03-15 09:45:37 +00:00
catch_tag_alias_registry.hpp Collect startup exceptions instead of throwing them 2017-06-04 21:39:27 +02:00
catch_tag_alias.h Take std::string by const-ref where possible 2017-03-06 13:16:43 +01:00
catch_test_case_info.h Removed Ptr, Shared and SharedImpl 2017-04-25 21:56:14 +01:00
catch_test_case_info.hpp Collect startup exceptions instead of throwing them 2017-06-04 21:39:27 +02:00
catch_test_case_registry_impl.hpp Added CATCH_ENFORCE (and updated CATCH_INTERNAL_ERROR to be stream based) 2017-05-05 15:43:31 +01:00
catch_test_case_tracker.hpp Added CATCH_ENFORCE (and updated CATCH_INTERNAL_ERROR to be stream based) 2017-05-05 15:43:31 +01:00
catch_test_registry.hpp Removed Ptr, Shared and SharedImpl 2017-04-25 21:56:14 +01:00
catch_test_spec_parser.hpp migrated Pattern to std::shared_ptr 2017-04-25 21:56:14 +01:00
catch_test_spec.hpp Added missing <memory> includes 2017-04-26 17:04:00 +01:00
catch_text.h New version of Clara 2014-03-17 18:40:58 +00:00
catch_timer.h A load more C++11 tweaks - mostly moving initialisations from constructors to inline 2017-04-25 19:30:53 +01:00
catch_timer.hpp Use std::chrono for Timer to eliminate platform dependency 2017-04-25 12:24:34 +01:00
catch_tostring.h Move back to static StringMaker<T>::convert 2017-05-21 23:40:05 +02:00
catch_tostring.hpp Move back to static StringMaker<T>::convert 2017-05-21 23:40:05 +02:00
catch_totals.hpp A load more C++11 tweaks - mostly moving initialisations from constructors to inline 2017-04-25 19:30:53 +01:00
catch_version.h Version struct now uses char* for holding branch name 2017-03-22 17:45:36 +01:00
catch_version.hpp Updated version number for v2 development and removed single include (for now). 2017-04-25 14:43:13 +00:00
catch_wildcard_pattern.hpp Added CATCH_ENFORCE (and updated CATCH_INTERNAL_ERROR to be stream based) 2017-05-05 15:43:31 +01:00
catch_windows_h_proxy.h Extracted NOMINMAX and WIN32_LEAN_AND_MEAN guards into a proxy header 2017-01-16 16:52:44 +01:00
catch_xmlwriter.hpp A load more C++11 tweaks - mostly moving initialisations from constructors to inline 2017-04-25 19:30:53 +01:00