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
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:
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 )
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})