Advance Wayland and KDE package bring-up
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
@@ -0,0 +1,230 @@
|
||||
remove_definitions(-DQT_NO_CAST_FROM_ASCII)
|
||||
remove_definitions(-DQT_NO_CAST_FROM_BYTEARRAY)
|
||||
|
||||
include(ECMAddTests)
|
||||
|
||||
find_package(Qt6Widgets REQUIRED)
|
||||
|
||||
########### unittests ###############
|
||||
|
||||
add_subdirectory(http)
|
||||
|
||||
find_package(Qt6Concurrent ${REQUIRED_QT_VERSION} REQUIRED NO_MODULE)
|
||||
|
||||
if (ACL_FOUND)
|
||||
set (kacltest_SRC kacltest.cpp)
|
||||
endif()
|
||||
|
||||
ecm_add_tests(
|
||||
${kacltest_SRC}
|
||||
listdirtest.cpp
|
||||
kmountpointtest.cpp
|
||||
upurltest.cpp
|
||||
dataprotocoltest.cpp
|
||||
jobtest.cpp
|
||||
jobremotetest.cpp
|
||||
kfileitemtest.cpp
|
||||
kprotocolinfotest.cpp
|
||||
globaltest.cpp
|
||||
mimetypefinderjobtest.cpp
|
||||
mkpathjobtest.cpp
|
||||
threadtest.cpp
|
||||
udsentrytest.cpp
|
||||
deletejobtest.cpp
|
||||
deleteortrashjobtest.cpp
|
||||
urlutiltest.cpp
|
||||
batchrenamejobtest.cpp
|
||||
ksambasharetest.cpp
|
||||
krecentdocumenttest.cpp
|
||||
filefiltertest.cpp
|
||||
NAME_PREFIX "kiocore-"
|
||||
LINK_LIBRARIES KF6::KIOCore KF6::I18n KF6::ConfigCore KF6::Service Qt6::Test Qt6::Network Qt6::Xml
|
||||
)
|
||||
|
||||
target_link_libraries(threadtest Qt6::Concurrent)
|
||||
|
||||
target_link_libraries(deleteortrashjobtest KF6::KIOWidgets)
|
||||
|
||||
ecm_add_test(
|
||||
connectionbackendtest.cpp
|
||||
../src/core/connectionbackend.cpp
|
||||
../src/core/kiocoreconnectiondebug.cpp
|
||||
TEST_NAME connectionbackendtest
|
||||
NAME_PREFIX "kiocore-"
|
||||
LINK_LIBRARIES KF6::KIOCore Qt6::Test Qt6::Network KF6::I18n
|
||||
)
|
||||
|
||||
# as per sysadmin request these are limited to linux only! https://invent.kde.org/frameworks/kio/-/merge_requests/1008
|
||||
if(CMAKE_SYSTEM_NAME STREQUAL "Linux" AND USE_FTPD_WSGIDAV_UNITTEST)
|
||||
include(FindGem)
|
||||
find_gem(ftpd)
|
||||
set_package_properties(Gem_ftpd PROPERTIES TYPE REQUIRED
|
||||
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."
|
||||
PURPOSE "Ruby gem 'ftpd' required for testing the ftp worker."
|
||||
URL "https://rubygems.org/gems/ftpd")
|
||||
add_definitions(-DRubyExe_EXECUTABLE="${RubyExe_EXECUTABLE}")
|
||||
ecm_add_tests(
|
||||
ftptest.cpp
|
||||
NAME_PREFIX "kiocore-"
|
||||
LINK_LIBRARIES KF6::KIOCore KF6::I18n Qt6::Test Qt6::Network
|
||||
)
|
||||
|
||||
find_package(WsgidavExe)
|
||||
set_package_properties(WsgidavExe PROPERTIES TYPE REQUIRED
|
||||
DESCRIPTION "Python webdav server. Can be easily installed by running `pip3 install wsgidav`, which will install it under your user's home dir."
|
||||
PURPOSE "wsgidav required for running the webdavtest."
|
||||
URL "https://pypi.org/project/WsgiDAV/")
|
||||
ecm_add_tests(
|
||||
webdavtest.cpp
|
||||
NAME_PREFIX "kiocore-"
|
||||
LINK_LIBRARIES KF6::KIOCore Qt6::Test Qt6::Network
|
||||
)
|
||||
endif()
|
||||
|
||||
if(UNIX)
|
||||
ecm_add_tests(
|
||||
privilegejobtest.cpp
|
||||
NAME_PREFIX "kiocore-"
|
||||
LINK_LIBRARIES KF6::KIOCore KF6::I18n Qt6::Test Qt6::Network
|
||||
)
|
||||
endif()
|
||||
|
||||
if (TARGET KF6::KIOGui)
|
||||
ecm_add_tests(
|
||||
favicontest.cpp
|
||||
openurljobtest.cpp
|
||||
kemailclientlauncherjobtest.cpp
|
||||
NAME_PREFIX "kiogui-"
|
||||
LINK_LIBRARIES KF6::KIOCore KF6::KIOGui KF6::WindowSystem Qt6::Test
|
||||
)
|
||||
|
||||
foreach(_kprocessrunnerTest applicationlauncherjob commandlauncherjob kterminallauncherjob)
|
||||
foreach(_systemd "" "SCOPE" "SERVICE")
|
||||
set(_scope 0)
|
||||
set(_service 0)
|
||||
set(_forking 0)
|
||||
if(_systemd STREQUAL "SERVICE")
|
||||
set(KPR_TEST_TARGET ${_kprocessrunnerTest}_servicetest)
|
||||
set(_service 1)
|
||||
elseif(_systemd STREQUAL "SCOPE")
|
||||
set(KPR_TEST_TARGET ${_kprocessrunnerTest}_scopetest)
|
||||
set(_scope 1)
|
||||
else()
|
||||
set(KPR_TEST_TARGET ${_kprocessrunnerTest}_forkingtest)
|
||||
set(_forking 1)
|
||||
endif()
|
||||
add_executable(${KPR_TEST_TARGET} ${_kprocessrunnerTest}test.cpp)
|
||||
target_link_libraries(${KPR_TEST_TARGET} KF6::WindowSystem KF6::KIOCore KF6::KIOGui Qt6::Test)
|
||||
ecm_mark_as_test(${KPR_TEST_TARGET})
|
||||
add_test(NAME ${KPR_TEST_TARGET} COMMAND ${KPR_TEST_TARGET})
|
||||
set_tests_properties(${KPR_TEST_TARGET} PROPERTIES ENVIRONMENT
|
||||
"_KDE_APPLICATIONS_AS_SERVICE=${_service};
|
||||
_KDE_APPLICATIONS_AS_SCOPE=${_scope};
|
||||
_KDE_APPLICATIONS_AS_FORKING=${_forking};"
|
||||
)
|
||||
endforeach()
|
||||
endforeach()
|
||||
|
||||
target_link_libraries(favicontest Qt6::Concurrent)
|
||||
endif()
|
||||
|
||||
if (NOT ANDROID)
|
||||
if (TARGET KF6::KIOWidgets)
|
||||
ecm_add_tests(
|
||||
clipboardupdatertest.cpp
|
||||
dropjobtest.cpp
|
||||
kdynamicjobtrackernowidgetstest.cpp
|
||||
desktopexecparsertest.cpp
|
||||
kdirlistertest.cpp
|
||||
kdirmodeltest.cpp
|
||||
kfileitemactionstest.cpp
|
||||
fileundomanagertest.cpp
|
||||
kurlcompletiontest.cpp
|
||||
${jobguitest_SRC}
|
||||
pastetest.cpp
|
||||
kurifiltersearchprovideractionstest.cpp
|
||||
NAME_PREFIX "kiowidgets-"
|
||||
LINK_LIBRARIES KF6::KIOCore KF6::KIOWidgets Qt6::Test ${DBUS_LIB}
|
||||
)
|
||||
|
||||
set(_libexec_dir_kf "${KDKE_INSTALL_FULL_LIBEXECDIR_KF}")
|
||||
target_compile_definitions(desktopexecparsertest PRIVATE "KDE_INSTALL_FULL_LIBEXECDIR_KF=${_libexec_dir_kf}")
|
||||
|
||||
set(kurifiltertest_libs KF6::KIOCore KF6::KIOWidgets Qt6::Test ${DBUS_LIB})
|
||||
|
||||
set(URIFILTER_COLON_TEST kiowidgets-kurifiltertest-colon-separator)
|
||||
ecm_add_test(kurifiltertest.cpp
|
||||
LINK_LIBRARIES ${kurifiltertest_libs}
|
||||
TEST_NAME ${URIFILTER_COLON_TEST}
|
||||
)
|
||||
target_compile_definitions(${URIFILTER_COLON_TEST} PUBLIC "-DWEBSHORTCUT_SEPARATOR=':'")
|
||||
|
||||
set(URIFILTER_SPACE_TEST kiowidgets-kurifiltertest-space-separator)
|
||||
ecm_add_test(kurifiltertest.cpp
|
||||
LINK_LIBRARIES ${kurifiltertest_libs}
|
||||
TEST_NAME ${URIFILTER_SPACE_TEST}
|
||||
)
|
||||
target_compile_definitions(${URIFILTER_SPACE_TEST} PUBLIC "-DWEBSHORTCUT_SEPARATOR=' '")
|
||||
|
||||
# Same as kurlcompletiontest, but with immediate return, and results posted by thread later
|
||||
ecm_add_test(
|
||||
kurlcompletiontest.cpp
|
||||
TEST_NAME kurlcompletiontest-nowait
|
||||
NAME_PREFIX "kiowidgets-"
|
||||
LINK_LIBRARIES KF6::KIOCore KF6::KIOWidgets Qt6::Test
|
||||
)
|
||||
set_target_properties(kurlcompletiontest-nowait PROPERTIES COMPILE_FLAGS "-DNO_WAIT")
|
||||
|
||||
|
||||
endif()
|
||||
|
||||
if (TARGET KF6::KIOFileWidgets)
|
||||
include_directories(${CMAKE_SOURCE_DIR}/src/filewidgets ${CMAKE_BINARY_DIR}/src/filewidgets)
|
||||
ecm_add_tests(
|
||||
kurlnavigatortest.cpp
|
||||
kurlcomboboxtest.cpp
|
||||
kdiroperatortest.cpp
|
||||
kfilewidgettest.cpp
|
||||
kfilecustomdialogtest.cpp
|
||||
knewfilemenutest.cpp
|
||||
kfilecopytomenutest.cpp
|
||||
kfileplacesmodeltest.cpp
|
||||
kfileplacesviewtest.cpp
|
||||
kurlrequestertest.cpp
|
||||
kfilefiltercombotest.cpp
|
||||
NAME_PREFIX "kiofilewidgets-"
|
||||
LINK_LIBRARIES KF6::KIOFileWidgets KF6::KIOWidgets KF6::Bookmarks Qt6::Test KF6::I18n KF6::WindowSystem
|
||||
)
|
||||
|
||||
# TODO: fix symbol exports for windows -> 'KSambaShare::KSambaShare': inconsistent dll linkage
|
||||
if (NOT WIN32)
|
||||
ecm_add_test(
|
||||
ksambashareprivatetest.cpp
|
||||
../src/core/ksambashare.cpp
|
||||
../src/core/kiocoredebug.cpp
|
||||
TEST_NAME ksambashareprivatetest
|
||||
NAME_PREFIX "kiocore-"
|
||||
LINK_LIBRARIES KF6::KIOCore Qt6::Test Qt6::Network
|
||||
)
|
||||
endif()
|
||||
|
||||
set_tests_properties(kiofilewidgets-kfileplacesmodeltest PROPERTIES RUN_SERIAL TRUE)
|
||||
set_tests_properties(kiofilewidgets-kfileplacesviewtest PROPERTIES RUN_SERIAL TRUE)
|
||||
set_tests_properties(kiowidgets-kurifiltertest-space-separator PROPERTIES RUN_SERIAL TRUE)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# this should be done by cmake, see bug 371721
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang" OR CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
||||
set_property(TARGET jobtest APPEND PROPERTY AUTOMOC_MOC_OPTIONS --include ${CMAKE_BINARY_DIR}/src/core/moc_predefs.h)
|
||||
endif()
|
||||
|
||||
# Benchmark, compiled, but not run automatically with ctest
|
||||
add_executable(kcoredirlister_benchmark kcoredirlister_benchmark.cpp)
|
||||
target_link_libraries(kcoredirlister_benchmark KF6::KIOCore KF6::KIOWidgets Qt6::Test)
|
||||
|
||||
add_executable(udsentry_api_comparison_benchmark udsentry_api_comparison_benchmark.cpp)
|
||||
target_link_libraries(udsentry_api_comparison_benchmark KF6::KIOCore KF6::KIOWidgets Qt6::Test)
|
||||
|
||||
add_executable(udsentry_benchmark udsentry_benchmark.cpp)
|
||||
target_link_libraries(udsentry_benchmark KF6::KIOCore KF6::KIOWidgets Qt6::Test)
|
||||
Reference in New Issue
Block a user