diff options
Diffstat (limited to 'dont-expect-moments-ago-string-in-tests-use-regex-matcher.patch')
-rw-r--r-- | dont-expect-moments-ago-string-in-tests-use-regex-matcher.patch | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/dont-expect-moments-ago-string-in-tests-use-regex-matcher.patch b/dont-expect-moments-ago-string-in-tests-use-regex-matcher.patch new file mode 100644 index 000000000000..5913d1db4a8f --- /dev/null +++ b/dont-expect-moments-ago-string-in-tests-use-regex-matcher.patch @@ -0,0 +1,91 @@ +From c76f0f58997eac49a5adf2069ab0a3ac3981180c Mon Sep 17 00:00:00 2001 +From: def <dennis@felsin9.de> +Date: Sat, 25 Dec 2021 02:21:14 +0100 +Subject: [PATCH] Don't expect "moments ago" string in tests, use regex matcher + instead + +--- + CMakeLists.txt | 6 +++--- + src/test/score.cpp | 25 ++++++++++++++++++++++--- + 2 files changed, 25 insertions(+), 6 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index fccbf0c838..574018350c 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -656,7 +656,7 @@ if(NOT(GTEST_FOUND) AND DOWNLOAD_GTEST) + ) + + if(MSVC) +- foreach(target gtest) ++ foreach(target gtest gmock) + # `/w` disables all warnings. This is needed because `gtest` enables + # `/WX` (equivalent of `-Werror`) for some reason, breaking builds + # when MSVS adds new warnings. +@@ -664,10 +664,10 @@ if(NOT(GTEST_FOUND) AND DOWNLOAD_GTEST) + endforeach() + endif() + +- set(GTEST_LIBRARIES gtest) ++ set(GTEST_LIBRARIES gtest gmock) + set(GTEST_INCLUDE_DIRS) + if(CMAKE_VERSION VERSION_LESS 2.8.11) +- set(GTEST_INCLUDE_DIRS "${gtest_SOURCE_DIR}/include") ++ set(GTEST_INCLUDE_DIRS "${gtest_SOURCE_DIR}/include" "${gmock_SOURCE_DIR}/include") + endif() + endif() + endif() +diff --git a/src/test/score.cpp b/src/test/score.cpp +index f99367875e..f7f551a09e 100644 +--- a/src/test/score.cpp ++++ b/src/test/score.cpp +@@ -1,3 +1,4 @@ ++#include <gmock/gmock.h> + #include <gtest/gtest.h> + + #include <base/detect.h> +@@ -255,7 +256,13 @@ TEST_P(MapInfo, ExactNoFinish) + { + str_copy(m_PlayerRequest.m_aName, "Kobra 3", sizeof(m_PlayerRequest.m_aName)); + ASSERT_FALSE(CScoreWorker::MapInfo(m_pConn, &m_PlayerRequest, m_aError, sizeof(m_aError))) << m_aError; +- ExpectLines(pPlayerResult, {"\"Kobra 3\" by Zerodin on Novice, ★★★★★, 5 points, released moments ago, 0 finishes by 0 tees"}); ++ ++ EXPECT_EQ(pPlayerResult->m_MessageKind, CScorePlayerResult::DIRECT); ++ EXPECT_THAT(pPlayerResult->m_Data.m_aaMessages[0], testing::MatchesRegex("\"Kobra 3\" by Zerodin on Novice, ★★★★★, 5 points, released .* ago, 0 finishes by 0 tees")); ++ for(int i = 1; i < CScorePlayerResult::MAX_MESSAGES; i++) ++ { ++ EXPECT_STREQ(pPlayerResult->m_Data.m_aaMessages[i], ""); ++ } + } + + TEST_P(MapInfo, ExactFinish) +@@ -263,7 +270,13 @@ TEST_P(MapInfo, ExactFinish) + InsertRank(); + str_copy(m_PlayerRequest.m_aName, "Kobra 3", sizeof(m_PlayerRequest.m_aName)); + ASSERT_FALSE(CScoreWorker::MapInfo(m_pConn, &m_PlayerRequest, m_aError, sizeof(m_aError))) << m_aError; +- ExpectLines(pPlayerResult, {"\"Kobra 3\" by Zerodin on Novice, ★★★★★, 5 points, released moments ago, 1 finish by 1 tee in 01:40 median"}); ++ ++ EXPECT_EQ(pPlayerResult->m_MessageKind, CScorePlayerResult::DIRECT); ++ EXPECT_THAT(pPlayerResult->m_Data.m_aaMessages[0], testing::MatchesRegex("\"Kobra 3\" by Zerodin on Novice, ★★★★★, 5 points, released .* ago, 1 finish by 1 tee in 01:40 median")); ++ for(int i = 1; i < CScorePlayerResult::MAX_MESSAGES; i++) ++ { ++ EXPECT_STREQ(pPlayerResult->m_Data.m_aaMessages[i], ""); ++ } + } + + TEST_P(MapInfo, Fuzzy) +@@ -271,7 +284,13 @@ TEST_P(MapInfo, Fuzzy) + InsertRank(); + str_copy(m_PlayerRequest.m_aName, "k3", sizeof(m_PlayerRequest.m_aName)); + ASSERT_FALSE(CScoreWorker::MapInfo(m_pConn, &m_PlayerRequest, m_aError, sizeof(m_aError))) << m_aError; +- ExpectLines(pPlayerResult, {"\"Kobra 3\" by Zerodin on Novice, ★★★★★, 5 points, released moments ago, 1 finish by 1 tee in 01:40 median"}); ++ ++ EXPECT_EQ(pPlayerResult->m_MessageKind, CScorePlayerResult::DIRECT); ++ EXPECT_THAT(pPlayerResult->m_Data.m_aaMessages[0], testing::MatchesRegex("\"Kobra 3\" by Zerodin on Novice, ★★★★★, 5 points, released .* ago, 1 finish by 1 tee in 01:40 median")); ++ for(int i = 1; i < CScorePlayerResult::MAX_MESSAGES; i++) ++ { ++ EXPECT_STREQ(pPlayerResult->m_Data.m_aaMessages[i], ""); ++ } + } + + TEST_P(MapInfo, DoesntExit) |