summaryrefslogtreecommitdiff
diff options
authorMarco Trevisan (Treviño) <mail@3v1n0.net>2017-09-15 16:47:59 +0200
committerMarco Trevisan (Treviño) <mail@3v1n0.net>2017-09-15 16:47:59 +0200
commit31b68c9327a6bdd93e845632b4d4e5039efbb344 (patch)
treeece8df317932b4af95e0a3e2aaf0ffaf4afcf4fd
parent5dde9a2211dadac7c7ebd79aad564f97f2d4e88d (diff)
Tests: split unit tests in single binaries, enable unstable tests
Use CMake foo, for getting the best for running tests in single mode and generating smart targets for them (bzr r4253.1.3)
-rw-r--r--tests/CMakeLists.txt699
-rw-r--r--tests/test-gestures/CMakeLists.txt4
-rw-r--r--tests/test_bamf_application.cpp25
-rw-r--r--tests/test_gnome_session_manager.cpp2
-rw-r--r--tests/test_icon_loader.cpp16
-rw-r--r--tests/test_launcher_controller.cpp2
-rw-r--r--tests/test_previews_application.cpp2
-rw-r--r--tests/test_previews_music_payment.cpp2
-rw-r--r--tests/test_previews_payment.cpp1
-rw-r--r--tests/test_showdesktop_handler.cpp2
10 files changed, 472 insertions, 283 deletions
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index c6ebb8f6e..94994ca13 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -76,9 +76,112 @@ add_subdirectory (test-get-transients)
enable_testing()
+set (UNITY_TEST_XLESS_BINARIES "")
+set (UNITY_TEST_XLESS_TARGETS "")
+
+set (UNITY_TEST_BINARIES "")
+set (UNITY_TEST_TARGETS "")
+set (UNITY_TEST_TARGETS_HEADLESS "")
+
+set (UNITY_TEST_SLOW_BINARIES "")
+set (UNITY_TEST_SLOW_TARGETS "")
+set (UNITY_TEST_SLOW_TARGETS_HEADLESS "")
+
+set (UNITY_TEST_DBUS_BINARIES "")
+set (UNITY_TEST_DBUS_TARGETS "")
+set (UNITY_TEST_DBUS_TARGETS_HEADLESS "")
+
+set (DUMMY_XORG_TEST_RUNNER ${CMAKE_CURRENT_SOURCE_DIR}/dummy-xorg-test-runner.sh)
+
+function (to_camel_case input output)
+ string (REGEX MATCHALL "(^|[-_])([^-_]+)" matches ${input})
+
+ foreach (match ${matches})
+ string (REGEX REPLACE "^[-_]" "" match ${match})
+ string (SUBSTRING ${match} 0 1 head)
+ string (SUBSTRING ${match} 1 -1 tail)
+ string (TOUPPER ${head} head)
+ string (TOLOWER ${tail} tail)
+ string (CONCAT camel ${camel} ${head} ${tail})
+ endforeach ()
+
+ set (${output} ${camel} PARENT_SCOPE)
+endfunction ()
+
+function (ensure_screaming_case input output)
+ set (screaming)
+ string (REPLACE "-" "_" screaming ${input})
+ string (TOUPPER ${screaming} screaming)
+
+ set (${output} ${screaming} PARENT_SCOPE)
+endfunction ()
+
+function (add_gtest basename namespace libs #[[extra_sources]])
+ set (extra_sources ${ARGN})
+ set (test_binary test-${basename})
+ string (REPLACE "-" "_" test_source ${test_binary})
+
+ to_camel_case (${namespace} namespace_camel)
+ to_camel_case (${basename} basename_camel)
+ ensure_screaming_case (${namespace} VAR_PREFIX)
+
+ add_executable (${test_binary} ${test_source}.cpp ${extra_sources})
+ target_link_libraries (${test_binary} ${libs})
+
+ add_test ("${namespace_camel}${basename_camel}" ${test_binary})
+ set (${VAR_PREFIX}_BINARIES ${${VAR_PREFIX}_BINARIES} ${test_binary} PARENT_SCOPE)
+
+ set (run_target run-${test_binary})
+ list (FIND ${VAR_PREFIX}_TARGETS ${run_target} _target_index)
+ if (${_target_index} EQUAL -1)
+ set (test_result ${CMAKE_CURRENT_BINARY_DIR}/${test_binary}.xml)
+ add_custom_target (${run_target}
+ COMMAND ./${test_binary} --gtest_output=xml:${test_result}
+ DEPENDS ${test_binary})
+ add_custom_target (clean-${test_binary}-result COMMAND rm -f ${test_result})
+ set (${VAR_PREFIX}_TARGETS ${${VAR_PREFIX}_TARGETS} ${run_target} PARENT_SCOPE)
+ endif ()
+
+ set (run_target run-${test_binary}-headless)
+ list (FIND ${VAR_PREFIX}_TARGETS ${run_target} _target_index)
+ if (${_target_index} EQUAL -1)
+ set (test_result ${CMAKE_CURRENT_BINARY_DIR}/${test_binary}-headless.xml)
+ add_custom_target (${run_target}
+ COMMAND env NUX_FALLBACK_TEXTURE=TRUE
+ ${DUMMY_XORG_TEST_RUNNER}
+ ./${test_binary} --gtest_output=xml:${test_result}
+ DEPENDS ${test_binary})
+ add_custom_target (clean-${test_binary}-headless-result COMMAND rm -f ${test_result})
+ set (${VAR_PREFIX}_TARGETS_HEADLESS ${${VAR_PREFIX}_TARGETS_HEADLESS} ${run_target} PARENT_SCOPE)
+ endif ()
+
+ # add_custom_command (OUTPUT ${test_result} COMMAND
+ # ./${test_binary} --gtest_output=xml:${test_result})
+ # set (GTEST_RESULTS ${GTEST_RESULTS} ${test_result} PARENT_SCOPE)
+
+ # add_custom_command (OUTPUT ${test_result}
+ # COMMAND env NUX_FALLBACK_TEXTURE=TRUE ${DUMMY_XORG_TEST_RUNNER}
+ # ./${test_binary} --gtest_output=xml:${test_result})
+ # set (GTEST_RESULTS_HEADLESS ${GTEST_RESULTS_HEADLESS} ${test_result} PARENT_SCOPE)
+endfunction ()
+
if (GMOCK_LIB AND
GMOCK_MAIN_LIB)
+ add_library (test-main-libs STATIC
+ test_main.cpp
+ logger_helper.cpp
+ )
+ # Build plain C files separately so they don't try to include the
+ # C++ pch.
+ add_library (test-libs-c STATIC
+ bamf-mock-application.c
+ bamf-mock-window.c
+ gmockmount.c
+ gmockvolume.c
+ ${CMAKE_SOURCE_DIR}/services/panel-service.c
+ )
+
# MockWindowManager
add_library (unity_mock_window_manager STATIC
MockWindowManager.cpp)
@@ -105,266 +208,287 @@ if (GMOCK_LIB AND
unity-shared
${LIBS})
-# gtest-slow, start moving things over that are slow running tests
- set (GTEST_SLOW_SOURCES
- test_main.cpp
- logger_helper.cpp
- mock-application.cpp
- test_switcher_controller_slow.cpp
- test_switcher_controller_class.cpp
- test_tooltip_manager.cpp
- )
+ # The actual test executable (xless) - do not put anything that requires X in here
- set (GTEST_SLOW_LIBS
- gtest
- gmock
- launcher-lib
- switcher-lib
- unity-shared
- unity-shared-standalone
- )
+ add_library (test-main-xless-libs STATIC
+ test_main_xless.cpp
+ logger_helper.cpp
+ )
- add_executable(test-gtest-slow ${GTEST_SLOW_SOURCES})
- target_link_libraries(test-gtest-slow ${GTEST_SLOW_LIBS})
- add_test(UnityGTestSlow test-gtest-slow)
-
-# The actual test executable (xless) - do not put anything that requires X in here
- set (GTEST_XLESS_SOURCES
- test_main_xless.cpp
- mock-application.cpp
- test_action_handle.cpp
- test_abstract_interface_generator.cpp
- test_animation_utils.cpp
- test_connection_manager.cpp
- test_delta_tracker.cpp
- test_em_converter.cpp
- test_glib_dbus_object.cpp
- test_glib_cancellable.cpp
- test_glib_object.cpp
- test_glib_object_utils.cpp
- test_glib_object_utils.h
- test_glib_signals.cpp
- test_glib_signals_utils.cpp
- test_glib_signals_utils.h
- test_glib_source.cpp
- test_glib_variant.cpp
- test_grabhandle.cpp
- test_gsettings_scopes.cpp
- test_desktop_utilities.cpp
- test_desktop_application_subject.cpp
- test_indicator.cpp
- test_indicator_appmenu.cpp
- test_indicator_entry.cpp
- test_indicators.cpp
- test_introspection_data.cpp
- test_favorite_store.cpp
- test_favorite_store_gsettings.cpp
- test_favorite_store_private.cpp
- test_launcher_entry_remote.cpp
- test_launcher_options.cpp
- test_layout_system.cpp
- test_model_iterator.cpp
- test_previews.cpp
- test_raw_pixel.cpp
- test_scope_data.cpp
- test_time_util.cpp
- test_ubus.cpp
- test_unityshell_private.cpp
- test_volume_imp.cpp
- ${UNITY_SRC}/UnityshellPrivate.cpp
- ${CMAKE_SOURCE_DIR}/plugins/unity-mt-grab-handles/src/unity-mt-grab-handle.cpp
- ${CMAKE_SOURCE_DIR}/plugins/unity-mt-grab-handles/src/unity-mt-grab-handle-group.cpp
- ${CMAKE_SOURCE_DIR}/plugins/unity-mt-grab-handles/src/unity-mt-grab-handle-impl-factory.cpp
- ${CMAKE_SOURCE_DIR}/plugins/unity-mt-grab-handles/src/unity-mt-grab-handle-layout.cpp
- ${CMAKE_SOURCE_DIR}/plugins/unity-mt-grab-handles/src/unity-mt-texture.cpp
- )
-
- set (GTEST_XLESS_LIBS
- gtest
- test-libs-c
- unity-shared
- unity-shared-standalone
- launcher-lib
- switcher-lib
- ${GMOCK_LIB}
- ${GMOCK_MAIN_LIB}
- ${LIBS}
- )
+ function (add_unity_test_xless basename #[[extra_sources]])
+ set (VAR_PREFIX "UNITY_TEST_XLESS")
+ set (UNITY_TEST_XLESS_LIBS
+ gtest
+ test-main-xless-libs
+ test-libs-c
+ unity-shared
+ unity-shared-standalone
+ launcher-lib
+ switcher-lib
+ ${GMOCK_LIB}
+ ${GMOCK_MAIN_LIB}
+ ${LIBS}
+ )
+
+ if (ENABLE_X_SUPPORT)
+ set (UNITY_TEST_XLESS_LIBS
+ ${UNITY_TEST_XLESS_LIBS}
+ shortcuts-lib
+ hud-lib
+ )
+ endif ()
+
+ add_gtest (${basename} ${VAR_PREFIX} "${${VAR_PREFIX}_LIBS}" ${ARGN})
+
+ set (${VAR_PREFIX}_BINARIES ${${VAR_PREFIX}_BINARIES} PARENT_SCOPE)
+ set (${VAR_PREFIX}_TARGETS ${${VAR_PREFIX}_TARGETS} PARENT_SCOPE)
+ endfunction ()
+
+ add_unity_test_xless (abstract-interface-generator)
+ add_unity_test_xless (action-handle)
+ add_unity_test_xless (animation-utils)
+ add_unity_test_xless (connection-manager)
+ add_unity_test_xless (delta-tracker)
+ add_unity_test_xless (desktop-application-subject)
+ add_unity_test_xless (desktop-utilities)
+ add_unity_test_xless (em-converter)
+ add_unity_test_xless (favorite-store)
+ add_unity_test_xless (favorite-store-gsettings)
+ add_unity_test_xless (favorite-store-private)
+ add_unity_test_xless (glib-cancellable)
+ add_unity_test_xless (glib-dbus-object)
+ add_unity_test_xless (glib-object test_glib_object_utils.cpp)
+ add_unity_test_xless (glib-signals test_glib_signals_utils.cpp)
+ add_unity_test_xless (glib-source)
+ add_unity_test_xless (glib-variant)
+ add_unity_test_xless (grabhandle
+ ${CMAKE_SOURCE_DIR}/plugins/unity-mt-grab-handles/src/unity-mt-grab-handle.cpp
+ ${CMAKE_SOURCE_DIR}/plugins/unity-mt-grab-handles/src/unity-mt-grab-handle-group.cpp
+ ${CMAKE_SOURCE_DIR}/plugins/unity-mt-grab-handles/src/unity-mt-grab-handle-impl-factory.cpp
+ ${CMAKE_SOURCE_DIR}/plugins/unity-mt-grab-handles/src/unity-mt-grab-handle-layout.cpp
+ ${CMAKE_SOURCE_DIR}/plugins/unity-mt-grab-handles/src/unity-mt-texture.cpp)
+ add_unity_test_xless (gsettings-scopes)
+ add_unity_test_xless (indicator)
+ add_unity_test_xless (indicator-appmenu)
+ add_unity_test_xless (indicator-entry)
+ add_unity_test_xless (indicators)
+ add_unity_test_xless (introspection-data)
+ add_unity_test_xless (launcher-entry-remote)
+ add_unity_test_xless (launcher-options)
+ add_unity_test_xless (layout-system)
+ add_unity_test_xless (model-iterator)
+ add_unity_test_xless (previews)
+ add_unity_test_xless (raw-pixel)
+ add_unity_test_xless (scope-data)
+ add_unity_test_xless (time-util)
+ add_unity_test_xless (ubus)
+ add_unity_test_xless (unityshell-private ${UNITY_SRC}/UnityshellPrivate.cpp)
+ add_unity_test_xless (volume-imp)
if (ENABLE_X_SUPPORT)
- set (GTEST_XLESS_SOURCES
- ${GTEST_XLESS_SOURCES}
- test_hud_private.cpp
- test_pointer_barrier.cpp
- test_shortcut_model.cpp
- test_shortcut_private.cpp
- ${LAUNCHER_SOURCES}
- )
- set (GTEST_XLESS_LIBS
- ${GTEST_XLESS_LIBS}
- shortcuts-lib
- hud-lib
- )
+ add_unity_test_xless (hud-private)
+ add_unity_test_xless (pointer-barrier)
+ add_unity_test_xless (shortcut-model)
+ add_unity_test_xless (shortcut-private)
endif ()
- add_executable(test-gtest-xless ${GTEST_XLESS_SOURCES})
- target_link_libraries(test-gtest-xless ${GTEST_XLESS_LIBS})
- add_test(UnityGTestXless test-gtest-xless)
-
-# tests that require dbus, must not require X
- add_executable(test-gtest-dbus
- test_categories.cpp
- test_dbus_indicators.cpp
- test_filter.cpp
- test_glib_dbus_proxy.cpp
- test_hud.cpp
- test_main_dbus.cpp
- test_model.cpp
- test_utils.h
- test_ratings_filter.cpp
- test_results.cpp
- test_scope.cpp
- test_scope_filter.cpp
- #test_scope_proxy.cpp
- test_tracks.cpp
- )
- target_link_libraries(test-gtest-dbus gtest unity-shared ${LIBS})
- add_test(UnityGTestDBus test-gtest-dbus)
- add_dependencies(test-gtest-dbus unity-core-${UNITY_API_VERSION} unity-shared test-gtest-service gtest)
+ # tests that require dbus, must not require X
+ add_library (test-main-dbus-libs STATIC
+ test_main_dbus.cpp
+ logger_helper.cpp
+ )
+ function (add_unity_test_dbus basename #[[extra_sources]])
+ set (VAR_PREFIX "UNITY_TEST_DBUS")
+ set (UNITY_TEST_DBUS_LIBS gtest unity-shared test-main-dbus-libs ${LIBS})
+
+ set (test_binary test-${basename})
+ add_custom_target (run-${test_binary}
+ COMMAND dbus-test-runner --max-wait=300 --task
+ ./test-gtest-service --task-name test-service
+ --task=./${test_binary} --task-name=${test_binary}
+ --wait-for=com.canonical.Unity.Test
+ --parameter=--gtest_output=xml:./${test_binary}.xml)
+ set (${VAR_PREFIX}_TARGETS ${${VAR_PREFIX}_TARGETS} run-${test_binary})
+
+ add_gtest (${basename} ${VAR_PREFIX} "${${VAR_PREFIX}_LIBS}" ${ARGN})
+ add_dependencies (${test_binary} test-gtest-service) ##rename
+
+ set (${VAR_PREFIX}_BINARIES ${${VAR_PREFIX}_BINARIES} PARENT_SCOPE)
+ set (${VAR_PREFIX}_TARGETS ${${VAR_PREFIX}_TARGETS} PARENT_SCOPE)
+ endfunction ()
+
+ # test-gtest-dbus
+ add_unity_test_dbus (categories)
+ add_unity_test_dbus (dbus-indicators)
+ add_unity_test_dbus (filter)
+ add_unity_test_dbus (glib-dbus-proxy)
+ add_unity_test_dbus (hud)
+ add_unity_test_dbus (main-dbus)
+ add_unity_test_dbus (model)
+ add_unity_test_dbus (ratings-filter)
+ add_unity_test_dbus (results)
+ add_unity_test_dbus (scope)
+ add_unity_test_dbus (scope-filter)
+ add_unity_test_dbus (scope-proxy)
+ add_unity_test_dbus (tracks)
+
+ # Tests that require X
if (ENABLE_X_SUPPORT)
-# Tests that require X
- add_executable(test-gtest
- mock-application.cpp
- mock_results.cpp
- logger_helper.cpp
- test_main.cpp
- test_action_link.cpp
- test_application_launcher_icon.cpp
- test_bamf_application.cpp
- test_bfb_launcher_icon.cpp
- test_decorations_input_mixer.cpp
- test_decorations_widgets.cpp
- test_dashview.cpp
- test_dashview_impl.cpp
- test_dash_controller.cpp
- test_desktop_launcher_icon.cpp
- test_device_launcher_section.cpp
- test_error_preview.cpp
- test_edge_barrier_controller.cpp
- test_expo_launcher_icon.cpp
- test_file_manager_launcher_icon.cpp
- test_filter_widgets.cpp
- test_glib_dbus_server.cpp
- test_gnome_session_manager.cpp
- test_gtk_icon_info.cpp
- test_hud_button.cpp
- test_hud_controller.cpp
- test_hud_launcher_icon.cpp
- test_hud_view.cpp
- test_icon_loader.cpp
- test_im_text_entry.cpp
- test_keyboard_util.cpp
- test_launcher.cpp
- test_launcher_controller.cpp
- test_launcher_drag_window.cpp
- test_launcher_hide_machine.cpp
- test_launcher_hover_machine.cpp
- test_launcher_icon.cpp
- test_launcher_minimize_speed.cpp
- test_launcher_model.cpp
- test_launcher_tooltip.cpp
- test_lockscreen_controller.cpp
- test_panel_controller.cpp
- test_panel_indicators_view.cpp
- test_panel_indicator_entry_dropdown_view.cpp
- test_panel_menu_view.cpp
- test_panel_service.cpp
- test_panel_style.cpp
- test_panel_tray.cpp
- test_panel_view.cpp
- test_places_group.cpp
- test_preview_player.cpp
- test_previews_application.cpp
- test_previews_generic.cpp
- test_previews_movie.cpp
- test_previews_music.cpp
- test_previews_music_payment.cpp
- test_previews_payment.cpp
- test_previews_social.cpp
- test_quicklist_manager.cpp
- test_quicklist_menu_item.cpp
- test_quicklist_view.cpp
- test_result_renderer.cpp
- test_resultviewgrid.cpp
- test_scope_bar.cpp
- test_scope_view.cpp
- test_screensaver_dbus_manager.cpp
- test_searchbar.cpp
- test_session_button.cpp
- test_session_controller.cpp
- test_session_view.cpp
- test_shortcut_controller.cpp
- test_shortcut_modeller_compiz.cpp
- test_shortcut_view.cpp
- test_single_monitor_launcher_icon.cpp
- test_showdesktop_handler.cpp
- test_software_center_launcher_icon.cpp
- test_spread_filter.cpp
- test_static_cairo_text.cpp
- test_switcher_controller.cpp
- test_switcher_controller_class.cpp
- test_switcher_model.cpp
- test_switcher_view.cpp
- test_systemd_wrapper.cpp
- test_tabiterator.cpp
- test_texture_cache.cpp
- test_text_input.cpp
- test_thumbnail_generator.cpp
- test_trash_launcher_icon.cpp
- test_unity_settings.cpp
- test_unity_window_style.cpp
- test_unity_window_view.cpp
- test_upstart_wrapper.cpp
- test_user_authenticator_pam.cpp
- test_volume_launcher_icon.cpp
- test_window_buttons.cpp
- test_xdnd_manager_imp.cpp
- test_xdnd_start_stop_notifier_imp.cpp
- ${UNITY_SRC}/UnityShowdesktopHandler.cpp
- ${CMAKE_SOURCE_DIR}/plugins/unityshell/src/WindowMinimizeSpeedController.cpp
- ${CMAKE_SOURCE_DIR}/services/panel-service.c
- )
- # Build plain C files separately so they don't try to include the
- # C++ pch.
- add_library(test-libs-c STATIC
- bamf-mock-application.c
- bamf-mock-window.c
- gmockmount.c
- gmockvolume.c
- )
+ function (add_unity_test basename #[[extra_sources]])
+ set (VAR_PREFIX UNITY_TEST)
+ set (UNITY_TEST_LIBS
+ test-main-libs
+ test-libs-c
+ ${LIBS}
+ gtest
+ gmock
+ dash-lib
+ decorations-lib
+ hud-lib
+ launcher-lib
+ lockscreen-lib
+ panel-lib
+ pam
+ previews-lib
+ shortcuts-lib
+ shutdown-lib
+ switcher-lib
+ unity-shared
+ unity-shared-bamf
+ unity-shared-standalone)
+
+ add_gtest (${basename} ${VAR_PREFIX} "${${VAR_PREFIX}_LIBS}" ${ARGN})
+
+ set (${VAR_PREFIX}_BINARIES ${${VAR_PREFIX}_BINARIES} PARENT_SCOPE)
+ set (${VAR_PREFIX}_TARGETS ${${VAR_PREFIX}_TARGETS} PARENT_SCOPE)
+ set (${VAR_PREFIX}_TARGETS_HEADLESS ${${VAR_PREFIX}_TARGETS_HEADLESS} PARENT_SCOPE)
+ endfunction ()
+
+ add_unity_test (action-link)
+ add_unity_test (application-launcher-icon mock-application.cpp)
+ add_unity_test (bamf-application
+ mock-application.cpp)
+ add_unity_test (bfb-launcher-icon)
+ add_unity_test (decorations-input-mixer)
+ add_unity_test (decorations-widgets)
+ add_unity_test (dashview)
+ add_unity_test (dashview-impl)
+ add_unity_test (dash-controller)
+ add_unity_test (desktop-launcher-icon)
+ add_unity_test (device-launcher-section)
+ add_unity_test (error-preview)
+ add_unity_test (edge-barrier-controller)
+ add_unity_test (expo-launcher-icon)
+ add_unity_test (file-manager-launcher-icon)
+ add_unity_test (filter-widgets)
+ add_unity_test (glib-dbus-server)
+ add_unity_test (gnome-session-manager)
+ add_unity_test (gtk-icon-info)
+ add_unity_test (hud-button)
+ add_unity_test (hud-controller)
+ add_unity_test (hud-launcher-icon)
+ add_unity_test (hud-view)
+ add_unity_test (icon-loader)
+ add_unity_test (im-text-entry)
+ add_unity_test (keyboard-util)
+ add_unity_test (launcher mock-application.cpp)
+ add_unity_test (launcher-controller mock-application.cpp)
+ add_unity_test (launcher-drag-window)
+ add_unity_test (launcher-hide-machine)
+ add_unity_test (launcher-hover-machine)
+ add_unity_test (launcher-icon)
+ add_unity_test (launcher-minimize-speed
+ ${CMAKE_SOURCE_DIR}/plugins/unityshell/src/WindowMinimizeSpeedController.cpp)
+ add_unity_test (launcher-model)
+ add_unity_test (launcher-tooltip)
+ add_unity_test (lockscreen-controller)
+ add_unity_test (panel-controller)
+ add_unity_test (panel-indicators-view)
+ add_unity_test (panel-indicator-entry-dropdown-view)
+ add_unity_test (panel-menu-view)
+ add_unity_test (panel-service)
+ add_unity_test (panel-style)
+ add_unity_test (panel-tray)
+ add_unity_test (panel-view)
+ add_unity_test (places-group)
+ add_unity_test (preview-player)
+ add_unity_test (previews-application)
+ add_unity_test (previews-generic)
+ add_unity_test (previews-movie)
+ add_unity_test (previews-music)
+ add_unity_test (previews-music-payment)
+ add_unity_test (previews-payment)
+ add_unity_test (previews-social)
+ add_unity_test (quicklist-manager)
+ add_unity_test (quicklist-menu-item)
+ add_unity_test (quicklist-view)
+ add_unity_test (result-renderer)
+ add_unity_test (resultviewgrid)
+ add_unity_test (scope-bar)
+ add_unity_test (scope-view)
+ add_unity_test (screensaver-dbus-manager)
+ add_unity_test (searchbar)
+ add_unity_test (session-button)
+ add_unity_test (session-controller)
+ add_unity_test (session-view)
+ add_unity_test (shortcut-controller)
+ add_unity_test (shortcut-modeller-compiz)
+ add_unity_test (shortcut-view)
+ add_unity_test (single-monitor-launcher-icon)
+ add_unity_test (showdesktop-handler
+ ${UNITY_SRC}/UnityShowdesktopHandler.cpp)
+ add_unity_test (software-center-launcher-icon mock-application.cpp)
+ add_unity_test (spread-filter)
+ add_unity_test (static-cairo-text)
+ add_unity_test (switcher-controller
+ test_switcher_controller_class.cpp)
+ add_unity_test (switcher-model)
+ add_unity_test (switcher-view)
+ add_unity_test (systemd-wrapper)
+ add_unity_test (tabiterator)
+ add_unity_test (texture-cache)
+ add_unity_test (text-input)
+ add_unity_test (thumbnail-generator)
+ add_unity_test (trash-launcher-icon mock-application.cpp)
+ add_unity_test (unity-settings)
+ add_unity_test (unity-window-style)
+ add_unity_test (unity-window-view)
+ add_unity_test (upstart-wrapper)
+ add_unity_test (user-authenticator-pam)
+ add_unity_test (volume-launcher-icon)
+ add_unity_test (window-buttons)
+ add_unity_test (xdnd-manager-imp)
+ add_unity_test (xdnd-start-stop-notifier-imp)
+
+ #
+ # Slow tests
+ #
+ function (add_unity_test_slow basename #[[extra_sources]])
+ set (VAR_PREFIX "UNITY_TEST_SLOW")
+ set (UNITY_TEST_SLOW_LIBS
+ test-main-libs
+ gtest
+ gmock
+ launcher-lib
+ switcher-lib
+ unity-shared
+ unity-shared-standalone
+ )
+
+ add_gtest (${basename} ${VAR_PREFIX} "${${VAR_PREFIX}_LIBS}" ${ARGN})
+
+ set (${VAR_PREFIX}_BINARIES ${${VAR_PREFIX}_BINARIES} PARENT_SCOPE)
+ set (${VAR_PREFIX}_TARGETS ${${VAR_PREFIX}_TARGETS} PARENT_SCOPE)
+ set (${VAR_PREFIX}_TARGETS_HEADLESS ${${VAR_PREFIX}_TARGETS_HEADLESS} PARENT_SCOPE)
+ endfunction ()
+
+ add_unity_test_slow (switcher-controller-slow
+ test_switcher_controller_class.cpp
+ mock-application.cpp)
+ add_unity_test_slow (tooltip-manager)
- target_link_libraries(test-gtest
- ${LIBS}
- test-libs-c
- gtest
- gmock
- dash-lib
- decorations-lib
- hud-lib
- launcher-lib
- lockscreen-lib
- panel-lib
- pam
- previews-lib
- shortcuts-lib
- shutdown-lib
- switcher-lib
- unity-shared
- unity-shared-bamf
- unity-shared-standalone)
- add_test(UnityGTest test-gtest)
endif (ENABLE_X_SUPPORT)
endif (GMOCK_LIB AND
GMOCK_MAIN_LIB)
@@ -376,18 +500,6 @@ endif()
#
# check target
#
-set (TEST_RESULT_DIR ${CMAKE_BINARY_DIR}/tests)
-set (TEST_RESULT_XML ${TEST_RESULT_DIR}/test-results.xml)
-set (TEST_RESULT_HTML ${TEST_RESULT_DIR}/test-results.html)
-set (DUMMY_XORG_TEST_RUNNER ${CMAKE_CURRENT_SOURCE_DIR}/dummy-xorg-test-runner.sh)
-if (ENABLE_X_SUPPORT)
- set (GTEST_TEST_COMMAND ./test-gtest --gtest_output=xml:./test-gtest.xml)
- set (GTEST_TEST_COMMAND_GESTURES ./test-gestures/test-gestures --gtest_output=xml:./test-gestures.xml)
-endif (ENABLE_X_SUPPORT)
-set (GTEST_TEST_COMMAND_XLESS ./test-gtest-xless --gtest_output=xml:./test-gtest-xless.xml)
-set (GTEST_TEST_COMMAND_SLOW ./test-gtest-slow --gtest_output=xml:./test-gtest-slow.xml)
-set (GTEST_TEST_COMMAND_DBUS dbus-test-runner --max-wait=300 --task ./test-gtest-service --task-name test-service --task=./test-gtest-dbus --task-name=test-gtest-dbus --wait-for=com.canonical.Unity.Test --parameter=--gtest_output=xml:./test-gtest-dbus.xml --parameter=--gtest_filter=-TestCategoriesChanging*)
-
set (TEST_COMMAND_XLESS
${GTEST_TEST_COMMAND_XLESS}
&& ${GTEST_TEST_COMMAND_GESTURES}
@@ -405,17 +517,66 @@ set (TEST_COMMAND_HEADLESS
&& ${TEST_COMMAND_XLESS})
if (GMOCK_SOURCE_DIR)
+ add_custom_target (tests-xless DEPENDS ${UNITY_TEST_XLESS_BINARIES})
+ add_custom_target (test-gtest-xless DEPENDS tests-xless)
+ add_custom_target (check-xless DEPENDS ${UNITY_TEST_XLESS_TARGETS})
+
+ add_custom_target (tests-dbus DEPENDS ${UNITY_TEST_DBUS_BINARIES})
+ add_custom_target (test-gtest-dbus DEPENDS tests-dbus)
+ add_custom_target (check-dbus DEPENDS ${UNITY_TEST_DBUS_TARGETS})
+
+ add_custom_target (clean-tests-results COMMAND rm -f ${CMAKE_CURRENT_BINARY_DIR}/test-*.xml)
+
if (ENABLE_X_SUPPORT)
- add_custom_target (check COMMAND ${TEST_COMMAND} DEPENDS test-gtest test-gtest-slow test-gtest-xless test-gtest-dbus test-gestures)
- add_custom_target (check-headless COMMAND ${TEST_COMMAND_HEADLESS} DEPENDS test-gtest test-gtest-slow test-gtest-xless test-gtest-dbus test-gestures)
- add_custom_target (gcheck COMMAND ${DBUS_TEST_COMMAND} DEPENDS test-gtest test-gtest-xless)
+ add_custom_target (test-gtest DEPENDS ${UNITY_TEST_BINARIES})
+ add_custom_target (check-gtest DEPENDS ${UNITY_TEST_TARGETS})
+ add_custom_target (check-gtest-headless DEPENDS ${UNITY_TEST_TARGETS_HEADLESS})
+
+ add_custom_target (test-gtest-slow DEPENDS ${UNITY_TEST_SLOW_BINARIES})
+ add_custom_target (check-gtest-slow DEPENDS ${UNITY_TEST_SLOW_TARGETS})
+ add_custom_target (check-gtest-slow-headless DEPENDS ${UNITY_TEST_SLOW_TARGETS_HEADLESS})
+
+ add_custom_target (tests DEPENDS
+ test-gtest
+ test-gtest-slow
+ test-gtest-xless
+ test-gtest-dbus
+ test-gestures
+ )
+
+ add_custom_target (check DEPENDS
+ check-xless
+ check-gestures
+ check-gtest
+ check-gtest-slow
+ check-dbus
+ )
+
+ add_custom_target (check-headless DEPENDS
+ check-xless
+ check-gestures
+ check-gtest-headless
+ check-gtest-slow-headless
+ check-dbus
+ )
+
+ add_custom_target (gcheck DEPENDS check)
else ()
- add_custom_target (check COMMAND ${TEST_COMMAND} DEPENDS test-gtest-xless test-gtest-dbus)
- add_custom_target (check-headless COMMAND ${TEST_COMMAND_XLESS} DEPENDS test-gtest-xless test-gtest-dbus)
- add_custom_target (gcheck COMMAND ${DBUS_TEST_COMMAND} DEPENDS test-gtest-xless)
+ add_custom_target (tests DEPENDS
+ test-gtest-xless
+ test-gtest-dbus
+ )
+
+ add_custom_target (check DEPENDS
+ check-xless
+ check-dbus)
+
+ add_custom_target (check-headless DEPENDS check)
+ add_custom_target (gcheck DEPENDS check)
endif ()
- add_custom_target (check-report COMMAND ${TEST_UNIT_COMMAND} && gtester-report ${TEST_RESULT_XML} > ${TEST_RESULT_HTML})
+
endif (GMOCK_SOURCE_DIR)
+
# make target to allow devs to run "make autopilot" from build dir:
set (AUTOPILOTDIR "${CMAKE_CURRENT_SOURCE_DIR}/autopilot")
# Rules to install autopilot files and executable script:
diff --git a/tests/test-gestures/CMakeLists.txt b/tests/test-gestures/CMakeLists.txt
index 193e0db18..a0e1a5517 100644
--- a/tests/test-gestures/CMakeLists.txt
+++ b/tests/test-gestures/CMakeLists.txt
@@ -75,5 +75,7 @@ if (GMOCK_SOURCE_DIR)
add_test(UnityGTestGestures test-gestures)
add_dependencies(test-gestures gtest unity-core-${UNITY_API_VERSION})
- add_custom_target (check-gestures COMMAND ./test-gestures DEPENDS test-gestures)
+ add_custom_target (check-gestures COMMAND
+ ./test-gestures --gtest_output=xml:${CMAKE_CURRENT_BINARY_DIR}/../test-gestures.xml
+ DEPENDS test-gestures)
endif (GMOCK_SOURCE_DIR)
diff --git a/tests/test_bamf_application.cpp b/tests/test_bamf_application.cpp
index 9557af7e8..9e0812d2c 100644
--- a/tests/test_bamf_application.cpp
+++ b/tests/test_bamf_application.cpp
@@ -28,6 +28,31 @@
#include <UnityCore/GLibWrapper.h>
+namespace unity
+{
+
+bool operator==(ApplicationPtr const& lhs, ApplicationPtr const& rhs)
+{
+ return (lhs.get() == rhs.get() || (lhs && rhs && *lhs == *rhs));
+}
+
+bool operator!=(ApplicationPtr const& lhs, ApplicationPtr const& rhs)
+{
+ return !(lhs == rhs);
+}
+
+bool operator==(ApplicationWindowPtr const& lhs, ApplicationWindowPtr const& rhs)
+{
+ return (lhs.get() == rhs.get() || (lhs && rhs && *lhs == *rhs));
+}
+
+bool operator!=(ApplicationWindowPtr const& lhs, ApplicationWindowPtr const& rhs)
+{
+ return !(lhs == rhs);
+}
+
+}
+
namespace {
unity::StandaloneWindow::Ptr AddFakeWindowToWM(Window xid, bool mapped)
diff --git a/tests/test_gnome_session_manager.cpp b/tests/test_gnome_session_manager.cpp
index a5ba3eed4..d44dd0a20 100644
--- a/tests/test_gnome_session_manager.cpp
+++ b/tests/test_gnome_session_manager.cpp
@@ -1139,7 +1139,7 @@ TEST_F(TestGnomeSessionManager, LogindUnLock)
EXPECT_TRUE(unlock_emitted);
}
-TEST_F(TestGnomeSessionManager, UNSTABLE_TEST(NoLockWhenLockingDisabled))
+TEST_F(TestGnomeSessionManager, NoLockWhenLockingDisabled)
{
bool lock_emitted = false;
bool screensaver_emitted = false;
diff --git a/tests/test_icon_loader.cpp b/tests/test_icon_loader.cpp
index e6cfbfc08..5223efc24 100644
--- a/tests/test_icon_loader.cpp
+++ b/tests/test_icon_loader.cpp
@@ -104,7 +104,7 @@ TEST_F(TestIconLoader, TestGetDefault)
EXPECT_EQ(&icon_loader, &IconLoader::GetDefault());
}
-TEST_F(TestIconLoader, UNSTABLE_TEST(TestGetOneIcon))
+TEST_F(TestIconLoader, TestGetOneIcon)
{
LoadResult load_result;
@@ -118,11 +118,11 @@ TEST_F(TestIconLoader, UNSTABLE_TEST(TestGetOneIcon))
EXPECT_TRUE(IsValidPixbuf(load_result.pixbuf));
}
-TEST_F(TestIconLoader, UNSTABLE_TEST(TestGetAnnotatedIcon))
+TEST_F(TestIconLoader, TestGetAnnotatedIcon)
{
LoadResult load_result;
- auto handle = icon_loader.LoadFromGIconString(". UnityProtocolAnnotatedIcon %7B'base-icon':%20%3C'cmake'%3E,%20'ribbon':%20%3C'foo'%3E%7D", -1, 48, sigc::mem_fun(load_result,
+ auto handle = icon_loader.LoadFromGIconString(". UnityProtocolAnnotatedIcon %7B'base-icon':%20%3C'python'%3E,%20'ribbon':%20%3C'foo'%3E%7D", -1, 48, sigc::mem_fun(load_result,
&LoadResult::IconLoaded));
handles_.push_back(handle);
@@ -132,11 +132,11 @@ TEST_F(TestIconLoader, UNSTABLE_TEST(TestGetAnnotatedIcon))
EXPECT_TRUE(IsValidPixbuf(load_result.pixbuf));
}
-TEST_F(TestIconLoader, UNSTABLE_TEST(TestGetColorizedIcon))
+TEST_F(TestIconLoader, TestGetColorizedIcon)
{
LoadResult load_result;
- auto handle = icon_loader.LoadFromGIconString(". UnityProtocolAnnotatedIcon %7B'base-icon':%20%3C'cmake'%3E,%20'colorize-value':%20%3Cuint32%204278190335%3E%7D", -1, 48, sigc::mem_fun(load_result,
+ auto handle = icon_loader.LoadFromGIconString(". UnityProtocolAnnotatedIcon %7B'base-icon':%20%3C'python'%3E,%20'colorize-value':%20%3Cuint32%204278190335%3E%7D", -1, 48, sigc::mem_fun(load_result,
&LoadResult::IconLoaded));
handles_.push_back(handle);
@@ -146,7 +146,7 @@ TEST_F(TestIconLoader, UNSTABLE_TEST(TestGetColorizedIcon))
EXPECT_TRUE(IsValidPixbuf(load_result.pixbuf));
}
-TEST_F(TestIconLoader, UNSTABLE_TEST(TestGetOneIconManyTimes))
+TEST_F(TestIconLoader, TestGetOneIconManyTimes)
{
std::vector<LoadResult> results;
std::vector<IconLoader::Handle> handles;
@@ -176,7 +176,7 @@ TEST_F(TestIconLoader, UNSTABLE_TEST(TestGetOneIconManyTimes))
CheckResults(results);
}
-TEST_F(TestIconLoader, UNSTABLE_TEST(TestGetManyIcons))
+TEST_F(TestIconLoader, TestGetManyIcons)
{
std::vector<LoadResult> results;
int i = 0;
@@ -198,7 +198,7 @@ TEST_F(TestIconLoader, UNSTABLE_TEST(TestGetManyIcons))
CheckResults(results);
}
-TEST_F(TestIconLoader, UNSTABLE_TEST(TestCancelSome))
+TEST_F(TestIconLoader, TestCancelSome)
{
std::vector<LoadResult> results;
std::vector<IconLoader::Handle> handles;
diff --git a/tests/test_launcher_controller.cpp b/tests/test_launcher_controller.cpp
index 3c99ca414..6a6df5c48 100644
--- a/tests/test_launcher_controller.cpp
+++ b/tests/test_launcher_controller.cpp
@@ -1719,7 +1719,7 @@ TEST_F(TestLauncherController, UpdateNumWorkspacesEnable)
EXPECT_TRUE(lc.Impl()->expo_icon_->IsVisible());
}
-TEST_F(TestLauncherController, UpdateSelectionChanged)
+TEST_F(TestLauncherController, UNSTABLE_TEST(UpdateSelectionChanged))
{
UBusManager manager;
std::string last_selection_change;
diff --git a/tests/test_previews_application.cpp b/tests/test_previews_application.cpp
index b0b8fe1ba..77ea7cc20 100644
--- a/tests/test_previews_application.cpp
+++ b/tests/test_previews_application.cpp
@@ -98,7 +98,7 @@ public:
nux::ObjectPtr<nux::BaseWindow> parent_window_;
dash::Preview::Ptr preview_model_;
- previews::Style panel_style;
+ previews::Style previews_style;
dash::Style dash_style;
ThumbnailGenerator thumbnail_generator;
};
diff --git a/tests/test_previews_music_payment.cpp b/tests/test_previews_music_payment.cpp
index 637b00c8d..daa6a3b47 100644
--- a/tests/test_previews_music_payment.cpp
+++ b/tests/test_previews_music_payment.cpp
@@ -125,8 +125,8 @@ class TestMusicPaymentPreview : public ::testing::Test
UnityProtocolPreviewPaymentType preview_type;
// needed for styles
+ previews::Style previews_style;
dash::Style dash_style;
-
};
TEST_F(TestMusicPaymentPreview, TestContentLoading)
diff --git a/tests/test_previews_payment.cpp b/tests/test_previews_payment.cpp
index a395ce0aa..53f541743 100644
--- a/tests/test_previews_payment.cpp
+++ b/tests/test_previews_payment.cpp
@@ -145,6 +145,7 @@ class TestPaymentPreview : public ::testing::Test
dash::Preview::Ptr preview_model;
// needed for styles
+ previews::Style previews_style;
dash::Style dash_style;
};
diff --git a/tests/test_showdesktop_handler.cpp b/tests/test_showdesktop_handler.cpp
index b7831754e..eaa5de936 100644
--- a/tests/test_showdesktop_handler.cpp
+++ b/tests/test_showdesktop_handler.cpp
@@ -405,7 +405,7 @@ TEST_F(UnityShowdesktopHandlerTest, TestAnimationPostPaintActions)
EXPECT_EQ (ShowdesktopHandler::animating_windows.size (), 1);
}
-TEST_F(UnityShowdesktopHandlerTest, UNSTABLE_TEST(TestAnimationOpacity))
+TEST_F(UnityShowdesktopHandlerTest, TestAnimationOpacity)
{
MockUnityShowdesktopHandlerWindow mMockWindow;