Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/desktop.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClaudio Cambra <claudio.cambra@nextcloud.com>2022-11-10 16:05:55 +0300
committerClaudio Cambra <claudio.cambra@nextcloud.com>2022-11-10 16:05:55 +0300
commit30115b431a10551433bba3bad5166f7586cf7fc8 (patch)
tree904a3cc84d811eea92272f1a82121cf3573736ba
parent303b0d323bd66a6f16a6d95a0a85a0d60ae0b1e6 (diff)
Always build E2E tests, but only add to test suite if enabledfeature/end-to-end-tests
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
-rw-r--r--.drone.yml4
-rw-r--r--test/CMakeLists.txt5
-rw-r--r--test/nextcloud_add_test.cmake37
3 files changed, 43 insertions, 3 deletions
diff --git a/.drone.yml b/.drone.yml
index 7dfc88c02..ac25d7f66 100644
--- a/.drone.yml
+++ b/.drone.yml
@@ -9,7 +9,7 @@ steps:
path: /drone/build
commands:
- cd /drone/build
- - cmake -G Ninja -DCMAKE_C_COMPILER=gcc-11 -DCMAKE_CXX_COMPILER=g++-11 -DCMAKE_BUILD_TYPE=Debug -DQUICK_COMPILER=ON -DBUILD_UPDATER=ON -DBUILD_TESTING=1 -DBUILD_E2E_TESTS=ON -DECM_ENABLE_SANITIZERS=address -DCMAKE_CXX_FLAGS=-Werror -DOPENSSL_ROOT_DIR=/usr/local/lib64 ../src
+ - cmake -G Ninja -DCMAKE_C_COMPILER=gcc-11 -DCMAKE_CXX_COMPILER=g++-11 -DCMAKE_BUILD_TYPE=Debug -DQUICK_COMPILER=ON -DBUILD_UPDATER=ON -DBUILD_TESTING=1 -DADD_E2E_TESTS=ON -DECM_ENABLE_SANITIZERS=address -DCMAKE_CXX_FLAGS=-Werror -DOPENSSL_ROOT_DIR=/usr/local/lib64 ../src
- name: compile
image: ghcr.io/nextcloud/continuous-integration-client:client-5.15-11
@@ -79,7 +79,7 @@ steps:
path: /drone/build
commands:
- cd /drone/build
- - cmake -G Ninja -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DCMAKE_C_COMPILER=clang-14 -DCMAKE_CXX_COMPILER=clang++-14 -DCMAKE_BUILD_TYPE=Debug -DQUICK_COMPILER=ON -DBUILD_UPDATER=ON -DBUILD_TESTING=1 -DBUILD_E2E_TESTS=ON -DECM_ENABLE_SANITIZERS=address -DCMAKE_CXX_FLAGS=-Werror -DOPENSSL_ROOT_DIR=/usr/local/lib64 ../src
+ - cmake -G Ninja -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DCMAKE_C_COMPILER=clang-14 -DCMAKE_CXX_COMPILER=clang++-14 -DCMAKE_BUILD_TYPE=Debug -DQUICK_COMPILER=ON -DBUILD_UPDATER=ON -DBUILD_TESTING=1 -DADD_E2E_TESTS=ON -DECM_ENABLE_SANITIZERS=address -DCMAKE_CXX_FLAGS=-Werror -DOPENSSL_ROOT_DIR=/usr/local/lib64 ../src
- name: compile
image: ghcr.io/nextcloud/continuous-integration-client:client-5.15-11
volumes:
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
index d37e0a26d..972f40d6d 100644
--- a/test/CMakeLists.txt
+++ b/test/CMakeLists.txt
@@ -70,9 +70,12 @@ nextcloud_add_test(ShareModel)
nextcloud_add_test(ShareeModel)
nextcloud_add_test(SortedShareModel)
-if(BUILD_E2E_TESTS)
+if(ADD_E2E_TESTS)
nextcloud_add_test(E2eServerSetup)
nextcloud_add_test(E2eFileTransfer)
+else()
+ nextcloud_build_test(E2eServerSetup)
+ nextcloud_build_test(E2eFileTransfer)
endif()
if( UNIX AND NOT APPLE )
diff --git a/test/nextcloud_add_test.cmake b/test/nextcloud_add_test.cmake
index 98f3ef767..6bbcdf30f 100644
--- a/test/nextcloud_add_test.cmake
+++ b/test/nextcloud_add_test.cmake
@@ -1,5 +1,42 @@
find_package(Qt5 COMPONENTS Core Test Xml Network Qml Quick REQUIRED)
+macro(nextcloud_build_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)
+ set_target_properties(${OWNCLOUD_TEST_CLASS}Test PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${BIN_OUTPUT_DIRECTORY})
+
+ target_link_libraries(${OWNCLOUD_TEST_CLASS}Test PRIVATE
+ Nextcloud::sync
+ testutils
+ nextcloudCore
+ cmdCore
+ Qt5::Test
+ Qt5::Quick
+ )
+
+ if (WIN32)
+ target_link_libraries(${OWNCLOUD_TEST_CLASS}Test PRIVATE nextcloudsync_vfs_cfapi)
+ elseif (LINUX)
+ target_link_libraries(${OWNCLOUD_TEST_CLASS}Test PRIVATE nextcloudsync_vfs_xattr)
+ endif()
+
+ IF(BUILD_UPDATER)
+ target_link_libraries(${OWNCLOUD_TEST_CLASS}Test PRIVATE updater)
+ endif()
+
+ add_definitions(-DOWNCLOUD_TEST)
+ add_definitions(-DOWNCLOUD_BIN_PATH="${CMAKE_BINARY_DIR}/bin")
+
+ target_include_directories(${OWNCLOUD_TEST_CLASS}Test PRIVATE
+ "${CMAKE_SOURCE_DIR}/test/"
+ ${CMAKE_SOURCE_DIR}/src/3rdparty/qtokenizer
+ )
+ set_target_properties(${OWNCLOUD_TEST_CLASS}Test PROPERTIES FOLDER Tests)
+endmacro()
+
macro(nextcloud_add_test test_class)
set(CMAKE_AUTOMOC TRUE)
set(OWNCLOUD_TEST_CLASS ${test_class})