0 python3 /opt/homebrew/bin/iwyu_tool.py -p build-iwyu src/test/threadpool_tests.cpp -- -Xiwyu --cxx17ns -Xiwyu --mapping_file=$PWD/contrib/devtools/iwyu/bitcoin.core.i
1mp -Xiwyu --max_line_length=160 -Xiwyu --check_also=$PWD/src/util/threadpool.h
2
3/Users/lorinc/IdeaProjects/bitcoin/src/util/threadpool.h should add these lines:
4#include <__vector/vector.h> // for vector
5
6/Users/lorinc/IdeaProjects/bitcoin/src/util/threadpool.h should remove these lines:
7- #include <util/threadinterrupt.h> // lines 13-13
8- #include <atomic> // lines 16-16
9- #include <functional> // lines 19-19
10- #include <memory> // lines 21-21
11- #include <vector> // lines 26-26
12
13The full include-list for /Users/lorinc/IdeaProjects/bitcoin/src/util/threadpool.h:
14#include <__vector/vector.h> // for vector
15#include <sync.h> // for UniqueLock, EXCLUSIVE_LOCKS_REQUIRED, LOCK, WITH_LOCK, GUARDED_BY, Mutex, REVERSE_LOCK, WAIT_LOCK
16#include <tinyformat.h> // for format, formatTruncated, formatValue, makeFormatList, strprintf
17#include <util/check.h> // for assert, inline_assertion_check, Assume
18#include <util/string.h> // for string, basic_string, basic_string_view
19#include <util/thread.h> // for TraceThread
20#include <algorithm> // for move
21#include <condition_variable> // for condition_variable
22#include <cstddef> // for size_t
23#include <future> // for packaged_task
24#include <queue> // for queue
25#include <stdexcept> // for runtime_error
26#include <thread> // for thread, get_id, operator==, __thread_id
27#include <utility> // for move, forward
28---
29
30/Users/lorinc/IdeaProjects/bitcoin/src/test/threadpool_tests.cpp should add these lines:
31#include <__vector/vector.h> // for vector
32#include <algorithm> // for max
33#include <atomic> // for atomic, memory_order_relaxed, memory_order_acquire, memory_order_release
34#include <boost/preprocessor/arithmetic/limits/dec_256.hpp> // for BOOST_PP_DEC_1, BOOST_PP_DEC_2, BOOST_PP_DEC_128, BOOST_PP_DEC_16, BOOST_PP_DEC_3
35#include <boost/preprocessor/comparison/limits/not_equal_256.hpp> // for BOOST_PP_NOT_EQUAL_1, BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_1
36#include <boost/preprocessor/control/expr_iif.hpp> // for BOOST_PP_EXPR_IIF_1
37#include <boost/preprocessor/control/iif.hpp> // for BOOST_PP_IIF_1, BOOST_PP_IIF_0
38#include <boost/preprocessor/detail/limits/auto_rec_256.hpp> // for BOOST_PP_NODE_ENTRY_256
39#include <boost/preprocessor/logical/compl.hpp> // for BOOST_PP_COMPL_0
40#include <boost/preprocessor/logical/limits/bool_256.hpp> // for BOOST_PP_BOOL_0, BOOST_PP_BOOL_1, BOOST_PP_BOOL_2
41#include <boost/preprocessor/repetition/detail/limits/for_256.hpp> // for BOOST_PP_FOR_0, BOOST_PP_FOR_1, BOOST_PP_FOR_127, BOOST_PP_FOR_15, BOOST_PP_FOR_3
42#include <boost/preprocessor/repetition/for.hpp> // for BOOST_PP_FOR_CHECK_BOOST_PP_NIL
43#include <boost/preprocessor/seq/limits/elem_256.hpp> // for BOOST_PP_SEQ_ELEM_0
44#include <boost/preprocessor/seq/limits/size_256.hpp> // for BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_2, BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_3
45#include <boost/preprocessor/tuple/elem.hpp> // for BOOST_PP_TUPLE_ELEM_O_3
46#include <boost/preprocessor/variadic/limits/elem_64.hpp> // for BOOST_PP_VARIADIC_ELEM_3
47#include <boost/test/tools/assertion_result.hpp> // for assertion_result
48#include <boost/test/tools/old/interface.hpp> // for BOOST_TEST_TOOL_PASS_ARGS2, BOOST_TEST_TOOL_PASS_PRED2, BOOST_CHECK_EQUAL, BOOST_...
49#include <boost/test/tree/auto_registration.hpp> // for auto_test_unit_registrar
50#include <boost/test/unit_test_suite.hpp> // for BOOST_AUTO_TEST_CASE, BOOST_AUTO_TEST_CASE_FIXTURE, BOOST_AUTO_TEST_SUITE, BOOST_...
51#include <boost/test/utils/basic_cstring/basic_cstring.hpp> // for basic_cstring
52#include <boost/test/utils/lazy_ostream.hpp> // for operator<<
53#include <future> // for future, promise, future_status, shared_future
54#include <stdexcept> // for runtime_error
55#include <thread> // for thread
56
57/Users/lorinc/IdeaProjects/bitcoin/src/test/threadpool_tests.cpp should remove these lines:
58- #include <boost/test/unit_test.hpp> // lines 10-10
59
60The full include-list for /Users/lorinc/IdeaProjects/bitcoin/src/test/threadpool_tests.cpp:
61#include <__vector/vector.h> // for vector
62#include <common/system.h> // for GetNumCores
63#include <util/string.h> // for basic_string, allocator, char_traits, string, ToString, operator+
64#include <util/threadpool.h> // for ThreadPool
65#include <util/time.h> // for UninterruptibleSleep, milliseconds, operator""s
66#include <algorithm> // for max
67#include <atomic> // for atomic, memory_order_relaxed, memory_order_acquire, memory_order_release
68#include <boost/preprocessor/arithmetic/limits/dec_256.hpp> // for BOOST_PP_DEC_1, BOOST_PP_DEC_2, BOOST_PP_DEC_128, BOOST_PP_DEC_16, BOOST_PP_DEC_3
69#include <boost/preprocessor/comparison/limits/not_equal_256.hpp> // for BOOST_PP_NOT_EQUAL_1, BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_1
70#include <boost/preprocessor/control/expr_iif.hpp> // for BOOST_PP_EXPR_IIF_1
71#include <boost/preprocessor/control/iif.hpp> // for BOOST_PP_IIF_1, BOOST_PP_IIF_0
72#include <boost/preprocessor/detail/limits/auto_rec_256.hpp> // for BOOST_PP_NODE_ENTRY_256
73#include <boost/preprocessor/logical/compl.hpp> // for BOOST_PP_COMPL_0
74#include <boost/preprocessor/logical/limits/bool_256.hpp> // for BOOST_PP_BOOL_0, BOOST_PP_BOOL_1, BOOST_PP_BOOL_2
75#include <boost/preprocessor/repetition/detail/limits/for_256.hpp> // for BOOST_PP_FOR_0, BOOST_PP_FOR_1, BOOST_PP_FOR_127, BOOST_PP_FOR_15, BOOST_PP_FOR_3
76#include <boost/preprocessor/repetition/for.hpp> // for BOOST_PP_FOR_CHECK_BOOST_PP_NIL
77#include <boost/preprocessor/seq/limits/elem_256.hpp> // for BOOST_PP_SEQ_ELEM_0
78#include <boost/preprocessor/seq/limits/size_256.hpp> // for BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_2, BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_3
79#include <boost/preprocessor/tuple/elem.hpp> // for BOOST_PP_TUPLE_ELEM_O_3
80#include <boost/preprocessor/variadic/limits/elem_64.hpp> // for BOOST_PP_VARIADIC_ELEM_3
81#include <boost/test/tools/assertion_result.hpp> // for assertion_result
82#include <boost/test/tools/old/interface.hpp> // for BOOST_TEST_TOOL_PASS_ARGS2, BOOST_TEST_TOOL_PASS_PRED2, BOOST_CHECK_EQUAL, BOOST_...
83#include <boost/test/tree/auto_registration.hpp> // for auto_test_unit_registrar
84#include <boost/test/unit_test_suite.hpp> // for BOOST_AUTO_TEST_CASE, BOOST_AUTO_TEST_CASE_FIXTURE, BOOST_AUTO_TEST_SUITE, BOOST_...
85#include <boost/test/utils/basic_cstring/basic_cstring.hpp> // for basic_cstring
86#include <boost/test/utils/lazy_ostream.hpp> // for operator<<
87#include <future> // for future, promise, future_status, shared_future
88#include <stdexcept> // for runtime_error
89#include <thread> // for thread
90---