| commit 7f437a6e06d2ec3abd3e2fd1101ab6aab386bc44 |
| Author: Stanislav Angelovic <stanislav.angelovic@siemens.com> |
| Date: Thu Jan 27 13:38:19 2022 +0100 |
| |
| fix(tests): printer for std::chrono in googletest v1.11.0 |
| |
| diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt |
| index fbf198c..ec42e55 100644 |
| --- a/tests/CMakeLists.txt |
| +++ b/tests/CMakeLists.txt |
| @@ -19,7 +19,7 @@ if (NOT TARGET GTest::gmock) |
| if (NOT TARGET GTest::gmock) |
| include(FetchContent) |
| |
| - message("Fetching googletest...") |
| + message("Fetching googletest v${GOOGLETEST_VERSION}...") |
| FetchContent_Declare(googletest |
| GIT_REPOSITORY ${GOOGLETEST_GIT_REPO} |
| GIT_TAG release-${GOOGLETEST_VERSION} |
| diff --git a/tests/integrationtests/Defs.h b/tests/integrationtests/Defs.h |
| index 2f129a4..2bfc7c9 100644 |
| --- a/tests/integrationtests/Defs.h |
| +++ b/tests/integrationtests/Defs.h |
| @@ -56,20 +56,18 @@ const bool DEFAULT_BLOCKING_VALUE{true}; |
| |
| constexpr const double DOUBLE_VALUE{3.24L}; |
| |
| -/** Duration stream operator for human readable gtest value output. |
| - * |
| - * Note that the conversion to double is lossy if the input type has 64 or more bits. |
| - * This is ok for our integration tests because they don't have very |
| - * accurate timing requirements. |
| - * |
| - * @return human readable duration in seconds |
| - */ |
| +}} |
| + |
| +namespace testing::internal { |
| + |
| +// Printer for std::chrono::duration types. |
| +// This is a workaround, since it's not a good thing to add this to std namespace. |
| template< class Rep, class Period > |
| -static std::ostream& operator<<(std::ostream& os, const std::chrono::duration<Rep, Period>& d) |
| -{ |
| +void PrintTo(const ::std::chrono::duration<Rep, Period>& d, ::std::ostream* os) { |
| auto seconds = std::chrono::duration_cast<std::chrono::duration<double>>(d); |
| - return os << seconds.count() << " s"; |
| + *os << seconds.count() << "s"; |
| +} |
| + |
| } |
| -}} |
| |
| #endif /* SDBUS_CPP_INTEGRATIONTESTS_DEFS_H_ */ |