diff --git a/test/unit-test/test-continuable-base.cpp b/test/unit-test/test-continuable-base.cpp index 8e0b8dd..fced99d 100644 --- a/test/unit-test/test-continuable-base.cpp +++ b/test/unit-test/test-continuable-base.cpp @@ -145,6 +145,8 @@ TYPED_TEST(single_dimension_tests, are_chainable) { } } +#ifndef NO_FUTURE_TESTS + TYPED_TEST(single_dimension_tests, are_convertible_to_futures) { auto is_ready = [](auto& future) { // Check that the future is ready @@ -185,6 +187,8 @@ TYPED_TEST(single_dimension_tests, are_convertible_to_futures) { } } +#endif // NO_FUTURE_TESTS + TYPED_TEST(single_dimension_tests, are_partial_callable) { EXPECT_ASYNC_RESULT(this->supply(1, 2).then([] { // ... diff --git a/test/unit-test/test-continuable-erasure.cpp b/test/unit-test/test-continuable-erasure.cpp index 52ad436..f24638f 100644 --- a/test/unit-test/test-continuable-erasure.cpp +++ b/test/unit-test/test-continuable-erasure.cpp @@ -23,6 +23,8 @@ #include "test-continuable.hpp" +#ifndef NO_ERASURE_TESTS + TYPED_TEST(single_dimension_tests, is_eraseable) { { @@ -49,3 +51,5 @@ TYPED_TEST(single_dimension_tests, is_callable) { EXPECT_ASYNC_RESULT(std::move(erased), 0xDF, 0xDD); } + +#endif // #ifndef NO_ERASURE_TESTS diff --git a/test/unit-test/test-continuable.hpp b/test/unit-test/test-continuable.hpp index 59be119..4d8820c 100644 --- a/test/unit-test/test-continuable.hpp +++ b/test/unit-test/test-continuable.hpp @@ -24,22 +24,55 @@ #ifndef TEST_CONTINUABLE_HPP__ #define TEST_CONTINUABLE_HPP__ +#if UNIT_TEST_STEP >= 3 +#define THIRD_PARTY_TESTS +#endif + +#ifdef THIRD_PARTY_TESTS +#if _MSC_VER +#pragma warning(push, 0) +#endif +#endif // THIRD_PARTY_TESTS + #include #include "continuable/continuable-base.hpp" #include "continuable/continuable-testing.hpp" #include "continuable/continuable.hpp" -#include "cxx_function/cxx_function.hpp" #include "gtest/gtest.h" +#ifdef THIRD_PARTY_TESTS + +#include "cxx_function/cxx_function.hpp" + template -using cxx_trait_of = cti::continuable_trait; +using std_trait_of = + cti::continuable_trait; + +template +using std_continuable = typename std_trait_of::continuable; + +template using cxx_function_fn = cxx_function::function; + +template +using cxx_trait_of = + cti::continuable_trait; + +template +using cxx_continuable = typename cxx_trait_of::continuable; + +template +using cxx_function_unique_fn = cxx_function::unique_function; template using unique_cxx_trait_of = - cti::continuable_trait; + cti::continuable_trait; + +template +using cxx_unique_continuable = + typename unique_cxx_trait_of::continuable; +#endif // THIRD_PARTY_TESTS using cti::detail::util::identity; @@ -108,18 +141,9 @@ struct provide_unique { } }; -struct provide_copyable_erasure { +template