diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2020-08-25 10:45:55 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2020-08-25 10:45:55 +0100 |
commit | 3cf7c3ef441822c889356fd1812ebf2944a59851 (patch) | |
tree | c513fe68548b40365c1c2ebfe35c58ad431cdd77 /x11-misc/barrier/files | |
parent | 05b8b0e0af1d72e51a3ee61522941bf7605cd01c (diff) |
gentoo resync : 25.08.2020
Diffstat (limited to 'x11-misc/barrier/files')
-rw-r--r-- | x11-misc/barrier/files/barrier-2.3.2-inf-loop.patch | 132 | ||||
-rw-r--r-- | x11-misc/barrier/files/barrier-2.3.2-no-avahi.patch | 25 | ||||
-rw-r--r-- | x11-misc/barrier/files/barrier-2.3.2-pthread.patch | 115 | ||||
-rw-r--r-- | x11-misc/barrier/files/barrier-2.3.2-qt-gui-only.patch | 45 | ||||
-rw-r--r-- | x11-misc/barrier/files/barrier-2.3.3-gtest.patch | 116 | ||||
-rw-r--r-- | x11-misc/barrier/files/barrier-2.3.3-tests.patch | 150 |
6 files changed, 266 insertions, 317 deletions
diff --git a/x11-misc/barrier/files/barrier-2.3.2-inf-loop.patch b/x11-misc/barrier/files/barrier-2.3.2-inf-loop.patch deleted file mode 100644 index 125b903e58eb..000000000000 --- a/x11-misc/barrier/files/barrier-2.3.2-inf-loop.patch +++ /dev/null @@ -1,132 +0,0 @@ -From c79120c049d825fedeed70d5a1a9dc64d17ce9f0 Mon Sep 17 00:00:00 2001 -From: Vasily Galkin <galkin-vv@ya.ru> -Date: Sun, 9 Feb 2020 23:27:26 +0300 -Subject: [PATCH] Fix infinite loop on fast TCP disconnection - -The commit a841b28 changed the condition for removing job from processing. -New flag MultiplexerJobStatus::continue_servicing become used -instead of checking pointer for NULL. -However for cases when TCPSocket::newJob() returns nullptr -the behaviour changed: earlier the job was removed, but after change -it is called again, since MultiplexerJobStatus equal to {true, nullptr} -means "run this job again". - -This leads to problem with eating CPU and RAM on linux -https://github.com/debauchee/barrier/issues/470 - -There is similar windows problem, but not sure it is related. -https://github.com/debauchee/barrier/issues/552 - -Since it looks that the goal of a841b28 was only clarifying -object ownership and not changing job deletion behaviour, -this commit tries to get original behaviour and fix the bugs above -by returning {false, nullptr} instead of {true, nullptr} -when TCPSocket::newJob() returns nullptr. ---- - src/lib/net/SecureSocket.cpp | 4 ++-- - src/lib/net/TCPSocket.cpp | 25 +++++++++++++------------ - src/lib/net/TCPSocket.h | 3 ++- - 3 files changed, 17 insertions(+), 15 deletions(-) - -diff --git a/src/lib/net/SecureSocket.cpp b/src/lib/net/SecureSocket.cpp -index 99f626e8..92abea3c 100644 ---- a/src/lib/net/SecureSocket.cpp -+++ b/src/lib/net/SecureSocket.cpp -@@ -761,7 +761,7 @@ MultiplexerJobStatus SecureSocket::serviceConnect(ISocketMultiplexerJob* job, - // If status > 0, success - if (status > 0) { - sendEvent(m_events->forIDataSocket().secureConnected()); -- return {true, newJob()}; -+ return newJobOrStopServicing(); - } - - // Retry case -@@ -793,7 +793,7 @@ MultiplexerJobStatus SecureSocket::serviceAccept(ISocketMultiplexerJob* job, - // If status > 0, success - if (status > 0) { - sendEvent(m_events->forClientListener().accepted()); -- return {true, newJob()}; -+ return newJobOrStopServicing(); - } - - // Retry case -diff --git a/src/lib/net/TCPSocket.cpp b/src/lib/net/TCPSocket.cpp -index 4f4251ad..09a8f17e 100644 ---- a/src/lib/net/TCPSocket.cpp -+++ b/src/lib/net/TCPSocket.cpp -@@ -403,6 +403,15 @@ void TCPSocket::setJob(std::unique_ptr<ISocketMultiplexerJob>&& job) - } - } - -+MultiplexerJobStatus TCPSocket::newJobOrStopServicing() -+{ -+ auto new_job = newJob(); -+ if (new_job) -+ return {true, std::move(new_job)}; -+ else -+ return {false, {}}; -+} -+ - std::unique_ptr<ISocketMultiplexerJob> TCPSocket::newJob() - { - // note -- must have m_mutex locked on entry -@@ -519,22 +528,14 @@ MultiplexerJobStatus TCPSocket::serviceConnecting(ISocketMultiplexerJob* job, bo - catch (XArchNetwork& e) { - sendConnectionFailedEvent(e.what()); - onDisconnected(); -- auto new_job = newJob(); -- if (new_job) -- return {true, std::move(new_job)}; -- else -- return {false, {}}; -+ return newJobOrStopServicing(); - } - } - - if (write) { - sendEvent(m_events->forIDataSocket().connected()); - onConnected(); -- auto new_job = newJob(); -- if (new_job) -- return {true, std::move(new_job)}; -- else -- return {false, {}}; -+ return newJobOrStopServicing(); - } - - return {true, {}}; -@@ -548,7 +549,7 @@ MultiplexerJobStatus TCPSocket::serviceConnected(ISocketMultiplexerJob* job, - if (error) { - sendEvent(m_events->forISocket().disconnected()); - onDisconnected(); -- return {true, newJob()}; -+ return newJobOrStopServicing(); - } - - EJobResult writeResult = kRetry; -@@ -603,7 +604,7 @@ MultiplexerJobStatus TCPSocket::serviceConnected(ISocketMultiplexerJob* job, - if (writeResult == kBreak || readResult == kBreak) { - return {false, {}}; - } else if (writeResult == kNew || readResult == kNew) { -- return {true, newJob()}; -+ return newJobOrStopServicing(); - } else { - return {true, {}}; - } -diff --git a/src/lib/net/TCPSocket.h b/src/lib/net/TCPSocket.h -index 28891353..0b988886 100644 ---- a/src/lib/net/TCPSocket.h -+++ b/src/lib/net/TCPSocket.h -@@ -76,7 +76,8 @@ protected: - - void removeJob(); - void setJob(std::unique_ptr<ISocketMultiplexerJob>&& job); -- -+ MultiplexerJobStatus newJobOrStopServicing(); -+ - bool isReadable() { return m_readable; } - bool isWritable() { return m_writable; } - --- -2.24.1 - diff --git a/x11-misc/barrier/files/barrier-2.3.2-no-avahi.patch b/x11-misc/barrier/files/barrier-2.3.2-no-avahi.patch deleted file mode 100644 index 481a23a2d705..000000000000 --- a/x11-misc/barrier/files/barrier-2.3.2-no-avahi.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 93a4035409ed5a4349c9848c3dae3ec670884ee0 Mon Sep 17 00:00:00 2001 -From: Tetja Rediske <tetja+gitlab@tetja.de~> -Date: Sat, 19 Oct 2019 00:28:13 +0200 -Subject: [PATCH] make non-gui variants build without avahi - ---- - CMakeLists.txt | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 7f9efac8..8e10776e 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -175,7 +175,7 @@ if (UNIX) - link_directories("/usr/X11R6/lib") - endif() - -- if (${PKG_CONFIG_FOUND}) -+ if (BARRIER_BUILD_GUI AND ${PKG_CONFIG_FOUND}) - pkg_check_modules (AVAHI_COMPAT REQUIRED avahi-compat-libdns_sd) - include_directories (BEFORE SYSTEM ${AVAHI_COMPAT_INCLUDE_DIRS}) - set (CMAKE_REQUIRED_INCLUDES "${CMAKE_REQUIRED_INCLUDES};${AVAHI_COMPAT_INCLUDE_DIRS}") --- -2.24.1 - diff --git a/x11-misc/barrier/files/barrier-2.3.2-pthread.patch b/x11-misc/barrier/files/barrier-2.3.2-pthread.patch deleted file mode 100644 index d29844843e45..000000000000 --- a/x11-misc/barrier/files/barrier-2.3.2-pthread.patch +++ /dev/null @@ -1,115 +0,0 @@ -From a0b3124f80f5696cbf070b3b714533ab4012398d Mon Sep 17 00:00:00 2001 -From: James Le Cuirot <chewi@gentoo.org> -Date: Tue, 10 Mar 2020 21:10:48 +0000 -Subject: [PATCH] Use -pthread flag and simplify pthread build logic - -Sometimes -lpthread is not enough. This has caused build failures on -Gentoo Linux in the past. - -The logic also seems needlessly complex. We check for HAVE_PTHREAD on -UNIX platforms even though CMake errors out if pthreads are not -found. Similarly, we have a fallback for HAVE_PTHREAD_SIGNAL being -false even though we always set it to true. ---- - CMakeLists.txt | 11 ++++------- - res/config.h.in | 6 ------ - src/lib/arch/Arch.h | 4 +--- - src/lib/arch/unix/ArchMultithreadPosix.cpp | 13 ------------- - 4 files changed, 5 insertions(+), 29 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 8e10776e..ae7ccb21 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -123,12 +123,10 @@ if (UNIX) - check_type_size (short SIZEOF_SHORT) - - # pthread is used on both Linux and Mac -- check_library_exists ("pthread" pthread_create "" HAVE_PTHREAD) -- if (HAVE_PTHREAD) -- list (APPEND libs pthread) -- else() -- message (FATAL_ERROR "Missing library: pthread") -- endif() -+ set (CMAKE_THREAD_PREFER_PTHREAD TRUE) -+ set (THREADS_PREFER_PTHREAD_FLAG TRUE) -+ find_package (Threads REQUIRED) -+ list (APPEND libs Threads::Threads) - - # curl is used on both Linux and Mac - find_package (CURL) -@@ -269,7 +267,6 @@ if (UNIX) - set (HAVE_CXX_EXCEPTIONS 1) - set (HAVE_CXX_MUTABLE 1) - set (HAVE_CXX_STDLIB 1) -- set (HAVE_PTHREAD_SIGNAL 1) - set (SELECT_TYPE_ARG1 int) - set (SELECT_TYPE_ARG234 " (fd_set *)") - set (SELECT_TYPE_ARG5 " (struct timeval *)") -diff --git a/res/config.h.in b/res/config.h.in -index f3a72449..2bd3b3bf 100644 ---- a/res/config.h.in -+++ b/res/config.h.in -@@ -55,12 +55,6 @@ - /* Define if you have a POSIX `sigwait` function. */ - #cmakedefine HAVE_POSIX_SIGWAIT ${HAVE_POSIX_SIGWAIT} - --/* Define if you have POSIX threads libraries and header files. */ --#cmakedefine HAVE_PTHREAD ${HAVE_PTHREAD} -- --/* Define if you have `pthread_sigmask` and `pthread_kill` functions. */ --#cmakedefine HAVE_PTHREAD_SIGNAL ${HAVE_PTHREAD_SIGNAL} -- - /* Define if your compiler defines socklen_t. */ - #cmakedefine HAVE_SOCKLEN_T ${HAVE_SOCKLEN_T} - -diff --git a/src/lib/arch/Arch.h b/src/lib/arch/Arch.h -index c062d6f3..940a2e3a 100644 ---- a/src/lib/arch/Arch.h -+++ b/src/lib/arch/Arch.h -@@ -54,9 +54,7 @@ - # include "arch/unix/ArchConsoleUnix.h" - # include "arch/unix/ArchDaemonUnix.h" - # include "arch/unix/ArchLogUnix.h" --# if HAVE_PTHREAD --# include "arch/unix/ArchMultithreadPosix.h" --# endif -+# include "arch/unix/ArchMultithreadPosix.h" - # include "arch/unix/ArchNetworkBSD.h" - # include "arch/unix/ArchSleepUnix.h" - # include "arch/unix/ArchStringUnix.h" -diff --git a/src/lib/arch/unix/ArchMultithreadPosix.cpp b/src/lib/arch/unix/ArchMultithreadPosix.cpp -index c9ddc6ce..4866edce 100644 ---- a/src/lib/arch/unix/ArchMultithreadPosix.cpp -+++ b/src/lib/arch/unix/ArchMultithreadPosix.cpp -@@ -36,17 +36,6 @@ - - #define SIGWAKEUP SIGUSR1 - --#if !HAVE_PTHREAD_SIGNAL -- // boy, is this platform broken. forget about pthread signal -- // handling and let signals through to every process. barrier -- // will not terminate cleanly when it gets SIGTERM or SIGINT. --# define pthread_sigmask sigprocmask --# define pthread_kill(tid_, sig_) kill(0, (sig_)) --# define sigwait(set_, sig_) --# undef HAVE_POSIX_SIGWAIT --# define HAVE_POSIX_SIGWAIT 1 --#endif -- - static - void - setSignalSet(sigset_t* sigset) -@@ -344,9 +333,7 @@ ArchMultithreadPosix::newThread(ThreadFunc func, void* data) - // can't tell the difference. - if (!m_newThreadCalled) { - m_newThreadCalled = true; --#if HAVE_PTHREAD_SIGNAL - startSignalHandler(); --#endif - } - - // note that the child thread will wait until we release this mutex --- -2.24.1 - diff --git a/x11-misc/barrier/files/barrier-2.3.2-qt-gui-only.patch b/x11-misc/barrier/files/barrier-2.3.2-qt-gui-only.patch deleted file mode 100644 index bcfe31386103..000000000000 --- a/x11-misc/barrier/files/barrier-2.3.2-qt-gui-only.patch +++ /dev/null @@ -1,45 +0,0 @@ -From af0ce63733e040d6220aaa2157190015d4a9b0fd Mon Sep 17 00:00:00 2001 -From: James Le Cuirot <chewi@gentoo.org> -Date: Tue, 17 Mar 2020 22:45:20 +0000 -Subject: [PATCH] Only require Qt5 when building the GUI - -Commit 6c888437 made Qt5 mandatory for all builds when it is only -required for the GUI. There's already a find_package call in src/gui, -it just needed the REQUIRED flag to be added. ---- - CMakeLists.txt | 6 ------ - src/gui/CMakeLists.txt | 2 +- - 2 files changed, 1 insertion(+), 7 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 8e10776e..ee0835ec 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -357,12 +357,6 @@ else() - set (OPENSSL_LIBS ${lib_ssl} ${lib_crypto}) - endif() - -- --# Check we have the *required* Qt5 libs. --find_package(Qt5Core REQUIRED) --find_package(Qt5Network REQUIRED) --find_package(Qt5Widgets REQUIRED) -- - # - # Configure_file... but for directories, recursively. - # -diff --git a/src/gui/CMakeLists.txt b/src/gui/CMakeLists.txt -index 4988fe6a..f29fd910 100644 ---- a/src/gui/CMakeLists.txt -+++ b/src/gui/CMakeLists.txt -@@ -1,6 +1,6 @@ - cmake_minimum_required (VERSION 3.4) - --find_package (Qt5 COMPONENTS Core Widgets Network) -+find_package (Qt5 REQUIRED COMPONENTS Core Widgets Network) - set (CMAKE_AUTOMOC ON) - set (CMAKE_AUTORCC ON) - set (CMAKE_AUTOUIC ON) --- -2.25.1 - diff --git a/x11-misc/barrier/files/barrier-2.3.3-gtest.patch b/x11-misc/barrier/files/barrier-2.3.3-gtest.patch new file mode 100644 index 000000000000..363f8c2c02c0 --- /dev/null +++ b/x11-misc/barrier/files/barrier-2.3.3-gtest.patch @@ -0,0 +1,116 @@ +From bd1db368b333783697d686c82c42e48c4bec8b9e Mon Sep 17 00:00:00 2001 +From: James Le Cuirot <chewi@gentoo.org> +Date: Fri, 21 Aug 2020 23:13:58 +0100 +Subject: [PATCH] Add BARRIER_USE_EXTERNAL_GTEST CMake option to use external + GTest + +--- + CMakeLists.txt | 1 + + src/test/CMakeLists.txt | 38 ++++++++++++++++++++---------- + src/test/integtests/CMakeLists.txt | 4 +--- + src/test/unittests/CMakeLists.txt | 4 +--- + 4 files changed, 29 insertions(+), 18 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 4947d20f..18b242db 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -21,6 +21,7 @@ project (barrier C CXX) + option (BARRIER_BUILD_GUI "Build the GUI" ON) + option (BARRIER_BUILD_INSTALLER "Build the installer" ON) + option (BARRIER_BUILD_TESTS "Build the tests" ON) ++option (BARRIER_USE_EXTERNAL_GTEST "Use external installation of Google Test framework" OFF) + + set (CMAKE_EXPORT_COMPILE_COMMANDS ON) + set (CMAKE_CXX_STANDARD 14) +diff --git a/src/test/CMakeLists.txt b/src/test/CMakeLists.txt +index daecb317..4a50e701 100644 +--- a/src/test/CMakeLists.txt ++++ b/src/test/CMakeLists.txt +@@ -14,19 +14,33 @@ + # You should have received a copy of the GNU General Public License + # along with this program. If not, see <http://www.gnu.org/licenses/>. + +-include_directories( +- ../../ext/gtest +- ../../ext/gtest/include +- ../../ext/gmock +- ../../ext/gmock/include) +- +-add_library(gtest STATIC ../../ext/gtest/src/gtest-all.cc) +-add_library(gmock STATIC ../../ext/gmock/src/gmock-all.cc) ++if (BARRIER_USE_EXTERNAL_GTEST) ++ include (FindPkgConfig) ++ find_package(GTest REQUIRED) ++ pkg_check_modules(GMOCK REQUIRED gmock) ++ include_directories( ++ ${GTEST_INCLUDE_DIRS} ++ ${GMOCK_INCLUDE_DIRS} ++ ) ++else() ++ include_directories( ++ ../../ext/gtest ++ ../../ext/gtest/include ++ ../../ext/gmock ++ ../../ext/gmock/include ++ ) + +-if (UNIX) +- # ignore warnings in gtest and gmock +- set_target_properties(gtest PROPERTIES COMPILE_FLAGS "-w") +- set_target_properties(gmock PROPERTIES COMPILE_FLAGS "-w") ++ add_library(gtest STATIC ../../ext/gtest/src/gtest-all.cc) ++ add_library(gmock STATIC ../../ext/gmock/src/gmock-all.cc) ++ ++ set(GTEST_LIBRARIES gtest) ++ set(GMOCK_LIBRARIES gmock) ++ ++ if (UNIX) ++ # ignore warnings in gtest and gmock ++ set_target_properties(gtest PROPERTIES COMPILE_FLAGS "-w") ++ set_target_properties(gmock PROPERTIES COMPILE_FLAGS "-w") ++ endif() + endif() + + add_subdirectory(integtests) +diff --git a/src/test/integtests/CMakeLists.txt b/src/test/integtests/CMakeLists.txt +index 0460d8df..9ef875bd 100644 +--- a/src/test/integtests/CMakeLists.txt ++++ b/src/test/integtests/CMakeLists.txt +@@ -68,8 +68,6 @@ endif() + + include_directories( + ../../ +- ../../../ext/gtest/include +- ../../../ext/gmock/include + ) + + if (UNIX) +@@ -80,4 +78,4 @@ endif() + + add_executable(integtests ${sources}) + target_link_libraries(integtests +- arch base client common io ipc mt net platform server synlib gtest gmock ${libs} ${OPENSSL_LIBS}) ++ arch base client common io ipc mt net platform server synlib ${GTEST_LIBRARIES} ${GMOCK_LIBRARIES} ${libs} ${OPENSSL_LIBS}) +diff --git a/src/test/unittests/CMakeLists.txt b/src/test/unittests/CMakeLists.txt +index c46375ce..61a0d35f 100644 +--- a/src/test/unittests/CMakeLists.txt ++++ b/src/test/unittests/CMakeLists.txt +@@ -50,8 +50,6 @@ list(APPEND headers ${platform_sources}) + + include_directories( + ../../ +- ../../../ext/gtest/include +- ../../../ext/gmock/include + ../../../ext + ) + +@@ -67,4 +65,4 @@ endif() + + add_executable(unittests ${sources}) + target_link_libraries(unittests +- arch base client server common io net platform server synlib mt ipc gtest gmock ${libs} ${OPENSSL_LIBS}) ++ arch base client server common io net platform server synlib mt ipc ${GTEST_LIBRARIES} ${GMOCK_LIBRARIES} ${libs} ${OPENSSL_LIBS}) +-- +2.26.2 + diff --git a/x11-misc/barrier/files/barrier-2.3.3-tests.patch b/x11-misc/barrier/files/barrier-2.3.3-tests.patch new file mode 100644 index 000000000000..a4cc0d665a07 --- /dev/null +++ b/x11-misc/barrier/files/barrier-2.3.3-tests.patch @@ -0,0 +1,150 @@ +From 4a031b8ce538af0c15857c37c1964bf144d5bc38 Mon Sep 17 00:00:00 2001 +From: James Le Cuirot <chewi@gentoo.org> +Date: Fri, 21 Aug 2020 22:22:48 +0100 +Subject: [PATCH] Add BARRIER_BUILD_TESTS CMake option to make tests optional + +--- + CMakeLists.txt | 2 +- + src/CMakeLists.txt | 5 ++++- + src/lib/barrier/KeyMap.h | 4 ++++ + src/test/unittests/barrier/KeyMapTests.cpp | 2 ++ + 4 files changed, 11 insertions(+), 2 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 6a377c04..4947d20f 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -20,6 +20,7 @@ project (barrier C CXX) + + option (BARRIER_BUILD_GUI "Build the GUI" ON) + option (BARRIER_BUILD_INSTALLER "Build the installer" ON) ++option (BARRIER_BUILD_TESTS "Build the tests" ON) + + set (CMAKE_EXPORT_COMPILE_COMMANDS ON) + set (CMAKE_CXX_STANDARD 14) +@@ -49,7 +50,6 @@ else() + endif() + + set (libs) +-include_directories (BEFORE SYSTEM ./ext/gtest/include) + + if (UNIX) + if (NOT APPLE) +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 55aad09d..c3dea51f 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -19,7 +19,10 @@ include_directories (${CMAKE_CURRENT_BINARY_DIR}/lib) + + add_subdirectory(lib) + add_subdirectory(cmd) +-add_subdirectory(test) ++ ++if (BARRIER_BUILD_TESTS) ++ add_subdirectory(test) ++endif() + + if (BARRIER_BUILD_GUI) + add_subdirectory(gui) +diff --git a/src/lib/barrier/KeyMap.h b/src/lib/barrier/KeyMap.h +index b6eb8658..812b4d26 100644 +--- a/src/lib/barrier/KeyMap.h ++++ b/src/lib/barrier/KeyMap.h +@@ -24,7 +24,9 @@ + #include "common/stdset.h" + #include "common/stdvector.h" + ++#ifdef TEST_ENV + #include <gtest/gtest_prod.h> ++#endif + + namespace barrier { + +@@ -327,6 +329,7 @@ public: + //@} + + private: ++#ifdef TEST_ENV + FRIEND_TEST(KeyMapTests, + findBestKey_requiredDown_matchExactFirstItem); + FRIEND_TEST(KeyMapTests, +@@ -340,6 +343,7 @@ private: + FRIEND_TEST(KeyMapTests, + findBestKey_onlyOneRequiredDown_matchTwoRequiredChangesItem); + FRIEND_TEST(KeyMapTests, findBestKey_noRequiredDown_cannotMatch); ++#endif + + private: + //! Ways to synthesize a key +diff --git a/src/test/unittests/barrier/KeyMapTests.cpp b/src/test/unittests/barrier/KeyMapTests.cpp +index 59806339..c0832199 100644 +--- a/src/test/unittests/barrier/KeyMapTests.cpp ++++ b/src/test/unittests/barrier/KeyMapTests.cpp +@@ -15,6 +15,8 @@ + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + ++#define TEST_ENV ++ + #include "barrier/KeyMap.h" + + #include "test/global/gtest.h" +-- +2.26.2 + +From 19e020080cb3f54befb504abc48cf304ab42f23e Mon Sep 17 00:00:00 2001 +From: James Le Cuirot <chewi@gentoo.org> +Date: Sat, 22 Aug 2020 11:46:25 +0100 +Subject: [PATCH] Respect DISPLAY environment variable in XWindows tests + +XWindowsScreenTests was failing under Gentoo's package manager. I have +also addressed this in XWindowsScreenSaverTests, which is currently +unused. +--- + src/test/integtests/platform/XWindowsScreenSaverTests.cpp | 7 ++++++- + src/test/integtests/platform/XWindowsScreenTests.cpp | 7 ++++++- + 2 files changed, 12 insertions(+), 2 deletions(-) + +diff --git a/src/test/integtests/platform/XWindowsScreenSaverTests.cpp b/src/test/integtests/platform/XWindowsScreenSaverTests.cpp +index c6a2710c..1ee273ed 100644 +--- a/src/test/integtests/platform/XWindowsScreenSaverTests.cpp ++++ b/src/test/integtests/platform/XWindowsScreenSaverTests.cpp +@@ -30,7 +30,12 @@ using ::testing::_; + // TODO: not working on build machine for some reason + TEST(CXWindowsScreenSaverTests, activate_defaultScreen_todo) + { +- Display* display = XOpenDisplay(":0.0"); ++ const char* displayName = getenv("DISPLAY"); ++ if (displayName == NULL) { ++ displayName = ":0.0"; ++ } ++ ++ Display* display = XOpenDisplay(displayName); + Window window = DefaultRootWindow(display); + MockEventQueue eventQueue; + EXPECT_CALL(eventQueue, removeHandler(_, _)).Times(1); +diff --git a/src/test/integtests/platform/XWindowsScreenTests.cpp b/src/test/integtests/platform/XWindowsScreenTests.cpp +index d8f75e15..97358197 100644 +--- a/src/test/integtests/platform/XWindowsScreenTests.cpp ++++ b/src/test/integtests/platform/XWindowsScreenTests.cpp +@@ -25,11 +25,16 @@ using ::testing::_; + + TEST(CXWindowsScreenTests, fakeMouseMove_nonPrimary_getCursorPosValuesCorrect) + { ++ const char* displayName = getenv("DISPLAY"); ++ if (displayName == NULL) { ++ displayName = ":0.0"; ++ } ++ + MockEventQueue eventQueue; + EXPECT_CALL(eventQueue, adoptHandler(_, _, _)).Times(2); + EXPECT_CALL(eventQueue, adoptBuffer(_)).Times(2); + EXPECT_CALL(eventQueue, removeHandler(_, _)).Times(2); +- XWindowsScreen screen(new XWindowsImpl(), ":0.0", false, false, 0, &eventQueue); ++ XWindowsScreen screen(new XWindowsImpl(), displayName, false, false, 0, &eventQueue); + + screen.fakeMouseMove(10, 20); + +-- +2.26.2 + |