summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO6
-rw-r--r--PKGBUILD17
-rw-r--r--dont-expect-moments-ago-string-in-tests-use-regex-matcher.patch91
-rw-r--r--fix-timestamp-in-record_maps-in-test.patch26
4 files changed, 136 insertions, 4 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 1bdf9320388c..59fcbb4977b1 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
pkgbase = ddnet
pkgdesc = A Teeworlds modification with a unique cooperative gameplay.
pkgver = 15.8.1
- pkgrel = 6
+ pkgrel = 7
url = https://ddnet.tw
arch = x86_64
license = custom:BSD
@@ -28,9 +28,13 @@ pkgbase = ddnet
source = ddnet-server.service
source = ddnet-sysusers.conf
source = ddnet-tmpfiles.conf
+ source = dont-expect-moments-ago-string-in-tests-use-regex-matcher.patch
+ source = fix-timestamp-in-record_maps-in-test.patch
sha256sums = bc354c2db9b0dee094ac3ce1ca95e5399d8282c91cfb878ebd3060345aa0c76d
sha256sums = 9377a9d7c87abae166c8fa98cd79a61c74482f80f80bc930ae043349e9a84965
sha256sums = 70034f237270b38bf312238a26cfd322e212ca5714bfea4ae91e80c639ce8738
sha256sums = 043452f4de3c86d903973009bb3e59b3492a6669b86d0b1410e59a1476a87369
+ sha256sums = 5d90ac84ee91556f676ab04006079fb0ad5399b4adde90cfd1b53374da62782a
+ sha256sums = 60cceac4c1caaec8899ffa691860690a2f2f95897c4525e7c51450849f21f62c
pkgname = ddnet
diff --git a/PKGBUILD b/PKGBUILD
index 4e2a6e4ec749..2b4d2e9ef72f 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -3,7 +3,7 @@
pkgname=ddnet
pkgver=15.8.1
-pkgrel=6
+pkgrel=7
pkgdesc="A Teeworlds modification with a unique cooperative gameplay."
arch=('x86_64')
url="https://ddnet.tw"
@@ -15,11 +15,22 @@ optdepends=('ddnet-skins: A collection with more than 500 custom tee skins.'
'ddnet-maps-git: All the maps used on the official DDNet Servers.')
backup=('usr/share/ddnet/data/autoexec_server.cfg')
source=("https://ddnet.tw/downloads/DDNet-$pkgver.tar.xz"
- "ddnet-server.service" "ddnet-sysusers.conf" "ddnet-tmpfiles.conf")
+ "ddnet-server.service" "ddnet-sysusers.conf" "ddnet-tmpfiles.conf"
+ "dont-expect-moments-ago-string-in-tests-use-regex-matcher.patch"
+ "fix-timestamp-in-record_maps-in-test.patch")
sha256sums=('bc354c2db9b0dee094ac3ce1ca95e5399d8282c91cfb878ebd3060345aa0c76d'
'9377a9d7c87abae166c8fa98cd79a61c74482f80f80bc930ae043349e9a84965'
'70034f237270b38bf312238a26cfd322e212ca5714bfea4ae91e80c639ce8738'
- '043452f4de3c86d903973009bb3e59b3492a6669b86d0b1410e59a1476a87369')
+ '043452f4de3c86d903973009bb3e59b3492a6669b86d0b1410e59a1476a87369'
+ '5d90ac84ee91556f676ab04006079fb0ad5399b4adde90cfd1b53374da62782a'
+ '60cceac4c1caaec8899ffa691860690a2f2f95897c4525e7c51450849f21f62c')
+
+prepare() {
+ cd DDNet-$pkgver
+ # https://github.com/ddnet/ddnet/issues/4631
+ patch -p1 -i ../dont-expect-moments-ago-string-in-tests-use-regex-matcher.patch
+ patch -p1 -i ../fix-timestamp-in-record_maps-in-test.patch
+}
build() {
mkdir -p build
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)
diff --git a/fix-timestamp-in-record_maps-in-test.patch b/fix-timestamp-in-record_maps-in-test.patch
new file mode 100644
index 000000000000..e5f8ec98be86
--- /dev/null
+++ b/fix-timestamp-in-record_maps-in-test.patch
@@ -0,0 +1,26 @@
+From f346e445bd282567cda4d22180cb2024c8add03a Mon Sep 17 00:00:00 2001
+From: Dennis Felsing <dennis@felsin9.de>
+Date: Mon, 24 Jan 2022 20:58:14 -0300
+Subject: [PATCH] Fix timestamp in record_maps in test (fixes #4631)
+
+---
+ src/test/score.cpp | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/src/test/score.cpp b/src/test/score.cpp
+index f7f551a09e..efe102ad6c 100644
+--- a/src/test/score.cpp
++++ b/src/test/score.cpp
+@@ -81,9 +81,10 @@ struct Score : public testing::TestWithParam<IDbConnection *>
+ char aBuf[512];
+ str_format(aBuf, sizeof(aBuf),
+ "%s into %s_maps(Map, Server, Mapper, Points, Stars, Timestamp) "
+- "VALUES (\"Kobra 3\", \"Novice\", \"Zerodin\", 5, 5, \"%s\")",
+- m_pConn->InsertIgnore(), m_pConn->GetPrefix(), aTimestamp);
++ "VALUES (\"Kobra 3\", \"Novice\", \"Zerodin\", 5, 5, %s)",
++ m_pConn->InsertIgnore(), m_pConn->GetPrefix(), m_pConn->InsertTimestampAsUtc());
+ ASSERT_FALSE(m_pConn->PrepareStatement(aBuf, m_aError, sizeof(m_aError))) << m_aError;
++ m_pConn->BindString(1, aTimestamp);
+ int NumInserted = 0;
+ ASSERT_FALSE(m_pConn->ExecuteUpdate(&NumInserted, m_aError, sizeof(m_aError))) << m_aError;
+ ASSERT_EQ(NumInserted, 1);