Merge lp:~unity-team/unity8/installed-qmltests into lp:unity8

Proposed by Michael Terry on 2016-04-29
Status: Merged
Approved by: Michał Sawicz on 2017-01-11
Approved revision: 2380
Merged at revision: 2750
Proposed branch: lp:~unity-team/unity8/installed-qmltests
Merge into: lp:unity8
Diff against target: 2165 lines (+592/-189)
72 files modified
CMakeLists.txt (+0/-2)
cmake/modules/QmlTest.cmake (+182/-11)
debian/control (+19/-8)
debian/rules (+2/-2)
debian/shlibs.local (+1/-0)
debian/tests/control (+2/-3)
debian/tests/qmluitests.sh (+6/-16)
debian/unity8-tests.install (+4/-0)
debian/unity8-tests.lintian-overrides (+1/-0)
include/paths.h.in (+26/-1)
plugins/Ubuntu/Gestures/CMakeLists.txt (+1/-1)
plugins/Wizard/PageList.cpp (+3/-1)
tests/CMakeLists.txt (+17/-9)
tests/mocks/AccountsService/CMakeLists.txt (+0/-1)
tests/mocks/CMakeLists.txt (+13/-14)
tests/mocks/Cursor/CMakeLists.txt (+1/-1)
tests/mocks/LightDM/IntegratedLightDM/CMakeLists.txt (+0/-1)
tests/mocks/LightDM/IntegratedLightDM/liblightdm/CMakeLists.txt (+2/-1)
tests/mocks/Ubuntu/SystemSettings/SecurityPrivacy/CMakeLists.txt (+1/-1)
tests/mocks/Unity/Application/ApplicationInfo.cpp (+1/-2)
tests/mocks/Unity/Application/CMakeLists.txt (+1/-1)
tests/mocks/Unity/CMakeLists.txt (+3/-0)
tests/mocks/Unity/Indicators/CMakeLists.txt (+4/-0)
tests/mocks/Unity/Launcher/MockLauncherItem.cpp (+1/-1)
tests/mocks/Unity/fake_scope.cpp (+2/-2)
tests/plugins/AccountsService/CMakeLists.txt (+6/-0)
tests/plugins/Dash/CMakeLists.txt (+26/-1)
tests/plugins/Dash/cardcreatortest.cpp (+7/-2)
tests/plugins/Dash/horizontaljournaltest.cpp (+3/-1)
tests/plugins/Dash/horizontaljournaltry.cpp (+3/-1)
tests/plugins/Dash/listviewwithpageheadersectionexternalmodeltest.cpp (+3/-1)
tests/plugins/Dash/listviewwithpageheadersectiontest.cpp (+3/-1)
tests/plugins/Dash/listviewwithpageheadertest.cpp (+3/-1)
tests/plugins/Dash/organicgridtest.cpp (+3/-1)
tests/plugins/Dash/organicgridtry.cpp (+3/-1)
tests/plugins/Dash/verticaljournaltest.cpp (+3/-1)
tests/plugins/Dash/verticaljournaltry.cpp (+3/-1)
tests/plugins/GlobalShortcut/CMakeLists.txt (+11/-5)
tests/plugins/GlobalShortcut/GlobalShortcutTest.cpp (+3/-2)
tests/plugins/Greeter/Unity/Launcher/CMakeLists.txt (+5/-20)
tests/plugins/Greeter/Unity/Launcher/launchermodelastest.cpp (+4/-0)
tests/plugins/ImageCache/CMakeLists.txt (+10/-0)
tests/plugins/ImageCache/test.cpp (+4/-2)
tests/plugins/LightDM/IntegratedLightDM/CMakeLists.txt (+21/-5)
tests/plugins/LightDM/IntegratedLightDM/dbus.cpp (+2/-1)
tests/plugins/SessionBroadcast/CMakeLists.txt (+6/-0)
tests/plugins/Ubuntu/Gestures/CMakeLists.txt (+8/-4)
tests/plugins/Ubuntu/Gestures/GestureTest.cpp (+2/-1)
tests/plugins/Ubuntu/Gestures/tst_FloatingFlickable.qml (+1/-1)
tests/plugins/Ubuntu/Gestures/tst_TouchGate.cpp (+3/-1)
tests/plugins/Unity/Indicators/CMakeLists.txt (+12/-2)
tests/plugins/Unity/Indicators/IndicatorsManagerTest.cpp (+1/-1)
tests/plugins/Unity/Indicators/IndicatorsModelTest.cpp (+1/-1)
tests/plugins/Unity/Launcher/CMakeLists.txt (+9/-3)
tests/plugins/Unity/Launcher/launchermodeltest.cpp (+17/-0)
tests/plugins/Unity/Session/CMakeLists.txt (+6/-0)
tests/plugins/Utils/CMakeLists.txt (+8/-1)
tests/plugins/Utils/DeviceConfigParserTest.cpp (+4/-1)
tests/plugins/Wizard/CMakeLists.txt (+6/-0)
tests/qmltests/CMakeLists.txt (+17/-0)
tests/qmltests/Components/CMakeLists.txt (+18/-3)
tests/qmltests/Components/tst_DragHandle.cpp (+4/-2)
tests/qmltests/Components/tst_EdgeDragEvaluator.cpp (+4/-2)
tests/qmltests/Components/tst_ZoomableImage.qml (+1/-1)
tests/qmltests/Dash/Previews/tst_PreviewImageGallery.qml (+13/-13)
tests/qmltests/Dash/Previews/tst_PreviewZoomableImage.qml (+5/-5)
tests/qmltests/Dash/tst_GenericScopeView.qml (+1/-1)
tests/qmltests/Notifications/tst_Notifications.qml (+11/-11)
tests/qmltests/Notifications/tst_SwipeToAct.qml (+5/-5)
tests/qmltests/tst_Shell.qml (+2/-2)
tests/uqmlscene/CMakeLists.txt (+4/-0)
tests/utils/modules/Unity/Test/CMakeLists.txt (+4/-2)
To merge this branch: bzr merge lp:~unity-team/unity8/installed-qmltests
Reviewer Review Type Date Requested Status
Timo Jyrinki Approve on 2017-01-13
Unity8 CI Bot continuous-integration 2016-04-29 Approve on 2017-01-03
Michał Sawicz 2016-05-03 Abstain on 2017-01-03
Albert Astals Cid (community) 2016-04-29 Approve on 2016-12-23
Michael Terry Pending
Review via email: mp+293443@code.launchpad.net

Commit Message

Run the qmluitests.sh autopkg test against the installed package.

This is faster and more accurate than rebuilding unity8 and running tests from the build dir.

Description of the Change

- Installs a bunch more tests and files.
- I needed a place to put them, so I put them in unity8-fake-env and renamed it to unity8-tests (I could have added a whole new package that depended on unity8-fake-env, but I felt like that was unneeded -- but am happy to go that way if you reviewers like that more).
- Makes installed tests look for related data files in dynamic locations rather than hardcoded locations.
- Has cmake create scripts on the fly that replicate the environment and commands each test needs, which then get installed. This code is a bit gross. Would be happy to hear from cmake-heads on ways to improve it.

I think long term we want to convert both build-tree and installed tests to use a test runner rather than cmake or shell logic. But since I already wrote this minimally invasive approach, I vote we use this for now and improve it in the future.

To post a comment you must log in.
Unity8 CI Bot (unity8-ci-bot) wrote :

FAILED: Continuous integration, rev:2351
https://unity8-jenkins.ubuntu.com/job/lp-unity8-ci/1096/
Executed test runs:
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=vivid+overlay,testname=qmluitests.sh/650
    FAILURE: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=xenial+overlay,testname=qmluitests.sh/650/console
    FAILURE: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=phone-armhf,release=vivid+overlay,testname=autopilot.sh/650/console
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-0-fetch/1473
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=vivid+overlay/1439
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=xenial+overlay/1439
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/1439
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/1439/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/1439
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/1439/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/1439
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/1439/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/1439
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/1439/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/1439
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/1439/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/1439
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/1439/artifact/output/*zip*/output.zip

Click here to trigger a rebuild:
https://unity8-jenkins.ubuntu.com/job/lp-unity8-ci/1096/rebuild

review: Needs Fixing (continuous-integration)
Albert Astals Cid (aacid) wrote :

Do we need to pull gdb and xvfb in the main unity8 package?

That means extra installed stuff in the phone, can't we move it to fake-env too?

review: Needs Information
Michael Terry (mterry) wrote :

gdb and xvfb are merely Build-Depends, not actual dependencies of the main unity8 package. They need to be Build-Depends so that cmake knows what path they live at when writing scripts.

So no new bits on the phone image.

Albert Astals Cid (aacid) wrote :

> gdb and xvfb are merely Build-Depends, not actual dependencies of the main
> unity8 package. They need to be Build-Depends so that cmake knows what path
> they live at when writing scripts.
>
> So no new bits on the phone image.

Ah, good stuff then :) Will continue the review

Albert Astals Cid (aacid) wrote :

I agree there's a bit too much of cmake string replacements going on but sometimes you have to do this kind of stuff to support both executing the tests installed and non installed.

To me it looks acceptable but I'd prefer someone else also giving the +1 before top approving.

review: Approve
Unity8 CI Bot (unity8-ci-bot) wrote :

FAILED: Continuous integration, rev:2352
https://unity8-jenkins.ubuntu.com/job/lp-unity8-ci/1117/
Executed test runs:
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=vivid+overlay,testname=qmluitests.sh/671
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=xenial+overlay,testname=qmluitests.sh/671
    FAILURE: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=phone-armhf,release=vivid+overlay,testname=autopilot.sh/671/console
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-0-fetch/1499
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=vivid+overlay/1463
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=xenial+overlay/1463
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/1463
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/1463/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/1463
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/1463/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/1463
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/1463/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/1463
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/1463/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/1463
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/1463/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/1463
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/1463/artifact/output/*zip*/output.zip

Click here to trigger a rebuild:
https://unity8-jenkins.ubuntu.com/job/lp-unity8-ci/1117/rebuild

review: Needs Fixing (continuous-integration)
Unity8 CI Bot (unity8-ci-bot) wrote :

FAILED: Continuous integration, rev:2353
https://unity8-jenkins.ubuntu.com/job/lp-unity8-ci/1127/
Executed test runs:
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=vivid+overlay,testname=qmluitests.sh/684
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=xenial+overlay,testname=qmluitests.sh/684
    FAILURE: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=phone-armhf,release=vivid+overlay,testname=autopilot.sh/684/console
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-0-fetch/1513
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=vivid+overlay/1476
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=xenial+overlay/1476
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/1476
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/1476/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/1476
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/1476/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/1476
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/1476/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/1476
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/1476/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/1476
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/1476/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/1476
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/1476/artifact/output/*zip*/output.zip

Click here to trigger a rebuild:
https://unity8-jenkins.ubuntu.com/job/lp-unity8-ci/1127/rebuild

review: Needs Fixing (continuous-integration)
Albert Astals Cid (aacid) wrote :

Text conflict in debian/control
1 conflicts encountered.

Michael Terry (mterry) wrote :

Merged and resolved.

Unity8 CI Bot (unity8-ci-bot) wrote :

PASSED: Continuous integration, rev:2355
https://unity8-jenkins.ubuntu.com/job/lp-unity8-ci/1259/
Executed test runs:
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=vivid+overlay,testname=qmluitests.sh/796
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=xenial+overlay,testname=qmluitests.sh/796
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-0-fetch/1701
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=vivid+overlay/1651
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=xenial+overlay/1651
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/1644
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/1644/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/1644
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/1644/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/1644
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/1644/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/1644
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/1644/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/1644
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/1644/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/1644
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/1644/artifact/output/*zip*/output.zip

Click here to trigger a rebuild:
https://unity8-jenkins.ubuntu.com/job/lp-unity8-ci/1259/rebuild

review: Approve (continuous-integration)
Unity8 CI Bot (unity8-ci-bot) wrote :

FAILED: Continuous integration, rev:2355
https://unity8-jenkins.ubuntu.com/job/lp-unity8-ci/1320/
Executed test runs:
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build/1751
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=vivid+overlay,testname=qmluitests.sh/854
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=xenial+overlay,testname=qmluitests.sh/854
    UNSTABLE: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=yakkety,testname=qmluitests.sh/854
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-0-fetch/1777
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=vivid+overlay/1724
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=xenial+overlay/1724
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=yakkety/1724
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/1717
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/1717/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/1717
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/1717/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=yakkety/1717
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=yakkety/1717/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/1717
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/1717/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/1717
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/1717/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=yakkety/1717
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=yakkety/1717/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/1717
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/1717/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/1717
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/1717/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=yakkety/1717
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=yakkety/1717/artifact/output/*zip*/output.zip

Click here to trigger a rebuild:
https://unity8-jenkins.ubuntu.com/job/lp-unity8-ci/1320/rebuild

review: Needs Fixing (continuous-integration)
Michał Sawicz (saviq) wrote :
review: Needs Fixing
Michał Sawicz (saviq) wrote :

From a quick glance, it seems you're exiting after the first failed test instead of running them all, and also they're not run in parallel.

I wonder if generating a data file for the tests (JSON or something) and then a python3 "runner" for that would work a lil' better?

review: Needs Fixing
Unity8 CI Bot (unity8-ci-bot) wrote :

FAILED: Continuous integration, rev:2356
https://unity8-jenkins.ubuntu.com/job/lp-unity8-ci/1330/
Executed test runs:
    FAILURE: https://unity8-jenkins.ubuntu.com/job/build/1768/console
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-0-fetch/1794
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=vivid+overlay/1741
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=xenial+overlay/1741
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=yakkety/1741
    FAILURE: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/1734/console
    FAILURE: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/1734/console
    FAILURE: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=yakkety/1734/console
    FAILURE: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/1734/console
    FAILURE: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/1734/console
    FAILURE: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=yakkety/1734/console
    FAILURE: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/1734/console
    FAILURE: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/1734/console
    FAILURE: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=yakkety/1734/console

Click here to trigger a rebuild:
https://unity8-jenkins.ubuntu.com/job/lp-unity8-ci/1330/rebuild

review: Needs Fixing (continuous-integration)
Unity8 CI Bot (unity8-ci-bot) wrote :

FAILED: Continuous integration, rev:2361
https://unity8-jenkins.ubuntu.com/job/lp-unity8-ci/1371/
Executed test runs:
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build/1833
    UNSTABLE: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=vivid+overlay,testname=qmluitests.sh/919
    UNSTABLE: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=xenial+overlay,testname=qmluitests.sh/919
    UNSTABLE: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=yakkety,testname=qmluitests.sh/919
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-0-fetch/1859
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=vivid+overlay/1798
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=xenial+overlay/1798
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=yakkety/1798
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/1789
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/1789/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/1789
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/1789/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=yakkety/1789
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=yakkety/1789/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/1789
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/1789/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/1789
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/1789/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=yakkety/1789
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=yakkety/1789/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/1789
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/1789/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/1789
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/1789/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=yakkety/1789
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=yakkety/1789/artifact/output/*zip*/output.zip

Click here to trigger a rebuild:
https://unity8-jenkins.ubuntu.com/job/lp-unity8-ci/1371/rebuild

review: Needs Fixing (continuous-integration)
Unity8 CI Bot (unity8-ci-bot) wrote :

FAILED: Continuous integration, rev:2362
https://unity8-jenkins.ubuntu.com/job/lp-unity8-ci/1380/
Executed test runs:
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build/1846
    UNSTABLE: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=vivid+overlay,testname=qmluitests.sh/929
    UNSTABLE: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=xenial+overlay,testname=qmluitests.sh/929
    UNSTABLE: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=yakkety,testname=qmluitests.sh/929
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-0-fetch/1872
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=vivid+overlay/1810
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=xenial+overlay/1810
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=yakkety/1810
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/1801
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/1801/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/1801
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/1801/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=yakkety/1801
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=yakkety/1801/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/1801
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/1801/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/1801
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/1801/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=yakkety/1801
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=yakkety/1801/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/1801
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/1801/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/1801
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/1801/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=yakkety/1801
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=yakkety/1801/artifact/output/*zip*/output.zip

Click here to trigger a rebuild:
https://unity8-jenkins.ubuntu.com/job/lp-unity8-ci/1380/rebuild

review: Needs Fixing (continuous-integration)
Unity8 CI Bot (unity8-ci-bot) wrote :

FAILED: Continuous integration, rev:2363
https://unity8-jenkins.ubuntu.com/job/lp-unity8-ci/1398/
Executed test runs:
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build/1864
    UNSTABLE: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=vivid+overlay,testname=qmluitests.sh/946
    UNSTABLE: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=xenial+overlay,testname=qmluitests.sh/946
    UNSTABLE: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=yakkety,testname=qmluitests.sh/946
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-0-fetch/1890
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=vivid+overlay/1827
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=xenial+overlay/1827
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=yakkety/1827
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/1818
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/1818/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/1818
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/1818/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=yakkety/1818
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=yakkety/1818/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/1818
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/1818/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/1818
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/1818/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=yakkety/1818
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=yakkety/1818/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/1818
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/1818/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/1818
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/1818/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=yakkety/1818
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=yakkety/1818/artifact/output/*zip*/output.zip

Click here to trigger a rebuild:
https://unity8-jenkins.ubuntu.com/job/lp-unity8-ci/1398/rebuild

review: Needs Fixing (continuous-integration)
Unity8 CI Bot (unity8-ci-bot) wrote :

FAILED: Continuous integration, rev:2364
https://unity8-jenkins.ubuntu.com/job/lp-unity8-ci/1399/
Executed test runs:
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build/1865
    UNSTABLE: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=vivid+overlay,testname=qmluitests.sh/947
    UNSTABLE: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=xenial+overlay,testname=qmluitests.sh/947
    UNSTABLE: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=yakkety,testname=qmluitests.sh/947
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-0-fetch/1891
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=vivid+overlay/1828
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=xenial+overlay/1828
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=yakkety/1828
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/1819
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/1819/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/1819
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/1819/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=yakkety/1819
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=yakkety/1819/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/1819
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/1819/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/1819
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/1819/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=yakkety/1819
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=yakkety/1819/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/1819
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/1819/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/1819
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/1819/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=yakkety/1819
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=yakkety/1819/artifact/output/*zip*/output.zip

Click here to trigger a rebuild:
https://unity8-jenkins.ubuntu.com/job/lp-unity8-ci/1399/rebuild

review: Needs Fixing (continuous-integration)
Unity8 CI Bot (unity8-ci-bot) wrote :

FAILED: Continuous integration, rev:2365
https://unity8-jenkins.ubuntu.com/job/lp-unity8-ci/1419/
Executed test runs:
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build/1890
    UNSTABLE: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=vivid+overlay,testname=qmluitests.sh/964
    UNSTABLE: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=xenial+overlay,testname=qmluitests.sh/964
    UNSTABLE: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=yakkety,testname=qmluitests.sh/964
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-0-fetch/1916
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=vivid+overlay/1852
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=xenial+overlay/1852
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=yakkety/1852
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/1843
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/1843/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/1843
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/1843/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=yakkety/1843
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=yakkety/1843/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/1843
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/1843/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/1843
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/1843/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=yakkety/1843
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=yakkety/1843/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/1843
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/1843/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/1843
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/1843/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=yakkety/1843
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=yakkety/1843/artifact/output/*zip*/output.zip

Click here to trigger a rebuild:
https://unity8-jenkins.ubuntu.com/job/lp-unity8-ci/1419/rebuild

review: Needs Fixing (continuous-integration)
Michael Terry (mterry) wrote :

Sorry for all the CI noise. I addressed Saviq's comments (I should have had proper parallel support before, whoops).

But now I'm fighting with failures I only see in jenkins and am using this MP as a guinea pig.

Unity8 CI Bot (unity8-ci-bot) wrote :

FAILED: Continuous integration, rev:2366
https://unity8-jenkins.ubuntu.com/job/lp-unity8-ci/1432/
Executed test runs:
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build/1906
    UNSTABLE: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=vivid+overlay,testname=qmluitests.sh/971
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=xenial+overlay,testname=qmluitests.sh/971
    UNSTABLE: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=yakkety,testname=qmluitests.sh/971
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-0-fetch/1932
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=vivid+overlay/1868
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=xenial+overlay/1868
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=yakkety/1868
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/1859
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/1859/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/1859
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/1859/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=yakkety/1859
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=yakkety/1859/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/1859
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/1859/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/1859
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/1859/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=yakkety/1859
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=yakkety/1859/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/1859
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/1859/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/1859
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/1859/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=yakkety/1859
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=yakkety/1859/artifact/output/*zip*/output.zip

Click here to trigger a rebuild:
https://unity8-jenkins.ubuntu.com/job/lp-unity8-ci/1432/rebuild

review: Needs Fixing (continuous-integration)
Michael Terry (mterry) wrote :

OK, I think this is ready to be reviewed again.

- Now tests are parallel with 'parallel'
- Output is thus only given in chunks when tests finish (no more interleaving of output)
- It also means that we don't stop on the first failure
- We guard against not noticing a total test failure by touching the XML output file before starting
- Comparing recent test times, we took 47 minutes compared to 68 minutes. Saved a bit of time by skipping the build.

Albert Astals Cid (aacid) wrote :

Text conflict in tests/plugins/Dash/listviewwithpageheadersectionexternalmodeltest.cpp
Text conflict in tests/plugins/Dash/listviewwithpageheadersectiontest.cpp
Text conflict in tests/plugins/Dash/listviewwithpageheadertest.cpp
3 conflicts encountered.

review: Needs Fixing
Unity8 CI Bot (unity8-ci-bot) wrote :

FAILED: Continuous integration, rev:2367
https://unity8-jenkins.ubuntu.com/job/lp-unity8-ci/1573/
Executed test runs:
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build/2092
    UNSTABLE: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=vivid+overlay,testname=qmluitests.sh/1093
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=xenial+overlay,testname=qmluitests.sh/1093
    UNSTABLE: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=yakkety,testname=qmluitests.sh/1093
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-0-fetch/2120
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=vivid+overlay/2031
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=xenial+overlay/2031
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=yakkety/2031
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/2022
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/2022/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/2022
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/2022/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=yakkety/2022
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=yakkety/2022/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/2022
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/2022/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/2022
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/2022/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=yakkety/2022
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=yakkety/2022/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/2022
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/2022/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/2022
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/2022/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=yakkety/2022
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=yakkety/2022/artifact/output/*zip*/output.zip

Click here to trigger a rebuild:
https://unity8-jenkins.ubuntu.com/job/lp-unity8-ci/1573/rebuild

review: Needs Fixing (continuous-integration)
Unity8 CI Bot (unity8-ci-bot) wrote :

PASSED: Continuous integration, rev:2368
https://unity8-jenkins.ubuntu.com/job/lp-unity8-ci/1618/
Executed test runs:
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build/2156
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=vivid+overlay,testname=qmluitests.sh/1138
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=xenial+overlay,testname=qmluitests.sh/1138
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=yakkety,testname=qmluitests.sh/1138
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-0-fetch/2184
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=vivid+overlay/2091
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=xenial+overlay/2091
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=yakkety/2091
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/2082
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/2082/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/2082
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/2082/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=yakkety/2082
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=yakkety/2082/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/2082
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/2082/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/2082
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/2082/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=yakkety/2082
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=yakkety/2082/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/2082
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/2082/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/2082
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/2082/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=yakkety/2082
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=yakkety/2082/artifact/output/*zip*/output.zip

Click here to trigger a rebuild:
https://unity8-jenkins.ubuntu.com/job/lp-unity8-ci/1618/rebuild

review: Approve (continuous-integration)
Unity8 CI Bot (unity8-ci-bot) wrote :

FAILED: Continuous integration, rev:2369
https://unity8-jenkins.ubuntu.com/job/lp-unity8-ci/1646/
Executed test runs:
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build/2188
    UNSTABLE: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=vivid+overlay,testname=qmluitests.sh/1159
    UNSTABLE: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=xenial+overlay,testname=qmluitests.sh/1159
    UNSTABLE: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=yakkety,testname=qmluitests.sh/1159
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-0-fetch/2216
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=vivid+overlay/2122
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=xenial+overlay/2122
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=yakkety/2122
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/2113
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/2113/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/2113
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/2113/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=yakkety/2113
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=yakkety/2113/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/2113
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/2113/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/2113
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/2113/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=yakkety/2113
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=yakkety/2113/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/2113
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/2113/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/2113
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/2113/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=yakkety/2113
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=yakkety/2113/artifact/output/*zip*/output.zip

Click here to trigger a rebuild:
https://unity8-jenkins.ubuntu.com/job/lp-unity8-ci/1646/rebuild

review: Needs Fixing (continuous-integration)
Albert Astals Cid (aacid) wrote :

testSessionBackend.xml seems to fail consistently

review: Needs Fixing
Michael Terry (mterry) wrote :

OK, fixed testSessionBackend. There was a test executable we weren't installing.

Unity8 CI Bot (unity8-ci-bot) wrote :

FAILED: Continuous integration, rev:2371
https://unity8-jenkins.ubuntu.com/job/lp-unity8-ci/1691/
Executed test runs:
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build/2238
    UNSTABLE: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=vivid+overlay,testname=qmluitests.sh/1200
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=xenial+overlay,testname=qmluitests.sh/1200
    UNSTABLE: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=yakkety,testname=qmluitests.sh/1200
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-0-fetch/2266
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=vivid+overlay/2172
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=xenial+overlay/2172
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=yakkety/2172
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/2163
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/2163/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/2163
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/2163/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=yakkety/2163
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=yakkety/2163/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/2163
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/2163/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/2163
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/2163/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=yakkety/2163
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=yakkety/2163/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/2163
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/2163/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/2163
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/2163/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=yakkety/2163
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=yakkety/2163/artifact/output/*zip*/output.zip

Click here to trigger a rebuild:
https://unity8-jenkins.ubuntu.com/job/lp-unity8-ci/1691/rebuild

review: Needs Fixing (continuous-integration)
Albert Astals Cid (aacid) wrote :

Text conflict in tests/mocks/LightDM/IntegratedLightDM/CMakeLists.txt
1 conflicts encountered.

review: Needs Fixing
Unity8 CI Bot (unity8-ci-bot) wrote :

FAILED: Continuous integration, rev:2372
https://unity8-jenkins.ubuntu.com/job/lp-unity8-ci/1742/
Executed test runs:
    FAILURE: https://unity8-jenkins.ubuntu.com/job/build/2292/console
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-0-fetch/2320
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=vivid+overlay/2220
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=xenial+overlay/2220
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=yakkety/2220
    FAILURE: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/2213/console
    FAILURE: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/2213/console
    FAILURE: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=yakkety/2213/console
    FAILURE: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/2213/console
    FAILURE: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/2213/console
    FAILURE: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=yakkety/2213/console
    FAILURE: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/2213/console
    FAILURE: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/2213/console
    FAILURE: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=yakkety/2213/console

Click here to trigger a rebuild:
https://unity8-jenkins.ubuntu.com/job/lp-unity8-ci/1742/rebuild

review: Needs Fixing (continuous-integration)
Albert Astals Cid (aacid) wrote :

Text conflict in debian/control
1 conflicts encountered

Unity8 CI Bot (unity8-ci-bot) wrote :

FAILED: Continuous integration, rev:2373
https://unity8-jenkins.ubuntu.com/job/lp-unity8-ci/1818/
Executed test runs:
    FAILURE: https://unity8-jenkins.ubuntu.com/job/build/2375/console
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-0-fetch/2403
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=vivid+overlay/2290
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=xenial+overlay/2290
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=yakkety/2290
    FAILURE: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/2283/console
    FAILURE: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/2283/console
    FAILURE: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=yakkety/2283/console
    FAILURE: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/2283/console
    FAILURE: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/2283/console
    FAILURE: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=yakkety/2283/console
    FAILURE: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/2283/console
    FAILURE: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/2283/console
    FAILURE: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=yakkety/2283/console

Click here to trigger a rebuild:
https://unity8-jenkins.ubuntu.com/job/lp-unity8-ci/1818/rebuild

review: Needs Fixing (continuous-integration)
Albert Astals Cid (aacid) wrote :

This fails to merge again, wonder if we should put it back to WiP for the moment?

Michael Terry (mterry) wrote :

I've set this to review-needed again. I've merged with trunk and this ought to work now.

I'd like to see this landed so I don't have to merge from trunk again. :)

Unity8 CI Bot (unity8-ci-bot) wrote :

PASSED: Continuous integration, rev:2375
https://unity8-jenkins.ubuntu.com/job/lp-unity8-ci/2683/
Executed test runs:
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build/3527
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=xenial+overlay,testname=qmluitests.sh/2033
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=zesty,testname=qmluitests.sh/2033
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-0-fetch/3555
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/3402
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/3402/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=zesty/3402
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=zesty/3402/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/3402
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/3402/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=zesty/3402
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=zesty/3402/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/3402
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/3402/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=zesty/3402
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=zesty/3402/artifact/output/*zip*/output.zip

Click here to trigger a rebuild:
https://unity8-jenkins.ubuntu.com/job/lp-unity8-ci/2683/rebuild

review: Approve (continuous-integration)
Albert Astals Cid (aacid) wrote :

Commit message says qmltests.sh, but we have no file with such name?

review: Needs Information
Michael Terry (mterry) wrote :

@Albert, I fixed the message to say qmluitests.sh instead. (it's in the debian/tests/ directory)

Albert Astals Cid (aacid) wrote :

Looks good to me, runs the same amount of tests and we don't have to recompile anything. I'd say let's get in before Michael gives up and if there's any issue we can always refine it later.

review: Approve
Unity8 CI Bot (unity8-ci-bot) wrote :
review: Needs Fixing (continuous-integration)
Albert Astals Cid (aacid) wrote :

Text conflict in debian/control
1 conflicts encountered.

Note: Was top approved already.

review: Needs Fixing
Unity8 CI Bot (unity8-ci-bot) wrote :

PASSED: Continuous integration, rev:2379
https://unity8-jenkins.ubuntu.com/job/lp-unity8-ci/2781/
Executed test runs:
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build/3641
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=xenial+overlay,testname=qmluitests.sh/2083
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=zesty,testname=qmluitests.sh/2083
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-0-fetch/3669
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/3515
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/3515/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=zesty/3515
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=zesty/3515/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/3515
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/3515/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=zesty/3515
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=zesty/3515/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/3515
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/3515/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=zesty/3515
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=zesty/3515/artifact/output/*zip*/output.zip

Click here to trigger a rebuild:
https://unity8-jenkins.ubuntu.com/job/lp-unity8-ci/2781/rebuild

review: Approve (continuous-integration)
Albert Astals Cid (aacid) wrote :

My bad, merges fine.

review: Approve
Unity8 CI Bot (unity8-ci-bot) wrote :

PASSED: Continuous integration, rev:2379
https://unity8-jenkins.ubuntu.com/job/lp-unity8-ci/2783/
Executed test runs:
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build/3644
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=xenial+overlay,testname=qmluitests.sh/2084
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=zesty,testname=qmluitests.sh/2084
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-0-fetch/3672
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/3517
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/3517/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=zesty/3517
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=zesty/3517/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/3517
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/3517/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=zesty/3517
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=zesty/3517/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/3517
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/3517/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=zesty/3517
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=zesty/3517/artifact/output/*zip*/output.zip

Click here to trigger a rebuild:
https://unity8-jenkins.ubuntu.com/job/lp-unity8-ci/2783/rebuild

review: Approve (continuous-integration)
Michał Sawicz (saviq) :
review: Abstain
Unity8 CI Bot (unity8-ci-bot) wrote :

PASSED: Continuous integration, rev:2380
https://unity8-jenkins.ubuntu.com/job/lp-unity8-ci/2799/
Executed test runs:
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build/3664
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=xenial+overlay,testname=qmluitests.sh/2102
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=zesty,testname=qmluitests.sh/2102
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-0-fetch/3692
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/3537
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/3537/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=zesty/3537
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=zesty/3537/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/3537
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/3537/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=zesty/3537
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=zesty/3537/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/3537
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/3537/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=zesty/3537
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=zesty/3537/artifact/output/*zip*/output.zip

Click here to trigger a rebuild:
https://unity8-jenkins.ubuntu.com/job/lp-unity8-ci/2799/rebuild

review: Approve (continuous-integration)
Timo Jyrinki (timo-jyrinki) wrote :

The new dependencies are in universe and do not have MIR. This landed in archives and is now blocking Qt 5.7.1 transistion.

review: Needs Fixing
Timo Jyrinki (timo-jyrinki) wrote :

To be exact, xvfb and qt5-default come from source packages that are in main and could be promoted, while dbus-test-runner and parallel are fully universe packages.

Timo Jyrinki (timo-jyrinki) wrote :

Oh, ok, found bug #1656104 now, that should fix it. Thanks!

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'CMakeLists.txt'
2--- CMakeLists.txt 2016-12-12 16:45:09 +0000
3+++ CMakeLists.txt 2017-01-03 13:04:42 +0000
4@@ -151,8 +151,6 @@
5 ${APPLICATION_API_INCLUDE_DIRS}
6 )
7
8-set(ARTIFACTS_DIR "" CACHE PATH "Store test artifacts in this directory.")
9-
10 # Quiet logger
11 set(QUIET_LOGGER OFF CACHE BOOL "Disable test output on stdout.")
12 if(NOT QUIET_LOGGER)
13
14=== modified file 'cmake/modules/QmlTest.cmake'
15--- cmake/modules/QmlTest.cmake 2016-03-04 15:07:31 +0000
16+++ cmake/modules/QmlTest.cmake 2017-01-03 13:04:42 +0000
17@@ -55,6 +55,55 @@
18 endfunction()
19
20
21+# add_qml_test_data(path component_name
22+# [...]
23+# )
24+#
25+# Install file called ${component_name} (or ${component_name}.qml) under
26+# ${path}.
27+
28+function(add_qml_test_data PATH COMPONENT_NAME)
29+ cmake_parse_arguments(TEST "" "DESTINATION" "" ${ARGN})
30+
31+ set(filename "${CMAKE_CURRENT_SOURCE_DIR}/${PATH}/${COMPONENT_NAME}")
32+
33+ if (IS_DIRECTORY "${filename}")
34+ # As a convenience, allow specifying a directory and we will install
35+ # all files in the dir. We do it this way rather than passing
36+ # DIRECTORY to install() because we want to process any qml files.
37+ file(GLOB subfiles RELATIVE "${filename}" "${filename}/*")
38+ foreach(subfile ${subfiles})
39+ add_qml_test_data("${PATH}/${COMPONENT_NAME}" "${subfile}")
40+ endforeach()
41+ return()
42+ endif()
43+
44+ if (NOT EXISTS "${filename}")
45+ set(filename "${filename}.qml")
46+ set(COMPONENT_NAME "${COMPONENT_NAME}.qml")
47+ endif()
48+
49+ if ("${filename}" MATCHES "\\.qml$")
50+ file(READ "${filename}" contents)
51+ string(REGEX REPLACE "(\"[./]*)/qml(/|\")" "\\1\\2" contents "${contents}")
52+ # this is for (at least) cardcreatortest which pulls in an architecture-specific
53+ # import into the plugins directory (which is a 'qml' once installed).
54+ string(REGEX REPLACE "(import \"[./]*)/plugins(/|\")" "\\1/qml\\2" contents "${contents}")
55+ set(filename "${CMAKE_CURRENT_BINARY_DIR}/${PATH}/${COMPONENT_NAME}")
56+ file(WRITE "${filename}" "${contents}")
57+ endif()
58+
59+ if (TEST_DESTINATION)
60+ set(DESTINATION "${TEST_DESTINATION}")
61+ else()
62+ file(RELATIVE_PATH relcurpath "${CMAKE_SOURCE_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}")
63+ set(DESTINATION "${SHELL_APP_DIR}/${relcurpath}/${PATH}")
64+ endif()
65+
66+ install(FILES "${filename}" DESTINATION "${DESTINATION}")
67+endfunction()
68+
69+
70 # add_qml_unittest(path component_name
71 # [...]
72 # )
73@@ -71,6 +120,10 @@
74 ${ARGN}
75 ARGS -input ${CMAKE_CURRENT_SOURCE_DIR}/${PATH}/tst_${COMPONENT_NAME}.qml ${QMLTEST_ARGS}
76 )
77+
78+ if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/${PATH}/tst_${COMPONENT_NAME}.qml")
79+ add_qml_test_data("${PATH}" "tst_${COMPONENT_NAME}.qml")
80+ endif()
81 endfunction()
82
83
84@@ -91,6 +144,10 @@
85 ${ARGN}
86 ARGS ${CMAKE_CURRENT_SOURCE_DIR}/${PATH}/tst_${COMPONENT_NAME}.qml ${QMLTEST_ARGS}
87 )
88+
89+ if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/${PATH}/tst_${COMPONENT_NAME}.qml")
90+ add_qml_test_data("${PATH}" "tst_${COMPONENT_NAME}.qml")
91+ endif()
92 endfunction()
93
94
95@@ -108,8 +165,7 @@
96 #
97 # Logging options in the standard form of "-o filename,format"
98 # will be appended to the arguments list, prefixed with ARG_PREFIX.
99-# XUnitXML files will be stored in current binary dir or under
100-# ARTIFACTS_DIR, if set.
101+# XUnitXML files will be stored in current binary dir.
102 #
103 # Three targets will be created:
104 # - test${component_name} - Runs the test
105@@ -122,14 +178,8 @@
106 cmake_parse_arguments(QMLTEST "${QMLTEST_OPTIONS}" "${QMLTEST_SINGLE}" "${QMLTEST_MULTI}" ${ARGN})
107 mangle_arguments()
108
109- if(ARTIFACTS_DIR)
110- file(RELATIVE_PATH path ${CMAKE_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR})
111- file(MAKE_DIRECTORY ${ARTIFACTS_DIR}/${path})
112- set(file_logger -o ${ARTIFACTS_DIR}/${path}/test${COMPONENT_NAME}.xml,xunitxml)
113- else()
114- file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
115- set(file_logger -o ${CMAKE_CURRENT_BINARY_DIR}/test${COMPONENT_NAME}.xml,xunitxml)
116- endif()
117+ file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
118+ set(file_logger -o ${CMAKE_CURRENT_BINARY_DIR}/test${COMPONENT_NAME}.xml,xunitxml)
119
120 bake_arguments("${QMLTEST_ARG_PREFIX}" args ${iterations} ${file_logger} ${STDOUT_LOGGER})
121
122@@ -207,8 +257,124 @@
123 endfunction()
124
125
126+# add_meta_test(target)
127+#
128+# Adds a test target that will run one of our "meta" test targets, like
129+# xvfbuitests. This script will run the specified suite of tests on an
130+# installed system.
131+
132+function(add_meta_test TARGET_NAME)
133+ cmake_parse_arguments(TEST "" "" "DEPENDS" ${ARGN})
134+
135+ add_custom_target(${TARGET_NAME})
136+
137+ set(filename "${CMAKE_BINARY_DIR}/tests/scripts/${TARGET_NAME}.sh")
138+ file(WRITE "${filename}" "#!/usr/bin/parallel --shebang --no-notice\n\n")
139+
140+ add_meta_dependencies(${TARGET_NAME} DEPENDS ${TEST_DEPENDS})
141+ # else we will write the rest of the script as we add cmake targets
142+
143+ install(FILES "${filename}"
144+ PERMISSIONS OWNER_EXECUTE OWNER_READ OWNER_WRITE
145+ GROUP_EXECUTE GROUP_READ
146+ WORLD_EXECUTE WORLD_READ
147+ DESTINATION "${SHELL_PRIVATE_LIBDIR}/tests/scripts"
148+ )
149+endfunction()
150+
151+
152 ################### INTERNAL ####################
153
154+function(install_test_script TARGET_NAME)
155+ cmake_parse_arguments(TEST "" "" "COMMAND;ENVIRONMENT" ${ARGN})
156+
157+ # Now write the above test into a shell script that we can run on an
158+ # installed system.
159+ set(script "#!/bin/sh\n\nset -x\n\n")
160+ foreach(ONE_ENV ${TEST_ENVIRONMENT})
161+ set(script "${script}export ${ONE_ENV}\n")
162+ endforeach()
163+ set(script "${script}export UNITY_TESTING_DATADIR=\"${CMAKE_INSTALL_PREFIX}/${SHELL_APP_DIR}\"\n")
164+ set(script "${script}export UNITY_TESTING_LIBDIR=\"${CMAKE_INSTALL_PREFIX}/${SHELL_PRIVATE_LIBDIR}\"\n")
165+ set(script "${script}\n")
166+ set(script "${script}XML_ARGS=\n")
167+ set(script "${script}if [ -n \"\$ARTIFACTS_DIR\" ]; then\n")
168+ set(script "${script} XML_ARGS=\"@XML_ARGS@\"\n")
169+ set(script "${script} mkdir -p \"@XML_DIR@\"\n")
170+ set(script "${script} touch \"@XML_FILE@\"\n")
171+ set(script "${script}fi\n")
172+ set(script "${script}\n")
173+ foreach(ONE_CMD ${TEST_COMMAND})
174+ set(script "${script}'${ONE_CMD}' ")
175+ endforeach()
176+
177+ set(filename "${CMAKE_BINARY_DIR}/tests/scripts/${TARGET_NAME}.sh")
178+
179+ # Generate script to file then read it back to resolve any generator
180+ # expressions before we try to replace paths.
181+ file(GENERATE
182+ OUTPUT "${filename}"
183+ CONTENT "${script}"
184+ )
185+
186+ # Do replacement at install time to save needless work and to make sure
187+ # we are modifying file after generate step above (which doesn't happen
188+ # immediately). We can't use a custom-defined function or macro here...
189+ # So instead we use a giant ugly code block.
190+
191+ # START OF CODE BLOCK --------------------------------------------------
192+ install(CODE "
193+ file(READ \"${filename}\" replacestr)
194+
195+ # Now some replacements...
196+ # tests like to write xml output to our builddir; we don't need that, but we do want them in ARTIFACTS_DIR
197+ string(REGEX MATCH \"( '--parameter')? '-o'( '--parameter')? '[^']*,xunitxml' \" xmlargs \"\${replacestr}\")
198+ string(REGEX REPLACE \"( '--parameter')? '-o'( '--parameter')? '[^']*,xunitxml' \" \" \\\$XML_ARGS \" replacestr \"\${replacestr}\")
199+ string(REGEX REPLACE \"'[^']*/tests/\" \"'\\\$ARTIFACTS_DIR/tests/\" xmlargs \"\${xmlargs}\")
200+ string(REGEX REPLACE \".*'([^']*),xunitxml'.*\" \"\\\\1\" xmlfile \"\${xmlargs}\")
201+ string(REGEX REPLACE \"(.*)/[^/]*\" \"\\\\1\" xmldir \"\${xmlfile}\")
202+ string(REGEX REPLACE \"'\" \"\" xmlargs \"\${xmlargs}\") # strip single quotes
203+ string(REGEX REPLACE \"@XML_ARGS@\" \"\${xmlargs}\" replacestr \"\${replacestr}\")
204+ string(REGEX REPLACE \"@XML_DIR@\" \"\${xmldir}\" replacestr \"\${replacestr}\")
205+ string(REGEX REPLACE \"@XML_FILE@\" \"\${xmlfile}\" replacestr \"\${replacestr}\")
206+ # replace build/source roots with their install paths
207+ string(REPLACE \"${CMAKE_BINARY_DIR}/libs\" \"${CMAKE_INSTALL_PREFIX}/${SHELL_PRIVATE_LIBDIR}\" replacestr \"\${replacestr}\")
208+ string(REPLACE \"${CMAKE_BINARY_DIR}/plugins\" \"${CMAKE_INSTALL_PREFIX}/${SHELL_INSTALL_QML}\" replacestr \"\${replacestr}\")
209+ string(REPLACE \"${CMAKE_BINARY_DIR}/tests/libs\" \"${CMAKE_INSTALL_PREFIX}/${SHELL_PRIVATE_LIBDIR}/tests/libs\" replacestr \"\${replacestr}\")
210+ string(REPLACE \"${CMAKE_BINARY_DIR}/tests/mocks\" \"${CMAKE_INSTALL_PREFIX}/${SHELL_INSTALL_QML}/mocks\" replacestr \"\${replacestr}\")
211+ string(REPLACE \"${CMAKE_BINARY_DIR}/tests/plugins\" \"${CMAKE_INSTALL_PREFIX}/${SHELL_PRIVATE_LIBDIR}/tests/plugins\" replacestr \"\${replacestr}\")
212+ string(REPLACE \"${CMAKE_BINARY_DIR}/tests/qmltests\" \"${CMAKE_INSTALL_PREFIX}/${SHELL_PRIVATE_LIBDIR}/tests/qmltests\" replacestr \"\${replacestr}\")
213+ string(REPLACE \"${CMAKE_BINARY_DIR}/tests/uqmlscene\" \"${CMAKE_INSTALL_PREFIX}/${SHELL_PRIVATE_LIBDIR}\" replacestr \"\${replacestr}\")
214+ string(REPLACE \"${CMAKE_BINARY_DIR}/tests/utils/modules\" \"${CMAKE_INSTALL_PREFIX}/${SHELL_INSTALL_QML}/utils\" replacestr \"\${replacestr}\")
215+ string(REPLACE \"${CMAKE_SOURCE_DIR}/tests/plugins\" \"${CMAKE_INSTALL_PREFIX}/${SHELL_APP_DIR}/tests/plugins\" replacestr \"\${replacestr}\")
216+ string(REPLACE \"${CMAKE_SOURCE_DIR}/tests/qmltests\" \"${CMAKE_INSTALL_PREFIX}/${SHELL_APP_DIR}/tests/qmltests\" replacestr \"\${replacestr}\")
217+
218+ file(WRITE \"${filename}\" \"\${replacestr}\")
219+ ")
220+ # END OF CODE BLOCK --------------------------------------------------
221+
222+ install(FILES "${filename}"
223+ PERMISSIONS OWNER_EXECUTE OWNER_READ OWNER_WRITE
224+ GROUP_EXECUTE GROUP_READ
225+ WORLD_EXECUTE WORLD_READ
226+ DESTINATION "${SHELL_PRIVATE_LIBDIR}/tests/scripts"
227+ )
228+endfunction()
229+
230+function(add_meta_dependencies UPSTREAM_TARGET)
231+ cmake_parse_arguments(TEST "" "" "DEPENDS" ${ARGN})
232+
233+ foreach(depend ${TEST_DEPENDS})
234+ add_dependencies(${UPSTREAM_TARGET} ${depend})
235+
236+ # add depend to the meta test script that we will install on system
237+ set(filename "${CMAKE_BINARY_DIR}/tests/scripts/${UPSTREAM_TARGET}.sh")
238+ if (EXISTS "${filename}")
239+ file(APPEND "${filename}" "${CMAKE_INSTALL_PREFIX}/${SHELL_PRIVATE_LIBDIR}/tests/scripts/${depend}.sh\n")
240+ endif()
241+ endforeach()
242+endfunction()
243+
244 # add_qmltest_target(target_name target
245 # COMMAND test_exe [arg1 [...]] # execute this test with arguments
246 # [...] # see above for available arguments:
247@@ -231,6 +397,11 @@
248 DEPENDS ${TARGET} ${QMLTEST_DEPENDS}
249 )
250
251+ install_test_script(${TARGET_NAME}
252+ ENVIRONMENT ${QMLTEST_ENVIRONMENT}
253+ COMMAND ${QMLTEST_COMMAND}
254+ )
255+
256 if(QMLTEST_ADD_TEST)
257 add_test(
258 NAME ${TARGET_NAME}
259@@ -248,7 +419,7 @@
260 endif()
261
262 foreach(UPSTREAM_TARGET ${QMLTEST_TARGETS})
263- add_dependencies(${UPSTREAM_TARGET} ${TARGET_NAME})
264+ add_meta_dependencies(${UPSTREAM_TARGET} DEPENDS ${TARGET_NAME})
265 endforeach()
266 endfunction()
267
268
269=== modified file 'debian/control'
270--- debian/control 2016-12-12 16:45:09 +0000
271+++ debian/control 2017-01-03 13:04:42 +0000
272@@ -11,6 +11,7 @@
273 # to g++ so we don't try to run arm g++
274 # on an x86 CPU for example, when cross-compiling.
275 g++:native,
276+ gdb,
277 graphviz,
278 gsettings-ubuntu-schemas (>= 0.0.2+14.10.20140815),
279 libandroid-properties-dev,
280@@ -69,6 +70,7 @@
281 qtdeclarative5-ubuntu-content1,
282 qtdeclarative5-ubuntu-settings-components (>= 0.11),
283 ttf-ubuntu-font-family,
284+ xvfb,
285 Standards-Version: 3.9.4
286 Homepage: http://launchpad.net/unity
287 # If you aren't a member of ~unity-team but need to upload
288@@ -166,7 +168,7 @@
289 unity-notifications-impl-3,
290 unity-plugin-scopes | unity-scopes-impl,
291 unity-scopes-impl-12,
292- unity8-fake-env | unity-application-impl,
293+ unity8-tests | unity-application-impl,
294 ${misc:Depends},
295 Breaks: unity8 (<< 7.86),
296 Replaces: unity8 (<< 7.86),
297@@ -192,27 +194,36 @@
298 ubuntu-ui-toolkit-autopilot (>= 1.3.2030),
299 unity-scope-click,
300 unity8 (= ${source:Version}),
301- unity8-fake-env (= ${source:Version}),
302+ unity8-tests (= ${source:Version}),
303 url-dispatcher-tools,
304 xvfb,
305 ${misc:Depends},
306 ${python3:Depends},
307- ${shlibs:Depends},
308 Description: Test package for Unity 8 shell
309 Autopilot tests for the unity8 package
310
311-Package: unity8-fake-env
312+Package: unity8-tests
313 Architecture: any
314 Multi-Arch: same
315 Pre-Depends: ${misc:Pre-Depends},
316-Depends: ${misc:Depends},
317+Depends: dbus-test-runner,
318+ parallel,
319+ qt5-default,
320+ qtdeclarative5-dev-tools,
321+ unity8 (= ${source:Version}),
322+ xvfb,
323+ ${misc:Depends},
324 ${shlibs:Depends},
325 Provides: unity-application-impl,
326 unity-application-impl-23,
327-Replaces: unity8-autopilot (<< 8.02+15.04.20150422-0ubuntu1)
328-Description: Fake environment for running Unity 8 shell
329+ unity8-fake-env,
330+Replaces: unity8-autopilot (<< 8.02+15.04.20150422-0ubuntu1),
331+ unity8-fake-env,
332+Conflicts: unity8-fake-env,
333+Description: Scripts and mocks for running Unity 8 shell tests
334 Provides fake implementations of some QML modules used by Unity 8 shell
335- (e.g Ubuntu.Application) so that you can run it in a sandboxed environment.
336+ (e.g Ubuntu.Application) so that you can run it in a sandboxed environment
337+ and scripts to run its test suite.
338
339 Package: unity8-private
340 Architecture: any
341
342=== modified file 'debian/rules'
343--- debian/rules 2016-08-11 17:55:45 +0000
344+++ debian/rules 2017-01-03 13:04:42 +0000
345@@ -35,9 +35,9 @@
346
347 # use private lib directories
348 override_dh_makeshlibs:
349- dh_makeshlibs -Nunity8-private -Nunity8-fake-env
350+ dh_makeshlibs -Nunity8-private -Nunity8-tests
351
352 override_dh_shlibdeps:
353 # Some mock libraries link against liblightdm-qt5-3.so which we want to
354 # avoid, since we only really link against our mock one, not the system one.
355- dh_shlibdeps -XlibMockLightDM-qml.so -XlibMockAccountsService-qml.so
356+ dh_shlibdeps -XlibMockLightDM-qml.so -XlibMockAccountsService-qml.so -Lunity8-private
357
358=== added file 'debian/shlibs.local'
359--- debian/shlibs.local 1970-01-01 00:00:00 +0000
360+++ debian/shlibs.local 2017-01-03 13:04:42 +0000
361@@ -0,0 +1,1 @@
362+libunity8-private 0 unity8-private
363
364=== modified file 'debian/tests/control'
365--- debian/tests/control 2016-02-26 02:31:37 +0000
366+++ debian/tests/control 2017-01-03 13:04:42 +0000
367@@ -1,8 +1,7 @@
368 Tests: qmluitests.sh
369 Restrictions: allow-stderr
370-Depends: @,
371- @builddeps@,
372- xvfb,
373+Depends: dpkg-dev,
374+ unity8-tests,
375
376 Tests: autopilot.sh
377 Restrictions: allow-stderr,
378
379=== modified file 'debian/tests/qmluitests.sh'
380--- debian/tests/qmluitests.sh 2016-02-03 18:56:10 +0000
381+++ debian/tests/qmluitests.sh 2017-01-03 13:04:42 +0000
382@@ -1,21 +1,11 @@
383 #!/bin/sh
384+# -*- Mode: sh; indent-tabs-mode: nil; tab-width: 4 -*-
385
386 # log all commands and abort on error
387 set -xe
388
389-SHELL_QML_PATH=$(pkg-config --variable=plugindir unity-shell-api)
390-UNITY_SOURCE_DIR=$(readlink -f $(dirname $(readlink -f $0))/../..)
391-
392-dh_auto_configure -- -DCMAKE_INSTALL_LOCALSTATEDIR="/var" \
393- -DARTIFACTS_DIR=${ADT_ARTIFACTS} \
394- -DUNITY_PLUGINPATH=${SHELL_QML_PATH} \
395- -DUNITY_MOCKPATH=${SHELL_QML_PATH}/mocks
396-dh_auto_build --parallel -- -C tests/mocks
397-dh_auto_build --parallel -- -C tests/plugins
398-dh_auto_build --parallel -- -C tests/qmltests
399-dh_auto_build --parallel -- -C tests/uqmlscene
400-dh_auto_build --parallel -- -C tests/utils
401-
402-export UNITY_SOURCE_DIR
403-
404-dh_auto_build --parallel -- -k xvfballtests
405+DEB_HOST_MULTIARCH=$(dpkg-architecture -qDEB_HOST_MULTIARCH)
406+
407+export ARTIFACTS_DIR="${ADT_ARTIFACTS}"
408+
409+/usr/lib/$DEB_HOST_MULTIARCH/unity8/tests/scripts/xvfballtests.sh
410
411=== renamed file 'debian/unity8-fake-env.install' => 'debian/unity8-tests.install'
412--- debian/unity8-fake-env.install 2015-04-21 15:19:40 +0000
413+++ debian/unity8-tests.install 2017-01-03 13:04:42 +0000
414@@ -3,4 +3,8 @@
415 usr/lib/*/unity8/qml/mocks
416 usr/lib/*/unity8/qml/nonmirplugins
417 usr/lib/*/unity8/qml/scopefakes
418+usr/lib/*/unity8/qml/utils
419+usr/lib/*/unity8/tests
420+usr/lib/*/unity8/uqmlscene
421 usr/share/unity8/mocks
422+usr/share/unity8/tests
423
424=== added file 'debian/unity8-tests.lintian-overrides'
425--- debian/unity8-tests.lintian-overrides 1970-01-01 00:00:00 +0000
426+++ debian/unity8-tests.lintian-overrides 2017-01-03 13:04:42 +0000
427@@ -0,0 +1,1 @@
428+unity8-tests: unusual-interpreter usr/lib/*/unity8/tests/scripts/*.sh #!/usr/bin/parallel
429
430=== modified file 'include/paths.h.in'
431--- include/paths.h.in 2016-10-04 13:57:16 +0000
432+++ include/paths.h.in 2017-01-03 13:04:42 +0000
433@@ -41,7 +41,10 @@
434 }
435
436 inline bool isRunningInstalled() {
437- return !installRoot().isNull();
438+ // Tests don't use the normal binary, so we want to check binary *and*
439+ // the environment. Installed tests have UNITY_TESTING_DATADIR set.
440+ static bool installed_test_env = !qgetenv("UNITY_TESTING_DATADIR").isEmpty();
441+ return !installRoot().isNull() || installed_test_env;
442 }
443
444 inline QString buildDirectory() {
445@@ -62,6 +65,28 @@
446 }
447 }
448
449+inline QString testDataDir() {
450+ // Can't use isRunningInstalled, since tests don't use the normal unity8
451+ // executable. $UNITY_TESTING_DATADIR is set by installed tests.
452+ QString datadir(qgetenv("UNITY_TESTING_DATADIR"));
453+ if (datadir.isEmpty()) {
454+ return sourceDirectory() + "/tests";
455+ } else {
456+ return datadir + "/tests";
457+ }
458+}
459+
460+inline QString testLibDir() {
461+ // Can't use isRunningInstalled, since tests don't use the normal unity8
462+ // executable. $UNITY_TESTING_DATADIR is set by installed tests.
463+ QString libdir(qgetenv("UNITY_TESTING_LIBDIR"));
464+ if (libdir.isEmpty()) {
465+ return buildDirectory() + "/tests";
466+ } else {
467+ return libdir + "/tests";
468+ }
469+}
470+
471 inline QString qmlDirectory() {
472 if (isRunningInstalled()) {
473 return installRoot() + QStringLiteral("@CMAKE_INSTALL_PREFIX@/@SHELL_APP_DIR@/");
474
475=== modified file 'plugins/Ubuntu/Gestures/CMakeLists.txt'
476--- plugins/Ubuntu/Gestures/CMakeLists.txt 2016-11-28 09:57:06 +0000
477+++ plugins/Ubuntu/Gestures/CMakeLists.txt 2017-01-03 13:04:42 +0000
478@@ -16,7 +16,7 @@
479
480 add_definitions(-DUBUNTUGESTURESQML_LIBRARY)
481
482-add_library(UbuntuGesturesQml MODULE ${UbuntuGesturesQml_SOURCES})
483+add_library(UbuntuGesturesQml SHARED ${UbuntuGesturesQml_SOURCES})
484 target_link_libraries(UbuntuGesturesQml ${UBUNTUGESTURES_LIBRARIES})
485
486 qt5_use_modules(UbuntuGesturesQml Core Quick)
487
488=== modified file 'plugins/Wizard/PageList.cpp'
489--- plugins/Wizard/PageList.cpp 2016-07-18 13:33:45 +0000
490+++ plugins/Wizard/PageList.cpp 2017-01-03 13:04:42 +0000
491@@ -46,7 +46,9 @@
492 QSet<QString> disabledPages;
493 QStringList dataDirs;
494
495- if (!isRunningInstalled() && getenv("WIZARD_TESTING") == nullptr) {
496+ if (getenv("WIZARD_TESTING") != nullptr) {
497+ dataDirs = QStandardPaths::standardLocations(QStandardPaths::GenericDataLocation);
498+ } else if (!isRunningInstalled()) {
499 dataDirs << qmlDirectory();
500 } else {
501 dataDirs = shellDataDirs();
502
503=== modified file 'tests/CMakeLists.txt'
504--- tests/CMakeLists.txt 2016-08-22 15:39:16 +0000
505+++ tests/CMakeLists.txt 2017-01-03 13:04:42 +0000
506@@ -1,17 +1,14 @@
507 include(QmlTest)
508
509 # QML tests that do not require graphical capabilities.
510-add_custom_target(unittests)
511+add_meta_test(unittests)
512
513 # QML tests that require graphical capabilities.
514-add_custom_target(uitests)
515-add_custom_target(xvfbuitests)
516-
517-add_custom_target(alltests)
518-add_dependencies(alltests unittests uitests)
519-
520-add_custom_target(xvfballtests)
521-add_dependencies(xvfballtests unittests xvfbuitests)
522+add_meta_test(uitests)
523+add_meta_test(xvfbuitests)
524+
525+add_meta_test(alltests DEPENDS unittests uitests)
526+add_meta_test(xvfballtests DEPENDS unittests xvfbuitests)
527
528 # Support libraries and plugins
529 add_subdirectory(mocks)
530@@ -121,6 +118,11 @@
531 add_unity8_qmltest(${PATH} ${COMPONENT_NAME} ITERATIONS ${ITERATIONS} ${ARGN})
532 endfunction()
533
534+# add files needed for qml tests, just here for better alignment with add_unity8_qmltest
535+function(add_unity8_qmltest_data PATH COMPONENT_NAME)
536+ add_qml_test_data("${PATH}" "${COMPONENT_NAME}")
537+endfunction()
538+
539 # used to make dbus adaptor classes from xml to mock system services
540 if(DEFINED ENV{DEB_BUILD_MULTIARCH})
541 set(QDBUSXML2CPP_EXECUTABLE "/usr/lib/$ENV{DEB_BUILD_MULTIARCH}/qt5/bin/qdbusxml2cpp")
542@@ -128,6 +130,12 @@
543 FIND_PROGRAM(QDBUSXML2CPP_EXECUTABLE qdbusxml2cpp)
544 endif()
545
546+
547+install(DIRECTORY data graphics
548+ DESTINATION "${SHELL_APP_DIR}/tests"
549+)
550+
551+
552 # Actual test definitions
553 add_subdirectory(plugins)
554 add_subdirectory(qmltests)
555
556=== added directory 'tests/graphics/screenshots'
557=== added file 'tests/graphics/screenshots/gallery@12.png'
558Binary files tests/graphics/screenshots/gallery@12.png 1970-01-01 00:00:00 +0000 and tests/graphics/screenshots/gallery@12.png 2017-01-03 13:04:42 +0000 differ
559=== modified file 'tests/mocks/AccountsService/CMakeLists.txt'
560--- tests/mocks/AccountsService/CMakeLists.txt 2016-08-04 14:05:54 +0000
561+++ tests/mocks/AccountsService/CMakeLists.txt 2017-01-03 13:04:42 +0000
562@@ -20,6 +20,5 @@
563 )
564
565 add_unity8_mock(AccountsService 0.1 AccountsService
566- PREFIX mocks
567 TARGETS MockAccountsService-qml
568 )
569
570=== modified file 'tests/mocks/CMakeLists.txt'
571--- tests/mocks/CMakeLists.txt 2016-06-29 18:05:44 +0000
572+++ tests/mocks/CMakeLists.txt 2017-01-03 13:04:42 +0000
573@@ -11,21 +11,20 @@
574 set(single PREFIX)
575 cmake_parse_arguments(MOCK "" "${single}" "" ${ARGN})
576
577- if(MOCK_PREFIX)
578- export_qmlfiles(${PLUGIN} ${PATH}
579- DESTINATION ${SHELL_INSTALL_QML}/${MOCK_PREFIX}
580- TARGET_PREFIX ${MOCK_PREFIX}-Mock
581- ${MOCK_UNPARSED_ARGUMENTS}
582- )
583- export_qmlplugin(${PLUGIN} ${VERSION} ${PATH}
584- DESTINATION ${SHELL_INSTALL_QML}/${MOCK_PREFIX}
585- TARGET_PREFIX ${MOCK_PREFIX}-Mock
586- ${MOCK_UNPARSED_ARGUMENTS}
587- )
588- else()
589- export_qmlfiles(${PLUGIN} ${PATH} TARGET_PREFIX Mock ${MOCK_UNPARSED_ARGUMENTS})
590- export_qmlplugin(${PLUGIN} ${VERSION} ${PATH} TARGET_PREFIX Mock ${MOCK_UNPARSED_ARGUMENTS})
591+ if (NOT MOCK_PREFIX)
592+ set(MOCK_PREFIX mocks)
593 endif()
594+
595+ export_qmlfiles(${PLUGIN} ${PATH}
596+ DESTINATION ${SHELL_INSTALL_QML}/${MOCK_PREFIX}
597+ TARGET_PREFIX ${MOCK_PREFIX}-Mock
598+ ${MOCK_UNPARSED_ARGUMENTS}
599+ )
600+ export_qmlplugin(${PLUGIN} ${VERSION} ${PATH}
601+ DESTINATION ${SHELL_INSTALL_QML}/${MOCK_PREFIX}
602+ TARGET_PREFIX ${MOCK_PREFIX}-Mock
603+ ${MOCK_UNPARSED_ARGUMENTS}
604+ )
605 endmacro()
606
607 add_subdirectory(AccountsService)
608
609=== modified file 'tests/mocks/Cursor/CMakeLists.txt'
610--- tests/mocks/Cursor/CMakeLists.txt 2016-08-25 00:34:09 +0000
611+++ tests/mocks/Cursor/CMakeLists.txt 2017-01-03 13:04:42 +0000
612@@ -1,1 +1,1 @@
613-add_unity8_mock(Cursor 1.1 Cursor PREFIX mocks)
614+add_unity8_mock(Cursor 1.1 Cursor)
615
616=== modified file 'tests/mocks/LightDM/IntegratedLightDM/CMakeLists.txt'
617--- tests/mocks/LightDM/IntegratedLightDM/CMakeLists.txt 2015-11-19 00:25:25 +0000
618+++ tests/mocks/LightDM/IntegratedLightDM/CMakeLists.txt 2017-01-03 13:04:42 +0000
619@@ -45,7 +45,6 @@
620 qt5_use_modules(MockLightDM-qml DBus Gui Qml)
621
622 add_unity8_mock(LightDM.IntegratedLightDM 0.1 LightDM/IntegratedLightDM
623- PREFIX mocks
624 TARGETS MockLightDM-qml
625 ENVIRONMENT "LD_LIBRARY_PATH=${CMAKE_CURRENT_BINARY_DIR}/liblightdm"
626 )
627
628=== modified file 'tests/mocks/LightDM/IntegratedLightDM/liblightdm/CMakeLists.txt'
629--- tests/mocks/LightDM/IntegratedLightDM/liblightdm/CMakeLists.txt 2015-11-18 03:52:01 +0000
630+++ tests/mocks/LightDM/IntegratedLightDM/liblightdm/CMakeLists.txt 2017-01-03 13:04:42 +0000
631@@ -13,7 +13,8 @@
632 qt5_use_modules(MockLightDM Gui)
633
634 set_target_properties(MockLightDM PROPERTIES
635- OUTPUT_NAME lightdm-qt5-3)
636+ OUTPUT_NAME lightdm-qt5-3
637+ SOVERSION 0)
638
639 install(TARGETS MockLightDM
640 DESTINATION ${SHELL_INSTALL_QML}/mocks/LightDM/IntegratedLightDM/liblightdm
641
642=== modified file 'tests/mocks/Ubuntu/SystemSettings/SecurityPrivacy/CMakeLists.txt'
643--- tests/mocks/Ubuntu/SystemSettings/SecurityPrivacy/CMakeLists.txt 2016-01-11 17:12:28 +0000
644+++ tests/mocks/Ubuntu/SystemSettings/SecurityPrivacy/CMakeLists.txt 2017-01-03 13:04:42 +0000
645@@ -7,4 +7,4 @@
646
647 qt5_use_modules(MockSecurityPrivacy Qml Quick Core)
648
649-add_unity8_mock(Ubuntu.SystemSettings.SecurityPrivacy 1.0 Ubuntu/SystemSettings/SecurityPrivacy PREFIX mocks TARGETS MockSecurityPrivacy)
650+add_unity8_mock(Ubuntu.SystemSettings.SecurityPrivacy 1.0 Ubuntu/SystemSettings/SecurityPrivacy TARGETS MockSecurityPrivacy)
651
652=== modified file 'tests/mocks/Unity/Application/ApplicationInfo.cpp'
653--- tests/mocks/Unity/Application/ApplicationInfo.cpp 2016-11-30 19:24:02 +0000
654+++ tests/mocks/Unity/Application/ApplicationInfo.cpp 2017-01-03 13:04:42 +0000
655@@ -181,8 +181,7 @@
656
657 void ApplicationInfo::setIconId(const QString &iconId)
658 {
659- setIcon(QString(sourceDirectory() + "/tests/graphics/applicationIcons/%2@18.png")
660- .arg(iconId));
661+ setIcon(QUrl(testDataDir() + "/graphics/applicationIcons/" + iconId + "@18.png"));
662 }
663
664 void ApplicationInfo::setScreenshotId(const QString &screenshotId)
665
666=== modified file 'tests/mocks/Unity/Application/CMakeLists.txt'
667--- tests/mocks/Unity/Application/CMakeLists.txt 2016-11-30 19:24:02 +0000
668+++ tests/mocks/Unity/Application/CMakeLists.txt 2017-01-03 13:04:42 +0000
669@@ -27,7 +27,7 @@
670 qt5_use_modules(FakeUnityApplicationQml Core Quick DBus)
671 qt5_use_modules(NonMirUnityApplicationQml Core Quick DBus)
672
673-add_unity8_mock(Unity.Application 0.1 Unity/Application PREFIX mocks TARGETS FakeUnityApplicationQml)
674+add_unity8_mock(Unity.Application 0.1 Unity/Application TARGETS FakeUnityApplicationQml)
675 add_unity8_mock(Unity.Application 0.1 Unity/Application
676 PREFIX nonmirplugins
677 TARGETS NonMirUnityApplicationQml
678
679=== modified file 'tests/mocks/Unity/CMakeLists.txt'
680--- tests/mocks/Unity/CMakeLists.txt 2016-05-04 18:09:25 +0000
681+++ tests/mocks/Unity/CMakeLists.txt 2017-01-03 13:04:42 +0000
682@@ -67,4 +67,7 @@
683
684 qt5_use_modules(FakeUnityQml Qml)
685
686+add_unity8_mock(Unity 0.2 Unity TARGETS FakeUnityQml)
687+
688+# and one copy in a separate directory for autopilot
689 add_unity8_mock(Unity 0.2 Unity PREFIX scopefakes TARGETS FakeUnityQml)
690
691=== modified file 'tests/mocks/Unity/Indicators/CMakeLists.txt'
692--- tests/mocks/Unity/Indicators/CMakeLists.txt 2016-07-20 15:25:09 +0000
693+++ tests/mocks/Unity/Indicators/CMakeLists.txt 2017-01-03 13:04:42 +0000
694@@ -31,6 +31,10 @@
695 QMenuModelQml
696 )
697
698+set_target_properties(IndicatorsFakeQml PROPERTIES
699+ INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${SHELL_INSTALL_QML}/mocks/QMenuModel"
700+)
701+
702 qt5_use_modules(IndicatorsFakeQml Core Qml Quick)
703
704 add_unity8_mock(Unity.Indicators 0.1 Unity/Indicators TARGETS IndicatorsFakeQml)
705
706=== modified file 'tests/mocks/Unity/Launcher/MockLauncherItem.cpp'
707--- tests/mocks/Unity/Launcher/MockLauncherItem.cpp 2016-11-17 12:01:44 +0000
708+++ tests/mocks/Unity/Launcher/MockLauncherItem.cpp 2017-01-03 13:04:42 +0000
709@@ -29,7 +29,7 @@
710 m_appId(appId),
711 m_desktopFile(desktopFile),
712 m_name(name),
713- m_icon("../../tests/graphics/applicationIcons/" + icon + ".png"),
714+ m_icon(testDataDir() + "/graphics/applicationIcons/" + icon + ".png"),
715 m_pinned(false),
716 m_running(false),
717 m_recent(false),
718
719=== modified file 'tests/mocks/Unity/fake_scope.cpp'
720--- tests/mocks/Unity/fake_scope.cpp 2016-06-21 08:14:56 +0000
721+++ tests/mocks/Unity/fake_scope.cpp 2017-01-03 13:04:42 +0000
722@@ -266,11 +266,11 @@
723 m["foreground-color"] = "blue";
724 m["page-header"] = h;
725 } else if (m_id == "MockScope4") {
726- h["navigation-background"] = QUrl(sourceDirectory() + "/tests/qmltests/Dash/artwork/background.png");
727+ h["navigation-background"] = QUrl(testDataDir() + "/qmltests/Dash/artwork/background.png");
728 m["page-header"] = h;
729 } else if (m_id == "MockScope5") {
730 h["background"] = "gradient:///lightgrey/grey";
731- h["logo"] = QUrl(sourceDirectory() + "/tests/qmltests/Dash/tst_PageHeader/logo-ubuntu-orange.svg");
732+ h["logo"] = QUrl(testDataDir() + "/qmltests/Dash/tst_PageHeader/logo-ubuntu-orange.svg");
733 h["divider-color"] = "red";
734 h["navigation-background"] = "color:///black";
735 m["page-header"] = h;
736
737=== modified file 'tests/plugins/AccountsService/CMakeLists.txt'
738--- tests/plugins/AccountsService/CMakeLists.txt 2016-07-20 13:17:14 +0000
739+++ tests/plugins/AccountsService/CMakeLists.txt 2017-01-03 13:04:42 +0000
740@@ -41,6 +41,9 @@
741 UscServer.cpp
742 )
743 qt5_use_modules(mock-server Core DBus)
744+install(TARGETS mock-server
745+ DESTINATION "${SHELL_PRIVATE_LIBDIR}/tests/plugins/AccountsService"
746+)
747
748 add_executable(test-accountsservice
749 ${CMAKE_SOURCE_DIR}/plugins/AccountsService/AccountsService.cpp
750@@ -48,6 +51,9 @@
751 client.cpp
752 )
753 qt5_use_modules(test-accountsservice Core DBus Test)
754+install(TARGETS test-accountsservice
755+ DESTINATION "${SHELL_PRIVATE_LIBDIR}/tests/plugins/AccountsService"
756+)
757
758 add_unity8_unittest(AccountsService dbus-test-runner
759 ARG_PREFIX "--parameter"
760
761=== modified file 'tests/plugins/Dash/CMakeLists.txt'
762--- tests/plugins/Dash/CMakeLists.txt 2016-11-28 10:13:37 +0000
763+++ tests/plugins/Dash/CMakeLists.txt 2017-01-03 13:04:42 +0000
764@@ -26,7 +26,7 @@
765
766 remove_definitions(-DQT_NO_KEYWORDS)
767
768-add_definitions(-DDASHVIEWSTEST_FOLDER="${CMAKE_CURRENT_SOURCE_DIR}")
769+add_definitions(-DTEST_DIR="plugins/Dash")
770
771 macro(add_lvwph_test FILENAME TESTNAME)
772 add_executable(${TESTNAME}TestExec
773@@ -34,6 +34,9 @@
774 ${CMAKE_CURRENT_SOURCE_DIR}/../../../plugins/Dash/listviewwithpageheader.cpp)
775 qt5_use_modules(${TESTNAME}TestExec Test Core Qml)
776 target_link_libraries(${TESTNAME}TestExec ${Qt5Gui_LIBRARIES} ${Qt5Quick_LIBRARIES})
777+ install(TARGETS ${TESTNAME}TestExec
778+ DESTINATION "${SHELL_PRIVATE_LIBDIR}/tests/plugins/Dash"
779+ )
780
781 add_unity8_uitest(${TESTNAME} ${TESTNAME}TestExec DEPENDS Dash-qml)
782 endmacro()
783@@ -50,6 +53,9 @@
784 )
785 qt5_use_modules(${TESTNAME}TestExec Test Core Qml)
786 target_link_libraries(${TESTNAME}TestExec ${Qt5Gui_LIBRARIES} ${Qt5Quick_LIBRARIES})
787+ install(TARGETS ${TESTNAME}TestExec
788+ DESTINATION "${SHELL_PRIVATE_LIBDIR}/tests/plugins/Dash"
789+ )
790
791 add_unity8_uitest(${TESTNAME} ${TESTNAME}TestExec DEPENDS Dash-qml)
792
793@@ -60,6 +66,9 @@
794 )
795 qt5_use_modules(${TESTNAME}TryExec Test Core Qml)
796 target_link_libraries(${TESTNAME}TryExec ${Qt5Gui_LIBRARIES} ${Qt5Quick_LIBRARIES})
797+ install(TARGETS ${TESTNAME}TryExec
798+ DESTINATION "${SHELL_PRIVATE_LIBDIR}/tests/plugins/Dash"
799+ )
800 add_manual_test(${TESTNAME} ${TESTNAME}TryExec DEPENDS Dash-qml)
801 endmacro()
802
803@@ -67,11 +76,27 @@
804 add_dashview_try_test(horizontaljournal HorizontalJournal)
805 add_dashview_try_test(organicgrid OrganicGrid)
806
807+# Install data files needed for tests
808+file(GLOB qml_files RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" *.qml)
809+foreach(qml_file ${qml_files})
810+ add_qml_test_data(. "${qml_file}")
811+endforeach()
812+
813 # CardCreator test
814 add_executable(CardCreatorTestExec cardcreatortest.cpp)
815 qt5_use_modules(CardCreatorTestExec Test Core Qml)
816 target_link_libraries(CardCreatorTestExec ${Qt5Gui_LIBRARIES} ${Qt5Quick_LIBRARIES})
817+install(TARGETS CardCreatorTestExec
818+ DESTINATION "${SHELL_PRIVATE_LIBDIR}/tests/plugins/Dash"
819+)
820 add_unity8_uitest(CardCreator CardCreatorTestExec DEPENDS Dash-qml)
821+add_qml_test_data(. cardcreator)
822+
823+# This one qml file imports a file in an arch-specific directory, so to make its
824+# import line relative, we install it into an arch-specific directory too.
825+add_qml_test_data(. cardcreatortest.qml
826+ DESTINATION "${SHELL_PRIVATE_LIBDIR}/tests/plugins/Dash"
827+)
828
829 # plain qml test
830 foreach(dash_test ScopeStyle ListViewWithPageHeaderQML CardAttributes CroppedImageMinimumSourceSize)
831
832=== modified file 'tests/plugins/Dash/cardcreatortest.cpp'
833--- tests/plugins/Dash/cardcreatortest.cpp 2016-03-04 13:57:48 +0000
834+++ tests/plugins/Dash/cardcreatortest.cpp 2017-01-03 13:04:42 +0000
835@@ -22,6 +22,8 @@
836 #include <QDebug>
837 #include <QTemporaryFile>
838
839+#include <paths.h>
840+
841 class CardCreatorTest : public QObject
842 {
843 Q_OBJECT
844@@ -35,7 +37,10 @@
845 void init()
846 {
847 view = new QQuickView();
848- view->setSource(QUrl::fromLocalFile(DASHVIEWSTEST_FOLDER "/cardcreatortest.qml"));
849+ if (isRunningInstalled())
850+ view->setSource(QUrl::fromLocalFile(testLibDir() + "/" TEST_DIR "/cardcreatortest.qml"));
851+ else
852+ view->setSource(QUrl::fromLocalFile(testDataDir() + "/" TEST_DIR "/cardcreatortest.qml"));
853 view->show();
854 QTest::qWaitForWindowExposed(view);
855 }
856@@ -76,7 +81,7 @@
857 const QString artShapeStyleString("artShapeStyle: ");
858 const QString resultString("result: ");
859
860- const QString testDirPath = DASHVIEWSTEST_FOLDER "/cardcreator/";
861+ const QString testDirPath = testDataDir() + "/" TEST_DIR "/cardcreator/";
862 QDir d(testDirPath);
863 const QStringList testFiles = d.entryList(QStringList() << "*.tst");
864 foreach(const QString &testFileName, testFiles) {
865
866=== modified file 'tests/plugins/Dash/horizontaljournaltest.cpp'
867--- tests/plugins/Dash/horizontaljournaltest.cpp 2016-11-28 09:57:06 +0000
868+++ tests/plugins/Dash/horizontaljournaltest.cpp 2017-01-03 13:04:42 +0000
869@@ -27,6 +27,8 @@
870
871 #include "horizontaljournal.h"
872
873+#include <paths.h>
874+
875 class WidthModel : public QAbstractListModel {
876 public:
877 QHash<int, QByteArray> roleNames() const override
878@@ -126,7 +128,7 @@
879 widthList << "100" << "50" << "125" << "10" << "40" << "70" << "200" << "110" << "160" << "20" << "20" << "65" << "80" << "200" << "300" << "130" << "400" << "300" << "500" << "10";
880 model->setStringList(widthList);
881
882- view->setSource(QUrl::fromLocalFile(DASHVIEWSTEST_FOLDER "/horizontaljournaltest.qml"));
883+ view->setSource(QUrl::fromLocalFile(testDataDir() + "/" TEST_DIR "/horizontaljournaltest.qml"));
884
885 view->show();
886 view->resize(470, 400);
887
888=== modified file 'tests/plugins/Dash/horizontaljournaltry.cpp'
889--- tests/plugins/Dash/horizontaljournaltry.cpp 2015-05-21 15:52:48 +0000
890+++ tests/plugins/Dash/horizontaljournaltry.cpp 2017-01-03 13:04:42 +0000
891@@ -26,6 +26,8 @@
892
893 #include "horizontaljournal.h"
894
895+#include <paths.h>
896+
897 class QWidthModela : public QStringListModel {
898 Q_OBJECT
899 public:
900@@ -75,7 +77,7 @@
901 view->rootContext()->setContextProperty("listModel", &listModel);
902 view->rootContext()->setContextProperty("vjModel", &model);
903
904- view->setSource(QUrl::fromLocalFile(DASHVIEWSTEST_FOLDER "/horizontaljournaltry.qml"));
905+ view->setSource(QUrl::fromLocalFile(testDataDir() + "/" TEST_DIR "/horizontaljournaltry.qml"));
906
907 view->show();
908 view->resize(530, 400);
909
910=== modified file 'tests/plugins/Dash/listviewwithpageheadersectionexternalmodeltest.cpp'
911--- tests/plugins/Dash/listviewwithpageheadersectionexternalmodeltest.cpp 2016-11-28 09:57:06 +0000
912+++ tests/plugins/Dash/listviewwithpageheadersectionexternalmodeltest.cpp 2017-01-03 13:04:42 +0000
913@@ -26,6 +26,8 @@
914 #include <private/qquickanimation_p.h>
915 #include <private/qquickitem_p.h>
916
917+#include <paths.h>
918+
919 class StringListModel : public QAbstractListModel
920 {
921 public:
922@@ -165,7 +167,7 @@
923 void init()
924 {
925 view = new QQuickView();
926- view->setSource(QUrl::fromLocalFile(DASHVIEWSTEST_FOLDER "/listviewwithpageheadertestsectionexternalmodel.qml"));
927+ view->setSource(QUrl::fromLocalFile(testDataDir() + "/" TEST_DIR "/listviewwithpageheadertestsectionexternalmodel.qml"));
928 lvwph = static_cast<ListViewWithPageHeader*>(view->rootObject()->findChild<QQuickFlickable*>());
929 QVERIFY(lvwph);
930 view->show();
931
932=== modified file 'tests/plugins/Dash/listviewwithpageheadersectiontest.cpp'
933--- tests/plugins/Dash/listviewwithpageheadersectiontest.cpp 2016-11-28 09:57:06 +0000
934+++ tests/plugins/Dash/listviewwithpageheadersectiontest.cpp 2017-01-03 13:04:42 +0000
935@@ -25,6 +25,8 @@
936 #include <private/qquickanimation_p.h>
937 #include <private/qquickitem_p.h>
938
939+#include <paths.h>
940+
941 class ListViewWithPageHeaderTestSection : public QObject
942 {
943 Q_OBJECT
944@@ -130,7 +132,7 @@
945 void init()
946 {
947 view = new QQuickView();
948- view->setSource(QUrl::fromLocalFile(DASHVIEWSTEST_FOLDER "/listviewwithpageheadertestsection.qml"));
949+ view->setSource(QUrl::fromLocalFile(testDataDir() + "/" TEST_DIR "/listviewwithpageheadertestsection.qml"));
950 lvwph = static_cast<ListViewWithPageHeader*>(view->rootObject()->findChild<QQuickFlickable*>());
951 model = view->rootObject()->findChild<QQmlListModel*>();
952 otherDelegate = view->rootObject()->findChild<QQmlComponent*>();
953
954=== modified file 'tests/plugins/Dash/listviewwithpageheadertest.cpp'
955--- tests/plugins/Dash/listviewwithpageheadertest.cpp 2016-11-28 09:57:06 +0000
956+++ tests/plugins/Dash/listviewwithpageheadertest.cpp 2017-01-03 13:04:42 +0000
957@@ -27,6 +27,8 @@
958
959 #include <limits>
960
961+#include <paths.h>
962+
963 // TODO Think on how doing a test for lost items
964 // particullary making sure that lost items are culled
965 // and then removed in the next updatePolish cycle
966@@ -121,7 +123,7 @@
967 void init()
968 {
969 view = new QQuickView();
970- view->setSource(QUrl::fromLocalFile(DASHVIEWSTEST_FOLDER "/listviewwithpageheadertest.qml"));
971+ view->setSource(QUrl::fromLocalFile(testDataDir() + "/" TEST_DIR "/listviewwithpageheadertest.qml"));
972 lvwph = static_cast<ListViewWithPageHeader*>(view->rootObject()->findChild<QQuickFlickable*>());
973 model = view->rootObject()->findChild<QQmlListModel*>();
974 otherDelegate = view->rootObject()->findChild<QQmlComponent*>();
975
976=== modified file 'tests/plugins/Dash/organicgridtest.cpp'
977--- tests/plugins/Dash/organicgridtest.cpp 2016-11-28 09:57:06 +0000
978+++ tests/plugins/Dash/organicgridtest.cpp 2017-01-03 13:04:42 +0000
979@@ -27,6 +27,8 @@
980
981 #include "organicgrid.h"
982
983+#include <paths.h>
984+
985 class DummyModel : public QAbstractListModel {
986 public:
987 DummyModel() : m_count(0) {}
988@@ -127,7 +129,7 @@
989 model = new DummyModel();
990 model->setCount(21);
991
992- view->setSource(QUrl::fromLocalFile(DASHVIEWSTEST_FOLDER "/organicgridtest.qml"));
993+ view->setSource(QUrl::fromLocalFile(testDataDir() + "/" TEST_DIR "/organicgridtest.qml"));
994
995 view->show();
996 QTest::qWaitForWindowExposed(view);
997
998=== modified file 'tests/plugins/Dash/organicgridtry.cpp'
999--- tests/plugins/Dash/organicgridtry.cpp 2015-05-21 15:52:48 +0000
1000+++ tests/plugins/Dash/organicgridtry.cpp 2017-01-03 13:04:42 +0000
1001@@ -26,6 +26,8 @@
1002
1003 #include "verticaljournal.h"
1004
1005+#include <paths.h>
1006+
1007 class DummyModel : public QAbstractListModel {
1008 Q_OBJECT
1009 public:
1010@@ -83,7 +85,7 @@
1011 view->rootContext()->setContextProperty("listModel", &listModel);
1012 view->rootContext()->setContextProperty("gridModel", &model);
1013
1014- view->setSource(QUrl::fromLocalFile(DASHVIEWSTEST_FOLDER "/organicgridtry.qml"));
1015+ view->setSource(QUrl::fromLocalFile(testDataDir() + "/" TEST_DIR "/organicgridtry.qml"));
1016
1017 view->show();
1018 view->resize(530, 400);
1019
1020=== modified file 'tests/plugins/Dash/verticaljournaltest.cpp'
1021--- tests/plugins/Dash/verticaljournaltest.cpp 2016-11-28 09:57:06 +0000
1022+++ tests/plugins/Dash/verticaljournaltest.cpp 2017-01-03 13:04:42 +0000
1023@@ -27,6 +27,8 @@
1024
1025 #include "verticaljournal.h"
1026
1027+#include <paths.h>
1028+
1029 class HeightModel : public QAbstractListModel {
1030 public:
1031 QHash<int, QByteArray> roleNames() const override
1032@@ -142,7 +144,7 @@
1033 heightList << "100" << "50" << "125" << "10" << "40" << "70" << "200" << "110" << "160" << "20" << "20" << "65" << "80" << "200" << "300" << "130" << "400" << "300" << "500" << "10";
1034 model->setStringList(heightList);
1035
1036- view->setSource(QUrl::fromLocalFile(DASHVIEWSTEST_FOLDER "/verticaljournaltest.qml"));
1037+ view->setSource(QUrl::fromLocalFile(testDataDir() + "/" TEST_DIR "/verticaljournaltest.qml"));
1038
1039 view->show();
1040 QTest::qWaitForWindowExposed(view);
1041
1042=== modified file 'tests/plugins/Dash/verticaljournaltry.cpp'
1043--- tests/plugins/Dash/verticaljournaltry.cpp 2015-05-21 15:52:48 +0000
1044+++ tests/plugins/Dash/verticaljournaltry.cpp 2017-01-03 13:04:42 +0000
1045@@ -26,6 +26,8 @@
1046
1047 #include "verticaljournal.h"
1048
1049+#include <paths.h>
1050+
1051 class QHeightModel : public QStringListModel {
1052 Q_OBJECT
1053 public:
1054@@ -75,7 +77,7 @@
1055 view->rootContext()->setContextProperty("listModel", &listModel);
1056 view->rootContext()->setContextProperty("vjModel", &model);
1057
1058- view->setSource(QUrl::fromLocalFile(DASHVIEWSTEST_FOLDER "/verticaljournaltry.qml"));
1059+ view->setSource(QUrl::fromLocalFile(testDataDir() + "/" TEST_DIR "/verticaljournaltry.qml"));
1060
1061 view->show();
1062 view->resize(530, 400);
1063
1064=== modified file 'tests/plugins/GlobalShortcut/CMakeLists.txt'
1065--- tests/plugins/GlobalShortcut/CMakeLists.txt 2015-08-24 15:39:53 +0000
1066+++ tests/plugins/GlobalShortcut/CMakeLists.txt 2017-01-03 13:04:42 +0000
1067@@ -3,12 +3,18 @@
1068 ${CMAKE_CURRENT_BINARY_DIR}
1069 )
1070
1071-add_definitions(
1072- -DCURRENT_SOURCE_DIR="${CMAKE_CURRENT_SOURCE_DIR}"
1073- )
1074-add_definitions(-DBUILT_PLUGINS_DIR="${CMAKE_BINARY_DIR}/plugins")
1075+add_definitions(-DTEST_DIR="plugins/GlobalShortcut")
1076
1077 add_executable(GlobalShortcutTestExec GlobalShortcutTest.cpp ${CMAKE_SOURCE_DIR}/plugins/GlobalShortcut/globalshortcut.cpp)
1078 qt5_use_modules(GlobalShortcutTestExec Test Quick)
1079 target_link_libraries(GlobalShortcutTestExec ${Qt5Quick_LIBRARIES} GlobalShortcut-qml)
1080-add_unity8_uitest(GlobalShortcut GlobalShortcutTestExec DEPENDS GlobalShortcut-qml)
1081+install(TARGETS GlobalShortcutTestExec
1082+ DESTINATION "${SHELL_PRIVATE_LIBDIR}/tests/plugins/GlobalShortcut"
1083+)
1084+install(FILES shortcut.qml
1085+ DESTINATION "${SHELL_APP_DIR}/tests/plugins/GlobalShortcut"
1086+)
1087+add_unity8_uitest(GlobalShortcut GlobalShortcutTestExec
1088+ DEPENDS GlobalShortcut-qml
1089+ ENVIRONMENT LD_LIBRARY_PATH=${CMAKE_BINARY_DIR}/plugins/GlobalShortcut
1090+)
1091
1092=== modified file 'tests/plugins/GlobalShortcut/GlobalShortcutTest.cpp'
1093--- tests/plugins/GlobalShortcut/GlobalShortcutTest.cpp 2015-08-24 15:39:53 +0000
1094+++ tests/plugins/GlobalShortcut/GlobalShortcutTest.cpp 2017-01-03 13:04:42 +0000
1095@@ -21,6 +21,8 @@
1096 #include <QtQuick/QQuickItem>
1097 #include <QQmlEngine>
1098
1099+#include <paths.h>
1100+
1101 class GlobalShortcutTest: public QObject
1102 {
1103 Q_OBJECT
1104@@ -30,8 +32,7 @@
1105 void initTestCase()
1106 {
1107 m_view = new QQuickView();
1108- m_view->engine()->addImportPath(BUILT_PLUGINS_DIR);
1109- m_view->setSource(QUrl::fromLocalFile(CURRENT_SOURCE_DIR "/shortcut.qml"));
1110+ m_view->setSource(QUrl::fromLocalFile(testDataDir() + "/" TEST_DIR "/shortcut.qml"));
1111 m_shortcut = dynamic_cast<GlobalShortcut*>(m_view->rootObject()->property("shortcut").value<QObject*>());
1112 QVERIFY(m_shortcut);
1113 m_inactiveShortcut = dynamic_cast<GlobalShortcut*>(m_view->rootObject()->property("inactiveShortcut").value<QObject*>());
1114
1115=== modified file 'tests/plugins/Greeter/Unity/Launcher/CMakeLists.txt'
1116--- tests/plugins/Greeter/Unity/Launcher/CMakeLists.txt 2016-11-30 10:46:22 +0000
1117+++ tests/plugins/Greeter/Unity/Launcher/CMakeLists.txt 2017-01-03 13:04:42 +0000
1118@@ -9,7 +9,7 @@
1119 )
1120
1121 add_definitions(-DSM_BUSNAME=sessionBus)
1122-add_definitions(-DSRCDIR="${CMAKE_CURRENT_SOURCE_DIR}")
1123+add_definitions(-DTEST_DIR="plugins/Greeter/Unity/Launcher")
1124
1125 ### LauncherModelASTest
1126 add_executable(launchermodelastestExec
1127@@ -30,7 +30,10 @@
1128 ${GSETTINGS_QT_LDFLAGS}
1129 )
1130 add_dependencies(launchermodelastestExec mock-server)
1131-qt5_use_modules(launchermodelastestExec Test Core DBus Gui)
1132+qt5_use_modules(launchermodelastestExec Test Core DBus Gui Qml)
1133+install(TARGETS launchermodelastestExec
1134+ DESTINATION "${SHELL_PRIVATE_LIBDIR}/tests/plugins/Greeter/Unity/Launcher"
1135+)
1136 add_unity8_unittest(LauncherModelAS dbus-test-runner
1137 ARG_PREFIX "--parameter"
1138 ARGS
1139@@ -39,21 +42,3 @@
1140 --task $<TARGET_FILE:launchermodelastestExec>
1141 --wait-for org.freedesktop.Accounts
1142 )
1143-
1144-# copy .desktop files into build directory for shadow builds
1145-file(GLOB DESKTOP_FILES *.desktop)
1146-
1147-foreach(DESKTOP_FILE ${DESKTOP_FILES})
1148- file(COPY "${DESKTOP_FILE}"
1149- DESTINATION ${CMAKE_CURRENT_BINARY_DIR}
1150- )
1151-endforeach()
1152-
1153-# copy .svg files into build directory for shadow builds
1154-file(GLOB DESKTOP_FILES *.svg)
1155-
1156-foreach(DESKTOP_FILE ${DESKTOP_FILES})
1157- file(COPY "${DESKTOP_FILE}"
1158- DESTINATION ${CMAKE_CURRENT_BINARY_DIR}
1159- )
1160-endforeach()
1161
1162=== modified file 'tests/plugins/Greeter/Unity/Launcher/launchermodelastest.cpp'
1163--- tests/plugins/Greeter/Unity/Launcher/launchermodelastest.cpp 2015-10-26 14:05:14 +0000
1164+++ tests/plugins/Greeter/Unity/Launcher/launchermodelastest.cpp 2017-01-03 13:04:42 +0000
1165@@ -28,6 +28,7 @@
1166 #include <QSignalSpy>
1167 #include <QtTest>
1168
1169+#include <paths.h>
1170
1171 class LauncherModelASTest : public QObject
1172 {
1173@@ -45,6 +46,9 @@
1174 }
1175
1176 void init() {
1177+ // Launcher will look in current dir in testing mode for data
1178+ QDir::setCurrent(testDataDir() + "/" TEST_DIR);
1179+
1180 // Prepare some fake list
1181 QList<QVariantMap> list;
1182 QVariantMap item;
1183
1184=== modified file 'tests/plugins/ImageCache/CMakeLists.txt'
1185--- tests/plugins/ImageCache/CMakeLists.txt 2016-08-31 17:45:23 +0000
1186+++ tests/plugins/ImageCache/CMakeLists.txt 2017-01-03 13:04:42 +0000
1187@@ -8,6 +8,7 @@
1188 )
1189
1190 add_definitions(-DCURRENT_SOURCE_DIR="${CMAKE_CURRENT_SOURCE_DIR}")
1191+add_definitions(-DTEST_DIR="plugins/ImageCache")
1192 remove_definitions(-DQT_NO_KEYWORDS)
1193
1194 add_executable(ImageCacheTestExec
1195@@ -18,3 +19,12 @@
1196 DEPENDS ImageCache-qml
1197 IMPORT_PATHS ${UNITY_PLUGINPATH}
1198 )
1199+install(TARGETS ImageCacheTestExec
1200+ DESTINATION "${SHELL_PRIVATE_LIBDIR}/tests/plugins/ImageCache"
1201+)
1202+install(FILES test.qml
1203+ DESTINATION "${SHELL_APP_DIR}/tests/plugins/ImageCache"
1204+)
1205+install(DIRECTORY graphics
1206+ DESTINATION "${SHELL_APP_DIR}/tests/plugins/ImageCache"
1207+)
1208
1209=== modified file 'tests/plugins/ImageCache/test.cpp'
1210--- tests/plugins/ImageCache/test.cpp 2016-08-30 18:05:33 +0000
1211+++ tests/plugins/ImageCache/test.cpp 2017-01-03 13:04:42 +0000
1212@@ -24,6 +24,8 @@
1213 #include <time.h>
1214 #include <utime.h>
1215
1216+#include <paths.h>
1217+
1218 Q_DECLARE_METATYPE(QQuickImage::Status)
1219
1220 class ImageCacheTest : public QObject
1221@@ -52,7 +54,7 @@
1222
1223 QString sourceFile(const QString &name)
1224 {
1225- return CURRENT_SOURCE_DIR "/graphics/" + name;
1226+ return testDataDir() + "/" TEST_DIR "/graphics/" + name;
1227 }
1228
1229 QString cachedFile(bool isPath, const QString &name)
1230@@ -93,7 +95,7 @@
1231 qputenv("HOME", home->path().toUtf8());
1232
1233 view = new QQuickView();
1234- view->setSource(QUrl::fromLocalFile(CURRENT_SOURCE_DIR "/test.qml"));
1235+ view->setSource(QUrl::fromLocalFile(testDataDir() + "/" TEST_DIR "/test.qml"));
1236 image = view->rootObject();
1237
1238 view->show();
1239
1240=== modified file 'tests/plugins/LightDM/IntegratedLightDM/CMakeLists.txt'
1241--- tests/plugins/LightDM/IntegratedLightDM/CMakeLists.txt 2016-08-22 15:39:16 +0000
1242+++ tests/plugins/LightDM/IntegratedLightDM/CMakeLists.txt 2017-01-03 13:04:42 +0000
1243@@ -1,6 +1,3 @@
1244-add_definitions(
1245- -DCURRENT_SOURCE_DIR="${CMAKE_CURRENT_SOURCE_DIR}"
1246- )
1247 include_directories(
1248 ${GLIB_INCLUDE_DIRS}
1249 ${CMAKE_CURRENT_BINARY_DIR}
1250@@ -21,11 +18,17 @@
1251 ${CMAKE_SOURCE_DIR}/plugins/LightDM
1252 ${CMAKE_SOURCE_DIR}/tests/mocks/LightDM/IntegratedLightDM
1253 )
1254+set_target_properties(GreeterDBusTestExec PROPERTIES INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${SHELL_INSTALL_QML}/mocks/IntegratedLightDM/liblightdm")
1255+install(TARGETS GreeterDBusTestExec
1256+ DESTINATION "${SHELL_PRIVATE_LIBDIR}/tests/plugins/LightDM/IntegratedLightDM"
1257+ )
1258+install(FILES greeter.qml
1259+ DESTINATION "${SHELL_APP_DIR}/tests/plugins/LightDM/IntegratedLightDM"
1260+ )
1261 add_unity8_uitest(GreeterDBus dbus-test-runner
1262 ARG_PREFIX "--parameter"
1263 ARGS --task $<TARGET_FILE:GreeterDBusTestExec>
1264- DEPENDS MockLightDM
1265- IMPORT_PATHS ${UNITY_MOCKPATH}
1266+ DEPENDS MockLightDM MockLightDM-qml
1267 )
1268
1269 add_executable(GreeterPamTestExec
1270@@ -41,6 +44,9 @@
1271 ${CMAKE_SOURCE_DIR}/plugins/LightDM/IntegratedLightDM
1272 ${CMAKE_SOURCE_DIR}/plugins/LightDM/IntegratedLightDM/liblightdm
1273 )
1274+install(TARGETS GreeterPamTestExec
1275+ DESTINATION "${SHELL_PRIVATE_LIBDIR}/tests/plugins/LightDM/IntegratedLightDM"
1276+ )
1277 add_qmltest_target(testGreeterPam GreeterPamTestExec COMMAND $<TARGET_FILE:GreeterPamTestExec>)
1278
1279 # SessionsModelTest
1280@@ -59,6 +65,9 @@
1281 ${CMAKE_SOURCE_DIR}/plugins/Utils
1282 ${CMAKE_SOURCE_DIR}/tests/mocks/LightDM/IntegratedLightDM
1283 )
1284+install(TARGETS GreeterSessionsModelTestExec
1285+ DESTINATION "${SHELL_PRIVATE_LIBDIR}/tests/plugins/LightDM/IntegratedLightDM"
1286+ )
1287 add_unity8_uitest(GreeterSessions GreeterSessionsModelTestExec
1288 ENVIRONMENT LIBLIGHTDM_MOCK_MODE=full
1289 DEPENDS MockLightDM
1290@@ -82,6 +91,10 @@
1291 ${CMAKE_SOURCE_DIR}/plugins/Utils
1292 ${CMAKE_SOURCE_DIR}/tests/mocks/LightDM/IntegratedLightDM
1293 )
1294+set_target_properties(GreeterUsersModelTestExec PROPERTIES INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${SHELL_INSTALL_QML}/mocks/IntegratedLightDM/liblightdm")
1295+install(TARGETS GreeterUsersModelTestExec
1296+ DESTINATION "${SHELL_PRIVATE_LIBDIR}/tests/plugins/LightDM/IntegratedLightDM"
1297+ )
1298 add_unity8_uitest(GreeterUsers GreeterUsersModelTestExec
1299 ENVIRONMENT LIBLIGHTDM_MOCK_MODE=full
1300 DEPENDS MockLightDM
1301@@ -99,6 +112,9 @@
1302 ${GLIB_INCLUDE_DIRS}
1303 ${CMAKE_SOURCE_DIR}/plugins/LightDM/IntegratedLightDM/liblightdm
1304 )
1305+install(TARGETS GreeterIntegratedTestExec
1306+ DESTINATION "${SHELL_PRIVATE_LIBDIR}/tests/plugins/LightDM/IntegratedLightDM"
1307+ )
1308 add_unity8_unittest(GreeterIntegrated dbus-test-runner
1309 ENVIRONMENT LD_LIBRARY_PATH=${CMAKE_BINARY_DIR}/plugins/IntegratedLightDM/liblightdm/
1310 ARG_PREFIX "--parameter"
1311
1312=== modified file 'tests/plugins/LightDM/IntegratedLightDM/dbus.cpp'
1313--- tests/plugins/LightDM/IntegratedLightDM/dbus.cpp 2016-05-02 18:43:06 +0000
1314+++ tests/plugins/LightDM/IntegratedLightDM/dbus.cpp 2017-01-03 13:04:42 +0000
1315@@ -23,6 +23,7 @@
1316 #include <QQuickItem>
1317 #include <QQuickView>
1318 #include <QtTestGui>
1319+#include <paths.h>
1320
1321 class GreeterDBusTest : public QObject
1322 {
1323@@ -58,7 +59,7 @@
1324 void init()
1325 {
1326 view = new QQuickView();
1327- view->setSource(QUrl::fromLocalFile(CURRENT_SOURCE_DIR "/greeter.qml"));
1328+ view->setSource(QUrl::fromLocalFile(testDataDir() + "/plugins/LightDM/IntegratedLightDM/greeter.qml"));
1329 greeter = dynamic_cast<Greeter*>(view->rootObject()->property("greeter").value<QObject*>());
1330 QVERIFY(greeter);
1331 QVERIFY(greeter->authenticationUser() == "");
1332
1333=== added directory 'tests/plugins/ScreenGrabber'
1334=== modified file 'tests/plugins/SessionBroadcast/CMakeLists.txt'
1335--- tests/plugins/SessionBroadcast/CMakeLists.txt 2016-06-28 20:38:00 +0000
1336+++ tests/plugins/SessionBroadcast/CMakeLists.txt 2017-01-03 13:04:42 +0000
1337@@ -25,6 +25,9 @@
1338 BroadcastServer.cpp
1339 )
1340 qt5_use_modules(MockBroadcastServer Core DBus)
1341+install(TARGETS MockBroadcastServer
1342+ DESTINATION "${SHELL_PRIVATE_LIBDIR}/tests/plugins/SessionBroadcast"
1343+)
1344
1345 ### SessionBroadcastTest
1346 add_executable(sessionbroadcasttestExec
1347@@ -32,6 +35,9 @@
1348 sessionbroadcasttest.cpp
1349 )
1350 qt5_use_modules(sessionbroadcasttestExec Test Core Qml DBus)
1351+install(TARGETS sessionbroadcasttestExec
1352+ DESTINATION "${SHELL_PRIVATE_LIBDIR}/tests/plugins/SessionBroadcast"
1353+)
1354
1355 add_unity8_unittest(SessionBroadcast dbus-test-runner
1356 ARG_PREFIX "--parameter"
1357
1358=== modified file 'tests/plugins/Ubuntu/Gestures/CMakeLists.txt'
1359--- tests/plugins/Ubuntu/Gestures/CMakeLists.txt 2016-11-28 09:57:06 +0000
1360+++ tests/plugins/Ubuntu/Gestures/CMakeLists.txt 2017-01-03 13:04:42 +0000
1361@@ -16,12 +16,15 @@
1362 ${CMAKE_CURRENT_BINARY_DIR}
1363 )
1364
1365-export_qmlfiles(UbuntuGesturesTest .)
1366-
1367 macro(build_gesture_test CLASSNAME)
1368 add_executable(${CLASSNAME}TestExec tst_${CLASSNAME}.cpp GestureTest.cpp TestItem.cpp)
1369 qt5_use_modules(${CLASSNAME}TestExec Test Core Qml Gui Quick)
1370 target_link_libraries(${CLASSNAME}TestExec UbuntuGesturesQml ${UBUNTUGESTURES_LIBRARIES})
1371+ install(TARGETS ${CLASSNAME}TestExec
1372+ DESTINATION "${SHELL_PRIVATE_LIBDIR}/tests/plugins/Ubuntu/Gestures"
1373+ )
1374+ # To find libUbuntuGestures.so
1375+ set_target_properties(${CLASSNAME}TestExec PROPERTIES INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${SHELL_PRIVATE_LIBDIR}")
1376 endmacro()
1377
1378 set(UNITY_IMPORT_PATHS
1379@@ -33,7 +36,6 @@
1380 build_gesture_test(${CLASSNAME})
1381 add_unity8_unittest(${CLASSNAME} ${CLASSNAME}TestExec
1382 ENVIRONMENT LD_LIBRARY_PATH=${UNITY_PLUGINPATH}/Ubuntu/Gestures
1383- DEPENDS UbuntuGesturesTest-qmlfiles
1384 ${ARGN}
1385 )
1386 endmacro()
1387@@ -42,12 +44,14 @@
1388 build_gesture_test(${CLASSNAME})
1389 add_unity8_uitest(${CLASSNAME} ${CLASSNAME}TestExec
1390 ENVIRONMENT LD_LIBRARY_PATH=${UNITY_PLUGINPATH}/Ubuntu/Gestures
1391- DEPENDS UbuntuGesturesTest-qmlfiles
1392 ${ARGN}
1393 )
1394 add_manual_qml_test(. ${CLASSNAME} IMPORT_PATHS ${UNITY_IMPORT_PATHS})
1395 endmacro()
1396
1397+add_qml_test_data(. empty.qml)
1398+add_qml_test_data(. touchGateExample.qml)
1399+
1400 add_gesture_ui_test(FloatingFlickable)
1401 add_gesture_ui_test(PressedOutsideNotifier)
1402 add_gesture_ui_test(TouchDispatcher)
1403
1404=== modified file 'tests/plugins/Ubuntu/Gestures/GestureTest.cpp'
1405--- tests/plugins/Ubuntu/Gestures/GestureTest.cpp 2016-07-08 14:36:36 +0000
1406+++ tests/plugins/Ubuntu/Gestures/GestureTest.cpp 2017-01-03 13:04:42 +0000
1407@@ -24,6 +24,7 @@
1408
1409 #include <UbuntuGestures/private/timer_p.h>
1410 #include <UbuntuGestures/private/touchregistry_p.h>
1411+#include <paths.h>
1412
1413 UG_USE_NAMESPACE
1414
1415@@ -45,7 +46,7 @@
1416 {
1417 m_view = new QQuickView;
1418 m_view->setResizeMode(QQuickView::SizeRootObjectToView);
1419- m_view->setSource(QUrl::fromLocalFile(m_qmlFilename));
1420+ m_view->setSource(QUrl::fromLocalFile(testDataDir() + "/plugins/Ubuntu/Gestures/" + m_qmlFilename));
1421 m_view->show();
1422 QVERIFY(QTest::qWaitForWindowExposed(m_view));
1423 QVERIFY(m_view->rootObject() != 0);
1424
1425=== modified file 'tests/plugins/Ubuntu/Gestures/tst_FloatingFlickable.qml'
1426--- tests/plugins/Ubuntu/Gestures/tst_FloatingFlickable.qml 2015-12-10 10:22:25 +0000
1427+++ tests/plugins/Ubuntu/Gestures/tst_FloatingFlickable.qml 2017-01-03 13:04:42 +0000
1428@@ -18,7 +18,7 @@
1429 import Ubuntu.Components 1.3
1430 import Ubuntu.Gestures 0.1
1431 import Unity.Test 0.1
1432-import "../../../../../qml/Components"
1433+import "../../../../qml/Components"
1434
1435 Rectangle {
1436 id: root
1437
1438=== modified file 'tests/plugins/Ubuntu/Gestures/tst_TouchGate.cpp'
1439--- tests/plugins/Ubuntu/Gestures/tst_TouchGate.cpp 2016-07-08 14:36:36 +0000
1440+++ tests/plugins/Ubuntu/Gestures/tst_TouchGate.cpp 2017-01-03 13:04:42 +0000
1441@@ -29,6 +29,8 @@
1442
1443 #include "TestItem.h"
1444
1445+#include <paths.h>
1446+
1447 UG_USE_NAMESPACE
1448
1449 class CandidateItem : public QQuickItem
1450@@ -98,7 +100,7 @@
1451 touchRegistry = TouchRegistry::instance();
1452
1453 view = createView();
1454- view->setSource(QUrl::fromLocalFile("touchGateExample.qml"));
1455+ view->setSource(QUrl::fromLocalFile(testDataDir() + "/plugins/Ubuntu/Gestures/touchGateExample.qml"));
1456 view->show();
1457 QVERIFY(QTest::qWaitForWindowExposed(view));
1458 QVERIFY(view->rootObject() != 0);
1459
1460=== modified file 'tests/plugins/Unity/Indicators/CMakeLists.txt'
1461--- tests/plugins/Unity/Indicators/CMakeLists.txt 2016-02-01 15:15:09 +0000
1462+++ tests/plugins/Unity/Indicators/CMakeLists.txt 2017-01-03 13:04:42 +0000
1463@@ -24,8 +24,18 @@
1464 ${GIO_LIBRARIES}
1465 ${QMENUMODEL_LDFLAGS}
1466 )
1467-
1468- add_unity8_unittest(${TEST} ${TEST}Exec)
1469+ install(TARGETS ${TEST}Exec
1470+ DESTINATION "${SHELL_PRIVATE_LIBDIR}/tests/plugins/Unity/Indicators"
1471+ )
1472+
1473+ set(ldpath "")
1474+ foreach(lib ${test_ADDITIONAL_LIBS})
1475+ set(ldpath "$<TARGET_FILE_DIR:${lib}>:")
1476+ endforeach(lib)
1477+
1478+ add_unity8_unittest(${TEST} ${TEST}Exec
1479+ ENVIRONMENT "LD_LIBRARY_PATH=${ldpath}"
1480+ )
1481 endmacro(indicator_test)
1482
1483 indicator_test(IndicatorsManager ADDITIONAL_LIBS IndicatorsQml)
1484
1485=== modified file 'tests/plugins/Unity/Indicators/IndicatorsManagerTest.cpp'
1486--- tests/plugins/Unity/Indicators/IndicatorsManagerTest.cpp 2015-04-29 22:05:49 +0000
1487+++ tests/plugins/Unity/Indicators/IndicatorsManagerTest.cpp 2017-01-03 13:04:42 +0000
1488@@ -31,7 +31,7 @@
1489
1490 void initTestCase()
1491 {
1492- setenv("XDG_DATA_DIRS", (sourceDirectory() + "/tests/data").toLatin1().data(), 1);
1493+ setenv("XDG_DATA_DIRS", (testDataDir() + "/data").toLatin1().data(), 1);
1494 }
1495
1496 void cleanupTestCase()
1497
1498=== modified file 'tests/plugins/Unity/Indicators/IndicatorsModelTest.cpp'
1499--- tests/plugins/Unity/Indicators/IndicatorsModelTest.cpp 2015-04-29 22:05:49 +0000
1500+++ tests/plugins/Unity/Indicators/IndicatorsModelTest.cpp 2017-01-03 13:04:42 +0000
1501@@ -32,7 +32,7 @@
1502
1503 void initTestCase()
1504 {
1505- setenv("XDG_DATA_DIRS", (sourceDirectory() + "/tests/data").toLatin1().data(), 1);
1506+ setenv("XDG_DATA_DIRS", (testDataDir() + "/data").toLatin1().data(), 1);
1507 }
1508
1509 void cleanupTestCase()
1510
1511=== modified file 'tests/plugins/Unity/Launcher/CMakeLists.txt'
1512--- tests/plugins/Unity/Launcher/CMakeLists.txt 2016-11-30 10:46:22 +0000
1513+++ tests/plugins/Unity/Launcher/CMakeLists.txt 2017-01-03 13:04:42 +0000
1514@@ -17,7 +17,7 @@
1515 )
1516
1517 add_definitions(-DSM_BUSNAME=sessionBus)
1518-add_definitions(-DSRCDIR="${CMAKE_CURRENT_SOURCE_DIR}")
1519+add_definitions(-DTEST_DIR="plugins/Unity/Launcher")
1520
1521 ### LauncherModelTest
1522 add_executable(launchermodeltestExec
1523@@ -44,10 +44,13 @@
1524 ${UAL_LIBRARIES}
1525 )
1526 add_dependencies(launchermodeltestExec mock-server)
1527-qt5_use_modules(launchermodeltestExec Test Core DBus Xml Gui)
1528+qt5_use_modules(launchermodeltestExec Test Core DBus Xml Gui Qml)
1529+install(TARGETS launchermodeltestExec
1530+ DESTINATION "${SHELL_PRIVATE_LIBDIR}/tests/plugins/Unity/Launcher"
1531+ )
1532
1533 add_unity8_unittest(LauncherModel dbus-test-runner
1534- ENVIRONMENT "XDG_DATA_HOME=${CMAKE_CURRENT_BINARY_DIR}"
1535+ ENVIRONMENT "APPDIR=${CMAKE_CURRENT_BINARY_DIR}/applications"
1536 ARG_PREFIX "--parameter"
1537 ARGS
1538 --task $<TARGET_FILE:mock-server>
1539@@ -60,3 +63,6 @@
1540 file(COPY applications
1541 DESTINATION ${CMAKE_CURRENT_BINARY_DIR}
1542 )
1543+install(DIRECTORY applications
1544+ DESTINATION "${SHELL_PRIVATE_LIBDIR}/tests/plugins/Unity/Launcher"
1545+ )
1546
1547=== modified file 'tests/plugins/Unity/Launcher/launchermodeltest.cpp'
1548--- tests/plugins/Unity/Launcher/launchermodeltest.cpp 2016-12-07 11:30:41 +0000
1549+++ tests/plugins/Unity/Launcher/launchermodeltest.cpp 2017-01-03 13:04:42 +0000
1550@@ -32,6 +32,7 @@
1551 #include <QDomDocument>
1552
1553 #include <glib.h>
1554+#include <paths.h>
1555
1556 namespace unityapi = unity::shell::application;
1557
1558@@ -145,6 +146,7 @@
1559 private:
1560 LauncherModel *launcherModel;
1561 MockAppManager *appManager;
1562+ QTemporaryDir tmpDir;
1563
1564 QList<QVariantMap> getASConfig() {
1565 AccountsServiceDBusAdaptor *as = launcherModel->m_asAdapter->m_accounts;
1566@@ -154,11 +156,23 @@
1567 return qdbus_cast<QList<QVariantMap>>(reply.value().value<QDBusArgument>());
1568 }
1569
1570+ // Link our app data from a tempdir & tell glib/UAL to look there.
1571+ // We do this because we want to be able to delete the applications dir
1572+ // during testing, but that dir may be read-only (installed on system).
1573+ void setUpAppDir() {
1574+ QFile appDir(qgetenv("APPDIR"));
1575+ appDir.link(tmpDir.path() + "/applications");
1576+
1577+ qputenv("XDG_DATA_HOME", tmpDir.path().toUtf8());
1578+ }
1579+
1580 private Q_SLOTS:
1581
1582 void initTestCase() {
1583 qDBusRegisterMetaType<QList<QVariantMap>>();
1584
1585+ setUpAppDir();
1586+
1587 launcherModel = new LauncherModel(this);
1588 QCoreApplication::processEvents(); // to let the model register on DBus
1589 QCOMPARE(launcherModel->rowCount(QModelIndex()), 0);
1590@@ -169,6 +183,9 @@
1591
1592 // Adding 2 apps to the mock appmanager. Both should appear in the launcher.
1593 void init() {
1594+ // Switching to tmpDir makes manipulating our appdir symlink easier.
1595+ QDir::setCurrent(tmpDir.path());
1596+
1597 QDBusInterface accountsInterface(QStringLiteral("org.freedesktop.Accounts"),
1598 QStringLiteral("/org/freedesktop/Accounts"),
1599 QStringLiteral("org.freedesktop.Accounts"));
1600
1601=== modified file 'tests/plugins/Unity/Session/CMakeLists.txt'
1602--- tests/plugins/Unity/Session/CMakeLists.txt 2016-06-21 14:23:49 +0000
1603+++ tests/plugins/Unity/Session/CMakeLists.txt 2017-01-03 13:04:42 +0000
1604@@ -29,6 +29,9 @@
1605 server.cpp
1606 )
1607 qt5_use_modules(LightDMServer Core DBus)
1608+install(TARGETS LightDMServer
1609+ DESTINATION "${SHELL_PRIVATE_LIBDIR}/tests/plugins/Unity/Session"
1610+ )
1611
1612 ### SessionBackendTest
1613 add_executable(sessionbackendtestExec
1614@@ -40,6 +43,9 @@
1615 ${GLIB_LIBRARIES}
1616 )
1617 qt5_use_modules(sessionbackendtestExec Test Core Qml DBus)
1618+install(TARGETS sessionbackendtestExec
1619+ DESTINATION "${SHELL_PRIVATE_LIBDIR}/tests/plugins/Unity/Session"
1620+)
1621
1622 add_unity8_unittest(SessionBackend dbus-test-runner
1623 ENVIRONMENT XDG_SESSION_PATH=/session
1624
1625=== modified file 'tests/plugins/Utils/CMakeLists.txt'
1626--- tests/plugins/Utils/CMakeLists.txt 2016-06-28 20:38:00 +0000
1627+++ tests/plugins/Utils/CMakeLists.txt 2017-01-03 13:04:42 +0000
1628@@ -15,8 +15,11 @@
1629 add_executable(${util_test}TestExec ${util_test}Test.cpp ModelTest.cpp)
1630 qt5_use_modules(${util_test}TestExec Test Core Qml)
1631 target_link_libraries(${util_test}TestExec Utils-qml)
1632+ install(TARGETS ${util_test}TestExec
1633+ DESTINATION "${SHELL_PRIVATE_LIBDIR}/tests/plugins/Utils"
1634+ )
1635 add_unity8_unittest(${util_test} ${util_test}TestExec ADD_TEST
1636- ENVIRONMENT XDG_CONFIG_HOME=${CMAKE_CURRENT_BINARY_DIR}
1637+ ENVIRONMENT LD_LIBRARY_PATH=${CMAKE_BINARY_DIR}/plugins/Utils
1638 )
1639
1640 endforeach()
1641@@ -28,7 +31,11 @@
1642 add_executable(URLDispatcherTestExec URLDispatcherTest.cpp)
1643 qt5_use_modules(URLDispatcherTestExec Test Core Qml)
1644 target_link_libraries(URLDispatcherTestExec Utils-qml)
1645+install(TARGETS URLDispatcherTestExec
1646+ DESTINATION "${SHELL_PRIVATE_LIBDIR}/tests/plugins/Utils"
1647+)
1648 add_unity8_unittest(URLDispatcher dbus-test-runner
1649 ARG_PREFIX "--parameter"
1650 ARGS --task $<TARGET_FILE:URLDispatcherTestExec>
1651+ ENVIRONMENT LD_LIBRARY_PATH=${CMAKE_BINARY_DIR}/plugins/Utils
1652 )
1653
1654=== modified file 'tests/plugins/Utils/DeviceConfigParserTest.cpp'
1655--- tests/plugins/Utils/DeviceConfigParserTest.cpp 2016-02-12 12:57:38 +0000
1656+++ tests/plugins/Utils/DeviceConfigParserTest.cpp 2017-01-03 13:04:42 +0000
1657@@ -21,6 +21,7 @@
1658 #include <QTest>
1659 #include <QDebug>
1660 #include <QSettings>
1661+#include <QTemporaryDir>
1662
1663 class DeviceConfigParserTest : public QObject
1664 {
1665@@ -45,13 +46,15 @@
1666 }
1667
1668 void testCustomFile() {
1669- QSettings s("./devices.conf", QSettings::IniFormat);
1670+ QTemporaryDir dir;
1671+ QSettings s(dir.path() + "/devices.conf", QSettings::IniFormat);
1672 s.beginGroup("fakedevice");
1673
1674 s.setValue("SupportedOrientations", QStringList() << "Portrait" << "Landscape" << "InvertedLandscape");
1675 s.setValue("PrimaryOrientation", "InvertedLandscape");
1676 s.sync();
1677
1678+ qputenv("XDG_CONFIG_HOME", dir.path().toUtf8());
1679 DeviceConfigParser p;
1680 p.setName("fakedevice");
1681
1682
1683=== modified file 'tests/plugins/Wizard/CMakeLists.txt'
1684--- tests/plugins/Wizard/CMakeLists.txt 2015-04-30 10:17:45 +0000
1685+++ tests/plugins/Wizard/CMakeLists.txt 2017-01-03 13:04:42 +0000
1686@@ -8,6 +8,9 @@
1687 ${CMAKE_SOURCE_DIR}/plugins/Wizard/PageList.cpp
1688 )
1689 qt5_use_modules(tst-wizard-pagelist Core Qml Test)
1690+install(TARGETS tst-wizard-pagelist
1691+ DESTINATION "${SHELL_PRIVATE_LIBDIR}/tests/plugins/Wizard"
1692+)
1693 add_unity8_unittest(WizardPageList tst-wizard-pagelist ENVIRONMENT WIZARD_TESTING=1)
1694
1695 add_executable(tst-wizard-system
1696@@ -15,4 +18,7 @@
1697 ${CMAKE_SOURCE_DIR}/plugins/Wizard/System.cpp
1698 )
1699 qt5_use_modules(tst-wizard-system Core DBus Qml Test)
1700+install(TARGETS tst-wizard-system
1701+ DESTINATION "${SHELL_PRIVATE_LIBDIR}/tests/plugins/Wizard"
1702+)
1703 add_unity8_unittest(WizardSystem tst-wizard-system)
1704
1705=== modified file 'tests/qmltests/CMakeLists.txt'
1706--- tests/qmltests/CMakeLists.txt 2016-11-10 12:02:18 +0000
1707+++ tests/qmltests/CMakeLists.txt 2017-01-03 13:04:42 +0000
1708@@ -6,11 +6,13 @@
1709 add_unity8_qmltest(. Shell)
1710 add_unity8_qmltest(. ShellWithPin)
1711 add_unity8_qmltest(. DeviceConfiguration)
1712+add_unity8_qmltest_data(. EdgeBarrierControls)
1713 add_unity8_qmltest(Components Background)
1714 add_unity8_qmltest(Components Carousel)
1715 add_unity8_qmltest(Components Dialogs)
1716 add_unity8_qmltest(Components DraggingArea)
1717 add_unity8_qmltest(Components LazyImage)
1718+add_unity8_qmltest_data(Components tst_LazyImage)
1719 add_unity8_qmltest(Components Lockscreen)
1720 add_unity8_qmltest(Components MediaServices)
1721 add_unity8_qmltest(Components ModeSwitchWarningDialog)
1722@@ -33,6 +35,9 @@
1723 add_unity8_qmltest(Dash GenericScopeView)
1724 add_unity8_qmltest(Dash DashPageHeader)
1725 add_unity8_qmltest(Dash PreviewView)
1726+add_unity8_qmltest_data(Dash artwork)
1727+add_unity8_qmltest_data(Dash CardHelpers.js)
1728+add_unity8_qmltest_data(Dash tst_PageHeader)
1729 add_unity8_qmltest(Dash/Previews Preview)
1730 add_unity8_qmltest(Dash/Previews PreviewActions)
1731 add_unity8_qmltest(Dash/Previews PreviewAudioPlayback)
1732@@ -55,6 +60,7 @@
1733 add_unity8_qmltest(Dash/Previews PreviewVideoPlayback)
1734 add_unity8_qmltest(Dash/Previews PreviewWidgetFactory)
1735 add_unity8_qmltest(Dash/Previews PreviewZoomableImage)
1736+add_unity8_qmltest_data(Dash/Previews MockPreviewWidget)
1737 add_unity8_qmltest(Dash/Filters FilterOptionSelector)
1738 add_unity8_qmltest(Dash/Filters FilterRangeInput)
1739 add_unity8_qmltest(Dash/Filters FilterValueSlider)
1740@@ -70,12 +76,14 @@
1741 add_unity8_qmltest(Greeter Infographics)
1742 add_unity8_qmltest(Greeter NarrowView)
1743 add_unity8_qmltest(Greeter WideView)
1744+add_unity8_qmltest_data(Greeter TestView)
1745 add_unity8_qmltest(Launcher Launcher)
1746 add_unity8_qmltest(Launcher Drawer)
1747 add_unity8_qmltest(Notifications Notifications)
1748 add_unity8_qmltest(Notifications VisualSnapDecisionsQueue)
1749 add_unity8_qmltest(Notifications OptionToggle)
1750 add_unity8_qmltest(Notifications SwipeToAct)
1751+add_unity8_qmltest_data(Notifications Notification)
1752 add_unity8_qmltest(Panel ActiveCallHint)
1753 add_unity8_qmltest(Panel IndicatorItem)
1754 add_unity8_qmltest(Panel IndicatorItemRow)
1755@@ -84,6 +92,7 @@
1756 add_unity8_qmltest(Panel IndicatorsMenu)
1757 add_unity8_qmltest(Panel MenuContent)
1758 add_unity8_qmltest(Panel Panel)
1759+add_unity8_qmltest_data(Panel IndicatorTest)
1760 add_unity8_qmltest(Panel/Indicators IndicatorsLight)
1761 add_unity8_qmltest(Panel/Indicators MenuItemFactory)
1762 add_unity8_qmltest(Panel/Indicators MessageMenuItemFactory)
1763@@ -95,6 +104,14 @@
1764 add_unity8_qmltest(Stage WindowResizeArea)
1765 add_unity8_qmltest(Stage Splash)
1766 add_unity8_qmltest(Stage DecoratedWindow)
1767+add_unity8_qmltest_data(Stage ApplicationCheckBox)
1768+add_unity8_qmltest_data(Stage SizeHintField)
1769+add_unity8_qmltest_data(Stage SurfaceManagerControls)
1770+add_unity8_qmltest_data(Stage SurfaceManagerField)
1771 add_unity8_qmltest(Tutorial Tutorial)
1772 add_unity8_qmltest(Wizard Wizard ENVIRONMENT "OXIDE_NO_SANDBOX=1")
1773+add_unity8_qmltest_data(Wizard licenses)
1774+add_unity8_qmltest_data(Wizard nolicenses)
1775 add_unity8_qmltest(utils/Unity/Test UnityTest)
1776+add_unity8_qmltest_data(utils/Unity/Test MockObjectForInstanceOfTest)
1777+add_unity8_qmltest_data(utils/Unity/Test MockObjectForInstanceOfTestChild)
1778
1779=== modified file 'tests/qmltests/Components/CMakeLists.txt'
1780--- tests/qmltests/Components/CMakeLists.txt 2016-11-28 10:13:37 +0000
1781+++ tests/qmltests/Components/CMakeLists.txt 2017-01-03 13:04:42 +0000
1782@@ -1,4 +1,4 @@
1783-add_definitions(-DTEST_DIR="${CMAKE_CURRENT_LIST_DIR}")
1784+add_definitions(-DTEST_DIR="qmltests/Components")
1785
1786 pkg_check_modules(UBUNTUGESTURES REQUIRED UbuntuGestures)
1787
1788@@ -20,13 +20,28 @@
1789 add_executable(DragHandleTestExec tst_DragHandle.cpp)
1790 qt5_use_modules(DragHandleTestExec Test Core Qml Gui Quick)
1791 target_link_libraries(DragHandleTestExec UbuntuGesturesQml ${UBUNTUGESTURES_LIBRARIES})
1792+install(TARGETS DragHandleTestExec
1793+ DESTINATION "${SHELL_PRIVATE_LIBDIR}/tests/qmltests/Components"
1794+ )
1795+set_target_properties(DragHandleTestExec PROPERTIES
1796+ INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${SHELL_INSTALL_QML}/Ubuntu/Gestures:${CMAKE_INSTALL_PREFIX}/${SHELL_PRIVATE_LIBDIR}"
1797+ )
1798
1799-add_unity8_uitest(DragHandle DragHandleTestExec ENVIRONMENT LD_LIBRARY_PATH=${CMAKE_BINARY_DIR}/plugins/Ubuntu/Gestures)
1800+add_unity8_uitest(DragHandle DragHandleTestExec)
1801 add_manual_qml_test(. DragHandle IMPORT_PATHS ${UNITY_IMPORT_PATHS})
1802+add_unity8_qmltest_data(. tst_DragHandle.qml)
1803+add_unity8_qmltest_data(. tst_DragHandle)
1804
1805 ########## tst_EdgeDragEvaluator
1806 add_executable(EdgeDragEvaluatorTestExec tst_EdgeDragEvaluator.cpp)
1807 qt5_use_modules(EdgeDragEvaluatorTestExec Test Core Qml Gui Quick)
1808 target_link_libraries(EdgeDragEvaluatorTestExec UbuntuGesturesQml ${UBUNTUGESTURES_LIBRARIES})
1809+install(TARGETS EdgeDragEvaluatorTestExec
1810+ DESTINATION "${SHELL_PRIVATE_LIBDIR}/tests/qmltests/Components"
1811+ )
1812+set_target_properties(EdgeDragEvaluatorTestExec PROPERTIES
1813+ INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${SHELL_INSTALL_QML}/Ubuntu/Gestures:${CMAKE_INSTALL_PREFIX}/${SHELL_PRIVATE_LIBDIR}"
1814+ )
1815
1816-add_unity8_uitest(EdgeDragEvaluator EdgeDragEvaluatorTestExec ENVIRONMENT LD_LIBRARY_PATH=${CMAKE_BINARY_DIR}/plugins/Ubuntu/Gestures)
1817+add_unity8_uitest(EdgeDragEvaluator EdgeDragEvaluatorTestExec)
1818+add_unity8_qmltest_data(. tst_EdgeDragEvaluator.qml)
1819
1820=== modified file 'tests/qmltests/Components/tst_DragHandle.cpp'
1821--- tests/qmltests/Components/tst_DragHandle.cpp 2016-07-13 07:33:09 +0000
1822+++ tests/qmltests/Components/tst_DragHandle.cpp 2017-01-03 13:04:42 +0000
1823@@ -27,6 +27,8 @@
1824 #include <UbuntuGestures/private/timer_p.h>
1825 #include "Direction.h"
1826
1827+#include <paths.h>
1828+
1829 UG_USE_NAMESPACE
1830
1831 class tst_DragHandle: public QObject
1832@@ -84,7 +86,7 @@
1833 void tst_DragHandle::init()
1834 {
1835 m_view = createView();
1836- m_view->setSource(QUrl::fromLocalFile(TEST_DIR"/tst_DragHandle.qml"));
1837+ m_view->setSource(QUrl::fromLocalFile(testDataDir() + "/" TEST_DIR "/tst_DragHandle.qml"));
1838 m_view->show();
1839 QVERIFY(QTest::qWaitForWindowExposed(m_view));
1840 QVERIFY(m_view->rootObject() != 0);
1841@@ -113,7 +115,7 @@
1842 {
1843 QQuickView *window = new QQuickView(0);
1844 window->setResizeMode(QQuickView::SizeRootObjectToView);
1845- window->engine()->addImportPath(QLatin1String(TEST_DIR));
1846+ window->engine()->addImportPath(testDataDir() + "/" TEST_DIR);
1847
1848 return window;
1849 }
1850
1851=== modified file 'tests/qmltests/Components/tst_EdgeDragEvaluator.cpp'
1852--- tests/qmltests/Components/tst_EdgeDragEvaluator.cpp 2016-07-13 07:33:09 +0000
1853+++ tests/qmltests/Components/tst_EdgeDragEvaluator.cpp 2017-01-03 13:04:42 +0000
1854@@ -26,6 +26,8 @@
1855 #include <Direction.h>
1856 #include <UbuntuGestures/private/timer_p.h>
1857
1858+#include <paths.h>
1859+
1860 UG_USE_NAMESPACE
1861
1862 class tst_EdgeDragEvaluator: public QObject
1863@@ -67,7 +69,7 @@
1864 {
1865
1866 m_view = createView();
1867- m_view->setSource(QUrl::fromLocalFile(TEST_DIR"/tst_EdgeDragEvaluator.qml"));
1868+ m_view->setSource(QUrl::fromLocalFile(testDataDir() + "/" TEST_DIR "/tst_EdgeDragEvaluator.qml"));
1869 m_view->show();
1870 QVERIFY(QTest::qWaitForWindowExposed(m_view));
1871 QVERIFY(m_view->rootObject() != 0);
1872@@ -99,7 +101,7 @@
1873 {
1874 QQuickView *window = new QQuickView(0);
1875 window->setResizeMode(QQuickView::SizeRootObjectToView);
1876- window->engine()->addImportPath(QLatin1String(TEST_DIR));
1877+ window->engine()->addImportPath(testDataDir() + "/" TEST_DIR);
1878
1879 return window;
1880 }
1881
1882=== modified file 'tests/qmltests/Components/tst_ZoomableImage.qml'
1883--- tests/qmltests/Components/tst_ZoomableImage.qml 2016-08-30 14:06:47 +0000
1884+++ tests/qmltests/Components/tst_ZoomableImage.qml 2017-01-03 13:04:42 +0000
1885@@ -36,7 +36,7 @@
1886 }
1887
1888 property var widgetData2: {
1889- "source": "../../mocks/Unity/Application/resources/screenshots/gallery@12.png",
1890+ "source": Qt.resolvedUrl("../../graphics/screenshots/gallery@12.png"),
1891 "zoomable": true
1892 }
1893
1894
1895=== modified file 'tests/qmltests/Dash/Previews/tst_PreviewImageGallery.qml'
1896--- tests/qmltests/Dash/Previews/tst_PreviewImageGallery.qml 2016-08-30 14:06:47 +0000
1897+++ tests/qmltests/Dash/Previews/tst_PreviewImageGallery.qml 2017-01-03 13:04:42 +0000
1898@@ -31,31 +31,31 @@
1899
1900 property var sourcesModel1: {
1901 "sources": [
1902- "../../../tests/graphics/avatars/amanda@12.png",
1903- "../../../tests/graphics/avatars/funky@12.png",
1904- "../../../tests/graphics/clock@18.png",
1905- "../../graphics/borked"
1906+ Qt.resolvedUrl("../../../graphics/avatars/amanda@12.png"),
1907+ Qt.resolvedUrl("../../../graphics/avatars/funky@12.png"),
1908+ Qt.resolvedUrl("../../../graphics/clock@18.png"),
1909+ Qt.resolvedUrl("../../../../qml/graphics/borked")
1910 ]
1911 }
1912
1913 property var sourcesModel1WithFallback: {
1914 "sources": [
1915- "../../../tests/graphics/avatars/amanda@12.png",
1916- "../../../tests/graphics/avatars/funky@12.png",
1917- "../../../tests/graphics/clock@18.png",
1918- "../../graphics/borked"
1919+ Qt.resolvedUrl("../../../graphics/avatars/amanda@12.png"),
1920+ Qt.resolvedUrl("../../../graphics/avatars/funky@12.png"),
1921+ Qt.resolvedUrl("../../../graphics/clock@18.png"),
1922+ Qt.resolvedUrl("../../../../qml/graphics/borked")
1923 ]
1924- , "fallback": "../../../tests/graphics/clock@18.png"
1925+ , "fallback": Qt.resolvedUrl("../../../graphics/clock@18.png")
1926 }
1927
1928 property var sourcesModelEmptyWithFallback: {
1929 "sources": [
1930- "../../../tests/graphics/avatars/amanda@12.png",
1931- "../../../tests/graphics/avatars/funky@12.png",
1932- "../../../tests/graphics/clock@18.png",
1933+ Qt.resolvedUrl("../../../graphics/avatars/amanda@12.png"),
1934+ Qt.resolvedUrl("../../../graphics/avatars/funky@12.png"),
1935+ Qt.resolvedUrl("../../../graphics/clock@18.png"),
1936 ""
1937 ]
1938- , "fallback": "../../../tests/graphics/clock@18.png"
1939+ , "fallback": Qt.resolvedUrl("../../../graphics/clock@18.png")
1940 }
1941
1942 PreviewImageGallery {
1943
1944=== modified file 'tests/qmltests/Dash/Previews/tst_PreviewZoomableImage.qml'
1945--- tests/qmltests/Dash/Previews/tst_PreviewZoomableImage.qml 2016-09-29 08:51:38 +0000
1946+++ tests/qmltests/Dash/Previews/tst_PreviewZoomableImage.qml 2017-01-03 13:04:42 +0000
1947@@ -26,7 +26,7 @@
1948 color: "lightgrey"
1949
1950 property var widgetData0: {
1951- "source": "../../../tests/graphics/avatars/amanda@12.png",
1952+ "source": Qt.resolvedUrl("../../../graphics/avatars/amanda@12.png"),
1953 "zoomable": false
1954 }
1955
1956@@ -36,17 +36,17 @@
1957
1958 property var widgetData2: {
1959 "source": "fadsasf",
1960- "fallback": "../../../tests/graphics/avatars/amanda@12.png"
1961+ "fallback": Qt.resolvedUrl("../../../graphics/avatars/amanda@12.png")
1962 }
1963
1964 property var widgetData3: {
1965 "source": "",
1966- "fallback": "../../../tests/graphics/avatars/amanda@12.png"
1967+ "fallback": Qt.resolvedUrl("../../../graphics/avatars/amanda@12.png")
1968 }
1969
1970 property var widgetData4: {
1971 "source": "fadsasf",
1972- "fallback": "../../../tests/graphics/avatars/amanda@12.png"
1973+ "fallback": Qt.resolvedUrl("../../../graphics/avatars/amanda@12.png")
1974 }
1975
1976 Loader {
1977@@ -129,7 +129,7 @@
1978 waitForRendering(lazyImage);
1979 tryCompare(lazyImage, "state", "ready");
1980 verify(lazyImage.sourceImage.source.toString().indexOf("amanda") > -1);
1981- zoomableImage.widgetData["source"] = "../../../tests/graphics/avatars/funky@12.png"
1982+ zoomableImage.widgetData["source"] = Qt.resolvedUrl("../../../graphics/avatars/funky@12.png")
1983 zoomableImage.widgetDataChanged();
1984 tryCompare(lazyImage, "state", "ready");
1985 verify(lazyImage.sourceImage.source.toString().indexOf("funky") > -1);
1986
1987=== modified file 'tests/qmltests/Dash/tst_GenericScopeView.qml'
1988--- tests/qmltests/Dash/tst_GenericScopeView.qml 2016-11-17 11:45:48 +0000
1989+++ tests/qmltests/Dash/tst_GenericScopeView.qml 2017-01-03 13:04:42 +0000
1990@@ -463,7 +463,7 @@
1991 { tag: "Default", index: 0, foreground: UbuntuColors.darkGrey, background: "color:///#ffffff", logo: "" },
1992 { tag: "Foreground", index: 1, foreground: "yellow", background: "color:///#ffffff", logo: "" },
1993 { tag: "Logo+Background", index: 2, foreground: UbuntuColors.darkGrey, background: "gradient:///lightgrey/grey",
1994- logo: Qt.resolvedUrl("../Dash/tst_PageHeader/logo-ubuntu-orange.svg") },
1995+ logo: Qt.resolvedUrl("tst_PageHeader/logo-ubuntu-orange.svg") },
1996 ];
1997 }
1998
1999
2000=== modified file 'tests/qmltests/Notifications/tst_Notifications.qml'
2001--- tests/qmltests/Notifications/tst_Notifications.qml 2016-08-19 13:12:41 +0000
2002+++ tests/qmltests/Notifications/tst_Notifications.qml 2017-01-03 13:04:42 +0000
2003@@ -61,8 +61,8 @@
2004 "hints": {},
2005 "summary": "Cole Raby",
2006 "body": "I did not expect it to be <b>that</b> late.",
2007- "icon": "../../tests/graphics/avatars/amanda.png",
2008- "secondaryIcon": "../../tests/graphics/applicationIcons/facebook.png",
2009+ "icon": Qt.resolvedUrl("../../graphics/avatars/amanda.png"),
2010+ "secondaryIcon": Qt.resolvedUrl("../../graphics/applicationIcons/facebook.png"),
2011 "rawActions": ["reply_id", "Dummy"]})
2012 n.completed.connect(mockModel.onCompleted)
2013 mockModel.append(n)
2014@@ -75,7 +75,7 @@
2015 "hints": {"x-canonical-non-shaped-icon": "true"},
2016 "summary": "Contacts",
2017 "body": "Synchronised contacts-database &amp; cloud-storage.",
2018- "icon": "../../tests/graphics/applicationIcons/contacts-app.png",
2019+ "icon": Qt.resolvedUrl("../../graphics/applicationIcons/contacts-app.png"),
2020 "secondaryIcon": "",
2021 "rawActions": ["reply_id", "Dummy"]})
2022 n.completed.connect(mockModel.onCompleted)
2023@@ -89,7 +89,7 @@
2024 "hints": {"x-canonical-non-shaped-icon": "false"},
2025 "summary": "Photo upload completed",
2026 "body": "",
2027- "icon": "../../tests/graphics/applicationIcons/facebook.png",
2028+ "icon": Qt.resolvedUrl("../../graphics/applicationIcons/facebook.png"),
2029 "secondaryIcon": "",
2030 "rawActions": ["reply_id", "Dummy"]})
2031 n.completed.connect(mockModel.onCompleted)
2032@@ -103,7 +103,7 @@
2033 "hints": {},
2034 "summary": "Interactive notification",
2035 "body": "This is a notification that can be clicked",
2036- "icon": "../../tests/graphics/avatars/anna_olsson.png",
2037+ "icon": Qt.resolvedUrl("../../graphics/avatars/anna_olsson.png"),
2038 "secondaryIcon": "",
2039 "rawActions": ["reply_id", "Dummy"]})
2040 n.completed.connect(mockModel.onCompleted)
2041@@ -287,7 +287,7 @@
2042 type: Notification.Ephemeral
2043 summary: "Photo upload completed"
2044 body: ""
2045- icon: "../../tests/graphics/applicationIcons/facebook.png"
2046+ icon: Qt.resolvedUrl("../../graphics/applicationIcons/facebook.png")
2047 secondaryIcon: ""
2048 value: 0
2049 rawActions: []
2050@@ -301,7 +301,7 @@
2051 summary: "New comment successfully published"
2052 body: ""
2053 icon: ""
2054- secondaryIcon: "../../tests/graphics/applicationIcons/facebook.png"
2055+ secondaryIcon: Qt.resolvedUrl("../../graphics/applicationIcons/facebook.png")
2056 value: 0
2057 rawActions: []
2058 },
2059@@ -312,7 +312,7 @@
2060 "sound-file": "dummy.ogg"}
2061 summary: "Interactive notification"
2062 body: "This is a notification that can be clicked"
2063- icon: "../../tests/graphics/avatars/amanda.png"
2064+ icon: Qt.resolvedUrl("../../graphics/avatars/amanda.png")
2065 secondaryIcon: ""
2066 value: 0
2067 rawActions: ["reply_id", "Dummy"]
2068@@ -324,7 +324,7 @@
2069 "sound-file": "dummy.ogg"}
2070 summary: "Bro Coly"
2071 body: "At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet."
2072- icon: "../../tests/graphics/avatars/anna_olsson.png"
2073+ icon: Qt.resolvedUrl("../../graphics/avatars/anna_olsson.png")
2074 secondaryIcon: ""
2075 value: 0
2076 rawActions: ["accept_id", "Accept",
2077@@ -337,8 +337,8 @@
2078 "sound-file": "dummy.ogg"}
2079 summary: "Cole Raby"
2080 body: "I did not expect it to be that late."
2081- icon: "../../tests/graphics/avatars/funky.png"
2082- secondaryIcon: "../../tests/graphics/applicationIcons/facebook.png"
2083+ icon: Qt.resolvedUrl("../../graphics/avatars/funky.png")
2084+ secondaryIcon: Qt.resolvedUrl("../../graphics/applicationIcons/facebook.png")
2085 value: 0
2086 rawActions: []
2087 },
2088
2089=== modified file 'tests/qmltests/Notifications/tst_SwipeToAct.qml'
2090--- tests/qmltests/Notifications/tst_SwipeToAct.qml 2016-08-02 10:28:28 +0000
2091+++ tests/qmltests/Notifications/tst_SwipeToAct.qml 2017-01-03 13:04:42 +0000
2092@@ -61,7 +61,7 @@
2093 hints: {"x-canonical-snap-decisions-swipe": "true"},
2094 summary: "Incoming call",
2095 body: "Frank Zappa\n+44 (0)7736 027340",
2096- icon: "../../tests/graphics/avatars/amanda.png",
2097+ icon: Qt.resolvedUrl("../../graphics/avatars/amanda.png"),
2098 secondaryIcon: "image://theme/incoming-call",
2099 actions: [{ id: "ok_id", label: "Ok"},
2100 { id: "cancel_id", label: "Cancel"},
2101@@ -177,8 +177,8 @@
2102 hints: {"x-canonical-snap-decisions-swipe": "true"},
2103 summary: "Incoming call",
2104 body: "Frank Zappa\n+44 (0)7736 027340",
2105- icon: "../../tests/graphics/avatars/amanda.png",
2106- secondaryIcon: "../../tests/graphics/applicationIcons/facebook.png",
2107+ icon: Qt.resolvedUrl("../../graphics/avatars/amanda.png"),
2108+ secondaryIcon: Qt.resolvedUrl("../../graphics/applicationIcons/facebook.png"),
2109 actions: myActionModel,
2110 summaryVisible: true,
2111 bodyVisible: true,
2112@@ -196,8 +196,8 @@
2113 hints: {"x-canonical-snap-decisions-swipe": "true"},
2114 summary: "Incoming call",
2115 body: "Bro Coly\n+49 (0)221 426973",
2116- icon: "../../tests/graphics/avatars/funky.png",
2117- secondaryIcon: "../../tests/graphics/applicationIcons/facebook.png",
2118+ icon: Qt.resolvedUrl("../../graphics/avatars/funky.png"),
2119+ secondaryIcon: Qt.resolvedUrl("../../graphics/applicationIcons/facebook.png"),
2120 actions: myActionModel,
2121 summaryVisible: true,
2122 bodyVisible: true,
2123
2124=== modified file 'tests/qmltests/tst_Shell.qml'
2125--- tests/qmltests/tst_Shell.qml 2016-12-12 16:45:09 +0000
2126+++ tests/qmltests/tst_Shell.qml 2017-01-03 13:04:42 +0000
2127@@ -727,8 +727,8 @@
2128 hints: {"x-canonical-private-affirmative-tint": "true"},
2129 summary: "Tom Ato",
2130 body: "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.",
2131- icon: "../../tests/graphics/avatars/funky.png",
2132- secondaryIcon: "../../tests/graphics/applicationIcons/facebook.png",
2133+ icon: Qt.resolvedUrl("../graphics/avatars/funky.png"),
2134+ secondaryIcon: Qt.resolvedUrl("../graphics/applicationIcons/facebook.png"),
2135 actions: [{ id: "ok_id", label: "Ok"},
2136 { id: "cancel_id", label: "Cancel"},
2137 { id: "notreally_id", label: "Not really"},
2138
2139=== modified file 'tests/uqmlscene/CMakeLists.txt'
2140--- tests/uqmlscene/CMakeLists.txt 2016-05-13 09:50:49 +0000
2141+++ tests/uqmlscene/CMakeLists.txt 2017-01-03 13:04:42 +0000
2142@@ -27,3 +27,7 @@
2143 ${XCB_LDFLAGS}
2144 UbuntuGestures
2145 )
2146+
2147+install(TARGETS uqmlscene
2148+ RUNTIME DESTINATION ${SHELL_PRIVATE_LIBDIR}
2149+ )
2150
2151=== modified file 'tests/utils/modules/Unity/Test/CMakeLists.txt'
2152--- tests/utils/modules/Unity/Test/CMakeLists.txt 2016-11-28 09:57:06 +0000
2153+++ tests/utils/modules/Unity/Test/CMakeLists.txt 2017-01-03 13:04:42 +0000
2154@@ -33,7 +33,9 @@
2155 target_link_libraries(UnityTestQml ${MOUSETOUCHADAPTOR_LIBS_LDFLAGS})
2156 endif()
2157
2158+# To find libUbuntuGestures.so
2159+set_target_properties(UnityTestQml PROPERTIES INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${SHELL_PRIVATE_LIBDIR}")
2160+
2161 qt5_use_modules(UnityTestQml Core Quick Test)
2162
2163-export_qmlfiles(Unity.Test Unity/Test)
2164-export_qmlplugin(Unity.Test 0.1 Unity/Test TARGETS UnityTestQml)
2165+add_unity8_mock(Unity.Test 0.1 Unity/Test PREFIX utils TARGETS UnityTestQml)

Subscribers

People subscribed via source and target branches