Merge lp:~saviq/ubuntu-settings-components/packaging-cleanup into lp:ubuntu-settings-components

Proposed by Michał Sawicz
Status: Merged
Approved by: Michał Sawicz
Approved revision: 146
Merged at revision: 161
Proposed branch: lp:~saviq/ubuntu-settings-components/packaging-cleanup
Merge into: lp:ubuntu-settings-components
Prerequisite: lp:~nick-dedekind/ubuntu-settings-components/calendar-test-fixes
Diff against target: 1940 lines (+634/-878)
41 files modified
CMakeLists.txt (+8/-43)
SettingsComponents.qmlproject (+0/-23)
cmake/modules/EnableCoverageReport.cmake (+0/-166)
cmake/modules/FindLcov.cmake (+0/-29)
cmake/modules/Findgcovr.cmake (+0/-31)
cmake/modules/ParseArguments.cmake (+0/-52)
cmake/modules/QmlPlugins.cmake (+0/-150)
cmake/modules/QmlTest.cmake (+311/-118)
cmake_uninstall.cmake.in (+0/-21)
debian/changelog (+7/-0)
debian/control (+24/-11)
debian/qml-module-ubuntu-settings-components.install (+5/-0)
debian/rules (+2/-0)
debian/tests/control (+4/-0)
debian/tests/qmluitests.sh (+10/-0)
examples/Fingerprint.qml (+1/-1)
plugins/Ubuntu/Settings/Components/CMakeLists.txt (+5/-8)
plugins/Ubuntu/Settings/Components/Components.qmltypes (+0/-73)
plugins/Ubuntu/Settings/Components/serverpropertysynchroniser.cpp (+0/-1)
plugins/Ubuntu/Settings/Menus/CMakeLists.txt (+6/-14)
plugins/Ubuntu/Settings/Menus/Menus.qmltypes (+0/-30)
runtests.sh (+1/-1)
tests/CMakeLists.txt (+50/-7)
tests/imports/CMakeLists.txt (+5/-0)
tests/imports/check_imports.py (+125/-0)
tests/qmltests/CMakeLists.txt (+34/-46)
tests/qmltests/Fingerprint/tst_FingerprintNames.qml (+1/-1)
tests/qmltests/Fingerprint/tst_FingerprintSetup.qml (+2/-2)
tests/qmltests/Fingerprint/tst_Fingerprints.qml (+4/-4)
tests/qmltests/Menus/tst_GroupedMessageMenu.qml (+1/-3)
tests/qmltests/mocks/Biometryd/CMakeLists.txt (+6/-4)
tests/qmltests/mocks/Biometryd/MockDevice.cpp (+0/-2)
tests/qmltests/mocks/Biometryd/MockFingerprintReader.cpp (+0/-2)
tests/qmltests/mocks/Biometryd/MockOperation.cpp (+0/-2)
tests/qmltests/mocks/Biometryd/MockService.cpp (+0/-2)
tests/qmltests/mocks/Biometryd/MockTemplateStore.cpp (+0/-2)
tests/qmltests/mocks/Biometryd/MockUser.cpp (+0/-2)
tests/qmltests/mocks/CMakeLists.txt (+2/-2)
tests/qmltests/mocks/GSettings.1.0/CMakeLists.txt (+6/-7)
tests/utils/modules/CMakeLists.txt (+2/-0)
tests/utils/modules/Ubuntu/Test/CMakeLists.txt (+12/-18)
To merge this branch: bzr merge lp:~saviq/ubuntu-settings-components/packaging-cleanup
Reviewer Review Type Date Requested Status
Unity8 CI Bot continuous-integration Needs Fixing
Gerry Boland (community) Approve
PS Jenkins bot continuous-integration Pending
Nick Dedekind Pending
Michael Terry Pending
Review via email: mp+303125@code.launchpad.net

This proposal supersedes a proposal from 2016-08-17.

Commit message

Refactor and clean up packaging/build system and add autopkgtests

a lot of clean ups
using cmake-extras instead of a copy of CMake modules
add an import version checker (UITK hates it when you mix 1.2 and 1.3)
add autopkgtest running the qml UI tests

To post a comment you must log in.
Revision history for this message
Unity8 CI Bot (unity8-ci-bot) wrote : Posted in a previous version of this proposal

FAILED: Continuous integration, rev:129
https://unity8-jenkins.ubuntu.com/job/lp-ubuntu-settings-components-ci/47/
Executed test runs:
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build/2567
    UNSTABLE: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=vivid+overlay,testname=qmluitests.sh/1391
    UNSTABLE: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=xenial+overlay,testname=qmluitests.sh/1391
    UNSTABLE: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=yakkety,testname=qmluitests.sh/1391
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-0-fetch/2595
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=vivid+overlay/2475
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=xenial+overlay/2475
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=yakkety/2475
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/2469
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/2469/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/2469
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/2469/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=yakkety/2469
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=yakkety/2469/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/2469
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/2469/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/2469
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/2469/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=yakkety/2469
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=yakkety/2469/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/2469
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/2469/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/2469
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/2469/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=yakkety/2469
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=yakkety/2469/artifact/output/*zip*/output.zip

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

review: Needs Fixing (continuous-integration)
Revision history for this message
Unity8 CI Bot (unity8-ci-bot) wrote : Posted in a previous version of this proposal

FAILED: Continuous integration, rev:130
https://unity8-jenkins.ubuntu.com/job/lp-ubuntu-settings-components-ci/48/
Executed test runs:
    FAILURE: https://unity8-jenkins.ubuntu.com/job/build/2568/console
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-0-fetch/2596
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=vivid+overlay/2476
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=xenial+overlay/2476
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=yakkety/2476
    FAILURE: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/2470/console
    FAILURE: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/2470/console
    FAILURE: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=yakkety/2470/console
    FAILURE: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/2470/console
    FAILURE: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/2470/console
    FAILURE: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=yakkety/2470/console
    FAILURE: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/2470/console
    FAILURE: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/2470/console
    FAILURE: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=yakkety/2470/console

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

review: Needs Fixing (continuous-integration)
Revision history for this message
Unity8 CI Bot (unity8-ci-bot) wrote : Posted in a previous version of this proposal

FAILED: Continuous integration, rev:133
https://unity8-jenkins.ubuntu.com/job/lp-ubuntu-settings-components-ci/50/
Executed test runs:
    FAILURE: https://unity8-jenkins.ubuntu.com/job/build/2571/console
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-0-fetch/2599
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=vivid+overlay/2479
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=xenial+overlay/2479
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=yakkety/2479
    FAILURE: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/2473/console
    FAILURE: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/2473/console
    FAILURE: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=yakkety/2473/console
    FAILURE: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/2473/console
    FAILURE: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/2473/console
    FAILURE: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=yakkety/2473/console
    FAILURE: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/2473/console
    FAILURE: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/2473/console
    FAILURE: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=yakkety/2473/console

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

review: Needs Fixing (continuous-integration)
Revision history for this message
Unity8 CI Bot (unity8-ci-bot) wrote : Posted in a previous version of this proposal

FAILED: Continuous integration, rev:134
https://unity8-jenkins.ubuntu.com/job/lp-ubuntu-settings-components-ci/51/
Executed test runs:
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build/2572
    UNSTABLE: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=vivid+overlay,testname=qmluitests.sh/1393
    UNSTABLE: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=xenial+overlay,testname=qmluitests.sh/1393
    UNSTABLE: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=yakkety,testname=qmluitests.sh/1393
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-0-fetch/2600
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=vivid+overlay/2480
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=xenial+overlay/2480
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=yakkety/2480
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/2474
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/2474/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/2474
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/2474/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=yakkety/2474
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=yakkety/2474/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/2474
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/2474/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/2474
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/2474/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=yakkety/2474
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=yakkety/2474/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/2474
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/2474/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/2474
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/2474/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=yakkety/2474
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=yakkety/2474/artifact/output/*zip*/output.zip

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

review: Needs Fixing (continuous-integration)
Revision history for this message
Unity8 CI Bot (unity8-ci-bot) wrote : Posted in a previous version of this proposal

FAILED: Continuous integration, rev:136
https://unity8-jenkins.ubuntu.com/job/lp-ubuntu-settings-components-ci/52/
Executed test runs:
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build/2573
    UNSTABLE: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=vivid+overlay,testname=qmluitests.sh/1394
    UNSTABLE: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=xenial+overlay,testname=qmluitests.sh/1394
    UNSTABLE: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=yakkety,testname=qmluitests.sh/1394
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-0-fetch/2601
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=vivid+overlay/2481
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=xenial+overlay/2481
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=yakkety/2481
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/2475
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/2475/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/2475
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/2475/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=yakkety/2475
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=yakkety/2475/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/2475
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/2475/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/2475
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/2475/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=yakkety/2475
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=yakkety/2475/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/2475
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/2475/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/2475
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/2475/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=yakkety/2475
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=yakkety/2475/artifact/output/*zip*/output.zip

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

review: Needs Fixing (continuous-integration)
Revision history for this message
Unity8 CI Bot (unity8-ci-bot) wrote : Posted in a previous version of this proposal

FAILED: Continuous integration, rev:138
https://unity8-jenkins.ubuntu.com/job/lp-ubuntu-settings-components-ci/54/
Executed test runs:
    FAILURE: https://unity8-jenkins.ubuntu.com/job/build/2575/console
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-0-fetch/2603
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=vivid+overlay/2483
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=xenial+overlay/2483
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=yakkety/2483
    FAILURE: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/2477/console
    FAILURE: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/2477/console
    FAILURE: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=yakkety/2477/console
    FAILURE: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/2477/console
    FAILURE: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/2477/console
    FAILURE: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=yakkety/2477/console
    FAILURE: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/2477/console
    FAILURE: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/2477/console
    FAILURE: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=yakkety/2477/console

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

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

FAILED: Continuous integration, rev:141
https://unity8-jenkins.ubuntu.com/job/lp-ubuntu-settings-components-ci/56/
Executed test runs:
    FAILURE: https://unity8-jenkins.ubuntu.com/job/build/2577/console
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-0-fetch/2605
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=vivid+overlay/2485
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=xenial+overlay/2485
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=yakkety/2485
    FAILURE: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/2479/console
    FAILURE: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/2479/console
    FAILURE: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=yakkety/2479/console
    FAILURE: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/2479/console
    FAILURE: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/2479/console
    FAILURE: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=yakkety/2479/console
    FAILURE: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/2479/console
    FAILURE: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/2479/console
    FAILURE: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=yakkety/2479/console

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

review: Needs Fixing (continuous-integration)
142. By Michał Sawicz

Fix typo

Revision history for this message
Unity8 CI Bot (unity8-ci-bot) wrote : Posted in a previous version of this proposal

FAILED: Continuous integration, rev:140
https://unity8-jenkins.ubuntu.com/job/lp-ubuntu-settings-components-ci/55/
Executed test runs:
    FAILURE: https://unity8-jenkins.ubuntu.com/job/build/2576/console
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-0-fetch/2604
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=vivid+overlay/2484
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=xenial+overlay/2484
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=yakkety/2484
    FAILURE: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/2478/console
    FAILURE: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/2478/console
    FAILURE: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=yakkety/2478/console
    FAILURE: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/2478/console
    FAILURE: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/2478/console
    FAILURE: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=yakkety/2478/console
    FAILURE: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/2478/console
    FAILURE: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/2478/console
    FAILURE: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=yakkety/2478/console

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

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

FAILED: Continuous integration, rev:142
https://unity8-jenkins.ubuntu.com/job/lp-ubuntu-settings-components-ci/57/
Executed test runs:
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build/2578
    UNSTABLE: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=vivid+overlay,testname=qmluitests.sh/1397
    FAILURE: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=xenial+overlay,testname=qmluitests.sh/1397/console
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=yakkety,testname=qmluitests.sh/1397
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-0-fetch/2606
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=vivid+overlay/2486
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=xenial+overlay/2486
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=yakkety/2486
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/2480
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/2480/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/2480
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/2480/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=yakkety/2480
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=yakkety/2480/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/2480
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/2480/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/2480
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/2480/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=yakkety/2480
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=yakkety/2480/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/2480
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/2480/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/2480
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/2480/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=yakkety/2480
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=yakkety/2480/artifact/output/*zip*/output.zip

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

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

FAILED: Continuous integration, rev:142
https://unity8-jenkins.ubuntu.com/job/lp-ubuntu-settings-components-ci/58/
Executed test runs:
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build/2580
    UNSTABLE: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=vivid+overlay,testname=qmluitests.sh/1398
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=xenial+overlay,testname=qmluitests.sh/1398
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=yakkety,testname=qmluitests.sh/1398
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-0-fetch/2608
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=vivid+overlay/2488
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=xenial+overlay/2488
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=yakkety/2488
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/2482
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/2482/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/2482
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/2482/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=yakkety/2482
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=yakkety/2482/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/2482
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/2482/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/2482
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/2482/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=yakkety/2482
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=yakkety/2482/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/2482
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/2482/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/2482
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/2482/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=yakkety/2482
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=yakkety/2482/artifact/output/*zip*/output.zip

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

review: Needs Fixing (continuous-integration)
143. By Michał Sawicz

Drop spurious moc includes

144. By Michał Sawicz

Unskip test after it's been fixed upstream

145. By Michał Sawicz

Fix up import paths and environment

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

FAILED: Continuous integration, rev:
https://unity8-jenkins.ubuntu.com/job/lp-ubuntu-settings-components-ci/60/
Executed test runs:
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build/2582
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=vivid+overlay,testname=qmluitests.sh/1400
    FAILURE: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=xenial+overlay,testname=qmluitests.sh/1400/console
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=yakkety,testname=qmluitests.sh/1400
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-0-fetch/2610
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=vivid+overlay/2490
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=xenial+overlay/2490
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=yakkety/2490
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/2484
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/2484/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/2484
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/2484/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=yakkety/2484
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=yakkety/2484/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/2484
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/2484/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/2484
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/2484/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=yakkety/2484
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=yakkety/2484/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/2484
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/2484/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/2484
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/2484/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=yakkety/2484
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=yakkety/2484/artifact/output/*zip*/output.zip

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

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

PASSED: Continuous integration, rev:145
https://unity8-jenkins.ubuntu.com/job/lp-ubuntu-settings-components-ci/61/
Executed test runs:
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build/2584
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=vivid+overlay,testname=qmluitests.sh/1402
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=xenial+overlay,testname=qmluitests.sh/1402
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=yakkety,testname=qmluitests.sh/1402
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-0-fetch/2612
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=vivid+overlay/2492
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=xenial+overlay/2492
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=yakkety/2492
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/2486
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/2486/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/2486
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/2486/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=yakkety/2486
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=yakkety/2486/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/2486
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/2486/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/2486
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/2486/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=yakkety/2486
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=yakkety/2486/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/2486
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/2486/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/2486
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/2486/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=yakkety/2486
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=yakkety/2486/artifact/output/*zip*/output.zip

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

review: Approve (continuous-integration)
Revision history for this message
Gerry Boland (gerboland) wrote :

We should really add QmlTest.cmake to cmake-extras.

I'm not a package expert, but the changes look just fine.

I noticed that plugins/Ubuntu/Settings/Fingerprint/utils/segment.py is Python2. But I don't see it being referred to anywhere, so must be a dev-only tool.

=== modified file 'debian/control'
+ Ubuntu settings components for Unity
Unity8?

I can't really fault anything. Nice work

review: Approve
146. By Michał Sawicz

8

Revision history for this message
Michał Sawicz (saviq) wrote :

> We should really add QmlTest.cmake to cmake-extras.

Agreed, I think I was waiting for it to prove itself. There's a few bits I want in there before putting it up.

Yeah segment.py is a tool to generate the fingerprint image/things.

> Unity8?

Yeah.

Revision history for this message
Unity8 CI Bot (unity8-ci-bot) wrote :

PASSED: Continuous integration, rev:146
https://unity8-jenkins.ubuntu.com/job/lp-ubuntu-settings-components-ci/62/
Executed test runs:
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build/2588
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=vivid+overlay,testname=qmluitests.sh/1406
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=xenial+overlay,testname=qmluitests.sh/1406
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=yakkety,testname=qmluitests.sh/1406
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-0-fetch/2616
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=vivid+overlay/2496
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=xenial+overlay/2496
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=yakkety/2496
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/2490
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/2490/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/2490
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/2490/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=yakkety/2490
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=yakkety/2490/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/2490
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/2490/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/2490
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/2490/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=yakkety/2490
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=yakkety/2490/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/2490
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/2490/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/2490
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/2490/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=yakkety/2490
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=yakkety/2490/artifact/output/*zip*/output.zip

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

review: Approve (continuous-integration)
Revision history for this message
Unity8 CI Bot (unity8-ci-bot) wrote :

FAILED: Continuous integration, rev:146
https://unity8-jenkins.ubuntu.com/job/lp-ubuntu-settings-components-ci/63/
Executed test runs:
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build/2752
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=vivid+overlay,testname=qmluitests.sh/1503
    UNSTABLE: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=xenial+overlay,testname=qmluitests.sh/1503
    UNSTABLE: https://unity8-jenkins.ubuntu.com/job/test-0-autopkgtest/label=amd64,release=yakkety,testname=qmluitests.sh/1503
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-0-fetch/2780
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=vivid+overlay/2648
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=xenial+overlay/2648
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=yakkety/2648
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/2640
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/2640/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/2640
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/2640/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=yakkety/2640
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=yakkety/2640/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/2640
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/2640/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/2640
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/2640/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=yakkety/2640
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=yakkety/2640/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/2640
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/2640/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/2640
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/2640/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=yakkety/2640
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=yakkety/2640/artifact/output/*zip*/output.zip

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

review: Needs Fixing (continuous-integration)

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 2015-08-02 14:42:46 +0000
3+++ CMakeLists.txt 2016-08-17 18:09:13 +0000
4@@ -1,6 +1,4 @@
5-
6 project(settings-components)
7-
8 cmake_minimum_required(VERSION 2.8.9)
9
10 set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules)
11@@ -11,17 +9,13 @@
12 include(FindPkgConfig)
13
14 find_package(Qt5Quick REQUIRED)
15-set(OUR_QT_QUICK_LIB ${Qt5Quick_LIBRARIES})
16-
17-get_target_property(QMAKE_EXECUTABLE Qt5::qmake LOCATION)
18-exec_program(${QMAKE_EXECUTABLE} ARGS "-query QT_INSTALL_QML" OUTPUT_VARIABLE QT_IMPORTS_DIR OUTPUT_STRIP_TRAILING_WHITESPACE)
19-file(TO_CMAKE_PATH "${QT_IMPORTS_DIR}" QT_IMPORTS_DIR)
20-
21-set(OUR_QT_QUICK_INCLUDE ${Qt5Quick_INCLUDE_DIRS})
22-LIST(APPEND QT_PKGCONFIG_DEPENDENCIES "Qt5Quick")
23+
24+set(QT_IMPORTS_DIR ${CMAKE_INSTALL_LIBDIR}/qt5/qml)
25
26 find_package(Qt5Core REQUIRED)
27+find_package(Qt5Qml REQUIRED)
28 find_package(Qt5Quick REQUIRED)
29+find_package(Qt5Test REQUIRED)
30 find_package(Qt5Widgets REQUIRED)
31 add_definitions(-DQT_NO_KEYWORDS)
32
33@@ -34,39 +28,10 @@
34 add_definitions(-DQT_QML_DEBUG)
35 endif()
36
37-include(EnableCoverageReport)
38-#####################################################################
39-# Enable code coverage calculation with gcov/gcovr/lcov
40-# Usage:
41-# * Switch build type to coverage (use ccmake or cmake-gui)
42-# * Invoke make, make test, make coverage (or ninja if you use that backend)
43-# * Find html report in subdir coveragereport
44-# * Find xml report feasible for jenkins in coverage.xml
45-#####################################################################
46-if(cmake_build_type_lower MATCHES coverage)
47- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --coverage" )
48- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} --coverage" )
49- set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} --coverage" )
50- set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} --coverage" )
51- ENABLE_COVERAGE_REPORT(TARGETS ${SHELL_APP} FILTER /usr/include ${CMAKE_SOURCE_DIR}/tests/* ${CMAKE_BINARY_DIR}/*)
52-endif()
53-
54-configure_file("${CMAKE_CURRENT_SOURCE_DIR}/cmake_uninstall.cmake.in"
55- "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
56- IMMEDIATE @ONLY)
57-add_custom_target(uninstall "${CMAKE_COMMAND}"
58- -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake")
59-
60-# Doc
61-OPTION(GENERATE_DOC "Enable qdoc generation" OFF)
62-if(GENERATE_DOC)
63- message(STATUS "QDoc enabled.")
64- find_program(QDOC_BIN qdoc)
65- if(NOT QDOC_BIN)
66- message(FATAL_ERROR "qdoc command not found")
67- else()
68- add_subdirectory(doc)
69- endif()
70+# Quiet logger
71+set(QUIET_LOGGER OFF CACHE BOOL "Disable test output on stdout.")
72+if(NOT QUIET_LOGGER)
73+ set(STDOUT_LOGGER "-o" "-,txt")
74 endif()
75
76 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden")
77
78=== removed file 'SettingsComponents.qmlproject'
79--- SettingsComponents.qmlproject 2013-06-07 15:39:04 +0000
80+++ SettingsComponents.qmlproject 1970-01-01 00:00:00 +0000
81@@ -1,23 +0,0 @@
82-/* File generated by Qt Creator (with Ubuntu Plugin), version 2.7.0 */
83-
84-import QmlProject 1.1
85-
86-Project {
87- mainFile: "SettingsComponents.qml"
88-
89- /* Include .qml, .js, and image files from current directory and subdirectories */
90- QmlFiles {
91- directory: "."
92- }
93- JavaScriptFiles {
94- directory: "."
95- }
96- ImageFiles {
97- directory: "."
98- }
99- Files {
100- filter: "*.desktop"
101- }
102- /* List of plugin directories passed to QML runtime */
103- importPaths: [ "." ,"/usr/bin","/usr/lib/x86_64-linux-gnu/qt5/qml" ]
104-}
105
106=== removed file 'cmake/modules/EnableCoverageReport.cmake'
107--- cmake/modules/EnableCoverageReport.cmake 2013-10-04 10:52:27 +0000
108+++ cmake/modules/EnableCoverageReport.cmake 1970-01-01 00:00:00 +0000
109@@ -1,166 +0,0 @@
110-# - Creates a special coverage build type and target on GCC.
111-#
112-# Defines a function ENABLE_COVERAGE_REPORT which generates the coverage target
113-# for selected targets. Optional arguments to this function are used to filter
114-# unwanted results using globbing expressions. Moreover targets with tests for
115-# the source code can be specified to trigger regenerating the report if the
116-# test has changed
117-#
118-# ENABLE_COVERAGE_REPORT(TARGETS target... [FILTER filter...] [TESTS test targets...])
119-#
120-# To generate a coverage report first build the project with
121-# CMAKE_BUILD_TYPE=coverage, then call make test and afterwards make coverage.
122-#
123-# The coverage report is based on gcov. Depending on the availability of lcov
124-# a HTML report will be generated and/or an XML report of gcovr is found.
125-# The generated coverage target executes all found solutions. Special targets
126-# exist to create e.g. only the xml report: coverage-xml.
127-#
128-# Copyright (C) 2010 by Johannes Wienke <jwienke at techfak dot uni-bielefeld dot de>
129-#
130-# This program is free software; you can redistribute it
131-# and/or modify it under the terms of the GNU General
132-# Public License as published by the Free Software Foundation;
133-# either version 2, or (at your option)
134-# any later version.
135-#
136-# This program is distributed in the hope that it will be useful,
137-# but WITHOUT ANY WARRANTY; without even the implied warranty of
138-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
139-# GNU General Public License for more details.
140-#
141-
142-INCLUDE(ParseArguments)
143-
144-FIND_PACKAGE(Lcov)
145-FIND_PACKAGE(gcovr)
146-
147-FUNCTION(ENABLE_COVERAGE_REPORT)
148-
149- # argument parsing
150- PARSE_ARGUMENTS(ARG "FILTER;TARGETS;TESTS" "" ${ARGN})
151-
152- SET(COVERAGE_RAW_FILE "${CMAKE_BINARY_DIR}/coverage.raw.info")
153- SET(COVERAGE_FILTERED_FILE "${CMAKE_BINARY_DIR}/coverage.info")
154- SET(COVERAGE_REPORT_DIR "${CMAKE_BINARY_DIR}/coveragereport")
155- SET(COVERAGE_XML_FILE "${CMAKE_BINARY_DIR}/coverage.xml")
156- SET(COVERAGE_XML_COMMAND_FILE "${CMAKE_BINARY_DIR}/coverage-xml.cmake")
157-
158- # decide if there is any tool to create coverage data
159- SET(TOOL_FOUND FALSE)
160- IF(LCOV_FOUND OR GCOVR_FOUND)
161- SET(TOOL_FOUND TRUE)
162- ENDIF()
163- IF(NOT TOOL_FOUND)
164- MESSAGE(STATUS "Cannot enable coverage targets because neither lcov nor gcovr are found.")
165- ENDIF()
166-
167- STRING(TOLOWER "${CMAKE_BUILD_TYPE}" COVERAGE_BUILD_TYPE)
168- IF(CMAKE_COMPILER_IS_GNUCXX AND TOOL_FOUND AND "${COVERAGE_BUILD_TYPE}" MATCHES "coverage")
169-
170- MESSAGE(STATUS "Coverage support enabled for targets: ${ARG_TARGETS}")
171-
172- # create coverage build type
173- SET(CMAKE_CXX_FLAGS_COVERAGE ${CMAKE_CXX_FLAGS_DEBUG} PARENT_SCOPE)
174- SET(CMAKE_C_FLAGS_COVERAGE ${CMAKE_C_FLAGS_DEBUG} PARENT_SCOPE)
175- SET(CMAKE_CONFIGURATION_TYPES ${CMAKE_CONFIGURATION_TYPES} coverage PARENT_SCOPE)
176-
177- # instrument targets
178- SET_TARGET_PROPERTIES(${ARG_TARGETS} PROPERTIES COMPILE_FLAGS --coverage
179- LINK_FLAGS --coverage)
180-
181- # html report
182- IF (LCOV_FOUND)
183-
184- MESSAGE(STATUS "Enabling HTML coverage report")
185-
186- # set up coverage target
187-
188- ADD_CUSTOM_COMMAND(OUTPUT ${COVERAGE_RAW_FILE}
189- COMMAND ${LCOV_EXECUTABLE} -c -d ${CMAKE_BINARY_DIR} -o ${COVERAGE_RAW_FILE}
190- WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
191- COMMENT "Collecting coverage data"
192- DEPENDS ${ARG_TARGETS} ${ARG_TESTS}
193- VERBATIM)
194-
195- # filter unwanted stuff
196- LIST(LENGTH ARG_FILTER FILTER_LENGTH)
197- IF(${FILTER_LENGTH} GREATER 0)
198- SET(FILTER COMMAND ${LCOV_EXECUTABLE})
199- FOREACH(F ${ARG_FILTER})
200- SET(FILTER ${FILTER} -r ${COVERAGE_FILTERED_FILE} ${F})
201- ENDFOREACH()
202- SET(FILTER ${FILTER} -o ${COVERAGE_FILTERED_FILE})
203- ELSE()
204- SET(FILTER "")
205- ENDIF()
206-
207- ADD_CUSTOM_COMMAND(OUTPUT ${COVERAGE_FILTERED_FILE}
208- COMMAND ${LCOV_EXECUTABLE} -e ${COVERAGE_RAW_FILE} "${CMAKE_SOURCE_DIR}*" -o ${COVERAGE_FILTERED_FILE}
209- ${FILTER}
210- DEPENDS ${COVERAGE_RAW_FILE}
211- COMMENT "Filtering recorded coverage data for project-relevant entries"
212- VERBATIM)
213- ADD_CUSTOM_COMMAND(OUTPUT ${COVERAGE_REPORT_DIR}
214- COMMAND ${CMAKE_COMMAND} -E make_directory ${COVERAGE_REPORT_DIR}
215- COMMAND ${GENHTML_EXECUTABLE} --legend --show-details -t "${PROJECT_NAME} test coverage" -o ${COVERAGE_REPORT_DIR} ${COVERAGE_FILTERED_FILE}
216- DEPENDS ${COVERAGE_FILTERED_FILE}
217- COMMENT "Generating HTML coverage report in ${COVERAGE_REPORT_DIR}"
218- VERBATIM)
219-
220- ADD_CUSTOM_TARGET(coverage-html
221- DEPENDS ${COVERAGE_REPORT_DIR})
222-
223- ENDIF()
224-
225- # xml coverage report
226- IF(GCOVR_FOUND)
227-
228- MESSAGE(STATUS "Enabling XML coverage report")
229-
230- # filter unwanted stuff
231- SET(GCOV_FILTER "")
232- LIST(LENGTH ARG_FILTER FILTER_LENGTH)
233- IF(${FILTER_LENGTH} GREATER 0)
234- FOREACH(F ${ARG_FILTER})
235- SET(GCOV_FILTER "${GCOV_FILTER} -e \"${F}\"")
236- ENDFOREACH()
237- ENDIF()
238-
239- # gcovr cannot write directly to a file so the execution needs to
240- # be wrapped in a cmake file that generates the file output
241- FILE(WRITE ${COVERAGE_XML_COMMAND_FILE}
242- "SET(ENV{LANG} en)\n")
243- FILE(APPEND ${COVERAGE_XML_COMMAND_FILE}
244- "EXECUTE_PROCESS(COMMAND \"${GCOVR_EXECUTABLE}\" -x -r \"${CMAKE_SOURCE_DIR}\" ${GCOV_FILTER} OUTPUT_FILE \"${COVERAGE_XML_FILE}\" WORKING_DIRECTORY \"${CMAKE_BINARY_DIR}\")\n")
245-
246- ADD_CUSTOM_COMMAND(OUTPUT ${COVERAGE_XML_FILE}
247- COMMAND ${CMAKE_COMMAND} ARGS -P ${COVERAGE_XML_COMMAND_FILE}
248- COMMENT "Generating coverage XML report"
249- VERBATIM)
250-
251- ADD_CUSTOM_TARGET(coverage-xml
252- DEPENDS ${COVERAGE_XML_FILE})
253-
254- ENDIF()
255-
256- # provide a global coverage target executing both steps if available
257- SET(GLOBAL_DEPENDS "")
258- IF(LCOV_FOUND)
259- LIST(APPEND GLOBAL_DEPENDS ${COVERAGE_REPORT_DIR})
260- ENDIF()
261- IF(GCOVR_FOUND)
262- LIST(APPEND GLOBAL_DEPENDS ${COVERAGE_XML_FILE})
263- ENDIF()
264- IF(LCOV_FOUND OR GCOVR_FOUND)
265- ADD_CUSTOM_TARGET(coverage
266- DEPENDS ${GLOBAL_DEPENDS})
267- ENDIF()
268-
269- ENDIF()
270-
271- # This gets rid of any stale .gcda files. Run this if a running a binary causes lots of messages about
272- # about a "merge mismatch for summaries".
273- ADD_CUSTOM_TARGET(clean-coverage COMMAND find ${CMAKE_BINARY_DIR} -name '*.gcda' | xargs rm -f)
274-
275-ENDFUNCTION()
276
277=== removed file 'cmake/modules/FindLcov.cmake'
278--- cmake/modules/FindLcov.cmake 2013-10-04 10:52:27 +0000
279+++ cmake/modules/FindLcov.cmake 1970-01-01 00:00:00 +0000
280@@ -1,29 +0,0 @@
281-# - Find lcov
282-# Will define:
283-#
284-# LCOV_EXECUTABLE - the lcov binary
285-# GENHTML_EXECUTABLE - the genhtml executable
286-#
287-# Copyright (C) 2010 by Johannes Wienke <jwienke at techfak dot uni-bielefeld dot de>
288-#
289-# This program is free software; you can redistribute it
290-# and/or modify it under the terms of the GNU General
291-# Public License as published by the Free Software Foundation;
292-# either version 2, or (at your option)
293-# any later version.
294-#
295-# This program is distributed in the hope that it will be useful,
296-# but WITHOUT ANY WARRANTY; without even the implied warranty of
297-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
298-# GNU General Public License for more details.
299-#
300-
301-INCLUDE(FindPackageHandleStandardArgs)
302-
303-FIND_PROGRAM(LCOV_EXECUTABLE lcov)
304-FIND_PROGRAM(GENHTML_EXECUTABLE genhtml)
305-
306-FIND_PACKAGE_HANDLE_STANDARD_ARGS(Lcov DEFAULT_MSG LCOV_EXECUTABLE GENHTML_EXECUTABLE)
307-
308-# only visible in advanced view
309-MARK_AS_ADVANCED(LCOV_EXECUTABLE GENHTML_EXECUTABLE)
310
311=== removed file 'cmake/modules/Findgcovr.cmake'
312--- cmake/modules/Findgcovr.cmake 2013-10-04 10:52:27 +0000
313+++ cmake/modules/Findgcovr.cmake 1970-01-01 00:00:00 +0000
314@@ -1,31 +0,0 @@
315-# - Find gcovr scrip
316-# Will define:
317-#
318-# GCOVR_EXECUTABLE - the gcovr script
319-#
320-# Uses:
321-#
322-# GCOVR_ROOT - root to search for the script
323-#
324-# Copyright (C) 2011 by Johannes Wienke <jwienke at techfak dot uni-bielefeld dot de>
325-#
326-# This program is free software; you can redistribute it
327-# and/or modify it under the terms of the GNU General
328-# Public License as published by the Free Software Foundation;
329-# either version 2, or (at your option)
330-# any later version.
331-#
332-# This program is distributed in the hope that it will be useful,
333-# but WITHOUT ANY WARRANTY; without even the implied warranty of
334-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
335-# GNU General Public License for more details.
336-#
337-
338-INCLUDE(FindPackageHandleStandardArgs)
339-
340-FIND_PROGRAM(GCOVR_EXECUTABLE gcovr HINTS ${GCOVR_ROOT} "${GCOVR_ROOT}/bin")
341-
342-FIND_PACKAGE_HANDLE_STANDARD_ARGS(gcovr DEFAULT_MSG GCOVR_EXECUTABLE)
343-
344-# only visible in advanced view
345-MARK_AS_ADVANCED(GCOVR_EXECUTABLE)
346
347=== removed file 'cmake/modules/ParseArguments.cmake'
348--- cmake/modules/ParseArguments.cmake 2013-10-04 10:52:27 +0000
349+++ cmake/modules/ParseArguments.cmake 1970-01-01 00:00:00 +0000
350@@ -1,52 +0,0 @@
351-# Parse arguments passed to a function into several lists separated by
352-# upper-case identifiers and options that do not have an associated list e.g.:
353-#
354-# SET(arguments
355-# hello OPTION3 world
356-# LIST3 foo bar
357-# OPTION2
358-# LIST1 fuz baz
359-# )
360-# PARSE_ARGUMENTS(ARG "LIST1;LIST2;LIST3" "OPTION1;OPTION2;OPTION3" ${arguments})
361-#
362-# results in 7 distinct variables:
363-# * ARG_DEFAULT_ARGS: hello;world
364-# * ARG_LIST1: fuz;baz
365-# * ARG_LIST2:
366-# * ARG_LIST3: foo;bar
367-# * ARG_OPTION1: FALSE
368-# * ARG_OPTION2: TRUE
369-# * ARG_OPTION3: TRUE
370-#
371-# taken from http://www.cmake.org/Wiki/CMakeMacroParseArguments
372-
373-MACRO(PARSE_ARGUMENTS prefix arg_names option_names)
374- SET(DEFAULT_ARGS)
375- FOREACH(arg_name ${arg_names})
376- SET(${prefix}_${arg_name})
377- ENDFOREACH(arg_name)
378- FOREACH(option ${option_names})
379- SET(${prefix}_${option} FALSE)
380- ENDFOREACH(option)
381-
382- SET(current_arg_name DEFAULT_ARGS)
383- SET(current_arg_list)
384- FOREACH(arg ${ARGN})
385- SET(larg_names ${arg_names})
386- LIST(FIND larg_names "${arg}" is_arg_name)
387- IF (is_arg_name GREATER -1)
388- SET(${prefix}_${current_arg_name} ${current_arg_list})
389- SET(current_arg_name ${arg})
390- SET(current_arg_list)
391- ELSE (is_arg_name GREATER -1)
392- SET(loption_names ${option_names})
393- LIST(FIND loption_names "${arg}" is_option)
394- IF (is_option GREATER -1)
395- SET(${prefix}_${arg} TRUE)
396- ELSE (is_option GREATER -1)
397- SET(current_arg_list ${current_arg_list} ${arg})
398- ENDIF (is_option GREATER -1)
399- ENDIF (is_arg_name GREATER -1)
400- ENDFOREACH(arg)
401- SET(${prefix}_${current_arg_name} ${current_arg_list})
402-ENDMACRO(PARSE_ARGUMENTS)
403
404=== removed file 'cmake/modules/QmlPlugins.cmake'
405--- cmake/modules/QmlPlugins.cmake 2015-04-07 09:44:47 +0000
406+++ cmake/modules/QmlPlugins.cmake 1970-01-01 00:00:00 +0000
407@@ -1,150 +0,0 @@
408-# If you need to override the qmlplugindump binary, create the qmlplugin executable
409-# target before loading this plugin.
410-
411-if(NOT TARGET qmlplugindump)
412- find_program(qmlplugindump_exe qmlplugindump)
413-
414- if(NOT qmlplugindump_exe)
415- msg(FATAL_ERROR "Could not locate qmlplugindump.")
416- endif()
417-
418- add_executable(qmlplugindump IMPORTED)
419- set_target_properties(qmlplugindump PROPERTIES IMPORTED_LOCATION ${qmlplugindump_exe})
420-endif()
421-
422-#
423-# A custom target for building the qmltypes files manually.
424-#
425-if (NOT TARGET qmltypes)
426- add_custom_target(qmltypes)
427-endif()
428-
429-# Creates a target for copying resource files into build dir and optionally installing them.
430-#
431-# Files will be copied into ${BINARY_DIR}/${path} or ${CMAKE_CURRENT_BINARY_DIR} and installed
432-# into ${DESTINATION}/${path}.
433-#
434-# Resource file names are matched against {*.{qml,js,jpg,png,sci,svg},qmldir}.
435-#
436-# export_qmlfiles(plugin path
437-# [SEARCH_PATH path] # Path to search for resources in (defaults to ${CMAKE_CURRENT_SOURCE_DIR})
438-# [BINARY_DIR path]
439-# [DESTINATION path]
440-# [TARGET_PREFIX string] # Will be prefixed to the target name
441-# )
442-#
443-# Created target:
444-# - ${TARGET_PREFIX}${plugin}-qmlfiles - Copies resources into the binary dir.
445-
446-macro(export_qmlfiles PLUGIN PATH)
447- set(single SEARCH_PATH BINARY_DIR DESTINATION TARGET_PREFIX)
448- cmake_parse_arguments(QMLFILES "" "${single}" "" ${ARGN})
449-
450- if(NOT QMLFILES_SEARCH_PATH)
451- set(QMLFILES_SEARCH_PATH ${CMAKE_CURRENT_SOURCE_DIR})
452- endif()
453-
454- if(QMLFILES_BINARY_DIR)
455- set(qmlfiles_dir ${QMLFILES_BINARY_DIR}/${PATH})
456- else()
457- set(qmlfiles_dir ${CMAKE_CURRENT_BINARY_DIR})
458- endif()
459-
460- file(GLOB QMLFILES
461- ${QMLFILES_SEARCH_PATH}/*.qml
462- ${QMLFILES_SEARCH_PATH}/*.js
463- ${QMLFILES_SEARCH_PATH}/*.jpg
464- ${QMLFILES_SEARCH_PATH}/*.png
465- ${QMLFILES_SEARCH_PATH}/*.sci
466- ${QMLFILES_SEARCH_PATH}/*.svg
467- ${QMLFILES_SEARCH_PATH}/*.qmltypes
468- ${QMLFILES_SEARCH_PATH}/qmldir
469- )
470-
471- execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory ${qmlfiles_dir})
472-
473- # copy the files
474- add_custom_target(${QMLFILES_TARGET_PREFIX}${PLUGIN}-qmlfiles ALL
475- COMMAND cp ${QMLFILES} ${qmlfiles_dir}
476- DEPENDS ${QMLFILES}
477- SOURCES ${QMLFILES}
478- )
479-
480- if(QMLFILES_DESTINATION)
481- # install the qmlfiles file.
482- install(FILES ${QMLFILES}
483- DESTINATION ${QMLFILES_DESTINATION}/${PATH}
484- )
485- endif()
486-endmacro()
487-
488-
489-# Creates a target for generating the typeinfo file for a QML plugin and/or installs the plugin
490-# targets.
491-#
492-# Files will be copied into ${BINARY_DIR}/${path} or ${CMAKE_CURRENT_BINARY_DIR} and installed
493-# into ${DESTINATION}/${path}. If you don't pass BINARY_DIR, it's assumed that current source
494-# path ends with ${path}.
495-#
496-# The generated file will be named after the last segment of the plugin name, e.g. Foo.qmltypes.
497-#
498-# export_qmlplugin(plugin version path
499-# [BINARY_DIR path]
500-# [DESTINATION path]
501-# [TARGET_PREFIX string] # Will be prefixed to the target name
502-# [ENVIRONMENT string] # Will be added to qmlplugindump's env
503-# [TARGETS target1 [target2 ...]] # Targets to depend on and install (e.g. the plugin shared object)
504-# [NO_TYPES] # Do not create the qmltypes target
505-# )
506-#
507-# Created target:
508-# - ${TARGET_PREFIX}${plugin}-qmltypes - Generates the qmltypes file in the source dir.
509-# It will be made a dependency of the "qmltypes" target.
510-
511-macro(export_qmlplugin PLUGIN VERSION PATH)
512- set(options NO_TYPES)
513- set(single BINARY_DIR DESTINATION TARGET_PREFIX ENVIRONMENT)
514- set(multi TARGETS)
515- cmake_parse_arguments(QMLPLUGIN "${options}" "${single}" "${multi}" ${ARGN})
516-
517- get_target_property(qmlplugindump_executable qmlplugindump LOCATION)
518-
519- if(QMLPLUGIN_BINARY_DIR)
520- set(qmlplugin_dir ${QMLPLUGIN_BINARY_DIR}/${PATH})
521- else()
522- # Find import path to point qmlplugindump at
523- string(REGEX REPLACE "/${PATH}$" "" QMLPLUGIN_BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}")
524- set(qmlplugin_dir ${CMAKE_CURRENT_BINARY_DIR})
525- endif()
526-
527- if(NOT QMLPLUGIN_NO_TYPES)
528- # Relative path for the module
529- string(REPLACE "${CMAKE_BINARY_DIR}/" "" QMLPLUGIN_MODULE_DIR "${QMLPLUGIN_BINARY_DIR}")
530-
531- # Find the last segment of the plugin name to use as qmltypes basename
532- string(REGEX MATCH "[^.]+$" plugin_suffix ${PLUGIN})
533- set(target_prefix ${QMLPLUGIN_TARGET_PREFIX}${PLUGIN})
534- set(qmltypes_path ${CMAKE_CURRENT_SOURCE_DIR}/${plugin_suffix}.qmltypes)
535-
536- add_custom_target(${target_prefix}-qmltypes
537- COMMAND env ${QMLPLUGIN_ENVIRONMENT} ${qmlplugindump_executable} -notrelocatable
538- ${PLUGIN} ${VERSION} ${QMLPLUGIN_MODULE_DIR} > ${qmltypes_path}
539- WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
540- )
541- add_dependencies(${target_prefix}-qmltypes ${target_prefix}-qmlfiles ${QMLPLUGIN_TARGETS})
542- add_dependencies(qmltypes ${target_prefix}-qmltypes)
543- endif()
544-
545- set_target_properties(${QMLPLUGIN_TARGETS} PROPERTIES
546- ARCHIVE_OUTPUT_DIRECTORY ${qmlplugin_dir}
547- LIBRARY_OUTPUT_DIRECTORY ${qmlplugin_dir}
548- RUNTIME_OUTPUT_DIRECTORY ${qmlplugin_dir}
549- )
550-
551- if (QMLPLUGIN_DESTINATION)
552- # Install additional targets
553- install(TARGETS ${QMLPLUGIN_TARGETS}
554- DESTINATION ${QMLPLUGIN_DESTINATION}/${PATH}
555- )
556- endif()
557-endmacro()
558
559=== modified file 'cmake/modules/QmlTest.cmake'
560--- cmake/modules/QmlTest.cmake 2015-03-20 15:49:18 +0000
561+++ cmake/modules/QmlTest.cmake 2016-08-17 18:09:13 +0000
562@@ -1,120 +1,313 @@
563-# add_qml_test(path component_name [NO_ADD_TEST] [NO_TARGETS]
564-# [TARGETS target1 [target2 [...]]]
565-# [IMPORT_PATHS import_path1 [import_path2 [...]]
566-# [PROPERTIES prop1 value1 [prop2 value2 [...]]])
567-#
568-# NO_ADD_TEST will prevent adding the test to the "test" target
569-# NO_TARGETS will prevent adding the test to any targets
570-# TARGETS lists the targets the test should be added to
571-# IMPORT_PATHS will pass those paths to qmltestrunner as "-import" arguments
572-# PROPERTIES will be set on the target and test target. See CMake's set_target_properties()
573+# If you need to override the qmlscene or qmltestrunner executables,
574+# create the corresponding executable target.
575+
576+# These functions respect the global STDOUT_LOGGER and ARTIFACTS_DIR variables.
577+
578+# You can use those with cmake_parse_arguments
579+# if you need to wrap and mangle arguments.
580+set(QMLTEST_OPTIONS ADD_TEST CACHE INTERNAL "")
581+set(QMLTEST_SINGLE ITERATIONS ARG_PREFIX CACHE INTERNAL "")
582+set(QMLTEST_MULTI ARGS ENVIRONMENT DEPENDS IMPORT_PATHS TARGETS CACHE INTERNAL "")
583+
584+# import_executables(name1 [name2 [...]]
585+# [OPTIONAL] # continue when not found
586+# )
587+#
588+# This will find the named executables and import them
589+# to an imported target of the same name.
590+
591+function(import_executables)
592+ cmake_parse_arguments(QMLTEST "OPTIONAL" "" "" ${ARGN})
593+
594+ foreach(NAME ${QMLTEST_UNPARSED_ARGUMENTS})
595+ if(NOT TARGET ${NAME})
596+ add_executable(${NAME} IMPORTED GLOBAL)
597+ find_program(${NAME}_exe ${NAME})
598+
599+ if(NOT QMLTEST_OPTIONAL AND NOT ${NAME}_exe)
600+ message(FATAL_ERROR "Could not locate ${NAME}.")
601+ elseif(NOT ${NAME}_exe)
602+ message(STATUS "Could not locate ${NAME}, skipping.")
603+ else()
604+ set_target_properties(${NAME} PROPERTIES IMPORTED_LOCATION ${${NAME}_exe})
605+ endif()
606+ endif()
607+ endforeach()
608+endfunction()
609+
610+
611+# add_qml_test(path component_name
612+# [...]
613+# )
614+#
615+# Add test targets for ${component_name} under ${path}. It's assumed
616+# that the test file is named ${path}/tst_${component_name}.qml.
617+#
618+# This function wraps add_manual_qml_test and add_qml_unittest,
619+# see below for available arguments.
620+
621+function(add_qml_test PATH COMPONENT_NAME)
622+ cmake_parse_arguments(QMLTEST "${QMLTEST_OPTIONS}" "${QMLTEST_SINGLE}" "${QMLTEST_MULTI}" ${ARGN})
623+ mangle_arguments()
624+
625+ add_qml_unittest(${ARGV})
626+ add_manual_qml_test(${ARGV})
627+endfunction()
628+
629+
630+# add_qml_unittest(path component_name
631+# [...]
632+# )
633+#
634+# Add test targets for ${component_name} under ${path}. It's assumed
635+# that the test file is named ${path}/tst_${component_name}.qml.
636+#
637+# This function wraps add_executable_test, see below for available arguments.
638+
639+function(add_qml_unittest PATH COMPONENT_NAME)
640+ import_executables(qmltestrunner)
641+
642+ add_executable_test(${COMPONENT_NAME} qmltestrunner
643+ ${ARGN}
644+ ARGS -input ${CMAKE_CURRENT_SOURCE_DIR}/${PATH}/tst_${COMPONENT_NAME}.qml ${QMLTEST_ARGS}
645+ )
646+endfunction()
647+
648+
649+# add_manual_qml_test(path component_name
650+# [...]
651+# )
652+#
653+# Add manual test targets for ${component_name} under ${path}. It's assumed
654+# that the test file is named ${path}/tst_${component_name}.qml.
655+#
656+# This function wraps add_manual_test, see below for available arguments.
657+
658+function(add_manual_qml_test PATH COMPONENT_NAME)
659+ import_executables(qmlscene)
660+ cmake_parse_arguments(QMLTEST "${QMLTEST_OPTIONS}" "${QMLTEST_SINGLE}" "${QMLTEST_MULTI}" ${ARGN})
661+
662+ add_manual_test(${COMPONENT_NAME} qmlscene
663+ ${ARGN}
664+ ARGS ${CMAKE_CURRENT_SOURCE_DIR}/${PATH}/tst_${COMPONENT_NAME}.qml ${QMLTEST_ARGS}
665+ )
666+endfunction()
667+
668+
669+# add_executable_test(target component_name
670+# [...] # see doc for add_manual_qml_test for common arguments
671+# [ADD_TEST] # whether to add to the "test" target
672+# [ARG_PREFIX arg_prefix] # prefix logging arguments with this string
673+# [ARGS] arg1 [arg2 [...]] # pass these arguments to the test executable
674+# [TARGETS target1 [target2 [...]]] # make the listed targets depend on this test
675+# # if a corresponding xvfbtarget1, xvfbtarget2 etc. exists,
676+# # this test running under xvfb will be added as a dependency
677+# # of those targets
678+# [ITERATIONS count] # run this test as a benchmark for ${count} iterations
679+# )
680+#
681+# Logging options in the standard form of "-o filename,format"
682+# will be appended to the arguments list, prefixed with ARG_PREFIX.
683+# XUnitXML files will be stored in current binary dir or under
684+# ARTIFACTS_DIR, if set.
685+#
686+# Three targets will be created:
687+# - test${component_name} - Runs the test
688+# - xvfbtest${component_name} - Runs the test under xvfb
689+# - gdbtest${component_name} - Runs the test under gdb
690+
691+function(add_executable_test COMPONENT_NAME TARGET)
692+ import_executables(gdb xvfb-run OPTIONAL)
693+
694+ cmake_parse_arguments(QMLTEST "${QMLTEST_OPTIONS}" "${QMLTEST_SINGLE}" "${QMLTEST_MULTI}" ${ARGN})
695+ mangle_arguments()
696+
697+ if(ARTIFACTS_DIR)
698+ file(RELATIVE_PATH path ${CMAKE_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR})
699+ file(MAKE_DIRECTORY ${ARTIFACTS_DIR}/${path})
700+ set(file_logger -o ${ARTIFACTS_DIR}/${path}/test${COMPONENT_NAME}.xml,xunitxml)
701+ else()
702+ file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
703+ set(file_logger -o ${CMAKE_CURRENT_BINARY_DIR}/test${COMPONENT_NAME}.xml,xunitxml)
704+ endif()
705+
706+ bake_arguments("${QMLTEST_ARG_PREFIX}" args ${iterations} ${file_logger} ${STDOUT_LOGGER})
707+
708+ set(qmltest_command
709+ $<TARGET_FILE:${TARGET}>
710+ ${QMLTEST_ARGS}
711+ ${args}
712+ )
713+
714+ add_qmltest_target(test${COMPONENT_NAME} ${TARGET}
715+ COMMAND ${qmltest_command}
716+ ${depends}
717+ ENVIRONMENT QML2_IMPORT_PATH=${imports} ${QMLTEST_ENVIRONMENT}
718+ ${add_test}
719+ ${targets}
720+ )
721+
722+ if(TARGET xvfb-run)
723+ add_qmltest_target(xvfbtest${COMPONENT_NAME} ${TARGET}
724+ COMMAND $<TARGET_FILE:xvfb-run> --server-args "-screen 0 1024x768x24" --auto-servernum ${qmltest_command}
725+ ${depends}
726+ ENVIRONMENT QML2_IMPORT_PATH=${imports} ${QMLTEST_ENVIRONMENT} LD_PRELOAD=/usr/lib/${CMAKE_LIBRARY_ARCHITECTURE}/mesa/libGL.so.1
727+ TARGETS ${xvfb_targets}
728+ )
729+ endif()
730+
731+ if(TARGET gdb)
732+ add_qmltest_target(gdbtest${COMPONENT_NAME} ${TARGET}
733+ COMMAND $<TARGET_FILE:gdb> -ex run -args ${qmltest_command}
734+ ${depends}
735+ ENVIRONMENT QML2_IMPORT_PATH=${imports} ${QMLTEST_ENVIRONMENT}
736+ )
737+ endif()
738+endfunction()
739+
740+
741+# add_manual_test(target component_name
742+# [DEPENDS target1 [target2 [...]]] # make this test depend on the specified targets
743+# [IMPORT_PATHS import_path1 [import_path2 [...]] # use these QML import paths
744+# # (they're searched first to last)
745+# [ENVIRONMENT var1=value1 [var2=value2 [...]]] # set these environment variables
746+# )
747 #
748 # Two targets will be created:
749-# - testComponentName - Runs the test with qmltestrunner
750-# - tryComponentName - Runs the test with uqmlscene, for manual interaction
751-#
752-# To change/set a default value for the whole test suite, prior to calling add_qml_test, set:
753-# qmltest_DEFAULT_NO_ADD_TEST (default: FALSE)
754-# qmltest_DEFAULT_TARGETS
755-# qmltest_DEFAULT_IMPORT_PATHS
756-# qmltest_DEFAULT_PROPERTIES
757-
758-find_program(qmltestrunner_exe qmltestrunner)
759-find_program(qmlscene_exe qmlscene)
760-
761-if(NOT qmltestrunner_exe)
762- msg(FATAL_ERROR "Could not locate qmltestrunner.")
763-endif()
764-
765-macro(add_manual_qml_test SUBPATH COMPONENT_NAME)
766- set(options NO_ADD_TEST NO_TARGETS)
767- set(multi_value_keywords IMPORT_PATHS TARGETS PROPERTIES ENVIRONMENT)
768-
769- cmake_parse_arguments(qmltest "${options}" "" "${multi_value_keywords}" ${ARGN})
770-
771- set(qmlscene_TARGET try${COMPONENT_NAME})
772- set(qmltest_FILE ${SUBPATH}/tst_${COMPONENT_NAME})
773-
774- set(qmlscene_imports "")
775- if(NOT "${qmltest_IMPORT_PATHS}" STREQUAL "")
776- foreach(IMPORT_PATH ${qmltest_IMPORT_PATHS})
777- list(APPEND qmlscene_imports "-I")
778- list(APPEND qmlscene_imports ${IMPORT_PATH})
779- endforeach(IMPORT_PATH)
780- elseif(NOT "${qmltest_DEFAULT_IMPORT_PATHS}" STREQUAL "")
781- foreach(IMPORT_PATH ${qmltest_DEFAULT_IMPORT_PATHS})
782- list(APPEND qmlscene_imports "-I")
783- list(APPEND qmlscene_imports ${IMPORT_PATH})
784- endforeach(IMPORT_PATH)
785- endif()
786-
787- set(qmlscene_command
788- env ${qmltest_ENVIRONMENT}
789- ${qmlscene_exe} ${CMAKE_CURRENT_SOURCE_DIR}/${qmltest_FILE}.qml
790- ${qmlscene_imports}
791- )
792- add_custom_target(${qmlscene_TARGET} ${qmlscene_command})
793-
794-endmacro(add_manual_qml_test)
795-
796-macro(add_qml_test SUBPATH COMPONENT_NAME)
797- set(options NO_ADD_TEST NO_TARGETS)
798- set(multi_value_keywords IMPORT_PATHS TARGETS PROPERTIES ENVIRONMENT)
799-
800- cmake_parse_arguments(qmltest "${options}" "" "${multi_value_keywords}" ${ARGN})
801-
802- set(qmltest_TARGET test${COMPONENT_NAME})
803- set(qmltest_FILE ${SUBPATH}/tst_${COMPONENT_NAME})
804-
805- set(qmltestrunner_imports "")
806- if(NOT "${qmltest_IMPORT_PATHS}" STREQUAL "")
807- foreach(IMPORT_PATH ${qmltest_IMPORT_PATHS})
808- list(APPEND qmltestrunner_imports "-import")
809- list(APPEND qmltestrunner_imports ${IMPORT_PATH})
810- endforeach(IMPORT_PATH)
811- elseif(NOT "${qmltest_DEFAULT_IMPORT_PATHS}" STREQUAL "")
812- foreach(IMPORT_PATH ${qmltest_DEFAULT_IMPORT_PATHS})
813- list(APPEND qmltestrunner_imports "-import")
814- list(APPEND qmltestrunner_imports ${IMPORT_PATH})
815- endforeach(IMPORT_PATH)
816- endif()
817-
818- set(qmltest_command
819- env ${qmltest_ENVIRONMENT}
820- ${qmltestrunner_exe} -input ${CMAKE_CURRENT_SOURCE_DIR}/${qmltest_FILE}.qml
821- ${qmltestrunner_imports}
822- -o ${CMAKE_BINARY_DIR}/${qmltest_TARGET}.xml,xunitxml
823- -o -,txt
824- )
825- add_custom_target(${qmltest_TARGET} ${qmltest_command})
826-
827- if(NOT "${qmltest_PROPERTIES}" STREQUAL "")
828- set_target_properties(${qmltest_TARGET} PROPERTIES ${qmltest_PROPERTIES})
829- elseif(NOT "${qmltest_DEFAULT_PROPERTIES}" STREQUAL "")
830- set_target_properties(${qmltest_TARGET} PROPERTIES ${qmltest_DEFAULT_PROPERTIES})
831- endif()
832-
833- if("${qmltest_NO_ADD_TEST}" STREQUAL FALSE AND NOT "${qmltest_DEFAULT_NO_ADD_TEST}" STREQUAL "TRUE")
834- add_test(${qmltest_TARGET} ${qmltest_command})
835-
836- if(NOT "${qmltest_UNPARSED_ARGUMENTS}" STREQUAL "")
837- set_tests_properties(${qmltest_TARGET} PROPERTIES ${qmltest_PROPERTIES})
838- elseif(NOT "${qmltest_DEFAULT_PROPERTIES}" STREQUAL "")
839- set_tests_properties(${qmltest_TARGET} PROPERTIES ${qmltest_DEFAULT_PROPERTIES})
840- endif()
841- endif("${qmltest_NO_ADD_TEST}" STREQUAL FALSE AND NOT "${qmltest_DEFAULT_NO_ADD_TEST}" STREQUAL "TRUE")
842-
843- if("${qmltest_NO_TARGETS}" STREQUAL "FALSE")
844- if(NOT "${qmltest_TARGETS}" STREQUAL "")
845- foreach(TARGET ${qmltest_TARGETS})
846- add_dependencies(${TARGET} ${qmltest_TARGET})
847- endforeach(TARGET)
848- elseif(NOT "${qmltest_DEFAULT_TARGETS}" STREQUAL "")
849- foreach(TARGET ${qmltest_DEFAULT_TARGETS})
850- add_dependencies(${TARGET} ${qmltest_TARGET})
851- endforeach(TARGET)
852- endif()
853- endif("${qmltest_NO_TARGETS}" STREQUAL "FALSE")
854-
855- add_manual_qml_test(${SUBPATH} ${COMPONENT_NAME} ${ARGN})
856-endmacro(add_qml_test)
857+# - try${component_name} - Runs the test for manual interaction
858+# - gdbtry${component_name} - Runs the test under gdb
859+
860+function(add_manual_test COMPONENT_NAME TARGET)
861+ import_executables(gdb OPTIONAL)
862+
863+ cmake_parse_arguments(QMLTEST "${QMLTEST_OPTIONS}" "${QMLTEST_SINGLE}" "${QMLTEST_MULTI}" ${ARGN})
864+ mangle_arguments()
865+
866+ bake_arguments("${QMLTEST_ARG_PREFIX}" args -qmljsdebugger=port:3768,3800)
867+
868+ set(qmltry_command
869+ $<TARGET_FILE:${TARGET}>
870+ ${QMLTEST_ARGS}
871+ ${args}
872+ )
873+
874+ add_qmltest_target(try${COMPONENT_NAME} ${TARGET}
875+ COMMAND ${qmltry_command}
876+ ${depends}
877+ ENVIRONMENT QML2_IMPORT_PATH=${imports} ${QMLTEST_ENVIRONMENT}
878+ )
879+
880+ if(TARGET gdb)
881+ add_qmltest_target(gdbtry${COMPONENT_NAME} ${TARGET}
882+ COMMAND $<TARGET_FILE:gdb> -ex run -args ${qmltry_command}
883+ ${depends}
884+ ENVIRONMENT QML2_IMPORT_PATH=${imports} ${QMLTEST_ENVIRONMENT}
885+ )
886+ endif()
887+endfunction()
888+
889+
890+################### INTERNAL ####################
891+
892+# add_qmltest_target(target_name target
893+# COMMAND test_exe [arg1 [...]] # execute this test with arguments
894+# [...] # see above for available arguments:
895+# # ADD_TEST, ENVIRONMENT, DEPENDS and TARGETS
896+# )
897+
898+function(add_qmltest_target TARGET_NAME TARGET)
899+ cmake_parse_arguments(QMLTEST "${QMLTEST_OPTIONS}" "${QMLTEST_SINGLE}" "COMMAND;${QMLTEST_MULTI}" ${ARGN})
900+ mangle_arguments()
901+
902+ # Additional arguments
903+ string(TOLOWER "${CMAKE_GENERATOR}" cmake_generator_lower)
904+ if(cmake_generator_lower STREQUAL "unix makefiles")
905+ set(function "$(FUNCTION)")
906+ endif()
907+
908+ add_custom_target(${TARGET_NAME}
909+ env ${QMLTEST_ENVIRONMENT}
910+ ${QMLTEST_COMMAND} ${function}
911+ DEPENDS ${TARGET} ${QMLTEST_DEPENDS}
912+ )
913+
914+ if(QMLTEST_ADD_TEST)
915+ add_test(
916+ NAME ${TARGET_NAME}
917+ COMMAND ${QMLTEST_COMMAND}
918+ )
919+
920+ foreach(ENV ${QMLTEST_ENVIRONMENT})
921+ set_property(TEST ${TARGET_NAME} APPEND PROPERTY ENVIRONMENT ${ENV})
922+ endforeach()
923+
924+ set_property(TEST ${TARGET_NAME} APPEND PROPERTY DEPENDS ${TARGET})
925+ foreach(DEPEND ${DEPENDS})
926+ set_property(TEST ${TARGET_NAME} APPEND PROPERTY DEPENDS ${DEPEND})
927+ endforeach()
928+ endif()
929+
930+ foreach(UPSTREAM_TARGET ${QMLTEST_TARGETS})
931+ add_dependencies(${UPSTREAM_TARGET} ${TARGET_NAME})
932+ endforeach()
933+endfunction()
934+
935+
936+# mangle_arguments(${ARGN})
937+#
938+# Verify there were no unparsed arguments and
939+# mangle the known ones for further processing.
940+
941+macro(mangle_arguments)
942+ if(QMLTEST_UNPARSED_ARGUMENTS)
943+ message(FATAL_ERROR "Unexpected arguments: ${QMLTEST_UNPARSED_ARGUMENTS}")
944+ endif()
945+
946+ if(QMLTEST_ADD_TEST)
947+ set(add_test ADD_TEST)
948+ endif()
949+
950+ if(QMLTEST_IMPORT_PATHS)
951+ string(REPLACE ";" ":" imports "${QMLTEST_IMPORT_PATHS}")
952+ endif()
953+
954+ if(QMLTEST_ITERATIONS)
955+ set(iterations -iterations ${QMLTEST_ITERATIONS})
956+ endif()
957+
958+ if(QMLTEST_DEPENDS)
959+ set(depends DEPENDS ${QMLTEST_DEPENDS})
960+ endif()
961+
962+ if(QMLTEST_TARGETS)
963+ set(targets TARGETS ${QMLTEST_TARGETS})
964+ endif()
965+
966+ set(xvfb_targets "")
967+ foreach(target ${QMLTEST_TARGETS})
968+ if(TARGET xvfb${target})
969+ list(APPEND xvfb_targets xvfb${target})
970+ endif()
971+ endforeach()
972+ set(xvfb_targets "${xvfb_targets}" PARENT_SCOPE)
973+endmacro()
974+
975+
976+# bake_arguments(prefix output
977+# arg1 [arg2 [...]]
978+# )
979+#
980+# If set, add the argument prefix before every passed
981+# argument and store the result in ${OUTPUT} variable.
982+
983+function(bake_arguments PREFIX OUTPUT)
984+ set(args "${ARGN}")
985+ if(PREFIX)
986+ set(args "")
987+ foreach(arg ${ARGN})
988+ list(APPEND args ${PREFIX})
989+ list(APPEND args ${arg})
990+ endforeach()
991+ endif()
992+ set(${OUTPUT} "${args}" PARENT_SCOPE)
993+endfunction()
994
995=== removed file 'cmake_uninstall.cmake.in'
996--- cmake_uninstall.cmake.in 2013-05-16 17:18:42 +0000
997+++ cmake_uninstall.cmake.in 1970-01-01 00:00:00 +0000
998@@ -1,21 +0,0 @@
999-IF(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
1000- MESSAGE(FATAL_ERROR "Cannot find install manifest: \"@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt\"")
1001-ENDIF(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
1002-
1003-FILE(READ "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt" files)
1004-STRING(REGEX REPLACE "\n" ";" files "${files}")
1005-FOREACH(file ${files})
1006- MESSAGE(STATUS "Uninstalling \"$ENV{DESTDIR}${file}\"")
1007- IF(EXISTS "$ENV{DESTDIR}${file}")
1008- EXEC_PROGRAM(
1009- "@CMAKE_COMMAND@" ARGS "-E remove \"$ENV{DESTDIR}${file}\""
1010- OUTPUT_VARIABLE rm_out
1011- RETURN_VALUE rm_retval
1012- )
1013- IF(NOT "${rm_retval}" STREQUAL 0)
1014- MESSAGE(FATAL_ERROR "Problem when removing \"$ENV{DESTDIR}${file}\"")
1015- ENDIF(NOT "${rm_retval}" STREQUAL 0)
1016- ELSE(EXISTS "$ENV{DESTDIR}${file}")
1017- MESSAGE(STATUS "File \"$ENV{DESTDIR}${file}\" does not exist.")
1018- ENDIF(EXISTS "$ENV{DESTDIR}${file}")
1019-ENDFOREACH(file)
1020
1021=== modified file 'debian/changelog'
1022--- debian/changelog 2016-08-09 23:00:43 +0000
1023+++ debian/changelog 2016-08-17 18:09:13 +0000
1024@@ -1,3 +1,10 @@
1025+ubuntu-settings-components (0.9-0ubuntu1) UNRELEASED; urgency=medium
1026+
1027+ * rename qtdeclarative5-ubuntu-settings-components to new naming scheme,
1028+ qml-module-ubuntu-settings-components
1029+
1030+ -- Michał Sawicz <michal.sawicz@canonical.com> Fri, 29 Jan 2016 00:10:05 +0100
1031+
1032 ubuntu-settings-components (0.8+16.10.20160809-0ubuntu1) yakkety; urgency=medium
1033
1034 [ Albert Astals Cid ]
1035
1036=== modified file 'debian/control'
1037--- debian/control 2016-06-14 12:01:31 +0000
1038+++ debian/control 2016-08-17 18:09:13 +0000
1039@@ -1,19 +1,21 @@
1040 Source: ubuntu-settings-components
1041 Section: misc
1042 Priority: optional
1043-Maintainer: Andrea Cimitan <andrea.cimitan@canonical.com>
1044+Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
1045 Build-Depends: cmake,
1046+ cmake-extras (>= 0.6),
1047 debhelper (>= 9),
1048 pkg-config,
1049+ python3:any,
1050+ qml-module-qt-labs-folderlistmodel,
1051 qml-module-qtquick-layouts,
1052- qt5-default,
1053+ qml-module-qtquick2,
1054+ qml-module-qttest,
1055+ qml-module-ubuntu-components | qml-module-ubuntu-components-gles,
1056+ qml-module-ubuntu-thumbnailer0.1,
1057 qtbase5-private-dev,
1058 qtdeclarative5-dev,
1059 qtdeclarative5-dev-tools,
1060- qtdeclarative5-qtquick2-plugin,
1061- qtdeclarative5-quicklayouts-plugin,
1062- qtdeclarative5-test-plugin,
1063- qtdeclarative5-ubuntu-ui-toolkit-plugin (>= 1.1) | qtdeclarative5-ubuntu-ui-toolkit-plugin-gles (>= 1.1),
1064 suru-icon-theme,
1065 Standards-Version: 3.9.4
1066 Homepage: https://launchpad.net/ubuntu-settings-components
1067@@ -26,7 +28,18 @@
1068 Package: qtdeclarative5-ubuntu-settings-components
1069 Architecture: any
1070 Multi-Arch: same
1071-Pre-Depends: dpkg (>= 1.15.6~)
1072+Section: oldlibs
1073+Depends: qml-module-ubuntu-settings-components,
1074+ ${misc:Depends},
1075+Description: transitional dummy package for Ubuntu settings components
1076+ Ubuntu settings components for Unity8
1077+ .
1078+ This is a transitional dummy package which can be safely removed.
1079+
1080+Package: qml-module-ubuntu-settings-components
1081+Architecture: any
1082+Multi-Arch: same
1083+Pre-Depends: dpkg (>= 1.15.6~),
1084 Depends: gsettings-ubuntu-schemas (>= 0.0.7),
1085 qml-module-biometryd,
1086 qml-module-qtquick-layouts,
1087@@ -35,7 +48,7 @@
1088 suru-icon-theme,
1089 ${misc:Depends},
1090 ${shlibs:Depends},
1091-Breaks: qtdeclarative5-ubuntu-settings-components-assets (<< 0.3),
1092-Replaces: qtdeclarative5-ubuntu-settings-components-assets (<< 0.3),
1093-Description: Ubuntu Settings Components
1094- Ubuntu settings components for Unity
1095+Breaks: qtdeclarative5-ubuntu-settings-components (<< 0.9),
1096+Replaces: qtdeclarative5-ubuntu-settings-components (<< 0.9),
1097+Description: Ubuntu settings Components
1098+ Ubuntu settings components for Unity8
1099
1100=== added file 'debian/qml-module-ubuntu-settings-components.install'
1101--- debian/qml-module-ubuntu-settings-components.install 1970-01-01 00:00:00 +0000
1102+++ debian/qml-module-ubuntu-settings-components.install 2016-08-17 18:09:13 +0000
1103@@ -0,0 +1,5 @@
1104+usr/lib/*/qt5/qml/Ubuntu/Settings/Components
1105+usr/lib/*/qt5/qml/Ubuntu/Settings/Fingerprint
1106+usr/lib/*/qt5/qml/Ubuntu/Settings/Menus
1107+usr/lib/*/qt5/qml/Ubuntu/Settings/Vpn
1108+usr/share/locale
1109
1110=== modified file 'debian/rules'
1111--- debian/rules 2014-06-26 15:04:45 +0000
1112+++ debian/rules 2016-08-17 18:09:13 +0000
1113@@ -5,5 +5,7 @@
1114 #export DH_VERBOSE=1
1115 export DPKG_GENSYMBOLS_CHECK_LEVEL=4
1116
1117+export QT_SELECT=5
1118+
1119 %:
1120 dh $@ --parallel --fail-missing
1121
1122=== added directory 'debian/tests'
1123=== added file 'debian/tests/control'
1124--- debian/tests/control 1970-01-01 00:00:00 +0000
1125+++ debian/tests/control 2016-08-17 18:09:13 +0000
1126@@ -0,0 +1,4 @@
1127+Tests: qmluitests.sh
1128+Depends: @,
1129+ @builddeps@,
1130+ xvfb,
1131
1132=== added file 'debian/tests/qmluitests.sh'
1133--- debian/tests/qmluitests.sh 1970-01-01 00:00:00 +0000
1134+++ debian/tests/qmluitests.sh 2016-08-17 18:09:13 +0000
1135@@ -0,0 +1,10 @@
1136+#!/bin/sh
1137+
1138+export QT_SELECT=5
1139+
1140+dh_auto_configure -- -DARTIFACTS_DIR=${ADT_ARTIFACTS} \
1141+ -DUSC_PLUGINPATH=
1142+
1143+dh_auto_build --parallel -- -C tests/qmltests/mocks
1144+
1145+dh_auto_build --parallel -- -k xvfballtests
1146
1147=== modified file 'examples/Fingerprint.qml'
1148--- examples/Fingerprint.qml 2016-06-15 10:45:27 +0000
1149+++ examples/Fingerprint.qml 2016-08-17 18:09:13 +0000
1150@@ -17,7 +17,7 @@
1151 */
1152
1153 import QtQuick 2.4
1154-import QtQuick.Layouts 1.2
1155+import QtQuick.Layouts 1.1
1156 import Ubuntu.Components 1.3
1157 import Ubuntu.Components.Popups 1.3
1158 import Ubuntu.Components.ListItems 1.3 as ListItems
1159
1160=== modified file 'plugins/Ubuntu/Settings/Components/CMakeLists.txt'
1161--- plugins/Ubuntu/Settings/Components/CMakeLists.txt 2015-04-07 09:42:19 +0000
1162+++ plugins/Ubuntu/Settings/Components/CMakeLists.txt 2016-08-17 18:09:13 +0000
1163@@ -1,12 +1,5 @@
1164 project(UbuntuSettingsComponentsQml)
1165
1166-find_package(Qt5Core REQUIRED)
1167-
1168-include_directories(
1169- ${CMAKE_CURRENT_SOURCE_DIR}
1170- ${CMAKE_CURRENT_BINARY_DIR}
1171-)
1172-
1173 add_definitions(-DUBUNTUSETTINGSCOMPONENTS_LIBRARY)
1174
1175 add_library(UbuntuSettingsComponentsQml MODULE
1176@@ -14,6 +7,10 @@
1177 serverpropertysynchroniser.cpp
1178 )
1179
1180-qt5_use_modules(UbuntuSettingsComponentsQml Core Qml Quick)
1181+target_link_libraries(UbuntuSettingsComponentsQml
1182+ Qt5::Core
1183+ Qt5::Qml
1184+ Qt5::Quick
1185+)
1186
1187 add_usc_plugin(Ubuntu.Settings.Components 0.1 Ubuntu/Settings/Components TARGETS UbuntuSettingsComponentsQml)
1188
1189=== removed file 'plugins/Ubuntu/Settings/Components/Components.qmltypes'
1190--- plugins/Ubuntu/Settings/Components/Components.qmltypes 2015-04-07 09:42:19 +0000
1191+++ plugins/Ubuntu/Settings/Components/Components.qmltypes 1970-01-01 00:00:00 +0000
1192@@ -1,73 +0,0 @@
1193-import QtQuick.tooling 1.1
1194-
1195-// This file describes the plugin-supplied types contained in the library.
1196-// It is used for QML tooling purposes only.
1197-//
1198-// This file was auto-generated by:
1199-// 'qmlplugindump -notrelocatable Ubuntu.Settings.Components 0.1 plugins'
1200-
1201-Module {
1202- Component {
1203- name: "ServerPropertySynchroniser"
1204- prototype: "QObject"
1205- exports: ["Ubuntu.Settings.Components/ServerPropertySynchroniser 0.1"]
1206- exportMetaObjectRevisions: [0]
1207- Property { name: "serverTarget"; type: "QObject"; isPointer: true }
1208- Property { name: "serverProperty"; type: "string" }
1209- Property { name: "userTarget"; type: "QObject"; isPointer: true }
1210- Property { name: "userProperty"; type: "string" }
1211- Property { name: "userTrigger"; type: "string" }
1212- Property { name: "syncTimeout"; type: "int" }
1213- Property { name: "useWaitBuffer"; type: "bool" }
1214- Property { name: "maximumWaitBufferInterval"; type: "int" }
1215- Property { name: "bufferedSyncTimeout"; type: "bool" }
1216- Property { name: "syncWaiting"; type: "bool"; isReadonly: true }
1217- Signal {
1218- name: "serverTargetChanged"
1219- Parameter { name: "serverTarget"; type: "QObject"; isPointer: true }
1220- }
1221- Signal {
1222- name: "serverPropertyChanged"
1223- Parameter { name: "serverProperty"; type: "string" }
1224- }
1225- Signal {
1226- name: "userTargetChanged"
1227- Parameter { name: "userTarget"; type: "QObject"; isPointer: true }
1228- }
1229- Signal {
1230- name: "userPropertyChanged"
1231- Parameter { name: "serverProperty"; type: "string" }
1232- }
1233- Signal {
1234- name: "userTriggerChanged"
1235- Parameter { name: "userTrigger"; type: "string" }
1236- }
1237- Signal {
1238- name: "syncTimeoutChanged"
1239- Parameter { name: "timeout"; type: "int" }
1240- }
1241- Signal {
1242- name: "syncWaitingChanged"
1243- Parameter { name: "waiting"; type: "bool" }
1244- }
1245- Signal {
1246- name: "bufferedSyncTimeoutChanged"
1247- Parameter { type: "bool" }
1248- }
1249- Signal {
1250- name: "useWaitBufferChanged"
1251- Parameter { name: "useWaitBuffer"; type: "bool" }
1252- }
1253- Signal {
1254- name: "maximumWaitBufferIntervalChanged"
1255- Parameter { name: "timeout"; type: "int" }
1256- }
1257- Signal {
1258- name: "syncTriggered"
1259- Parameter { name: "value"; type: "QVariant" }
1260- }
1261- Method { name: "updateUserValue" }
1262- Method { name: "activate" }
1263- Method { name: "reset" }
1264- }
1265-}
1266
1267=== modified file 'plugins/Ubuntu/Settings/Components/serverpropertysynchroniser.cpp'
1268--- plugins/Ubuntu/Settings/Components/serverpropertysynchroniser.cpp 2015-05-06 16:31:57 +0000
1269+++ plugins/Ubuntu/Settings/Components/serverpropertysynchroniser.cpp 2016-08-17 18:09:13 +0000
1270@@ -18,7 +18,6 @@
1271
1272 #include <QQmlProperty>
1273 #include <QTimer>
1274-#include <QDebug>
1275
1276 ServerPropertySynchroniser::ServerPropertySynchroniser(QObject* parent)
1277 : QObject(parent)
1278
1279=== modified file 'plugins/Ubuntu/Settings/Menus/CMakeLists.txt'
1280--- plugins/Ubuntu/Settings/Menus/CMakeLists.txt 2014-07-31 13:05:44 +0000
1281+++ plugins/Ubuntu/Settings/Menus/CMakeLists.txt 2016-08-17 18:09:13 +0000
1282@@ -1,29 +1,21 @@
1283 project(UbuntuSettingsMenusQml)
1284
1285-find_package(Qt5Core REQUIRED)
1286-
1287-include_directories(
1288- ${CMAKE_CURRENT_SOURCE_DIR}
1289- ${CMAKE_CURRENT_BINARY_DIR}
1290-)
1291-
1292-set(UbuntuSettingsMenusQml_SOURCES
1293+add_definitions(-DUBUNTUSETTINGSCOMPONENTS_LIBRARY)
1294+
1295+add_library(UbuntuSettingsMenusQml MODULE
1296 plugin.cpp
1297 types.h
1298-)
1299-add_definitions(-DUBUNTUSETTINGSCOMPONENTS_LIBRARY)
1300-
1301-add_library(UbuntuSettingsMenusQml MODULE
1302 ${UbuntuSettingsMenusQml_SOURCES}
1303 )
1304
1305 target_link_libraries(UbuntuSettingsMenusQml
1306+ Qt5::Core
1307+ Qt5::Qml
1308+ Qt5::Quick
1309 ${GLIB_LIBRARIES}
1310 ${GIO_LIBRARIES}
1311 ${QMENUMODEL_LDFLAGS}
1312 ${LIBUPSTART_LIBRARIES}
1313 )
1314
1315-qt5_use_modules(UbuntuSettingsMenusQml Core Qml Quick)
1316-
1317 add_usc_plugin(Ubuntu.Settings.Menus 0.1 Ubuntu/Settings/Menus TARGETS UbuntuSettingsMenusQml)
1318
1319=== removed file 'plugins/Ubuntu/Settings/Menus/Menus.qmltypes'
1320--- plugins/Ubuntu/Settings/Menus/Menus.qmltypes 2015-04-07 09:42:19 +0000
1321+++ plugins/Ubuntu/Settings/Menus/Menus.qmltypes 1970-01-01 00:00:00 +0000
1322@@ -1,30 +0,0 @@
1323-import QtQuick.tooling 1.1
1324-
1325-// This file describes the plugin-supplied types contained in the library.
1326-// It is used for QML tooling purposes only.
1327-//
1328-// This file was auto-generated by:
1329-// 'qmlplugindump -notrelocatable Ubuntu.Settings.Menus 0.1 plugins'
1330-
1331-Module {
1332- Component {
1333- name: "TransferState"
1334- prototype: "QObject"
1335- exports: ["Ubuntu.Settings.Menus/TransferState 0.1"]
1336- isCreatable: false
1337- exportMetaObjectRevisions: [0]
1338- Enum {
1339- name: "TransferStates"
1340- values: {
1341- "Queued": 0,
1342- "Running": 1,
1343- "Paused": 2,
1344- "Canceled": 3,
1345- "Hashing": 4,
1346- "Processing": 5,
1347- "Finished": 6,
1348- "Error": 7
1349- }
1350- }
1351- }
1352-}
1353
1354=== modified file 'runtests.sh'
1355--- runtests.sh 2014-08-04 14:27:30 +0000
1356+++ runtests.sh 2016-08-17 18:09:13 +0000
1357@@ -53,7 +53,7 @@
1358
1359 cd -
1360
1361-make -k qmltests
1362+make -k alltests
1363
1364 cd -
1365
1366
1367=== modified file 'tests/CMakeLists.txt'
1368--- tests/CMakeLists.txt 2016-02-29 18:14:22 +0000
1369+++ tests/CMakeLists.txt 2016-08-17 18:09:13 +0000
1370@@ -1,10 +1,53 @@
1371+include(QmlTest)
1372+
1373+# QML tests that require graphical capabilities.
1374+add_custom_target(uitests)
1375+add_custom_target(xvfbuitests)
1376+
1377+add_custom_target(alltests)
1378+add_dependencies(alltests uitests)
1379+
1380+add_custom_target(xvfballtests)
1381+add_dependencies(xvfballtests xvfbuitests)
1382+
1383 add_subdirectory(utils)
1384
1385-# QML tests that require graphical capabitlies.
1386-add_custom_target(qmluitests)
1387-add_dependencies(qmluitests UbuntuTest)
1388-
1389-add_custom_target(qmltests)
1390-add_dependencies(qmltests qmluitests)
1391-
1392+set(USC_PLUGINPATH "${CMAKE_BINARY_DIR}/plugins" CACHE PATH "Path to pre-built u-s-c plugin dir.")
1393+
1394+set(USC_IMPORT_PATHS
1395+ ${CMAKE_BINARY_DIR}/tests/qmltests/mocks
1396+ ${CMAKE_BINARY_DIR}/tests/utils/modules
1397+ ${USC_PLUGINPATH}
1398+)
1399+
1400+macro(usc_parse_arguments)
1401+ cmake_parse_arguments(USCTEST
1402+ "${QMLTEST_OPTIONS}"
1403+ "${QMLTEST_SINGLE}"
1404+ "${QMLTEST_MULTI}"
1405+ ${ARGN}
1406+ )
1407+
1408+ set(environment
1409+ UNITY_TESTING=1
1410+ LANGUAGE=C
1411+ LC_ALL=C.UTF-8
1412+ )
1413+endmacro()
1414+
1415+# add a graphical qml test
1416+# see QmlTest.cmake for additional options
1417+function(add_usc_qmltest PATH COMPONENT_NAME)
1418+ usc_parse_arguments(${ARGN})
1419+ add_qml_test(${PATH} ${COMPONENT_NAME}
1420+ DEPENDS UbuntuTest
1421+ IMPORT_PATHS ${USC_IMPORT_PATHS}
1422+ TARGETS uitests
1423+ ${ARGN}
1424+ ENVIRONMENT ${environment}
1425+ ${USCTEST_ENVIRONMENT}
1426+ )
1427+endfunction()
1428+
1429+add_subdirectory(imports)
1430 add_subdirectory(qmltests)
1431
1432=== added directory 'tests/imports'
1433=== added file 'tests/imports/CMakeLists.txt'
1434--- tests/imports/CMakeLists.txt 1970-01-01 00:00:00 +0000
1435+++ tests/imports/CMakeLists.txt 2016-08-17 18:09:13 +0000
1436@@ -0,0 +1,5 @@
1437+
1438+#
1439+# Test that all imports for QtQuick and Ubuntu.Components use the wanted version
1440+#
1441+add_test(imports ${CMAKE_CURRENT_SOURCE_DIR}/check_imports.py ${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR})
1442
1443=== added file 'tests/imports/check_imports.py'
1444--- tests/imports/check_imports.py 1970-01-01 00:00:00 +0000
1445+++ tests/imports/check_imports.py 2016-08-17 18:09:13 +0000
1446@@ -0,0 +1,125 @@
1447+#! /usr/bin/env python3
1448+
1449+#
1450+# Copyright (C) 2015 Canonical Ltd
1451+#
1452+# This program is free software: you can redistribute it and/or modify
1453+# it under the terms of the GNU General Public License version 3 as
1454+# published by the Free Software Foundation.
1455+#
1456+# This program is distributed in the hope that it will be useful,
1457+# but WITHOUT ANY WARRANTY; without even the implied warranty of
1458+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1459+# GNU General Public License for more details.
1460+#
1461+# You should have received a copy of the GNU General Public License
1462+# along with this program. If not, see <http://www.gnu.org/licenses/>.
1463+#
1464+
1465+#
1466+# Little helper program to test that all source files import
1467+# versions we want
1468+#
1469+# Usage: check_imports.py directory [ignore_prefix]
1470+#
1471+# The directory specifies the (recursive) location of the source files. Any
1472+# files with a path that starts with ignore_prefix are not checked. This is
1473+# useful to exclude files that are generated into the build directory.
1474+#
1475+# See the file_pat definition below for a list of files that are checked.
1476+#
1477+
1478+from __future__ import print_function
1479+
1480+import argparse
1481+import os
1482+import re
1483+import sys
1484+
1485+
1486+# Print msg on stderr, preceded by program name and followed by newline
1487+def error(msg):
1488+ print(os.path.basename(sys.argv[0]) + ": " + msg, file=sys.stderr)
1489+
1490+
1491+# Function to raise errors encountered by os.walk
1492+def raise_error(e):
1493+ raise e
1494+
1495+# Qt Quick patterns
1496+# If you increase this make sure you increase
1497+# the Qt version in debian/control and in CMakeLists.txt
1498+quick_pat = re.compile(r'.*import QtQuick.*$')
1499+quick_good_pat = re.compile(r'.*import QtQuick 2\.4.*$')
1500+quick_layouts_good_pat = re.compile(r'.*import QtQuick.Layouts 1\.1.*$')
1501+quick_window_good_pat = re.compile(r'.*import QtQuick.Window 2\.2.*$')
1502+
1503+# Ubuntu Components patterns
1504+ubuntu_components_pat = re.compile(r'.*import Ubuntu.Components.*')
1505+ubuntu_good_components_pat = re.compile(r'.*import Ubuntu.Components.*1\.3.*')
1506+
1507+def scan_for_bad_import(file_path, all_pat, good_pats):
1508+ errors = []
1509+ with open(file_path, 'rt', encoding='utf-8') as ifile:
1510+ for lino, line in enumerate(ifile, start=1):
1511+ if all_pat.match(line):
1512+ good_found = False
1513+ for good_pat in good_pats:
1514+ if good_pat.match(line):
1515+ good_found = True
1516+ if not good_found:
1517+ errors.append(lino)
1518+ if 0 < len(errors) <= 10:
1519+ if len(errors) > 1:
1520+ plural = 's'
1521+ else:
1522+ plural = ''
1523+ print(
1524+ "%s: bad import version in line%s %s" % (
1525+ file_path, plural, ", ".join((str(i) for i in errors))))
1526+ elif errors:
1527+ print("%s: bad import version in multiple lines" % file_path)
1528+ return bool(errors)
1529+
1530+# Parse args
1531+
1532+parser = argparse.ArgumentParser(
1533+ description='Test that source files contain the wanted import version.')
1534+parser.add_argument(
1535+ 'dir', nargs=1,
1536+ help='The directory to (recursively) search for source files')
1537+parser.add_argument(
1538+ 'ignore_prefix', nargs='?', default=None,
1539+ help='Ignore source files with a path that starts with the given prefix.')
1540+args = parser.parse_args()
1541+
1542+# Files we want to check for import version.
1543+
1544+file_pat = (
1545+ r'(.*\.(js|qml)$)')
1546+pat = re.compile(file_pat)
1547+
1548+# Find all the files with matching file extension in the specified
1549+# directory and check them
1550+
1551+directory = os.path.abspath(args.dir[0])
1552+ignore = args.ignore_prefix and os.path.abspath(args.ignore_prefix) or None
1553+
1554+found_bad_import = False
1555+try:
1556+ for root, dirs, files in os.walk(directory, onerror=raise_error):
1557+ for file in files:
1558+ path = os.path.join(root, file)
1559+ if not (ignore and path.startswith(ignore)) and pat.match(file):
1560+ quick_good_pats = [quick_good_pat, quick_layouts_good_pat, quick_window_good_pat]
1561+ if scan_for_bad_import(path, quick_pat, quick_good_pats):
1562+ found_bad_import = True
1563+ if scan_for_bad_import(path, ubuntu_components_pat, [ubuntu_good_components_pat]):
1564+ found_bad_import = True
1565+
1566+except OSError as e:
1567+ error("cannot create file list for \"" + dir + "\": " + e.strerror)
1568+ sys.exit(1)
1569+
1570+if found_bad_import:
1571+ sys.exit(1)
1572
1573=== modified file 'tests/qmltests/CMakeLists.txt'
1574--- tests/qmltests/CMakeLists.txt 2016-06-30 15:44:36 +0000
1575+++ tests/qmltests/CMakeLists.txt 2016-08-17 18:09:13 +0000
1576@@ -1,48 +1,36 @@
1577-# add_qml_test macro
1578-include(QmlTest)
1579-
1580 add_subdirectory(mocks)
1581
1582-set(qmltest_DEFAULT_TARGETS qmluitests)
1583-set(qmltest_DEFAULT_NO_ADD_TEST TRUE)
1584-set(qmltest_DEFAULT_PROPERTIES ENVIRONMENT "LC_ALL=C")
1585-
1586-set(qmltest_DEFAULT_IMPORT_PATHS
1587- ${CMAKE_BINARY_DIR}/plugins
1588- ${CMAKE_BINARY_DIR}/tests/utils/modules
1589-)
1590-
1591-add_qml_test(Components Calendar)
1592-add_qml_test(Components ServerPropertySynchroniser)
1593-
1594-add_qml_test(Menus AccessPointMenu)
1595-add_qml_test(Menus ButtonMenu)
1596-add_qml_test(Menus CalendarMenu)
1597-add_qml_test(Menus CheckableMenu)
1598-add_qml_test(Menus EventMenu)
1599-add_qml_test(Menus GroupedMessageMenu)
1600-add_qml_test(Menus MediaPlayerMenu)
1601-add_qml_test(Menus PlaybackItemMenu)
1602-add_qml_test(Menus ProgressBarMenu)
1603-add_qml_test(Menus ProgressValueMenu)
1604-add_qml_test(Menus SectionMenu)
1605-add_qml_test(Menus SimpleMessageMenu)
1606-add_qml_test(Menus SliderMenu)
1607-add_qml_test(Menus SnapDecisionMenu)
1608-add_qml_test(Menus SwitchMenu)
1609-add_qml_test(Menus UserSessionMenu)
1610-add_qml_test(Menus TextMessageMenu)
1611-add_qml_test(Menus TimeZoneMenu)
1612-add_qml_test(Menus TransferMenu)
1613-
1614-add_qml_test(Vpn VpnList)
1615-add_qml_test(Vpn VpnEditor)
1616-add_qml_test(Vpn VpnOpenvpnEditor)
1617-add_qml_test(Vpn VpnPptpEditor)
1618-add_qml_test(Vpn VpnPreviewDialogCertificateChecks)
1619-add_qml_test(Vpn VpnPreviewDialog ENVIRONMENT NO_SSL_CERTIFICATE_CHECK=1)
1620-
1621-add_qml_test(Fingerprint Fingerprints IMPORT_PATHS ${CMAKE_CURRENT_BINARY_DIR}/mocks)
1622-add_qml_test(Fingerprint FingerprintNames IMPORT_PATHS ${CMAKE_CURRENT_BINARY_DIR}/mocks)
1623-add_qml_test(Fingerprint FingerprintSetup IMPORT_PATHS ${CMAKE_CURRENT_BINARY_DIR}/mocks)
1624-add_qml_test(Fingerprint FingerprintVisual)
1625+add_usc_qmltest(Components Calendar)
1626+add_usc_qmltest(Components ServerPropertySynchroniser)
1627+
1628+add_usc_qmltest(Menus AccessPointMenu)
1629+add_usc_qmltest(Menus ButtonMenu)
1630+add_usc_qmltest(Menus CalendarMenu)
1631+add_usc_qmltest(Menus CheckableMenu)
1632+add_usc_qmltest(Menus EventMenu)
1633+add_usc_qmltest(Menus GroupedMessageMenu)
1634+add_usc_qmltest(Menus MediaPlayerMenu)
1635+add_usc_qmltest(Menus PlaybackItemMenu)
1636+add_usc_qmltest(Menus ProgressBarMenu)
1637+add_usc_qmltest(Menus ProgressValueMenu)
1638+add_usc_qmltest(Menus SectionMenu)
1639+add_usc_qmltest(Menus SimpleMessageMenu)
1640+add_usc_qmltest(Menus SliderMenu)
1641+add_usc_qmltest(Menus SnapDecisionMenu)
1642+add_usc_qmltest(Menus SwitchMenu)
1643+add_usc_qmltest(Menus UserSessionMenu)
1644+add_usc_qmltest(Menus TextMessageMenu)
1645+add_usc_qmltest(Menus TimeZoneMenu)
1646+add_usc_qmltest(Menus TransferMenu)
1647+
1648+add_usc_qmltest(Vpn VpnList)
1649+add_usc_qmltest(Vpn VpnEditor)
1650+add_usc_qmltest(Vpn VpnOpenvpnEditor)
1651+add_usc_qmltest(Vpn VpnPptpEditor)
1652+add_usc_qmltest(Vpn VpnPreviewDialogCertificateChecks)
1653+add_usc_qmltest(Vpn VpnPreviewDialog ENVIRONMENT NO_SSL_CERTIFICATE_CHECK=1)
1654+
1655+add_usc_qmltest(Fingerprint Fingerprints)
1656+add_usc_qmltest(Fingerprint FingerprintNames)
1657+add_usc_qmltest(Fingerprint FingerprintSetup)
1658+add_usc_qmltest(Fingerprint FingerprintVisual)
1659
1660=== modified file 'tests/qmltests/Fingerprint/tst_FingerprintNames.qml'
1661--- tests/qmltests/Fingerprint/tst_FingerprintNames.qml 2016-06-15 10:45:27 +0000
1662+++ tests/qmltests/Fingerprint/tst_FingerprintNames.qml 2016-08-17 18:09:13 +0000
1663@@ -60,7 +60,7 @@
1664 }
1665
1666 UbuntuTestCase {
1667- name: "TestOverview"
1668+ name: "FingerprintNames"
1669 when: windowShown
1670
1671 property var pageInstance: null
1672
1673=== modified file 'tests/qmltests/Fingerprint/tst_FingerprintSetup.qml'
1674--- tests/qmltests/Fingerprint/tst_FingerprintSetup.qml 2016-06-20 13:53:42 +0000
1675+++ tests/qmltests/Fingerprint/tst_FingerprintSetup.qml 2016-08-17 18:09:13 +0000
1676@@ -62,7 +62,7 @@
1677 }
1678
1679 UbuntuTestCase {
1680- name: "SetupUI"
1681+ name: "FingerprintSetup"
1682 when: windowShown
1683
1684 property var setupInstance: null
1685@@ -113,7 +113,7 @@
1686 }
1687
1688 function test_startedState() {
1689- var targetText = i18n.dtr("ubuntu-settings-components", "Swipe your finger repeatedly over the reader.");
1690+ var targetText = i18n.dtr("ubuntu-settings-components", "Tap your finger repeatedly on the reader.");
1691 setupInstance.enrollmentProgressed(0.5, {});
1692 statusLabelSpy.wait();
1693 compare(getStatusLabel().text, targetText);
1694
1695=== modified file 'tests/qmltests/Fingerprint/tst_Fingerprints.qml'
1696--- tests/qmltests/Fingerprint/tst_Fingerprints.qml 2016-06-15 10:45:27 +0000
1697+++ tests/qmltests/Fingerprint/tst_Fingerprints.qml 2016-08-17 18:09:13 +0000
1698@@ -41,7 +41,7 @@
1699 }
1700
1701 UbuntuTestCase {
1702- name: "FingerprintPanel"
1703+ name: "Fingerprints"
1704 when: windowShown
1705
1706 property var fingerprintsInstance: null
1707@@ -75,7 +75,7 @@
1708 return findInvisibleChild(fingerprintsInstance, "removalObserver");
1709 }
1710
1711- function getBrokenDialog() {
1712+ function getBrokenDialog() {
1713 return findChild(testRoot, "fingerprintReaderBrokenDialog");
1714 }
1715
1716@@ -119,7 +119,7 @@
1717 // Halt testing until dialog has been destroyed.
1718 tryCompareFunction(function() {
1719 return getBrokenDialog();
1720- }, null);
1721+ }, undefined);
1722 }
1723
1724 function test_noPasscode() {
1725@@ -209,7 +209,7 @@
1726 // to function.
1727 tryCompareFunction(function() {
1728 return findChild(testRoot, "fingerprintRemoveAllDialog");
1729- }, null);
1730+ }, undefined);
1731 }
1732
1733 function test_enrollmentSucceeded() {
1734
1735=== modified file 'tests/qmltests/Menus/tst_GroupedMessageMenu.qml'
1736--- tests/qmltests/Menus/tst_GroupedMessageMenu.qml 2016-02-11 11:23:02 +0000
1737+++ tests/qmltests/Menus/tst_GroupedMessageMenu.qml 2016-08-17 18:09:13 +0000
1738@@ -69,7 +69,7 @@
1739 target: messageMenu2
1740 }
1741
1742- TestCase {
1743+ UbuntuTestCase {
1744 name: "GropedMessageMenu"
1745 when: windowShown
1746
1747@@ -84,8 +84,6 @@
1748 }
1749
1750 function test_dismiss() {
1751- skip("QTBUG-35656");
1752- // TODO - Remove skip once bug has been fixed. https://bugreports.qt-project.org/browse/QTBUG-35656
1753 mouseFlick(messageMenu2, messageMenu2.width / 2, messageMenu2.height / 2, messageMenu2.width, messageMenu2.height / 2, true, true, units.gu(1), 10);
1754 tryCompareFunction(function() { return signalSpyDismiss.count > 0; }, true);
1755 }
1756
1757=== modified file 'tests/qmltests/mocks/Biometryd/CMakeLists.txt'
1758--- tests/qmltests/mocks/Biometryd/CMakeLists.txt 2016-06-14 22:33:55 +0000
1759+++ tests/qmltests/mocks/Biometryd/CMakeLists.txt 2016-08-17 18:09:13 +0000
1760@@ -2,7 +2,7 @@
1761 ${CMAKE_CURRENT_BINARY_DIR}
1762 )
1763
1764-set(MOCK_BIOMETRYD_SOURCES
1765+add_library(MockBiometryd MODULE
1766 plugin.cpp
1767 MockDevice.cpp
1768 MockFingerprintReader.cpp
1769@@ -13,8 +13,10 @@
1770 MockUser.cpp
1771 )
1772
1773-add_library(MockBiometryd MODULE ${MOCK_BIOMETRYD_SOURCES})
1774-
1775-qt5_use_modules(MockBiometryd Qml Quick Core)
1776+target_link_libraries(MockBiometryd
1777+ Qt5::Core
1778+ Qt5::Qml
1779+ Qt5::Quick
1780+)
1781
1782 add_usc_mock(Biometryd 0.0 Biometryd TARGETS MockBiometryd)
1783
1784=== modified file 'tests/qmltests/mocks/Biometryd/MockDevice.cpp'
1785--- tests/qmltests/mocks/Biometryd/MockDevice.cpp 2016-05-09 13:42:27 +0000
1786+++ tests/qmltests/mocks/Biometryd/MockDevice.cpp 2016-08-17 18:09:13 +0000
1787@@ -26,5 +26,3 @@
1788 {
1789 return m_ts;
1790 }
1791-
1792-#include "MockDevice.moc"
1793
1794=== modified file 'tests/qmltests/mocks/Biometryd/MockFingerprintReader.cpp'
1795--- tests/qmltests/mocks/Biometryd/MockFingerprintReader.cpp 2016-05-09 13:42:27 +0000
1796+++ tests/qmltests/mocks/Biometryd/MockFingerprintReader.cpp 2016-08-17 18:09:13 +0000
1797@@ -45,5 +45,3 @@
1798 {
1799 return "masks";
1800 }
1801-
1802-#include "MockFingerprintReader.moc"
1803
1804=== modified file 'tests/qmltests/mocks/Biometryd/MockOperation.cpp'
1805--- tests/qmltests/mocks/Biometryd/MockOperation.cpp 2016-05-22 19:43:19 +0000
1806+++ tests/qmltests/mocks/Biometryd/MockOperation.cpp 2016-08-17 18:09:13 +0000
1807@@ -30,5 +30,3 @@
1808 {
1809 return true;
1810 }
1811-
1812-#include "MockOperation.moc"
1813
1814=== modified file 'tests/qmltests/mocks/Biometryd/MockService.cpp'
1815--- tests/qmltests/mocks/Biometryd/MockService.cpp 2016-06-02 12:20:29 +0000
1816+++ tests/qmltests/mocks/Biometryd/MockService.cpp 2016-08-17 18:09:13 +0000
1817@@ -38,5 +38,3 @@
1818 m_available = available;
1819 Q_EMIT (availableChanged(available));
1820 }
1821-
1822-#include "MockService.moc"
1823
1824=== modified file 'tests/qmltests/mocks/Biometryd/MockTemplateStore.cpp'
1825--- tests/qmltests/mocks/Biometryd/MockTemplateStore.cpp 2016-06-14 22:33:55 +0000
1826+++ tests/qmltests/mocks/Biometryd/MockTemplateStore.cpp 2016-08-17 18:09:13 +0000
1827@@ -52,5 +52,3 @@
1828 Q_UNUSED(user);
1829 return new MockList(this);
1830 }
1831-
1832-#include "MockTemplateStore.moc"
1833
1834=== modified file 'tests/qmltests/mocks/Biometryd/MockUser.cpp'
1835--- tests/qmltests/mocks/Biometryd/MockUser.cpp 2016-05-09 13:42:27 +0000
1836+++ tests/qmltests/mocks/Biometryd/MockUser.cpp 2016-08-17 18:09:13 +0000
1837@@ -29,5 +29,3 @@
1838 {
1839 m_uid = uid;
1840 }
1841-
1842-#include "MockUser.moc"
1843
1844=== modified file 'tests/qmltests/mocks/CMakeLists.txt'
1845--- tests/qmltests/mocks/CMakeLists.txt 2016-06-14 12:01:31 +0000
1846+++ tests/qmltests/mocks/CMakeLists.txt 2016-08-17 18:09:13 +0000
1847@@ -23,8 +23,8 @@
1848 ${MOCK_UNPARSED_ARGUMENTS}
1849 )
1850 else()
1851- export_qmlfiles(${PLUGIN} ${PATH} TARGET_PREFIX Mock ${MOCK_UNPARSED_ARGUMENTS})
1852- export_qmlplugin(${PLUGIN} ${VERSION} ${PATH} TARGET_PREFIX Mock ${MOCK_UNPARSED_ARGUMENTS})
1853+ export_qmlfiles(${PLUGIN} ${PATH} TARGET_PREFIX Mock NO_INSTALL ${MOCK_UNPARSED_ARGUMENTS})
1854+ export_qmlplugin(${PLUGIN} ${VERSION} ${PATH} TARGET_PREFIX Mock NO_INSTALL ${MOCK_UNPARSED_ARGUMENTS})
1855 endif()
1856 endmacro()
1857
1858
1859=== modified file 'tests/qmltests/mocks/GSettings.1.0/CMakeLists.txt'
1860--- tests/qmltests/mocks/GSettings.1.0/CMakeLists.txt 2016-06-14 12:01:31 +0000
1861+++ tests/qmltests/mocks/GSettings.1.0/CMakeLists.txt 2016-08-17 18:09:13 +0000
1862@@ -1,20 +1,19 @@
1863 include_directories(
1864 ${CMAKE_CURRENT_BINARY_DIR}
1865- ${Qt5Core_INCLUDE_DIRS}
1866- ${Qt5Quick_INCLUDE_DIRS}
1867 )
1868
1869 set(GSettingsQML_SOURCES
1870+)
1871+
1872+add_library(FakeGSettingsQml MODULE
1873 fake_gsettings.cpp
1874 plugin.cpp
1875 )
1876
1877-add_library(FakeGSettingsQml MODULE ${GSettingsQML_SOURCES})
1878 target_link_libraries(FakeGSettingsQml
1879- ${Qt5Core_LIBRARIES}
1880- ${Qt5Quick_LIBRARIES}
1881+ Qt5::Core
1882+ Qt5::Quick
1883+ Qt5::Qml
1884 )
1885
1886-qt5_use_modules(FakeGSettingsQml Qml)
1887-
1888 add_usc_mock(GSettings 1.0 GSettings.1.0 TARGETS FakeGSettingsQml)
1889
1890=== modified file 'tests/utils/modules/CMakeLists.txt'
1891--- tests/utils/modules/CMakeLists.txt 2013-10-04 10:10:47 +0000
1892+++ tests/utils/modules/CMakeLists.txt 2016-08-17 18:09:13 +0000
1893@@ -1,1 +1,3 @@
1894+include(QmlPlugins)
1895+
1896 add_subdirectory(Ubuntu)
1897
1898=== modified file 'tests/utils/modules/Ubuntu/Test/CMakeLists.txt'
1899--- tests/utils/modules/Ubuntu/Test/CMakeLists.txt 2013-10-04 10:52:27 +0000
1900+++ tests/utils/modules/Ubuntu/Test/CMakeLists.txt 2016-08-17 18:09:13 +0000
1901@@ -1,27 +1,21 @@
1902-add_definitions(-DQT_NO_KEYWORDS)
1903+include_directories(
1904+ ${Qt5Gui_PRIVATE_INCLUDE_DIRS}
1905+)
1906
1907-set(UbuntuTestQML_SOURCES
1908+add_library(UbuntuTestQml MODULE
1909 testutil.cpp
1910 plugin.cpp
1911 TouchEventSequenceWrapper.cpp
1912 )
1913
1914-include_directories(
1915- ${CMAKE_CURRENT_SOURCE_DIR}
1916- ${Qt5Gui_PRIVATE_INCLUDE_DIRS}
1917- )
1918-
1919-add_library(UbuntuTestQml MODULE ${UbuntuTestQML_SOURCES})
1920-
1921-qt5_use_modules(UbuntuTestQml Core Quick Test)
1922-
1923-# copy qml files into build directory for shadow builds
1924-file(GLOB QML_JS_FILES *.js *.qml qmldir)
1925-
1926-add_custom_target(UbuntuTestQmlJsFiles ALL
1927- COMMAND cp ${QML_JS_FILES} ${CMAKE_CURRENT_BINARY_DIR}
1928- DEPENDS ${QML_JS_FILES}
1929+target_link_libraries(UbuntuTestQml
1930+ Qt5::Core
1931+ Qt5::Quick
1932+ Qt5::Test
1933 )
1934
1935+export_qmlfiles(Ubuntu.Test Ubuntu/Test NO_INSTALL)
1936+export_qmlplugin(Ubuntu.Test 0.1 Ubuntu/Test TARGETS UbuntuTestQml NO_INSTALL)
1937+
1938 add_custom_target(UbuntuTest)
1939-add_dependencies(UbuntuTest UbuntuTestQml UbuntuTestQmlJsFiles)
1940+add_dependencies(UbuntuTest UbuntuTestQml Ubuntu.Test-qmlfiles)

Subscribers

People subscribed via source and target branches

to all changes: