From 935fd9d32d1009407131f57465199a9dde8f9d02 Mon Sep 17 00:00:00 2001 From: Denis Blank Date: Tue, 3 Oct 2017 19:48:34 +0200 Subject: [PATCH] Initial work on error testing --- include/continuable/continuable-testing.hpp | 7 +++++ test/unit-test/CMakeLists.txt | 1 + .../test-continuable-base-errors.cpp | 30 +++++++++++++++++++ 3 files changed, 38 insertions(+) create mode 100644 test/unit-test/test-continuable-base-errors.cpp diff --git a/include/continuable/continuable-testing.hpp b/include/continuable/continuable-testing.hpp index d75acde..7ca501f 100644 --- a/include/continuable/continuable-testing.hpp +++ b/include/continuable/continuable-testing.hpp @@ -130,4 +130,11 @@ cti::detail::testing::assert_async_types( \ CONTINUABLE, cti::detail::traits::identity<__VA_ARGS__>{}) +/// Asserts that the continuable is finished with the given error +/// TODO +/// \since version 2.0.0 +#define ASSERT_ASYNC_ERROR(...) \ + ASSERT_ASYNC_BINARY_VALIDATION(cti::detail::testing::asserting_eq_check(), \ + __VA_ARGS__) + #endif // CONTINUABLE_TESTING_HPP_INCLUDED__ diff --git a/test/unit-test/CMakeLists.txt b/test/unit-test/CMakeLists.txt index 83f2535..e518179 100644 --- a/test/unit-test/CMakeLists.txt +++ b/test/unit-test/CMakeLists.txt @@ -7,6 +7,7 @@ foreach(STEP RANGE 4) ${CMAKE_CURRENT_LIST_DIR}/test-continuable-base-chaining.cpp ${CMAKE_CURRENT_LIST_DIR}/test-continuable-base-destruct.cpp ${CMAKE_CURRENT_LIST_DIR}/test-continuable-base-futurize.cpp + ${CMAKE_CURRENT_LIST_DIR}/test-continuable-base-errors.cpp ${CMAKE_CURRENT_LIST_DIR}/test-continuable-base-partial.cpp ${CMAKE_CURRENT_LIST_DIR}/test-continuable-connection-all.cpp ${CMAKE_CURRENT_LIST_DIR}/test-continuable-connection-any.cpp diff --git a/test/unit-test/test-continuable-base-errors.cpp b/test/unit-test/test-continuable-base-errors.cpp new file mode 100644 index 0000000..62a4f4f --- /dev/null +++ b/test/unit-test/test-continuable-base-errors.cpp @@ -0,0 +1,30 @@ + +/** + Copyright(c) 2015 - 2017 Denis Blank + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files(the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and / or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions : + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. +**/ + +#include "test-continuable.hpp" + +TYPED_TEST(single_dimension_tests, are_using_errors) { + /*ASSERT_ASYNC_ERROR(this->supply().then([] { + return; // void + }));*/ +}