diff --git a/src/test/global/gmock.h b/src/test/global/gmock.h new file mode 100644 index 00000000..24e515c1 --- /dev/null +++ b/src/test/global/gmock.h @@ -0,0 +1,32 @@ +/* + * synergy -- mouse and keyboard sharing utility + * Copyright (C) 2014 Bolton Software Ltd. + * + * This package is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * found in the file COPYING that should have accompanied this file. + * + * This package is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +// HACK: gcc on osx106 doesn't give you an easy way to hide warnings +// from included headers, so use the system_header pragma. the downside +// is that everything in the header file following this also has warnings +// ignored, so we need to put it in a separate header file. +#if __APPLE__ +# pragma GCC system_header +#endif + +// gmock includes gtest which has a warning on osx106 (signed/unsigned +// int compare), so include our special header here first to silence +// the warning. +#include "test/global/gtest.h" +#include diff --git a/src/test/global/gtest.h b/src/test/global/gtest.h index 493c9025..0fa1681b 100644 --- a/src/test/global/gtest.h +++ b/src/test/global/gtest.h @@ -25,4 +25,5 @@ # pragma GCC system_header #endif +// gtest has a warning on osx106 (signed/unsigned int compare). #include diff --git a/src/test/integtests/CMakeLists.txt b/src/test/integtests/CMakeLists.txt index cf2ad6bc..ba40b6ad 100644 --- a/src/test/integtests/CMakeLists.txt +++ b/src/test/integtests/CMakeLists.txt @@ -14,16 +14,26 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . -file(GLOB headers "*.h") -file(GLOB sources "*.cpp") +file(GLOB_RECURSE headers "*.h") +file(GLOB_RECURSE sources "*.cpp") + +# remove arch files (specific arch added later). +file(GLOB remove_arch "arch/*") +list(REMOVE_ITEM headers ${remove_arch}) +list(REMOVE_ITEM sources ${remove_arch}) + +# remove platform files (specific platform added later). +file(GLOB remove_platform "platform/*") +list(REMOVE_ITEM headers ${remove_platform}) +list(REMOVE_ITEM sources ${remove_platform}) # arch if (WIN32) - file(GLOB arch_sources "arch/CArchWindows*.cpp") - file(GLOB arch_headers "arch/CArchWindows*.h") + file(GLOB arch_sources "arch/ArchWindows*.cpp") + file(GLOB arch_headers "arch/ArchWindows*.h") elseif (UNIX) - file(GLOB arch_sources "arch/CArchUnix*.cpp") - file(GLOB arch_headers "arch/CArchUnix*.h") + file(GLOB arch_sources "arch/ArchUnix*.cpp") + file(GLOB arch_headers "arch/ArchUnix*.h") endif() list(APPEND sources ${arch_sources}) @@ -31,19 +41,31 @@ list(APPEND headers ${arch_headers}) # platform if (WIN32) - file(GLOB platform_sources "platform/CMSWindows*.cpp") - file(GLOB platform_headers "platform/CMSWindows*.h") + file(GLOB platform_sources "platform/MSWindows*.cpp") + file(GLOB platform_headers "platform/MSWindows*.h") elseif (APPLE) - file(GLOB platform_sources "platform/COSX*.cpp") - file(GLOB platform_headers "platform/COSX*.h") + file(GLOB platform_sources "platform/OSX*.cpp") + file(GLOB platform_headers "platform/OSX*.h") elseif (UNIX) - file(GLOB platform_sources "platform/CXWindows*.cpp") - file(GLOB platform_headers "platform/CXWindows*.h") + file(GLOB platform_sources "platform/XWindows*.cpp") + file(GLOB platform_headers "platform/XWindows*.h") endif() list(APPEND sources ${platform_sources}) list(APPEND headers ${platform_headers}) +file(GLOB_RECURSE global_headers "../../test/global/*.h") +file(GLOB_RECURSE global_sources "../../test/global/*.cpp") + +list(APPEND headers ${global_headers}) +list(APPEND sources ${global_sources}) + +file(GLOB_RECURSE mock_headers "../../test/mock/*.h") +file(GLOB_RECURSE mock_sources "../../test/mock/*.cpp") + +list(APPEND headers ${mock_headers}) +list(APPEND sources ${mock_sources}) + if (SYNERGY_ADD_HEADERS) list(APPEND sources ${headers}) endif() diff --git a/src/test/integtests/Main.cpp b/src/test/integtests/Main.cpp index 854423aa..afb17106 100644 --- a/src/test/integtests/Main.cpp +++ b/src/test/integtests/Main.cpp @@ -23,7 +23,7 @@ #include "arch/win32/ArchMiscWindows.h" #endif -#include +#include "test/global/gtest.h" #include #include diff --git a/src/test/integtests/platform/OSXClipboardTests.cpp b/src/test/integtests/platform/OSXClipboardTests.cpp index b65769ea..d2a4b4a7 100644 --- a/src/test/integtests/platform/OSXClipboardTests.cpp +++ b/src/test/integtests/platform/OSXClipboardTests.cpp @@ -18,7 +18,7 @@ #include "platform/OSXClipboard.h" -#include +#include "test/global/gtest.h" #include TEST(COSXClipboardTests, empty_openCalled_returnsTrue) diff --git a/src/test/integtests/platform/OSXKeyStateTests.cpp b/src/test/integtests/platform/OSXKeyStateTests.cpp index 29f60903..f1a02ad1 100644 --- a/src/test/integtests/platform/OSXKeyStateTests.cpp +++ b/src/test/integtests/platform/OSXKeyStateTests.cpp @@ -16,13 +16,13 @@ * along with this program. If not, see . */ +#include "test/mock/synergy/MockKeyMap.h" +#include "test/mock/synergy/MockEventQueue.h" #include "platform/OSXKeyState.h" -#include "synergy/CMockKeyMap.h" -#include "synergy/CMockEventQueue.h" #include "base/Log.h" -#include -#include +#include "test/global/gtest.h" +#include "test/global/gmock.h" #define SHIFT_ID_L kKeyShift_L #define SHIFT_ID_R kKeyShift_R diff --git a/src/test/integtests/platform/OSXScreenTests.cpp b/src/test/integtests/platform/OSXScreenTests.cpp index fc156097..648d355a 100644 --- a/src/test/integtests/platform/OSXScreenTests.cpp +++ b/src/test/integtests/platform/OSXScreenTests.cpp @@ -20,7 +20,7 @@ #include "arch/Arch.h" #include "base/EventQueue.h" -#include +#include "test/global/gtest.h" // disabling these tests - the return value of CGCursorIsVisible is unreliable. /* diff --git a/src/test/mock/client/MockClient.h b/src/test/mock/client/MockClient.h index 35de9856..d60b0883 100644 --- a/src/test/mock/client/MockClient.h +++ b/src/test/mock/client/MockClient.h @@ -22,7 +22,7 @@ #include "client/Client.h" -#include +#include "test/global/gmock.h" class IEventQueue; diff --git a/src/test/mock/io/MockCryptoStream.h b/src/test/mock/io/MockCryptoStream.h index d678cba8..3d36c626 100644 --- a/src/test/mock/io/MockCryptoStream.h +++ b/src/test/mock/io/MockCryptoStream.h @@ -20,7 +20,7 @@ #include "io/CryptoStream.h" #include "io/CryptoOptions.h" -#include +#include "test/global/gmock.h" class CMockCryptoStream : public CCryptoStream { diff --git a/src/test/mock/io/MockStream.h b/src/test/mock/io/MockStream.h index 441f672f..05155766 100644 --- a/src/test/mock/io/MockStream.h +++ b/src/test/mock/io/MockStream.h @@ -20,7 +20,7 @@ #include "io/IStream.h" -#include +#include "test/global/gmock.h" class IEventQueue; diff --git a/src/test/mock/server/MockConfig.h b/src/test/mock/server/MockConfig.h index b0987011..f3f3d9ae 100644 --- a/src/test/mock/server/MockConfig.h +++ b/src/test/mock/server/MockConfig.h @@ -21,7 +21,7 @@ #include "server/Config.h" -#include +#include "test/global/gmock.h" class CMockConfig : public CConfig { diff --git a/src/test/mock/server/MockInputFilter.h b/src/test/mock/server/MockInputFilter.h index 5736639d..a2b137bd 100644 --- a/src/test/mock/server/MockInputFilter.h +++ b/src/test/mock/server/MockInputFilter.h @@ -21,7 +21,7 @@ #include "server/InputFilter.h" -#include +#include "test/global/gmock.h" class CMockInputFilter : public CInputFilter { diff --git a/src/test/mock/server/MockPrimaryClient.h b/src/test/mock/server/MockPrimaryClient.h index 08d03f32..f8f04c86 100644 --- a/src/test/mock/server/MockPrimaryClient.h +++ b/src/test/mock/server/MockPrimaryClient.h @@ -22,7 +22,7 @@ #include "synergy/PrimaryClient.h" #include "base/String.h" -#include +#include "test/global/gmock.h" class CMockPrimaryClient : public CPrimaryClient { diff --git a/src/test/mock/synergy/MockEventQueue.h b/src/test/mock/synergy/MockEventQueue.h index bee65198..fc0077ae 100644 --- a/src/test/mock/synergy/MockEventQueue.h +++ b/src/test/mock/synergy/MockEventQueue.h @@ -20,7 +20,7 @@ #include "base/IEventQueue.h" -#include +#include "test/global/gmock.h" class CMockEventQueue : public IEventQueue { diff --git a/src/test/mock/synergy/MockKeyMap.h b/src/test/mock/synergy/MockKeyMap.h index a1c0b83e..c162b20e 100644 --- a/src/test/mock/synergy/MockKeyMap.h +++ b/src/test/mock/synergy/MockKeyMap.h @@ -20,7 +20,7 @@ #include "synergy/KeyMap.h" -#include +#include "test/global/gmock.h" class CMockKeyMap : public CKeyMap { diff --git a/src/test/mock/synergy/MockScreen.h b/src/test/mock/synergy/MockScreen.h index 0782b597..7c986db3 100644 --- a/src/test/mock/synergy/MockScreen.h +++ b/src/test/mock/synergy/MockScreen.h @@ -21,7 +21,7 @@ #include "synergy/Screen.h" -#include +#include "test/global/gmock.h" class CMockScreen : public CScreen { diff --git a/src/test/unittests/CMakeLists.txt b/src/test/unittests/CMakeLists.txt index 2c8e5028..65cf309b 100644 --- a/src/test/unittests/CMakeLists.txt +++ b/src/test/unittests/CMakeLists.txt @@ -17,6 +17,18 @@ file(GLOB_RECURSE headers "*.h") file(GLOB_RECURSE sources "*.cpp") +file(GLOB_RECURSE global_headers "../../test/global/*.h") +file(GLOB_RECURSE global_sources "../../test/global/*.cpp") + +list(APPEND headers ${global_headers}) +list(APPEND sources ${global_sources}) + +file(GLOB_RECURSE mock_headers "../../test/mock/*.h") +file(GLOB_RECURSE mock_sources "../../test/mock/*.cpp") + +list(APPEND headers ${mock_headers}) +list(APPEND sources ${mock_sources}) + include_directories( ../../ ../../lib/ diff --git a/src/test/unittests/Main.cpp b/src/test/unittests/Main.cpp index 7ec9c94c..a26a9edb 100644 --- a/src/test/unittests/Main.cpp +++ b/src/test/unittests/Main.cpp @@ -23,7 +23,7 @@ #include "arch/win32/ArchMiscWindows.h" #endif -#include +#include "test/global/gtest.h" int main(int argc, char **argv) diff --git a/src/test/unittests/client/ServerProxyTests.cpp b/src/test/unittests/client/ServerProxyTests.cpp index 2c47b5c7..8d3e4d41 100644 --- a/src/test/unittests/client/ServerProxyTests.cpp +++ b/src/test/unittests/client/ServerProxyTests.cpp @@ -24,7 +24,7 @@ #include "client/ServerProxy.h" #include "synergy/protocol_types.h" -#include +#include "test/global/gtest.h" using ::testing::_; using ::testing::Invoke; diff --git a/src/test/unittests/server/ClientProxyTests.cpp b/src/test/unittests/server/ClientProxyTests.cpp index 52076d06..87b00ec3 100644 --- a/src/test/unittests/server/ClientProxyTests.cpp +++ b/src/test/unittests/server/ClientProxyTests.cpp @@ -21,7 +21,7 @@ #include "test/mock/synergy/MockEventQueue.h" #include "server/ClientProxy1_4.h" -#include +#include "test/global/gtest.h" using ::testing::_; using ::testing::NiceMock; diff --git a/src/test/unittests/synergy/CryptoStreamTests.cpp b/src/test/unittests/synergy/CryptoStreamTests.cpp index f7619340..4aecc082 100644 --- a/src/test/unittests/synergy/CryptoStreamTests.cpp +++ b/src/test/unittests/synergy/CryptoStreamTests.cpp @@ -21,7 +21,7 @@ #include "io/CryptoStream.h" #include "io/CryptoOptions.h" -#include +#include "test/global/gtest.h" using ::testing::_; using ::testing::Invoke; diff --git a/src/test/unittests/synergy/KeyStateTests.cpp b/src/test/unittests/synergy/KeyStateTests.cpp index 862f5c52..509ed61b 100644 --- a/src/test/unittests/synergy/KeyStateTests.cpp +++ b/src/test/unittests/synergy/KeyStateTests.cpp @@ -17,11 +17,12 @@ */ #include "test/unittests/synergy/KeyStateTests.h" + #include "test/mock/synergy/MockEventQueue.h" #include "test/mock/synergy/MockKeyMap.h" -#include #include "test/global/gtest.h" +#include "test/global/gmock.h" using ::testing::_; using ::testing::NiceMock; diff --git a/src/test/unittests/synergy/KeyStateTests.h b/src/test/unittests/synergy/KeyStateTests.h index 92865a6b..31d26f71 100644 --- a/src/test/unittests/synergy/KeyStateTests.h +++ b/src/test/unittests/synergy/KeyStateTests.h @@ -20,7 +20,7 @@ #include "synergy/KeyState.h" -#include "gmock/gmock.h" +#include "test/global/gmock.h" class CMockKeyMap; class CMockEventQueue;