Mir

Merge lp:~afrantzis/mir/almost-fix-1547015-run-unit-tests-out-of-tree into lp:mir

Proposed by Alexandros Frantzis
Status: Merged
Approved by: Alexandros Frantzis
Approved revision: no longer in the source branch.
Merged at revision: 3326
Proposed branch: lp:~afrantzis/mir/almost-fix-1547015-run-unit-tests-out-of-tree
Merge into: lp:mir
Diff against target: 327 lines (+45/-52)
14 files modified
debian/mir-test-tools.install (+1/-1)
debian/mir-test-tools.lintian-overrides (+3/-0)
debian/rules (+9/-1)
include/test/mir_test_framework/executable_path.h (+1/-1)
tests/mir_test_framework/CMakeLists.txt (+4/-3)
tests/mir_test_framework/executable_path.cpp (+6/-6)
tests/mir_test_framework/testing-cursor-theme/CMakeLists.txt (+2/-0)
tests/mir_test_framework/udev-recordings/CMakeLists.txt (+1/-1)
tests/mir_test_framework/udev_environment.cpp (+1/-1)
tests/unit-tests/CMakeLists.txt (+13/-4)
tests/unit-tests/input/test_xcursor_loader.cpp (+1/-1)
tests/unit-tests/input_recordings/quanta_touchscreen/device.prop (+0/-30)
tests/unit-tests/test_module_deleter.cpp (+2/-2)
tests/unit-tests/test_shared_library_prober.cpp (+1/-1)
To merge this branch: bzr merge lp:~afrantzis/mir/almost-fix-1547015-run-unit-tests-out-of-tree
Reviewer Review Type Date Requested Status
Cemil Azizoglu (community) Approve
Kevin DuBois (community) Approve
Alan Griffiths Approve
PS Jenkins bot (community) continuous-integration Approve
Mir CI Bot continuous-integration Approve
Review via email: mp+286678@code.launchpad.net

Commit message

tests,debian: Fix various problems stopping us from running the packaged unit tests out of tree

Description of the change

tests,debian: Fix various problems stopping us from running the packaged unit tests out of tree

1. Gather all test data in build/bin/test-data (in-tree) or /usr/share/mir-test-data/ (out-of-tree/packaged) and ensure test binaries can find them in both scenarios.

2. Package the test data in mir-test-tools and work around various errors/warnings produced by lintian.

The "almost" part in the branch name refers to a currently unresolved error in ThreadedDispatcherDeathTest.exceptions_in_threadpool_trigger_terminatio we get when running the packaged mir_unit_tests on the phone.

To post a comment you must log in.
Revision history for this message
Mir CI Bot (mir-ci-bot) wrote :

FAILED: Continuous integration, rev:3326
https://mir-jenkins.ubuntu.com/job/mir-ci/341/
Executed test runs:

Click here to trigger a rebuild:
https://mir-jenkins.ubuntu.com/job/mir-ci/341/rebuild

review: Needs Fixing (continuous-integration)
Revision history for this message
Mir CI Bot (mir-ci-bot) wrote :

PASSED: Continuous integration, rev:3327
https://mir-jenkins.ubuntu.com/job/mir-ci/342/
Executed test runs:
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-mir/134
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-0-fetch/146
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=vivid+overlay/142
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=xenial/142
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=xenial/139
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=xenial/139/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=cross-armhf,compiler=gcc,platform=android,release=vivid+overlay/139
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=cross-armhf,compiler=gcc,platform=android,release=vivid+overlay/139/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=android,release=vivid+overlay/139
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=android,release=vivid+overlay/139/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=mesa,release=xenial/139
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=mesa,release=xenial/139/artifact/output/*zip*/output.zip

Click here to trigger a rebuild:
https://mir-jenkins.ubuntu.com/job/mir-ci/342/rebuild

review: Approve (continuous-integration)
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

PASSED: Continuous integration, rev:3326
http://jenkins.qa.ubuntu.com/job/mir-ci/6331/
Executed test runs:
    SUCCESS: http://jenkins.qa.ubuntu.com/job/mir-android-vivid-i386-build/5982
    SUCCESS: http://jenkins.qa.ubuntu.com/job/mir-clang-vivid-amd64-build/4889
    SUCCESS: http://jenkins.qa.ubuntu.com/job/mir-mediumtests-vivid-touch/5938
    SUCCESS: http://jenkins.qa.ubuntu.com/job/mir-mediumtests-xenial-touch/463
    SUCCESS: http://jenkins.qa.ubuntu.com/job/mir-xenial-amd64-ci/655
        deb: http://jenkins.qa.ubuntu.com/job/mir-xenial-amd64-ci/655/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/mir-xenial-i386-ci/655
        deb: http://jenkins.qa.ubuntu.com/job/mir-xenial-i386-ci/655/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/mir-mediumtests-builder-vivid-armhf/5935
        deb: http://jenkins.qa.ubuntu.com/job/mir-mediumtests-builder-vivid-armhf/5935/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/mir-mediumtests-runner-touch/8315
    SUCCESS: http://s-jenkins.ubuntu-ci:8080/job/touch-flash-device/27773
    SUCCESS: http://jenkins.qa.ubuntu.com/job/mir-mediumtests-builder-xenial-armhf/459
        deb: http://jenkins.qa.ubuntu.com/job/mir-mediumtests-builder-xenial-armhf/459/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/mir-mediumtests-runner-xenial-touch/312
    SUCCESS: http://s-jenkins.ubuntu-ci:8080/job/touch-flash-device/27780

Click here to trigger a rebuild:
http://s-jenkins.ubuntu-ci:8080/job/mir-ci/6331/rebuild

review: Approve (continuous-integration)
Revision history for this message
Cemil Azizoglu (cemil-azizoglu) wrote :

What is the motivation for running the tests out of tree?

review: Abstain
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

PASSED: Continuous integration, rev:3327
http://jenkins.qa.ubuntu.com/job/mir-ci/6334/
Executed test runs:
    SUCCESS: http://jenkins.qa.ubuntu.com/job/mir-android-vivid-i386-build/5985
    SUCCESS: http://jenkins.qa.ubuntu.com/job/mir-clang-vivid-amd64-build/4892
    SUCCESS: http://jenkins.qa.ubuntu.com/job/mir-mediumtests-vivid-touch/5941
    SUCCESS: http://jenkins.qa.ubuntu.com/job/mir-mediumtests-xenial-touch/464
    SUCCESS: http://jenkins.qa.ubuntu.com/job/mir-xenial-amd64-ci/658
        deb: http://jenkins.qa.ubuntu.com/job/mir-xenial-amd64-ci/658/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/mir-xenial-i386-ci/658
        deb: http://jenkins.qa.ubuntu.com/job/mir-xenial-i386-ci/658/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/mir-mediumtests-builder-vivid-armhf/5938
        deb: http://jenkins.qa.ubuntu.com/job/mir-mediumtests-builder-vivid-armhf/5938/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/mir-mediumtests-runner-touch/8316
    SUCCESS: http://s-jenkins.ubuntu-ci:8080/job/touch-flash-device/27781
    SUCCESS: http://jenkins.qa.ubuntu.com/job/mir-mediumtests-builder-xenial-armhf/460
        deb: http://jenkins.qa.ubuntu.com/job/mir-mediumtests-builder-xenial-armhf/460/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/mir-mediumtests-runner-xenial-touch/313
    SUCCESS: http://s-jenkins.ubuntu-ci:8080/job/touch-flash-device/27782

Click here to trigger a rebuild:
http://s-jenkins.ubuntu-ci:8080/job/mir-ci/6334/rebuild

review: Approve (continuous-integration)
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

> What is the motivation for running the tests out of tree?

Good question, but there are somewhat justified reasons...

(a) We package them, so they should mostly work in the packaged form. Or else stop packaging them.

(b) Our phone images contain them (bug 1541262)

(c) There's a common belief that they are handy for new device bring-ups. Although that was not the original intention as we started out mocking the hardware, our tests have now grown (arguably evolved or de-evolved) into using the actual graphics hardware. So that common belief is starting to become justified.

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

(d) Recently we needed the packaged tests working in distro to help the kernel team easily bisect a kernel regression: bug 1540731

Revision history for this message
Alexandros Frantzis (afrantzis) wrote :

... and the main motivation behind this fix:

(e) We need to be able to run the tests on the host architecture after we cross-compile (like we currently do in mir jenkaas for armhf).

Revision history for this message
Alan Griffiths (alan-griffiths) wrote :

OK

review: Approve
Revision history for this message
Kevin DuBois (kdub) wrote :

@unit tests on device... I think that we should just split out the few tests from the integration tests that actually hit the hardware and call it mir_android_diagnostics... This would make the PES team happier (they're a bit put off that our sanity tests are a subset of a larger test suite...), and the image team happier (we're not hogging MBs of space), and us happier (our CI wouldn't have to hit these tests dependant on lightdm being stopped, system powered up, etc)

will move existing card (https://trello.com/c/PA5BkYxn) to active backlog

Revision history for this message
Kevin DuBois (kdub) wrote :

lgtm

review: Approve
Revision history for this message
Cemil Azizoglu (cemil-azizoglu) wrote :

Ok

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'debian/mir-test-tools.install'
2--- debian/mir-test-tools.install 2016-01-30 15:22:33 +0000
3+++ debian/mir-test-tools.install 2016-02-19 15:44:36 +0000
4@@ -13,4 +13,4 @@
5 usr/lib/*/mir/server-platform/graphics-throw.so
6 usr/lib/*/mir/server-platform/input-stub.so
7 usr/lib/*/mir/client-platform/dummy.so
8-usr/share/udev_recordings
9+usr/share/mir-test-data
10
11=== modified file 'debian/mir-test-tools.lintian-overrides'
12--- debian/mir-test-tools.lintian-overrides 2013-06-24 16:59:17 +0000
13+++ debian/mir-test-tools.lintian-overrides 2016-02-19 15:44:36 +0000
14@@ -1,2 +1,5 @@
15+arch-dependent-file-in-usr-share
16+binary-from-other-architecture
17 package-name-doesnt-match-sonames
18 shlib-without-versioned-soname
19+unstripped-binary-or-object
20
21=== modified file 'debian/rules'
22--- debian/rules 2016-01-29 08:18:22 +0000
23+++ debian/rules 2016-02-19 15:44:36 +0000
24@@ -47,7 +47,7 @@
25
26 # TODO: we'll use a symbol file once mir is abi stable
27 override_dh_makeshlibs:
28- dh_makeshlibs -V
29+ dh_makeshlibs -V -Nmir-test-tools
30
31 override_dh_install:
32 # Nothing outside Mir should link to libmirprotobuf directly.
33@@ -56,3 +56,11 @@
34 -rm debian/tmp/usr/lib/*/libmirprotobuf.so
35 dh_install -p libmirplatform-dev -Xmesa --fail-missing
36 dh_install --remaining-packages --fail-missing -Xjquery.js
37+
38+# Don't try to strip libraries used as test data
39+override_dh_strip:
40+ dh_strip -Xmir-test-data
41+
42+# Don't try to find dependencies of libraries used as test data
43+override_dh_shlibdeps:
44+ dh_shlibdeps -Xmir-test-data
45
46=== modified file 'include/test/mir_test_framework/executable_path.h'
47--- include/test/mir_test_framework/executable_path.h 2016-01-29 08:18:22 +0000
48+++ include/test/mir_test_framework/executable_path.h 2016-02-19 15:44:36 +0000
49@@ -27,7 +27,7 @@
50
51 std::string library_path();
52 std::string server_platform_path();
53-std::string udev_recordings_path();
54+std::string test_data_path();
55 std::string server_platform(std::string const& name);
56 std::string server_input_platform(std::string const& name);
57 std::string client_platform(std::string const& name);
58
59=== modified file 'tests/mir_test_framework/CMakeLists.txt'
60--- tests/mir_test_framework/CMakeLists.txt 2016-02-03 15:28:39 +0000
61+++ tests/mir_test_framework/CMakeLists.txt 2016-02-19 15:44:36 +0000
62@@ -179,12 +179,12 @@
63
64 add_custom_command(TARGET mir-test-framework-static POST_BUILD
65 COMMAND ${CMAKE_COMMAND} -E copy_directory
66- ${CMAKE_CURRENT_SOURCE_DIR}/udev_recordings ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/udev_recordings
67+ ${CMAKE_CURRENT_SOURCE_DIR}/udev-recordings ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/test-data/udev-recordings
68 COMMENT "Copying umockdev recordings to build dir..."
69 )
70 add_custom_command(TARGET mir-test-framework-static POST_BUILD
71 COMMAND ${CMAKE_COMMAND} -E copy_directory
72- ${CMAKE_CURRENT_SOURCE_DIR}/testing-cursor-theme ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/testing-cursor-theme
73+ ${CMAKE_CURRENT_SOURCE_DIR}/testing-cursor-theme ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/test-data/testing-cursor-theme
74 COMMENT "Copying testing cursor themes to build dir..."
75 )
76
77@@ -195,4 +195,5 @@
78
79 install(TARGETS mirclientplatformstub LIBRARY DESTINATION ${MIR_CLIENT_PLATFORM_PATH})
80
81-add_subdirectory(udev_recordings/)
82+add_subdirectory(udev-recordings/)
83+add_subdirectory(testing-cursor-theme/)
84
85=== modified file 'tests/mir_test_framework/executable_path.cpp'
86--- tests/mir_test_framework/executable_path.cpp 2016-01-29 08:18:22 +0000
87+++ tests/mir_test_framework/executable_path.cpp 2016-02-19 15:44:36 +0000
88@@ -55,17 +55,17 @@
89 BOOST_THROW_EXCEPTION(std::runtime_error("Failed to find server platform in standard search locations"));
90 }
91
92-std::string mir_test_framework::udev_recordings_path()
93+std::string mir_test_framework::test_data_path()
94 {
95- std::string run_path = executable_path() + "/udev_recordings";
96- std::string install_path = MIR_INSTALL_PREFIX"/share/udev_recordings";
97+ std::string run_path = executable_path() + "/test-data";
98+ std::string install_path = MIR_INSTALL_PREFIX"/share/mir-test-data";
99
100 if (boost::filesystem::exists(run_path))
101 return run_path;
102 else if (boost::filesystem::exists(install_path))
103 return install_path;
104
105- BOOST_THROW_EXCEPTION(std::runtime_error("Failed to find udev_recordings in standard search locations"));
106+ BOOST_THROW_EXCEPTION(std::runtime_error("Failed to find test data in standard search locations"));
107 }
108
109 std::string mir_test_framework::server_platform(std::string const& name)
110@@ -101,7 +101,7 @@
111 return path_to_test;
112 }
113
114- BOOST_THROW_EXCEPTION(std::runtime_error("Failed to find server platform in standard search locations"));
115+ BOOST_THROW_EXCEPTION(std::runtime_error("Failed to find server input platform in standard search locations"));
116 }
117
118 std::string mir_test_framework::client_platform(std::string const& name)
119@@ -119,5 +119,5 @@
120 return path_to_test;
121 }
122
123- BOOST_THROW_EXCEPTION(std::runtime_error("Failed to find server platform in standard search locations"));
124+ BOOST_THROW_EXCEPTION(std::runtime_error("Failed to find client platform in standard search locations"));
125 }
126
127=== added file 'tests/mir_test_framework/testing-cursor-theme/CMakeLists.txt'
128--- tests/mir_test_framework/testing-cursor-theme/CMakeLists.txt 1970-01-01 00:00:00 +0000
129+++ tests/mir_test_framework/testing-cursor-theme/CMakeLists.txt 2016-02-19 15:44:36 +0000
130@@ -0,0 +1,2 @@
131+install(DIRECTORY default DESTINATION ${CMAKE_INSTALL_PREFIX}/share/mir-test-data/testing-cursor-theme)
132+
133
134=== added directory 'tests/mir_test_framework/udev-recordings'
135=== renamed file 'tests/mir_test_framework/udev_recordings/CMakeLists.txt' => 'tests/mir_test_framework/udev-recordings/CMakeLists.txt'
136--- tests/mir_test_framework/udev_recordings/CMakeLists.txt 2015-09-08 21:22:41 +0000
137+++ tests/mir_test_framework/udev-recordings/CMakeLists.txt 2016-02-19 15:44:36 +0000
138@@ -1,3 +1,3 @@
139 file(GLOB UDEV_FILES *.umockdev *.ioctl *.evemu)
140
141-install(FILES ${UDEV_FILES} DESTINATION ${CMAKE_INSTALL_PREFIX}/share/udev_recordings)
142+install(FILES ${UDEV_FILES} DESTINATION ${CMAKE_INSTALL_PREFIX}/share/mir-test-data/udev-recordings)
143
144=== renamed file 'tests/mir_test_framework/udev_recordings/bluetooth-magic-trackpad.ioctl' => 'tests/mir_test_framework/udev-recordings/bluetooth-magic-trackpad.ioctl'
145=== renamed file 'tests/mir_test_framework/udev_recordings/bluetooth-magic-trackpad.umockdev' => 'tests/mir_test_framework/udev-recordings/bluetooth-magic-trackpad.umockdev'
146=== renamed file 'tests/mir_test_framework/udev_recordings/joystick-detection.ioctl' => 'tests/mir_test_framework/udev-recordings/joystick-detection.ioctl'
147=== renamed file 'tests/mir_test_framework/udev_recordings/joystick-detection.umockdev' => 'tests/mir_test_framework/udev-recordings/joystick-detection.umockdev'
148=== renamed file 'tests/mir_test_framework/udev_recordings/laptop-keyboard-hello.evemu' => 'tests/mir_test_framework/udev-recordings/laptop-keyboard-hello.evemu'
149=== renamed file 'tests/mir_test_framework/udev_recordings/laptop-keyboard.ioctl' => 'tests/mir_test_framework/udev-recordings/laptop-keyboard.ioctl'
150=== renamed file 'tests/mir_test_framework/udev_recordings/laptop-keyboard.umockdev' => 'tests/mir_test_framework/udev-recordings/laptop-keyboard.umockdev'
151=== renamed file 'tests/mir_test_framework/udev_recordings/laptop-mouse-click.evemu' => 'tests/mir_test_framework/udev-recordings/laptop-mouse-click.evemu'
152=== renamed file 'tests/mir_test_framework/udev_recordings/laptop-mouse-motion.evemu' => 'tests/mir_test_framework/udev-recordings/laptop-mouse-motion.evemu'
153=== renamed file 'tests/mir_test_framework/udev_recordings/laptop-mouse.ioctl' => 'tests/mir_test_framework/udev-recordings/laptop-mouse.ioctl'
154=== renamed file 'tests/mir_test_framework/udev_recordings/laptop-mouse.umockdev' => 'tests/mir_test_framework/udev-recordings/laptop-mouse.umockdev'
155=== renamed file 'tests/mir_test_framework/udev_recordings/mt-screen-detection.ioctl' => 'tests/mir_test_framework/udev-recordings/mt-screen-detection.ioctl'
156=== renamed file 'tests/mir_test_framework/udev_recordings/mt-screen-detection.umockdev' => 'tests/mir_test_framework/udev-recordings/mt-screen-detection.umockdev'
157=== renamed file 'tests/mir_test_framework/udev_recordings/standard-drm-devices.umockdev' => 'tests/mir_test_framework/udev-recordings/standard-drm-devices.umockdev'
158=== renamed file 'tests/mir_test_framework/udev_recordings/standard-drm-render-nodes.ioctl' => 'tests/mir_test_framework/udev-recordings/standard-drm-render-nodes.ioctl'
159=== renamed file 'tests/mir_test_framework/udev_recordings/standard-drm-render-nodes.umockdev' => 'tests/mir_test_framework/udev-recordings/standard-drm-render-nodes.umockdev'
160=== renamed file 'tests/mir_test_framework/udev_recordings/synaptics-touchpad.ioctl' => 'tests/mir_test_framework/udev-recordings/synaptics-touchpad.ioctl'
161=== renamed file 'tests/mir_test_framework/udev_recordings/synaptics-touchpad.umockdev' => 'tests/mir_test_framework/udev-recordings/synaptics-touchpad.umockdev'
162=== renamed file 'tests/mir_test_framework/udev_recordings/usb-keyboard.ioctl' => 'tests/mir_test_framework/udev-recordings/usb-keyboard.ioctl'
163=== renamed file 'tests/mir_test_framework/udev_recordings/usb-keyboard.umockdev' => 'tests/mir_test_framework/udev-recordings/usb-keyboard.umockdev'
164=== renamed file 'tests/mir_test_framework/udev_recordings/usb-mouse.ioctl' => 'tests/mir_test_framework/udev-recordings/usb-mouse.ioctl'
165=== renamed file 'tests/mir_test_framework/udev_recordings/usb-mouse.umockdev' => 'tests/mir_test_framework/udev-recordings/usb-mouse.umockdev'
166=== modified file 'tests/mir_test_framework/udev_environment.cpp'
167--- tests/mir_test_framework/udev_environment.cpp 2016-01-29 08:18:22 +0000
168+++ tests/mir_test_framework/udev_environment.cpp 2016-02-19 15:44:36 +0000
169@@ -38,7 +38,7 @@
170 namespace mtf = mir_test_framework;
171
172 mtf::UdevEnvironment::UdevEnvironment()
173- : recordings_path(mtf::udev_recordings_path())
174+ : recordings_path(mtf::test_data_path() + "/udev-recordings")
175 {
176 testbed = umockdev_testbed_new();
177 }
178
179=== removed directory 'tests/mir_test_framework/udev_recordings'
180=== modified file 'tests/unit-tests/CMakeLists.txt'
181--- tests/unit-tests/CMakeLists.txt 2016-02-03 15:28:39 +0000
182+++ tests/unit-tests/CMakeLists.txt 2016-02-19 15:44:36 +0000
183@@ -1,7 +1,6 @@
184 include(CMakeDependentOption)
185
186 add_definitions(
187- -DTEST_RECORDINGS_DIR="${CMAKE_CURRENT_SOURCE_DIR}/input_recordings/"
188 -DMIR_CLIENT_PLATFORM_VERSION="${MIR_CLIENT_PLATFORM_VERSION}"
189 )
190
191@@ -42,9 +41,14 @@
192 target_link_libraries(example mircommon)
193 set_target_properties(
194 example PROPERTIES
195+ LIBRARY_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/test-data/shared-libraries
196 OUTPUT_NAME example
197 PREFIX ""
198 )
199+install(TARGETS example
200+ LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/share/mir-test-data/shared-libraries
201+)
202+
203
204 # Umockdev uses glib, which uses the deprecated "register" allocation specifier
205 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Dregister=")
206@@ -213,16 +217,21 @@
207
208 add_custom_command(TARGET mir_unit_tests POST_BUILD
209 COMMAND ${CMAKE_COMMAND} -E copy_directory
210- ${CMAKE_CURRENT_SOURCE_DIR}/test_data ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/test_data
211+ ${CMAKE_CURRENT_SOURCE_DIR}/shared-libraries ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/test-data/shared-libraries
212 COMMENT "Copying test data to build dir..."
213 )
214+file(GLOB SO_FILES ${CMAKE_CURRENT_SOURCE_DIR}/shared-libraries/*.so*)
215+install(FILES ${SO_FILES} DESTINATION ${CMAKE_INSTALL_PREFIX}/share/mir-test-data/shared-libraries)
216
217-add_library(loadable_test_dso SHARED ${CMAKE_CURRENT_SOURCE_DIR}/test_data/empty_input.c)
218+add_library(loadable_test_dso SHARED ${CMAKE_CURRENT_SOURCE_DIR}/shared-libraries/empty_input.c)
219
220 set_target_properties(loadable_test_dso PROPERTIES
221- LIBRARY_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/test_data
222+ LIBRARY_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/test-data/shared-libraries
223 COMPILE_FLAGS "-Wno-pedantic"
224 OUTPUT_NAME this-arch
225 )
226+install(TARGETS loadable_test_dso
227+ LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/share/mir-test-data/shared-libraries
228+)
229
230 add_dependencies(mir_unit_tests loadable_test_dso)
231
232=== modified file 'tests/unit-tests/input/test_xcursor_loader.cpp'
233--- tests/unit-tests/input/test_xcursor_loader.cpp 2016-01-29 08:18:22 +0000
234+++ tests/unit-tests/input/test_xcursor_loader.cpp 2016-02-19 15:44:36 +0000
235@@ -40,7 +40,7 @@
236
237 namespace
238 {
239-std::string const test_cursor_path{mir_test_framework::executable_path() + std::string("/testing-cursor-theme")};
240+std::string const test_cursor_path{mir_test_framework::test_data_path() + std::string("/testing-cursor-theme")};
241 }
242
243 // Warning, XCURSOR_PATH will only be checked ONCE by libxcursor due to static var
244
245=== removed directory 'tests/unit-tests/input_recordings'
246=== removed directory 'tests/unit-tests/input_recordings/quanta_touchscreen'
247=== removed file 'tests/unit-tests/input_recordings/quanta_touchscreen/device.prop'
248--- tests/unit-tests/input_recordings/quanta_touchscreen/device.prop 2012-06-25 17:13:55 +0000
249+++ tests/unit-tests/input_recordings/quanta_touchscreen/device.prop 1970-01-01 00:00:00 +0000
250@@ -1,30 +0,0 @@
251-N: QUANTA OpticalTouchScreen (Virtual Test Device)
252-I: 0003 0408 3001 0110
253-P: 00 00 00 00 00 00 00 00
254-B: 00 0b 00 00 00 00 00 00 00
255-B: 01 00 00 00 00 00 00 00 00
256-B: 01 00 00 00 00 00 00 00 00
257-B: 01 00 00 00 00 00 00 00 00
258-B: 01 00 00 00 00 00 00 00 00
259-B: 01 00 00 00 00 00 00 00 00
260-B: 01 00 04 00 00 00 00 00 00
261-B: 01 00 00 00 00 00 00 00 00
262-B: 01 00 00 00 00 00 00 00 00
263-B: 01 00 00 00 00 00 00 00 00
264-B: 01 00 00 00 00 00 00 00 00
265-B: 01 00 00 00 00 00 00 00 00
266-B: 01 00 00 00 00 00 00 00 00
267-B: 02 00 00 00 00 00 00 00 00
268-B: 03 03 00 00 00 00 80 60 02
269-B: 04 00 00 00 00 00 00 00 00
270-B: 05 00 00 00 00 00 00 00 00
271-B: 11 00 00 00 00 00 00 00 00
272-B: 12 00 00 00 00 00 00 00 00
273-B: 15 00 00 00 00 00 00 00 00
274-B: 15 00 00 00 00 00 00 00 00
275-A: 00 0 1920 0 0
276-A: 01 0 1080 0 0
277-A: 2f 0 9 0 0
278-A: 35 0 1920 0 0
279-A: 36 0 1080 0 0
280-A: 39 0 65535 0 0
281
282=== added directory 'tests/unit-tests/shared-libraries'
283=== renamed file 'tests/unit-tests/test_data/README' => 'tests/unit-tests/shared-libraries/README'
284=== renamed file 'tests/unit-tests/test_data/empty_input.c' => 'tests/unit-tests/shared-libraries/empty_input.c'
285=== renamed file 'tests/unit-tests/test_data/libamd64.so' => 'tests/unit-tests/shared-libraries/libamd64.so'
286=== renamed file 'tests/unit-tests/test_data/libarm64.so' => 'tests/unit-tests/shared-libraries/libarm64.so'
287Binary files tests/unit-tests/test_data/libarm64.so 2015-02-22 07:46:25 +0000 and tests/unit-tests/shared-libraries/libarm64.so 2016-02-19 15:44:36 +0000 differ
288=== renamed file 'tests/unit-tests/test_data/libarmhf.so' => 'tests/unit-tests/shared-libraries/libarmhf.so'
289=== renamed file 'tests/unit-tests/test_data/libi386.so' => 'tests/unit-tests/shared-libraries/libi386.so'
290=== renamed file 'tests/unit-tests/test_data/libinvalid.so.3' => 'tests/unit-tests/shared-libraries/libinvalid.so.3'
291=== renamed file 'tests/unit-tests/test_data/libpowerpc.so' => 'tests/unit-tests/shared-libraries/libpowerpc.so'
292=== renamed file 'tests/unit-tests/test_data/libppc64el.so' => 'tests/unit-tests/shared-libraries/libppc64el.so'
293=== removed directory 'tests/unit-tests/test_data'
294=== modified file 'tests/unit-tests/test_module_deleter.cpp'
295--- tests/unit-tests/test_module_deleter.cpp 2016-01-29 08:18:22 +0000
296+++ tests/unit-tests/test_module_deleter.cpp 2016-02-19 15:44:36 +0000
297@@ -34,7 +34,7 @@
298 {
299 mir::UniqueModulePtr<SomeInterface> module_object;
300 {
301- mir::SharedLibrary lib(mir_test_framework::library_path() + "/example.so");
302+ mir::SharedLibrary lib(mir_test_framework::test_data_path() + "/shared-libraries/example.so");
303 auto function = lib.load_function<ModuleFunction>("module_create_instance");
304 module_object = function();
305 }
306@@ -45,7 +45,7 @@
307 {
308 std::shared_ptr<SomeInterface> module_object;
309 {
310- mir::SharedLibrary lib(mir_test_framework::library_path() + "/example.so");
311+ mir::SharedLibrary lib(mir_test_framework::test_data_path() + "/shared-libraries/example.so");
312 auto function = lib.load_function<ModuleFunction>("module_create_instance");
313 module_object = function();
314 }
315
316=== modified file 'tests/unit-tests/test_shared_library_prober.cpp'
317--- tests/unit-tests/test_shared_library_prober.cpp 2016-01-29 08:18:22 +0000
318+++ tests/unit-tests/test_shared_library_prober.cpp 2016-02-19 15:44:36 +0000
319@@ -47,7 +47,7 @@
320 {
321 public:
322 SharedLibraryProber()
323- : library_path{mtf::executable_path() + "/test_data"}
324+ : library_path{mtf::test_data_path() + "/shared-libraries"}
325 {
326 // Can't use std::string, as mkdtemp mutates its argument.
327 auto tmp_name = std::unique_ptr<char[], std::function<void(char*)>>{strdup("/tmp/mir_empty_directory_XXXXXX"),

Subscribers

People subscribed via source and target branches