You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
59 lines
2.1 KiB
59 lines
2.1 KiB
From 7f437a6e06d2ec3abd3e2fd1101ab6aab386bc44 Mon Sep 17 00:00:00 2001
|
|
From: Stanislav Angelovic <stanislav.angelovic@siemens.com>
|
|
Date: Thu, 27 Jan 2022 13:38:19 +0100
|
|
Subject: [PATCH] fix(tests): printer for std::chrono in googletest v1.11.0
|
|
|
|
---
|
|
tests/CMakeLists.txt | 2 +-
|
|
tests/integrationtests/Defs.h | 22 ++++++++++------------
|
|
2 files changed, 11 insertions(+), 13 deletions(-)
|
|
|
|
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_ */
|