0d96e60b79
Summary: So far the method only operated on X11 clients. So when the last desktop got removed Wayland clients were still on it. As the auto test showed: this results in a crash. Credits go to code coverage as it showed that area as red, which made me look on it and realize this must be broken. Test Plan: New test case added Reviewers: #kwin, #plasma Subscribers: plasma-devel, kwin Tags: #kwin Differential Revision: https://phabricator.kde.org/D8082
72 lines
4.4 KiB
CMake
72 lines
4.4 KiB
CMake
add_definitions(-DKWINBACKENDPATH="${CMAKE_BINARY_DIR}/plugins/platforms/virtual/KWinWaylandVirtualBackend.so")
|
|
add_definitions(-DKWINQPAPATH="${CMAKE_BINARY_DIR}/plugins/qpa/")
|
|
add_subdirectory(helper)
|
|
|
|
add_library(KWinIntegrationTestFramework STATIC kwin_wayland_test.cpp test_helpers.cpp)
|
|
target_link_libraries(KWinIntegrationTestFramework kwin Qt5::Test)
|
|
|
|
function(integrationTest)
|
|
set(oneValueArgs NAME)
|
|
set(multiValueArgs SRCS LIBS)
|
|
cmake_parse_arguments(ARGS "" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
|
|
add_executable(${ARGS_NAME} ${ARGS_SRCS})
|
|
target_link_libraries(${ARGS_NAME} KWinIntegrationTestFramework kwin Qt5::Test ${ARGS_LIBS})
|
|
add_test(NAME kwin-${ARGS_NAME} COMMAND dbus-run-session ${CMAKE_CURRENT_BINARY_DIR}/${ARGS_NAME})
|
|
endfunction()
|
|
|
|
integrationTest(NAME testStart SRCS start_test.cpp)
|
|
integrationTest(NAME testTransientNoInput SRCS transient_no_input_test.cpp)
|
|
integrationTest(NAME testDontCrashGlxgears SRCS dont_crash_glxgears.cpp)
|
|
integrationTest(NAME testLockScreen SRCS lockscreen.cpp)
|
|
integrationTest(NAME testDecorationInput SRCS decoration_input_test.cpp)
|
|
integrationTest(NAME testInternalWindow SRCS internal_window.cpp)
|
|
integrationTest(NAME testTouchInput SRCS touch_input_test.cpp)
|
|
integrationTest(NAME testInputStackingOrder SRCS input_stacking_order.cpp)
|
|
integrationTest(NAME testPointerInput SRCS pointer_input.cpp)
|
|
integrationTest(NAME testPlatformCursor SRCS platformcursor.cpp)
|
|
integrationTest(NAME testDontCrashCancelAnimation SRCS dont_crash_cancel_animation.cpp)
|
|
integrationTest(NAME testTransientPlacmenet SRCS transient_placement.cpp)
|
|
integrationTest(NAME testDebugConsole SRCS debug_console_test.cpp)
|
|
integrationTest(NAME testDontCrashEmptyDeco SRCS dont_crash_empty_deco.cpp)
|
|
integrationTest(NAME testPlasmaSurface SRCS plasma_surface_test.cpp)
|
|
integrationTest(NAME testMaximized SRCS maximize_test.cpp)
|
|
integrationTest(NAME testShellClient SRCS shell_client_test.cpp)
|
|
integrationTest(NAME testDontCrashNoBorder SRCS dont_crash_no_border.cpp)
|
|
integrationTest(NAME testXClipboardSync SRCS xclipboardsync_test.cpp)
|
|
integrationTest(NAME testSceneOpenGL SRCS scene_opengl_test.cpp generic_scene_opengl_test.cpp)
|
|
integrationTest(NAME testSceneOpenGLES SRCS scene_opengl_es_test.cpp generic_scene_opengl_test.cpp)
|
|
integrationTest(NAME testNoXdgRuntimeDir SRCS no_xdg_runtime_dir_test.cpp)
|
|
integrationTest(NAME testScreenChanges SRCS screen_changes_test.cpp)
|
|
integrationTest(NAME testModiferOnlyShortcut SRCS modifier_only_shortcut_test.cpp)
|
|
integrationTest(NAME testTabBox SRCS tabbox_test.cpp)
|
|
integrationTest(NAME testWindowSelection SRCS window_selection_test.cpp)
|
|
integrationTest(NAME testPointerConstraints SRCS pointer_constraints_test.cpp)
|
|
integrationTest(NAME testKeyboardLayout SRCS keyboard_layout_test.cpp)
|
|
integrationTest(NAME testKeymapCreationFailure SRCS keymap_creation_failure_test.cpp)
|
|
integrationTest(NAME testShowingDesktop SRCS showing_desktop_test.cpp)
|
|
integrationTest(NAME testDontCrashUseractionsMenu SRCS dont_crash_useractions_menu.cpp)
|
|
integrationTest(NAME testKWinBindings SRCS kwinbindings_test.cpp)
|
|
integrationTest(NAME testVirtualDesktop SRCS virtual_desktop_test.cpp)
|
|
|
|
if (XCB_ICCCM_FOUND)
|
|
integrationTest(NAME testMoveResize SRCS move_resize_window_test.cpp LIBS XCB::ICCCM)
|
|
integrationTest(NAME testStruts SRCS struts_test.cpp LIBS XCB::ICCCM)
|
|
integrationTest(NAME testShade SRCS shade_test.cpp LIBS XCB::ICCCM)
|
|
integrationTest(NAME testDontCrashAuroraeDestroyDeco SRCS dont_crash_aurorae_destroy_deco.cpp LIBS XCB::ICCCM)
|
|
integrationTest(NAME testPlasmaWindow SRCS plasmawindow_test.cpp LIBS XCB::ICCCM)
|
|
integrationTest(NAME testScreenEdgeClientShow SRCS screenedge_client_show_test.cpp LIBS XCB::ICCCM)
|
|
integrationTest(NAME testX11DesktopWindow SRCS desktop_window_x11_test.cpp LIBS XCB::ICCCM)
|
|
integrationTest(NAME testXwaylandInput SRCS xwayland_input_test.cpp LIBS XCB::ICCCM)
|
|
integrationTest(NAME testWindowRules SRCS window_rules_test.cpp LIBS XCB::ICCCM)
|
|
integrationTest(NAME testX11Client SRCS x11_client_test.cpp LIBS XCB::ICCCM)
|
|
integrationTest(NAME testQuickTiling SRCS quick_tiling_test.cpp LIBS XCB::ICCCM)
|
|
integrationTest(NAME testGlobalShortcuts SRCS globalshortcuts_test.cpp LIBS XCB::ICCCM)
|
|
integrationTest(NAME testSceneQPainter SRCS scene_qpainter_test.cpp LIBS XCB::ICCCM)
|
|
|
|
if (KWIN_BUILD_ACTIVITIES)
|
|
integrationTest(NAME testActivities SRCS activities_test.cpp LIBS XCB::ICCCM)
|
|
endif()
|
|
endif()
|
|
|
|
add_subdirectory(scripting)
|
|
add_subdirectory(effects)
|