Mir

Merge lp://qastaging/~afrantzis/mir/almost-fix-1547015-run-unit-tests-out-of-tree into lp://qastaging/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://qastaging/~afrantzis/mir/almost-fix-1547015-run-unit-tests-out-of-tree
Merge into: lp://qastaging/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://qastaging/~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.qastaging.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
The diff is not available at this time. You can reload the page or download it.

Subscribers

People subscribed via source and target branches