@@ -22,26 +22,54 @@ add_subdirectory(uqmlscene)
22add_executable(qmlscene ALIAS uqmlscene)
22add_executable(qmlscene ALIAS uqmlscene)
23import_executables(dbus-test-runner)
23import_executables(dbus-test-runner)
25+set(UNITY_PLUGINPATH "" CACHE PATH "Path to pre-built unity8 plugin dir.")
26+set(UNITY_MOCKPATH "" CACHE PATH "Path to pre-built unity8 mock dir.")
28+# Pre-built mocks have preference, pre-built plugins replace local build
31+ list(APPEND import_paths ${UNITY_MOCKPATH})
33+list(APPEND import_paths
34+ ${CMAKE_BINARY_DIR}/tests/mocks
35+ ${CMAKE_BINARY_DIR}/tests/utils/modules
38+ list(APPEND import_paths ${UNITY_PLUGINPATH})
40+ list(APPEND import_paths ${CMAKE_BINARY_DIR}/plugins)
43+# Pre-built mocks replace local build
46+ ${UNITY_MOCKPATH}/libusermetrics
47+ ${UNITY_MOCKPATH}/LightDM/liblightdm
51+ ${CMAKE_BINARY_DIR}/tests/mocks/libusermetrics
52+ ${CMAKE_BINARY_DIR}/tests/mocks/LightDM/liblightdm
55+list(APPEND ld_paths ${CMAKE_BINARY_DIR}/tests/mocks/QMenuModel)
56+string(REPLACE ";" ":" ld_library_path "${ld_paths}")
25# Base/default values
58# Base/default values
26set(base_environment
59set(base_environment
27 UNITY_TESTING=1
60 UNITY_TESTING=1
28 LANGUAGE=C
61 LANGUAGE=C
29 LC_ALL=C.UTF-8
62 LC_ALL=C.UTF-8
63+ LD_LIBRARY_PATH=${ld_library_path}
33− ${CMAKE_BINARY_DIR}/tests/mocks
34− ${CMAKE_BINARY_DIR}/tests/utils/modules
35− ${CMAKE_BINARY_DIR}/plugins
39# add a non-graphical unit test
66# add a non-graphical unit test
40# see QmlTest.cmake for additional options
67# see QmlTest.cmake for additional options
41function(add_unity8_unittest COMPONENT_NAME TARGET)
68function(add_unity8_unittest COMPONENT_NAME TARGET)
42 cmake_parse_arguments(U8TEST "${QMLTEST_OPTIONS}" "${QMLTESTS_SINGLE}" "${QMLTEST_MULTI}" ${ARGN})
69 cmake_parse_arguments(U8TEST "${QMLTEST_OPTIONS}" "${QMLTESTS_SINGLE}" "${QMLTEST_MULTI}" ${ARGN})
43 add_executable_test(${COMPONENT_NAME} ${TARGET}
70 add_executable_test(${COMPONENT_NAME} ${TARGET}
72+ IMPORT_PATHS ${import_paths}
45 TARGETS unittests
73 TARGETS unittests
47 ENVIRONMENT ${base_environment}
75 ENVIRONMENT ${base_environment}
@@ -54,6 +82,7 @@ endfunction()
54function(add_unity8_uitest COMPONENT_NAME TARGET)
82function(add_unity8_uitest COMPONENT_NAME TARGET)
55 cmake_parse_arguments(U8TEST "${QMLTEST_OPTIONS}" "${QMLTESTS_SINGLE}" "${QMLTEST_MULTI}" ${ARGN})
83 cmake_parse_arguments(U8TEST "${QMLTEST_OPTIONS}" "${QMLTESTS_SINGLE}" "${QMLTEST_MULTI}" ${ARGN})
56 add_executable_test(${COMPONENT_NAME} ${TARGET}
84 add_executable_test(${COMPONENT_NAME} ${TARGET}
85+ IMPORT_PATHS ${import_paths}
57 TARGETS uitests
86 TARGETS uitests
59 ENVIRONMENT ${base_environment}
88 ENVIRONMENT ${base_environment}
@@ -83,7 +112,6 @@ function(add_unity8_qmltest PATH COMPONENT_NAME)
83 TARGETS uitests
112 TARGETS uitests
85 ENVIRONMENT ${base_environment}
114 ENVIRONMENT ${base_environment}
86− LD_LIBRARY_PATH=${CMAKE_BINARY_DIR}/tests/mocks/libusermetrics:${CMAKE_BINARY_DIR}/tests/mocks/LightDM/liblightdm:${CMAKE_BINARY_DIR}/tests/mocks/QMenuModel
87 ${U8TEST_ENVIRONMENT}
115 ${U8TEST_ENVIRONMENT}
89endfunction()
117endfunction()