mirror of
				https://github.com/catchorg/Catch2.git
				synced 2025-11-04 05:59:32 +01:00 
			
		
		
		
	Apply some IWYU suggestions
This is not nearly all of them, because IWYU does not support the way Catch2 manages includes -- it expects that non-system includes are done using `#include "foo/bar/baz.hpp"`, while Catch2 uses `<foo/bar/baz.hpp>`. This causes trouble, because IWYU suggests removing every single internal header, and then adding them again, but using `""` in the include directive... the resulting suggestions cannot be used without a lot of manual work, as they are largely bogus. For bonus points, IWYU also _loves_ to suggest kinda-random stdlib headers for `size_t` and similar. Still, the resulting inclusion graph is somewhat better than it was before.
This commit is contained in:
		@@ -11,17 +11,15 @@
 | 
			
		||||
#ifndef TWOBLUECUBES_CATCH_DETAIL_ANALYSIS_HPP_INCLUDED
 | 
			
		||||
#define TWOBLUECUBES_CATCH_DETAIL_ANALYSIS_HPP_INCLUDED
 | 
			
		||||
 | 
			
		||||
#include <catch2/benchmark/catch_clock.hpp>
 | 
			
		||||
#include <catch2/benchmark/catch_estimate.hpp>
 | 
			
		||||
#include <catch2/benchmark/catch_outlier_classification.hpp>
 | 
			
		||||
 | 
			
		||||
#include <algorithm>
 | 
			
		||||
#include <functional>
 | 
			
		||||
#include <vector>
 | 
			
		||||
#include <numeric>
 | 
			
		||||
#include <tuple>
 | 
			
		||||
#include <cmath>
 | 
			
		||||
#include <utility>
 | 
			
		||||
#include <cstddef>
 | 
			
		||||
 | 
			
		||||
namespace Catch {
 | 
			
		||||
    namespace Benchmark {
 | 
			
		||||
@@ -64,7 +62,8 @@ namespace Catch {
 | 
			
		||||
            template <typename Estimator, typename Iterator>
 | 
			
		||||
            sample jackknife(Estimator&& estimator, Iterator first, Iterator last) {
 | 
			
		||||
                auto n = last - first;
 | 
			
		||||
                auto second = std::next(first);
 | 
			
		||||
                auto second = first;
 | 
			
		||||
                ++second;
 | 
			
		||||
                sample results;
 | 
			
		||||
                results.reserve(n);
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -11,6 +11,8 @@
 | 
			
		||||
#include <catch2/internal/catch_stringref.hpp>
 | 
			
		||||
#include <catch2/internal/catch_string_manip.hpp>
 | 
			
		||||
#include <catch2/internal/catch_test_spec_parser.hpp>
 | 
			
		||||
#include <catch2/interfaces/catch_interfaces_tag_alias_registry.hpp>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
namespace Catch {
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -18,14 +18,11 @@
 | 
			
		||||
#include <catch2/internal/catch_random_number_generator.hpp>
 | 
			
		||||
#include <catch2/internal/catch_startup_exception_registry.hpp>
 | 
			
		||||
#include <catch2/internal/catch_text.hpp>
 | 
			
		||||
#include <catch2/internal/catch_stream.hpp>
 | 
			
		||||
#include <catch2/internal/catch_windows_h_proxy.hpp>
 | 
			
		||||
#include <catch2/reporters/catch_reporter_listening.hpp>
 | 
			
		||||
 | 
			
		||||
#include <cstdlib>
 | 
			
		||||
#include <iomanip>
 | 
			
		||||
#include <set>
 | 
			
		||||
#include <iterator>
 | 
			
		||||
 | 
			
		||||
namespace Catch {
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -10,7 +10,6 @@
 | 
			
		||||
 | 
			
		||||
#include <catch2/internal/catch_commandline.hpp>
 | 
			
		||||
#include <catch2/catch_config.hpp>
 | 
			
		||||
#include <catch2/internal/catch_text.hpp>
 | 
			
		||||
#include <catch2/internal/catch_unique_ptr.hpp>
 | 
			
		||||
 | 
			
		||||
namespace Catch {
 | 
			
		||||
 
 | 
			
		||||
@@ -12,10 +12,9 @@
 | 
			
		||||
#include <catch2/interfaces/catch_interfaces_testcase.hpp>
 | 
			
		||||
#include <catch2/internal/catch_string_manip.hpp>
 | 
			
		||||
 | 
			
		||||
#include <cassert>
 | 
			
		||||
#include <cctype>
 | 
			
		||||
#include <exception>
 | 
			
		||||
#include <algorithm>
 | 
			
		||||
#include <sstream>
 | 
			
		||||
 | 
			
		||||
namespace Catch {
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -7,7 +7,6 @@
 | 
			
		||||
 | 
			
		||||
#include <catch2/catch_test_spec.hpp>
 | 
			
		||||
#include <catch2/internal/catch_string_manip.hpp>
 | 
			
		||||
#include <catch2/interfaces/catch_interfaces_config.hpp>
 | 
			
		||||
#include <catch2/catch_test_case_info.hpp>
 | 
			
		||||
 | 
			
		||||
#include <algorithm>
 | 
			
		||||
 
 | 
			
		||||
@@ -7,8 +7,6 @@
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include <catch2/internal/catch_assertion_handler.hpp>
 | 
			
		||||
#include <catch2/catch_assertion_result.hpp>
 | 
			
		||||
#include <catch2/interfaces/catch_interfaces_runner.hpp>
 | 
			
		||||
#include <catch2/interfaces/catch_interfaces_config.hpp>
 | 
			
		||||
#include <catch2/internal/catch_context.hpp>
 | 
			
		||||
#include <catch2/internal/catch_enforce.hpp>
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,9 @@
 | 
			
		||||
#ifndef TWOBLUECUBES_CATCH_CLARA_H_INCLUDED
 | 
			
		||||
#define TWOBLUECUBES_CATCH_CLARA_H_INCLUDED
 | 
			
		||||
 | 
			
		||||
// For CATCH_CONFIG_CONSOLE_WIDTH. We should refactor this out somewhere else.
 | 
			
		||||
#include <catch2/catch_config.hpp>
 | 
			
		||||
 | 
			
		||||
// Use Catch's value for console width (store Clara's off to the side, if present)
 | 
			
		||||
#ifdef CLARA_CONFIG_CONSOLE_WIDTH
 | 
			
		||||
#define CATCH_TEMP_CLARA_CONFIG_CONSOLE_WIDTH CATCH_CLARA_TEXTFLOW_CONFIG_CONSOLE_WIDTH
 | 
			
		||||
 
 | 
			
		||||
@@ -8,11 +8,12 @@
 | 
			
		||||
 | 
			
		||||
#include <catch2/internal/catch_commandline.hpp>
 | 
			
		||||
 | 
			
		||||
#include <catch2/catch_config.hpp>
 | 
			
		||||
#include <catch2/internal/catch_string_manip.hpp>
 | 
			
		||||
 | 
			
		||||
#include <catch2/interfaces/catch_interfaces_registry_hub.hpp>
 | 
			
		||||
#include <catch2/interfaces/catch_interfaces_reporter.hpp>
 | 
			
		||||
 | 
			
		||||
#include <algorithm>
 | 
			
		||||
#include <fstream>
 | 
			
		||||
#include <ctime>
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -8,11 +8,12 @@
 | 
			
		||||
#ifndef TWOBLUECUBES_CATCH_COMMANDLINE_HPP_INCLUDED
 | 
			
		||||
#define TWOBLUECUBES_CATCH_COMMANDLINE_HPP_INCLUDED
 | 
			
		||||
 | 
			
		||||
#include <catch2/catch_config.hpp>
 | 
			
		||||
#include <catch2/internal/catch_clara.hpp>
 | 
			
		||||
 | 
			
		||||
namespace Catch {
 | 
			
		||||
 | 
			
		||||
    struct ConfigData;
 | 
			
		||||
 | 
			
		||||
    clara::Parser makeCommandLineParser( ConfigData& config );
 | 
			
		||||
 | 
			
		||||
} // end namespace Catch
 | 
			
		||||
 
 | 
			
		||||
@@ -7,8 +7,6 @@
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include <catch2/internal/catch_common.hpp>
 | 
			
		||||
#include <catch2/internal/catch_context.hpp>
 | 
			
		||||
#include <catch2/interfaces/catch_interfaces_config.hpp>
 | 
			
		||||
 | 
			
		||||
#include <cstring>
 | 
			
		||||
#include <ostream>
 | 
			
		||||
 
 | 
			
		||||
@@ -20,8 +20,6 @@
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#include <iosfwd>
 | 
			
		||||
#include <string>
 | 
			
		||||
#include <cstdint>
 | 
			
		||||
 | 
			
		||||
// We need a dummy global operator<< so we can bring it into Catch namespace later
 | 
			
		||||
struct Catch_global_namespace_dummy {};
 | 
			
		||||
 
 | 
			
		||||
@@ -23,7 +23,7 @@
 | 
			
		||||
#include <catch2/internal/catch_debugger.hpp>
 | 
			
		||||
#include <catch2/internal/catch_windows_h_proxy.hpp>
 | 
			
		||||
 | 
			
		||||
#include <sstream>
 | 
			
		||||
#include <ostream>
 | 
			
		||||
 | 
			
		||||
namespace Catch {
 | 
			
		||||
    namespace {
 | 
			
		||||
 
 | 
			
		||||
@@ -13,7 +13,6 @@ namespace Catch {
 | 
			
		||||
    struct IResultCapture;
 | 
			
		||||
    struct IRunner;
 | 
			
		||||
    struct IConfig;
 | 
			
		||||
    struct IMutableContext;
 | 
			
		||||
 | 
			
		||||
    struct IContext
 | 
			
		||||
    {
 | 
			
		||||
 
 | 
			
		||||
@@ -9,7 +9,6 @@
 | 
			
		||||
#include <catch2/internal/catch_string_manip.hpp>
 | 
			
		||||
#include <catch2/internal/catch_stream.hpp>
 | 
			
		||||
 | 
			
		||||
#include <map>
 | 
			
		||||
#include <cassert>
 | 
			
		||||
 | 
			
		||||
namespace Catch {
 | 
			
		||||
 
 | 
			
		||||
@@ -10,6 +10,7 @@
 | 
			
		||||
 | 
			
		||||
#include <catch2/interfaces/catch_interfaces_enum_values_registry.hpp>
 | 
			
		||||
#include <catch2/internal/catch_unique_ptr.hpp>
 | 
			
		||||
#include <catch2/internal/catch_stringref.hpp>
 | 
			
		||||
 | 
			
		||||
#include <vector>
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -13,18 +13,12 @@
 | 
			
		||||
#include <catch2/interfaces/catch_interfaces_testcase.hpp>
 | 
			
		||||
 | 
			
		||||
#include <catch2/internal/catch_context.hpp>
 | 
			
		||||
#include <catch2/catch_config.hpp>
 | 
			
		||||
#include <catch2/internal/catch_stream.hpp>
 | 
			
		||||
 | 
			
		||||
#include <catch2/internal/catch_console_colour.hpp>
 | 
			
		||||
#include <catch2/internal/catch_test_spec_parser.hpp>
 | 
			
		||||
#include <catch2/catch_tostring.hpp>
 | 
			
		||||
#include <catch2/internal/catch_string_manip.hpp>
 | 
			
		||||
#include <catch2/catch_test_case_info.hpp>
 | 
			
		||||
 | 
			
		||||
#include <limits>
 | 
			
		||||
#include <algorithm>
 | 
			
		||||
#include <set>
 | 
			
		||||
 | 
			
		||||
namespace Catch {
 | 
			
		||||
    namespace {
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -8,7 +8,6 @@
 | 
			
		||||
#ifndef TWOBLUECUBES_CATCH_LIST_H_INCLUDED
 | 
			
		||||
#define TWOBLUECUBES_CATCH_LIST_H_INCLUDED
 | 
			
		||||
 | 
			
		||||
#include <catch2/catch_config.hpp>
 | 
			
		||||
#include <catch2/internal/catch_stringref.hpp>
 | 
			
		||||
 | 
			
		||||
#include <set>
 | 
			
		||||
@@ -18,6 +17,8 @@
 | 
			
		||||
namespace Catch {
 | 
			
		||||
 | 
			
		||||
    struct IStreamingReporter;
 | 
			
		||||
    class Config;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    struct ReporterDescription {
 | 
			
		||||
        std::string name, description;
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,5 @@
 | 
			
		||||
#include <catch2/interfaces/catch_interfaces_generatortracker.hpp>
 | 
			
		||||
#include <catch2/interfaces/catch_interfaces_config.hpp>
 | 
			
		||||
#include <catch2/internal/catch_run_context.hpp>
 | 
			
		||||
#include <catch2/internal/catch_compiler_capabilities.hpp>
 | 
			
		||||
#include <catch2/internal/catch_context.hpp>
 | 
			
		||||
@@ -8,6 +9,7 @@
 | 
			
		||||
#include <catch2/internal/catch_stream.hpp>
 | 
			
		||||
#include <catch2/catch_timer.hpp>
 | 
			
		||||
#include <catch2/internal/catch_output_redirect.hpp>
 | 
			
		||||
#include <catch2/internal/catch_assertion_handler.hpp>
 | 
			
		||||
 | 
			
		||||
#include <cassert>
 | 
			
		||||
#include <algorithm>
 | 
			
		||||
 
 | 
			
		||||
@@ -10,14 +10,13 @@
 | 
			
		||||
 | 
			
		||||
#include <catch2/interfaces/catch_interfaces_runner.hpp>
 | 
			
		||||
#include <catch2/interfaces/catch_interfaces_reporter.hpp>
 | 
			
		||||
#include <catch2/catch_config.hpp>
 | 
			
		||||
#include <catch2/internal/catch_test_registry.hpp>
 | 
			
		||||
#include <catch2/catch_test_case_info.hpp>
 | 
			
		||||
#include <catch2/internal/catch_test_macro_impl.hpp>
 | 
			
		||||
#include <catch2/catch_message.hpp>
 | 
			
		||||
#include <catch2/catch_totals.hpp>
 | 
			
		||||
#include <catch2/internal/catch_test_case_tracker.hpp>
 | 
			
		||||
#include <catch2/internal/catch_assertion_handler.hpp>
 | 
			
		||||
#include <catch2/catch_assertion_info.hpp>
 | 
			
		||||
#include <catch2/catch_assertion_result.hpp>
 | 
			
		||||
 | 
			
		||||
#include <string>
 | 
			
		||||
 | 
			
		||||
@@ -25,6 +24,7 @@ namespace Catch {
 | 
			
		||||
 | 
			
		||||
    struct IMutableContext;
 | 
			
		||||
    struct IGeneratorTracker;
 | 
			
		||||
    struct IConfig;
 | 
			
		||||
 | 
			
		||||
    ///////////////////////////////////////////////////////////////////////////
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -12,8 +12,6 @@
 | 
			
		||||
#include <catch2/interfaces/catch_interfaces_registry_hub.hpp>
 | 
			
		||||
#include <catch2/internal/catch_string_manip.hpp>
 | 
			
		||||
 | 
			
		||||
#include <sstream>
 | 
			
		||||
 | 
			
		||||
namespace Catch {
 | 
			
		||||
 | 
			
		||||
    TagAliasRegistry::~TagAliasRegistry() {}
 | 
			
		||||
 
 | 
			
		||||
@@ -12,6 +12,7 @@
 | 
			
		||||
#include <catch2/catch_tag_alias.hpp>
 | 
			
		||||
 | 
			
		||||
#include <map>
 | 
			
		||||
#include <string>
 | 
			
		||||
 | 
			
		||||
namespace Catch {
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -17,9 +17,7 @@
 | 
			
		||||
#include <catch2/catch_test_spec.hpp>
 | 
			
		||||
 | 
			
		||||
#include <algorithm>
 | 
			
		||||
#include <iterator>
 | 
			
		||||
#include <random>
 | 
			
		||||
#include <sstream>
 | 
			
		||||
#include <set>
 | 
			
		||||
 | 
			
		||||
namespace Catch {
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -12,8 +12,6 @@
 | 
			
		||||
#include <catch2/interfaces/catch_interfaces_config.hpp>
 | 
			
		||||
 | 
			
		||||
#include <vector>
 | 
			
		||||
#include <set>
 | 
			
		||||
#include <algorithm>
 | 
			
		||||
 | 
			
		||||
namespace Catch {
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -13,7 +13,6 @@
 | 
			
		||||
#include <algorithm>
 | 
			
		||||
#include <cassert>
 | 
			
		||||
#include <memory>
 | 
			
		||||
#include <sstream>
 | 
			
		||||
 | 
			
		||||
#if defined(__clang__)
 | 
			
		||||
#    pragma clang diagnostic push
 | 
			
		||||
 
 | 
			
		||||
@@ -8,6 +8,7 @@
 | 
			
		||||
#include <catch2/internal/catch_test_spec_parser.hpp>
 | 
			
		||||
 | 
			
		||||
#include <catch2/internal/catch_string_manip.hpp>
 | 
			
		||||
#include <catch2/interfaces/catch_interfaces_tag_alias_registry.hpp>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
namespace Catch {
 | 
			
		||||
 
 | 
			
		||||
@@ -14,10 +14,14 @@
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#include <catch2/catch_test_spec.hpp>
 | 
			
		||||
#include <catch2/interfaces/catch_interfaces_tag_alias_registry.hpp>
 | 
			
		||||
 | 
			
		||||
#include <vector>
 | 
			
		||||
#include <string>
 | 
			
		||||
 | 
			
		||||
namespace Catch {
 | 
			
		||||
 | 
			
		||||
    struct ITagAliasRegistry;
 | 
			
		||||
 | 
			
		||||
    class TestSpecParser {
 | 
			
		||||
        enum Mode{ None, Name, QuotedName, Tag, EscapedName };
 | 
			
		||||
        Mode m_mode = None;
 | 
			
		||||
 
 | 
			
		||||
@@ -17,7 +17,6 @@
 | 
			
		||||
#include <cstdint>
 | 
			
		||||
#include <cstring>
 | 
			
		||||
#include <sstream>
 | 
			
		||||
#include <type_traits>
 | 
			
		||||
#include <iomanip>
 | 
			
		||||
#include <limits>
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -10,7 +10,6 @@
 | 
			
		||||
 | 
			
		||||
#include <array>
 | 
			
		||||
#include <algorithm>
 | 
			
		||||
#include <memory>
 | 
			
		||||
#include <string>
 | 
			
		||||
#include <type_traits>
 | 
			
		||||
#include <utility>
 | 
			
		||||
 
 | 
			
		||||
@@ -6,7 +6,8 @@
 | 
			
		||||
 *  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
 #include <catch2/reporters/catch_reporter_listening.hpp>
 | 
			
		||||
#include <catch2/reporters/catch_reporter_listening.hpp>
 | 
			
		||||
 | 
			
		||||
#include <cassert>
 | 
			
		||||
 | 
			
		||||
namespace Catch {
 | 
			
		||||
 
 | 
			
		||||
@@ -10,6 +10,8 @@
 | 
			
		||||
#include <catch2/internal/catch_text.hpp>
 | 
			
		||||
#include <catch2/catch_test_case_info.hpp>
 | 
			
		||||
 | 
			
		||||
#include <cassert>
 | 
			
		||||
 | 
			
		||||
namespace Catch {
 | 
			
		||||
 | 
			
		||||
    namespace {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user