Warning, /frameworks/kio/autotests/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 remove_definitions(-DQT_NO_CAST_FROM_ASCII) 0002 remove_definitions(-DQT_NO_CAST_FROM_BYTEARRAY) 0003 0004 include(ECMAddTests) 0005 0006 find_package(Qt6Widgets REQUIRED) 0007 0008 ########### unittests ############### 0009 0010 add_subdirectory(http) 0011 0012 find_package(Qt6Concurrent ${REQUIRED_QT_VERSION} REQUIRED NO_MODULE) 0013 0014 if (ACL_FOUND) 0015 set (kacltest_SRC kacltest.cpp) 0016 endif() 0017 0018 ecm_add_tests( 0019 ${kacltest_SRC} 0020 listdirtest.cpp 0021 kmountpointtest.cpp 0022 upurltest.cpp 0023 dataprotocoltest.cpp 0024 jobtest.cpp 0025 jobremotetest.cpp 0026 kfileitemtest.cpp 0027 kprotocolinfotest.cpp 0028 globaltest.cpp 0029 mimetypefinderjobtest.cpp 0030 mkpathjobtest.cpp 0031 threadtest.cpp 0032 udsentrytest.cpp 0033 deletejobtest.cpp 0034 deleteortrashjobtest.cpp 0035 urlutiltest.cpp 0036 batchrenamejobtest.cpp 0037 ksambasharetest.cpp 0038 krecentdocumenttest.cpp 0039 filefiltertest.cpp 0040 NAME_PREFIX "kiocore-" 0041 LINK_LIBRARIES KF6::KIOCore KF6::I18n KF6::ConfigCore KF6::Service Qt6::Test Qt6::Network Qt6::Xml 0042 ) 0043 0044 target_link_libraries(threadtest Qt6::Concurrent) 0045 0046 target_link_libraries(deleteortrashjobtest KF6::KIOWidgets) 0047 0048 # as per sysadmin request these are limited to linux only! https://invent.kde.org/frameworks/kio/-/merge_requests/1008 0049 if(CMAKE_SYSTEM_NAME STREQUAL "Linux" AND USE_FTPD_WSGIDAV_UNITTEST) 0050 include(FindGem) 0051 find_gem(ftpd) 0052 set_package_properties(Gem_ftpd PROPERTIES TYPE REQUIRED 0053 DESCRIPTION "Ruby ftpd gem. Either install it from your distribution's repos or by running `gem install --user-install ftpd`, which will install it under your user's home dir." 0054 PURPOSE "Ruby gem 'ftpd' required for testing the ftp worker." 0055 URL "https://rubygems.org/gems/ftpd") 0056 add_definitions(-DRubyExe_EXECUTABLE="${RubyExe_EXECUTABLE}") 0057 ecm_add_tests( 0058 ftptest.cpp 0059 NAME_PREFIX "kiocore-" 0060 LINK_LIBRARIES KF6::KIOCore KF6::I18n Qt6::Test Qt6::Network 0061 ) 0062 0063 find_package(WsgidavExe) 0064 set_package_properties(WsgidavExe PROPERTIES TYPE REQUIRED 0065 DESCRIPTION "Python webdav server. Can be easily installed by running `pip3 install wsgidav`, which will install it under your user's home dir." 0066 PURPOSE "wsgidav required for running the webdavtest." 0067 URL "https://pypi.org/project/WsgiDAV/") 0068 ecm_add_tests( 0069 webdavtest.cpp 0070 NAME_PREFIX "kiocore-" 0071 LINK_LIBRARIES KF6::KIOCore Qt6::Test Qt6::Network 0072 ) 0073 endif() 0074 0075 if(UNIX) 0076 ecm_add_tests( 0077 privilegejobtest.cpp 0078 NAME_PREFIX "kiocore-" 0079 LINK_LIBRARIES KF6::KIOCore KF6::I18n Qt6::Test Qt6::Network 0080 ) 0081 endif() 0082 0083 if (TARGET KF6::KIOGui) 0084 ecm_add_tests( 0085 favicontest.cpp 0086 openurljobtest.cpp 0087 kemailclientlauncherjobtest.cpp 0088 NAME_PREFIX "kiogui-" 0089 LINK_LIBRARIES KF6::KIOCore KF6::KIOGui KF6::WindowSystem Qt6::Test 0090 ) 0091 0092 foreach(_kprocessrunnerTest applicationlauncherjob commandlauncherjob kterminallauncherjob) 0093 foreach(_systemd "" "SCOPE" "SERVICE") 0094 set(_scope 0) 0095 set(_service 0) 0096 set(_forking 0) 0097 if(_systemd STREQUAL "SERVICE") 0098 set(KPR_TEST_TARGET ${_kprocessrunnerTest}_servicetest) 0099 set(_service 1) 0100 elseif(_systemd STREQUAL "SCOPE") 0101 set(KPR_TEST_TARGET ${_kprocessrunnerTest}_scopetest) 0102 set(_scope 1) 0103 else() 0104 set(KPR_TEST_TARGET ${_kprocessrunnerTest}_forkingtest) 0105 set(_forking 1) 0106 endif() 0107 add_executable(${KPR_TEST_TARGET} ${_kprocessrunnerTest}test.cpp) 0108 target_link_libraries(${KPR_TEST_TARGET} KF6::WindowSystem KF6::KIOCore KF6::KIOGui Qt6::Test) 0109 ecm_mark_as_test(${KPR_TEST_TARGET}) 0110 add_test(NAME ${KPR_TEST_TARGET} COMMAND ${KPR_TEST_TARGET}) 0111 set_tests_properties(${KPR_TEST_TARGET} PROPERTIES ENVIRONMENT 0112 "KDE_APPLICATIONS_AS_SERVICE=${_service}; 0113 KDE_APPLICATIONS_AS_SCOPE=${_scope}; 0114 KDE_APPLICATIONS_AS_FORKING=${_forking};" 0115 ) 0116 endforeach() 0117 endforeach() 0118 0119 target_link_libraries(favicontest Qt6::Concurrent) 0120 endif() 0121 0122 if (NOT ANDROID) 0123 if (TARGET KF6::KIOWidgets) 0124 ecm_add_tests( 0125 clipboardupdatertest.cpp 0126 dropjobtest.cpp 0127 kdynamicjobtrackernowidgetstest.cpp 0128 desktopexecparsertest.cpp 0129 kdirlistertest.cpp 0130 kdirmodeltest.cpp 0131 kfileitemactionstest.cpp 0132 fileundomanagertest.cpp 0133 kurlcompletiontest.cpp 0134 ${jobguitest_SRC} 0135 pastetest.cpp 0136 kurifiltersearchprovideractionstest.cpp 0137 NAME_PREFIX "kiowidgets-" 0138 LINK_LIBRARIES KF6::KIOCore KF6::KIOWidgets Qt6::Test Qt6::DBus 0139 ) 0140 0141 set(_libexec_dir_kf "${KDKE_INSTALL_FULL_LIBEXECDIR_KF}") 0142 target_compile_definitions(desktopexecparsertest PRIVATE "KDE_INSTALL_FULL_LIBEXECDIR_KF=${_libexec_dir_kf}") 0143 0144 set(kurifiltertest_libs KF6::KIOCore KF6::KIOWidgets Qt6::Test Qt6::DBus) 0145 0146 set(URIFILTER_COLON_TEST kiowidgets-kurifiltertest-colon-separator) 0147 ecm_add_test(kurifiltertest.cpp 0148 LINK_LIBRARIES ${kurifiltertest_libs} 0149 TEST_NAME ${URIFILTER_COLON_TEST} 0150 ) 0151 target_compile_definitions(${URIFILTER_COLON_TEST} PUBLIC "-DWEBSHORTCUT_SEPARATOR=':'") 0152 0153 set(URIFILTER_SPACE_TEST kiowidgets-kurifiltertest-space-separator) 0154 ecm_add_test(kurifiltertest.cpp 0155 LINK_LIBRARIES ${kurifiltertest_libs} 0156 TEST_NAME ${URIFILTER_SPACE_TEST} 0157 ) 0158 target_compile_definitions(${URIFILTER_SPACE_TEST} PUBLIC "-DWEBSHORTCUT_SEPARATOR=' '") 0159 0160 # Same as kurlcompletiontest, but with immediate return, and results posted by thread later 0161 ecm_add_test( 0162 kurlcompletiontest.cpp 0163 TEST_NAME kurlcompletiontest-nowait 0164 NAME_PREFIX "kiowidgets-" 0165 LINK_LIBRARIES KF6::KIOCore KF6::KIOWidgets Qt6::Test 0166 ) 0167 set_target_properties(kurlcompletiontest-nowait PROPERTIES COMPILE_FLAGS "-DNO_WAIT") 0168 0169 0170 endif() 0171 0172 if (TARGET KF6::KIOFileWidgets) 0173 include_directories(${CMAKE_SOURCE_DIR}/src/filewidgets ${CMAKE_BINARY_DIR}/src/filewidgets) 0174 ecm_add_tests( 0175 kurlnavigatortest.cpp 0176 kurlcomboboxtest.cpp 0177 kdiroperatortest.cpp 0178 kfilewidgettest.cpp 0179 kfilecustomdialogtest.cpp 0180 knewfilemenutest.cpp 0181 kfilecopytomenutest.cpp 0182 kfileplacesmodeltest.cpp 0183 kfileplacesviewtest.cpp 0184 kurlrequestertest.cpp 0185 kfilefiltercombotest.cpp 0186 NAME_PREFIX "kiofilewidgets-" 0187 LINK_LIBRARIES KF6::KIOFileWidgets KF6::KIOWidgets KF6::Bookmarks Qt6::Test KF6::I18n 0188 ) 0189 0190 # TODO: fix symbol exports for windows -> 'KSambaShare::KSambaShare': inconsistent dll linkage 0191 if (NOT WIN32) 0192 ecm_add_test( 0193 ksambashareprivatetest.cpp 0194 ../src/core/ksambashare.cpp 0195 ../src/core/kiocoredebug.cpp 0196 TEST_NAME ksambashareprivatetest 0197 NAME_PREFIX "kiocore-" 0198 LINK_LIBRARIES KF6::KIOCore Qt6::Test Qt6::Network 0199 ) 0200 endif() 0201 0202 set_tests_properties(kiofilewidgets-kfileplacesmodeltest PROPERTIES RUN_SERIAL TRUE) 0203 set_tests_properties(kiofilewidgets-kfileplacesviewtest PROPERTIES RUN_SERIAL TRUE) 0204 set_tests_properties(kiowidgets-kurifiltertest-space-separator PROPERTIES RUN_SERIAL TRUE) 0205 endif() 0206 endif() 0207 0208 # this should be done by cmake, see bug 371721 0209 if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang" OR CMAKE_CXX_COMPILER_ID STREQUAL "GNU") 0210 set_property(TARGET jobtest APPEND PROPERTY AUTOMOC_MOC_OPTIONS --include ${CMAKE_BINARY_DIR}/src/core/moc_predefs.h) 0211 endif() 0212 0213 # Benchmark, compiled, but not run automatically with ctest 0214 add_executable(kcoredirlister_benchmark kcoredirlister_benchmark.cpp) 0215 target_link_libraries(kcoredirlister_benchmark KF6::KIOCore KF6::KIOWidgets Qt6::Test) 0216 0217 add_executable(udsentry_api_comparison_benchmark udsentry_api_comparison_benchmark.cpp) 0218 target_link_libraries(udsentry_api_comparison_benchmark KF6::KIOCore KF6::KIOWidgets Qt6::Test) 0219 0220 add_executable(udsentry_benchmark udsentry_benchmark.cpp) 0221 target_link_libraries(udsentry_benchmark KF6::KIOCore KF6::KIOWidgets Qt6::Test)