mirror of
https://github.com/Naios/continuable.git
synced 2025-12-06 08:46:44 +08:00
Split the unit test type instantiations for reducing memory usage
This commit is contained in:
parent
17ad6d3bc1
commit
52e62ccbf4
@ -1,4 +1,7 @@
|
||||
add_executable(test-playground
|
||||
${CMAKE_SOURCE_DIR}/include/continuable/continuable.hpp
|
||||
${CMAKE_SOURCE_DIR}/include/continuable/continuable-base.hpp
|
||||
${CMAKE_SOURCE_DIR}/include/continuable/continuable-testing.hpp
|
||||
${CMAKE_CURRENT_LIST_DIR}/test-playground.cpp)
|
||||
|
||||
target_link_libraries(test-playground
|
||||
|
||||
@ -1,19 +1,26 @@
|
||||
add_executable(test-continuable
|
||||
${CMAKE_SOURCE_DIR}/include/continuable/continuable.hpp
|
||||
${CMAKE_SOURCE_DIR}/include/continuable/continuable-base.hpp
|
||||
${CMAKE_SOURCE_DIR}/include/continuable/continuable-testing.hpp
|
||||
${CMAKE_CURRENT_LIST_DIR}/test-continuable.hpp
|
||||
${CMAKE_CURRENT_LIST_DIR}/test-continuable-base.cpp
|
||||
${CMAKE_CURRENT_LIST_DIR}/test-continuable-connection-all.cpp
|
||||
${CMAKE_CURRENT_LIST_DIR}/test-continuable-connection-any.cpp
|
||||
${CMAKE_CURRENT_LIST_DIR}/test-continuable-connection-seq.cpp
|
||||
${CMAKE_CURRENT_LIST_DIR}/test-continuable-erasure.cpp
|
||||
${CMAKE_CURRENT_LIST_DIR}/test-continuable-recursion.cpp)
|
||||
foreach(STEP RANGE 5)
|
||||
set(PROJECT_NAME test-continuable-${STEP})
|
||||
set(TEST_NAME continuable-unit-tests-${STEP})
|
||||
|
||||
target_link_libraries(test-continuable
|
||||
PRIVATE
|
||||
gtest-main
|
||||
continuable)
|
||||
add_executable(${PROJECT_NAME}
|
||||
${CMAKE_CURRENT_LIST_DIR}/test-continuable.hpp
|
||||
${CMAKE_CURRENT_LIST_DIR}/test-continuable-base.cpp
|
||||
${CMAKE_CURRENT_LIST_DIR}/test-continuable-connection-all.cpp
|
||||
${CMAKE_CURRENT_LIST_DIR}/test-continuable-connection-any.cpp
|
||||
${CMAKE_CURRENT_LIST_DIR}/test-continuable-connection-seq.cpp
|
||||
${CMAKE_CURRENT_LIST_DIR}/test-continuable-erasure.cpp
|
||||
${CMAKE_CURRENT_LIST_DIR}/test-continuable-recursion.cpp)
|
||||
|
||||
add_test(NAME continuable-unit-tests
|
||||
COMMAND test-continuable)
|
||||
target_link_libraries(${PROJECT_NAME}
|
||||
PRIVATE
|
||||
gtest-main
|
||||
continuable)
|
||||
|
||||
target_compile_definitions(${PROJECT_NAME}
|
||||
PUBLIC
|
||||
-DUNIT_TEST_STEP=${STEP})
|
||||
|
||||
add_test(
|
||||
NAME ${TEST_NAME}
|
||||
COMMAND ${PROJECT_NAME})
|
||||
endforeach()
|
||||
|
||||
@ -148,20 +148,26 @@ template <typename Provider> struct provide_continuation_seq_right {
|
||||
// Feel free to uncomment more tests, however this will increase the
|
||||
// build time significantly.
|
||||
using single_types = ::testing::Types<
|
||||
#if UNIT_TEST_STEP == 1
|
||||
provide_copyable,
|
||||
// provide_unique,
|
||||
// provide_copyable_erasure,
|
||||
provide_unique_erasure,
|
||||
provide_unique_erasure
|
||||
#elif UNIT_TEST_STEP == 2
|
||||
// Some instantiations out commented for compilation speed reasons
|
||||
// provide_continuation_and_left<provide_copyable>,
|
||||
provide_continuation_and_left<provide_unique>,
|
||||
provide_continuation_and_left<provide_unique>
|
||||
// provide_continuation_and_left<provide_copyable_erasure>,
|
||||
// provide_continuation_and_left<provide_unique_erasure>,
|
||||
// provide_continuation_and_right<provide_copyable>,
|
||||
provide_continuation_and_right<provide_unique>,
|
||||
#elif UNIT_TEST_STEP == 3
|
||||
provide_continuation_and_right<provide_unique>
|
||||
// provide_continuation_and_left<provide_copyable_erasure>,
|
||||
// provide_continuation_and_left<provide_unique_erasure>
|
||||
#elif UNIT_TEST_STEP == 4
|
||||
provide_continuation_and_left<provide_unique_erasure>
|
||||
#elif UNIT_TEST_STEP == 5
|
||||
provide_continuation_seq_right<provide_unique>
|
||||
#endif
|
||||
>;
|
||||
// clang-format on
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user