mirror of
https://github.com/nextcloud/desktop.git
synced 2024-11-25 14:36:01 +03:00
Add test utils library
The test utils library collects all dependencies that are needed for tests and gets automatically linked with every test. Signed-off-by: Felix Weilbach <felix.weilbach@t-online.de>
This commit is contained in:
parent
73a41d8e34
commit
02dd363feb
3 changed files with 78 additions and 62 deletions
|
@ -2,12 +2,19 @@ project(cmd)
|
|||
set(CMAKE_AUTOMOC TRUE)
|
||||
|
||||
set(cmd_NAME ${APPLICATION_EXECUTABLE}cmd)
|
||||
set(cmd_SRC
|
||||
cmd.cpp
|
||||
simplesslerrorhandler.cpp
|
||||
netrcparser.cpp
|
||||
|
||||
add_library(cmdCore STATIC simplesslerrorhandler.cpp netrcparser.cpp)
|
||||
|
||||
target_link_libraries(cmdCore
|
||||
PUBLIC
|
||||
"${csync_NAME}"
|
||||
"${synclib_NAME}"
|
||||
Qt5::Core
|
||||
Qt5::Network
|
||||
)
|
||||
|
||||
# Need tokenizer for netrc parser
|
||||
target_include_directories(cmdCore PRIVATE ${CMAKE_SOURCE_DIR}/src/3rdparty/qtokenizer)
|
||||
|
||||
if(UNIX AND NOT APPLE)
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIE")
|
||||
|
@ -20,14 +27,11 @@ if(CMAKE_SYSTEM_NAME STREQUAL "FreeBSD")
|
|||
endif()
|
||||
|
||||
if(NOT BUILD_LIBRARIES_ONLY)
|
||||
add_executable(${cmd_NAME} ${cmd_SRC})
|
||||
add_executable(${cmd_NAME} cmd.cpp)
|
||||
set_target_properties(${cmd_NAME} PROPERTIES
|
||||
RUNTIME_OUTPUT_DIRECTORY ${BIN_OUTPUT_DIRECTORY} )
|
||||
|
||||
target_link_libraries(${cmd_NAME} "${csync_NAME}" "${synclib_NAME}" Qt5::Core Qt5::Network)
|
||||
|
||||
# Need tokenizer for netrc parser
|
||||
target_include_directories(${cmd_NAME} PRIVATE ${CMAKE_SOURCE_DIR}/src/3rdparty/qtokenizer)
|
||||
target_link_libraries(${cmd_NAME} cmdCore)
|
||||
endif()
|
||||
|
||||
# OSX: Copy nextcloudcmd to app bundle, src/gui will run macdeployqt
|
||||
|
|
|
@ -5,68 +5,73 @@ include(nextcloud_add_test.cmake)
|
|||
|
||||
set(CMAKE_AUTOMOC TRUE)
|
||||
|
||||
add_library(syncenginetestutils STATIC syncenginetestutils.cpp)
|
||||
target_link_libraries(syncenginetestutils PUBLIC ${APPLICATION_EXECUTABLE}sync Qt5::Test)
|
||||
target_include_directories(syncenginetestutils PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
add_library(testutils
|
||||
STATIC
|
||||
syncenginetestutils.cpp
|
||||
pushnotificationstestutils.cpp
|
||||
)
|
||||
|
||||
nextcloud_add_test(NextcloudPropagator "")
|
||||
target_link_libraries(testutils PUBLIC ${APPLICATION_EXECUTABLE}sync Qt5::Test)
|
||||
target_include_directories(testutils PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
|
||||
nextcloud_add_test(NextcloudPropagator)
|
||||
|
||||
IF(BUILD_UPDATER)
|
||||
nextcloud_add_test(Updater "")
|
||||
nextcloud_add_test(Updater)
|
||||
endif()
|
||||
|
||||
nextcloud_add_test(NetrcParser ../src/cmd/netrcparser.cpp)
|
||||
nextcloud_add_test(OwnSql "")
|
||||
nextcloud_add_test(SyncJournalDB "")
|
||||
nextcloud_add_test(SyncFileItem "")
|
||||
nextcloud_add_test(ConcatUrl "")
|
||||
nextcloud_add_test(Cookies "")
|
||||
nextcloud_add_test(XmlParse "")
|
||||
nextcloud_add_test(ChecksumValidator "")
|
||||
nextcloud_add_test(NetrcParser)
|
||||
nextcloud_add_test(OwnSql)
|
||||
nextcloud_add_test(SyncJournalDB)
|
||||
nextcloud_add_test(SyncFileItem)
|
||||
nextcloud_add_test(ConcatUrl)
|
||||
nextcloud_add_test(Cookies)
|
||||
nextcloud_add_test(XmlParse)
|
||||
nextcloud_add_test(ChecksumValidator)
|
||||
|
||||
nextcloud_add_test(ClientSideEncryption "")
|
||||
nextcloud_add_test(ExcludedFiles "")
|
||||
nextcloud_add_test(ClientSideEncryption)
|
||||
nextcloud_add_test(ExcludedFiles)
|
||||
|
||||
nextcloud_add_test(Utility "")
|
||||
nextcloud_add_test(SyncEngine "")
|
||||
nextcloud_add_test(SyncVirtualFiles "")
|
||||
nextcloud_add_test(SyncMove "")
|
||||
nextcloud_add_test(SyncDelete "")
|
||||
nextcloud_add_test(SyncConflict "")
|
||||
nextcloud_add_test(SyncFileStatusTracker "")
|
||||
nextcloud_add_test(Download "")
|
||||
nextcloud_add_test(ChunkingNg "")
|
||||
nextcloud_add_test(AsyncOp "")
|
||||
nextcloud_add_test(UploadReset "")
|
||||
nextcloud_add_test(AllFilesDeleted "")
|
||||
nextcloud_add_test(Blacklist "")
|
||||
nextcloud_add_test(LocalDiscovery "")
|
||||
nextcloud_add_test(RemoteDiscovery "")
|
||||
nextcloud_add_test(Permissions "")
|
||||
nextcloud_add_test(SelectiveSync "")
|
||||
nextcloud_add_test(DatabaseError "")
|
||||
nextcloud_add_test(LockedFiles "../src/gui/lockwatcher.cpp")
|
||||
nextcloud_add_test(FolderWatcher "")
|
||||
nextcloud_add_test(Capabilities "")
|
||||
nextcloud_add_test(PushNotifications "pushnotificationstestutils.cpp")
|
||||
nextcloud_add_test(Utility)
|
||||
nextcloud_add_test(SyncEngine)
|
||||
nextcloud_add_test(SyncVirtualFiles)
|
||||
nextcloud_add_test(SyncMove)
|
||||
nextcloud_add_test(SyncDelete)
|
||||
nextcloud_add_test(SyncConflict)
|
||||
nextcloud_add_test(SyncFileStatusTracker)
|
||||
nextcloud_add_test(Download)
|
||||
nextcloud_add_test(ChunkingNg)
|
||||
nextcloud_add_test(AsyncOp)
|
||||
nextcloud_add_test(UploadReset)
|
||||
nextcloud_add_test(AllFilesDeleted)
|
||||
nextcloud_add_test(Blacklist)
|
||||
nextcloud_add_test(LocalDiscovery)
|
||||
nextcloud_add_test(RemoteDiscovery)
|
||||
nextcloud_add_test(Permissions)
|
||||
nextcloud_add_test(SelectiveSync)
|
||||
nextcloud_add_test(DatabaseError)
|
||||
nextcloud_add_test(LockedFiles)
|
||||
nextcloud_add_test(FolderWatcher)
|
||||
nextcloud_add_test(Capabilities)
|
||||
nextcloud_add_test(PushNotifications)
|
||||
|
||||
if( UNIX AND NOT APPLE )
|
||||
nextcloud_add_test(InotifyWatcher "${FolderWatcher_SRC}")
|
||||
nextcloud_add_test(InotifyWatcher)
|
||||
endif(UNIX AND NOT APPLE)
|
||||
|
||||
if (WIN32)
|
||||
nextcloud_add_test(LongWinPath "")
|
||||
nextcloud_add_test(SyncCfApi "")
|
||||
nextcloud_add_test(LongWinPath)
|
||||
nextcloud_add_test(SyncCfApi)
|
||||
elseif(LINUX) # elseif(LINUX OR APPLE)
|
||||
nextcloud_add_test(SyncXAttr "")
|
||||
nextcloud_add_test(SyncXAttr)
|
||||
endif()
|
||||
|
||||
nextcloud_add_benchmark(LargeSync "")
|
||||
nextcloud_add_benchmark(LargeSync)
|
||||
|
||||
nextcloud_add_test(FolderMan "")
|
||||
nextcloud_add_test(RemoteWipe "")
|
||||
nextcloud_add_test(FolderMan)
|
||||
nextcloud_add_test(RemoteWipe)
|
||||
|
||||
nextcloud_add_test(OAuth "../src/gui/creds/oauth.cpp")
|
||||
nextcloud_add_test(OAuth)
|
||||
|
||||
configure_file(test_journal.db "${PROJECT_BINARY_DIR}/bin/test_journal.db" COPYONLY)
|
||||
|
||||
|
|
|
@ -1,17 +1,18 @@
|
|||
find_package(Qt5 COMPONENTS Core Test Xml Network Qml Quick REQUIRED)
|
||||
|
||||
macro(nextcloud_add_test test_class additional_cpp)
|
||||
macro(nextcloud_add_test test_class)
|
||||
set(CMAKE_AUTOMOC TRUE)
|
||||
set(OWNCLOUD_TEST_CLASS ${test_class})
|
||||
string(TOLOWER "${OWNCLOUD_TEST_CLASS}" OWNCLOUD_TEST_CLASS_LOWERCASE)
|
||||
|
||||
add_executable(${OWNCLOUD_TEST_CLASS}Test test${OWNCLOUD_TEST_CLASS_LOWERCASE}.cpp ${additional_cpp})
|
||||
add_executable(${OWNCLOUD_TEST_CLASS}Test test${OWNCLOUD_TEST_CLASS_LOWERCASE}.cpp)
|
||||
set_target_properties(${OWNCLOUD_TEST_CLASS}Test PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${BIN_OUTPUT_DIRECTORY})
|
||||
|
||||
target_link_libraries(${OWNCLOUD_TEST_CLASS}Test
|
||||
${APPLICATION_EXECUTABLE}sync
|
||||
syncenginetestutils
|
||||
testutils
|
||||
nextcloudCore
|
||||
cmdCore
|
||||
Qt5::Test
|
||||
Qt5::Quick
|
||||
)
|
||||
|
@ -35,17 +36,23 @@ macro(nextcloud_add_test test_class additional_cpp)
|
|||
)
|
||||
endmacro()
|
||||
|
||||
macro(nextcloud_add_benchmark test_class additional_cpp)
|
||||
macro(nextcloud_add_benchmark test_class)
|
||||
set(CMAKE_AUTOMOC TRUE)
|
||||
set(OWNCLOUD_TEST_CLASS ${test_class})
|
||||
string(TOLOWER "${OWNCLOUD_TEST_CLASS}" OWNCLOUD_TEST_CLASS_LOWERCASE)
|
||||
|
||||
add_executable(${OWNCLOUD_TEST_CLASS}Bench benchmarks/bench${OWNCLOUD_TEST_CLASS_LOWERCASE}.cpp ${additional_cpp})
|
||||
add_executable(${OWNCLOUD_TEST_CLASS}Bench benchmarks/bench${OWNCLOUD_TEST_CLASS_LOWERCASE}.cpp)
|
||||
set_target_properties(${OWNCLOUD_TEST_CLASS}Bench PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${BIN_OUTPUT_DIRECTORY})
|
||||
|
||||
target_link_libraries(${OWNCLOUD_TEST_CLASS}Bench
|
||||
${APPLICATION_EXECUTABLE}sync syncenginetestutils
|
||||
Qt5::Core Qt5::Test Qt5::Xml Qt5::Network
|
||||
${APPLICATION_EXECUTABLE}sync
|
||||
testutils
|
||||
nextcloudCore
|
||||
cmdCore
|
||||
Qt5::Core
|
||||
Qt5::Test
|
||||
Qt5::Xml
|
||||
Qt5::Network
|
||||
)
|
||||
|
||||
IF(BUILD_UPDATER)
|
||||
|
|
Loading…
Reference in a new issue