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
=== modified file 'CMakeLists.txt'
--- CMakeLists.txt 2015-08-02 14:42:46 +0000
+++ CMakeLists.txt 2016-08-17 18:09:13 +0000
@@ -1,6 +1,4 @@
1
2project(settings-components)1project(settings-components)
3
4cmake_minimum_required(VERSION 2.8.9)2cmake_minimum_required(VERSION 2.8.9)
53
6set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules)4set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules)
@@ -11,17 +9,13 @@
11include(FindPkgConfig)9include(FindPkgConfig)
1210
13find_package(Qt5Quick REQUIRED)11find_package(Qt5Quick REQUIRED)
14set(OUR_QT_QUICK_LIB ${Qt5Quick_LIBRARIES})12
1513set(QT_IMPORTS_DIR ${CMAKE_INSTALL_LIBDIR}/qt5/qml)
16get_target_property(QMAKE_EXECUTABLE Qt5::qmake LOCATION)
17exec_program(${QMAKE_EXECUTABLE} ARGS "-query QT_INSTALL_QML" OUTPUT_VARIABLE QT_IMPORTS_DIR OUTPUT_STRIP_TRAILING_WHITESPACE)
18file(TO_CMAKE_PATH "${QT_IMPORTS_DIR}" QT_IMPORTS_DIR)
19
20set(OUR_QT_QUICK_INCLUDE ${Qt5Quick_INCLUDE_DIRS})
21LIST(APPEND QT_PKGCONFIG_DEPENDENCIES "Qt5Quick")
2214
23find_package(Qt5Core REQUIRED)15find_package(Qt5Core REQUIRED)
16find_package(Qt5Qml REQUIRED)
24find_package(Qt5Quick REQUIRED)17find_package(Qt5Quick REQUIRED)
18find_package(Qt5Test REQUIRED)
25find_package(Qt5Widgets REQUIRED)19find_package(Qt5Widgets REQUIRED)
26add_definitions(-DQT_NO_KEYWORDS)20add_definitions(-DQT_NO_KEYWORDS)
2721
@@ -34,39 +28,10 @@
34 add_definitions(-DQT_QML_DEBUG)28 add_definitions(-DQT_QML_DEBUG)
35endif()29endif()
3630
37include(EnableCoverageReport)31# Quiet logger
38#####################################################################32set(QUIET_LOGGER OFF CACHE BOOL "Disable test output on stdout.")
39# Enable code coverage calculation with gcov/gcovr/lcov33if(NOT QUIET_LOGGER)
40# Usage:34 set(STDOUT_LOGGER "-o" "-,txt")
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#####################################################################
46if(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}/*)
52endif()
53
54configure_file("${CMAKE_CURRENT_SOURCE_DIR}/cmake_uninstall.cmake.in"
55 "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
56 IMMEDIATE @ONLY)
57add_custom_target(uninstall "${CMAKE_COMMAND}"
58 -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake")
59
60# Doc
61OPTION(GENERATE_DOC "Enable qdoc generation" OFF)
62if(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()
70endif()35endif()
7136
72set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden")37set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden")
7338
=== removed file 'SettingsComponents.qmlproject'
--- SettingsComponents.qmlproject 2013-06-07 15:39:04 +0000
+++ SettingsComponents.qmlproject 1970-01-01 00:00:00 +0000
@@ -1,23 +0,0 @@
1/* File generated by Qt Creator (with Ubuntu Plugin), version 2.7.0 */
2
3import QmlProject 1.1
4
5Project {
6 mainFile: "SettingsComponents.qml"
7
8 /* Include .qml, .js, and image files from current directory and subdirectories */
9 QmlFiles {
10 directory: "."
11 }
12 JavaScriptFiles {
13 directory: "."
14 }
15 ImageFiles {
16 directory: "."
17 }
18 Files {
19 filter: "*.desktop"
20 }
21 /* List of plugin directories passed to QML runtime */
22 importPaths: [ "." ,"/usr/bin","/usr/lib/x86_64-linux-gnu/qt5/qml" ]
23}
240
=== removed file 'cmake/modules/EnableCoverageReport.cmake'
--- cmake/modules/EnableCoverageReport.cmake 2013-10-04 10:52:27 +0000
+++ cmake/modules/EnableCoverageReport.cmake 1970-01-01 00:00:00 +0000
@@ -1,166 +0,0 @@
1# - Creates a special coverage build type and target on GCC.
2#
3# Defines a function ENABLE_COVERAGE_REPORT which generates the coverage target
4# for selected targets. Optional arguments to this function are used to filter
5# unwanted results using globbing expressions. Moreover targets with tests for
6# the source code can be specified to trigger regenerating the report if the
7# test has changed
8#
9# ENABLE_COVERAGE_REPORT(TARGETS target... [FILTER filter...] [TESTS test targets...])
10#
11# To generate a coverage report first build the project with
12# CMAKE_BUILD_TYPE=coverage, then call make test and afterwards make coverage.
13#
14# The coverage report is based on gcov. Depending on the availability of lcov
15# a HTML report will be generated and/or an XML report of gcovr is found.
16# The generated coverage target executes all found solutions. Special targets
17# exist to create e.g. only the xml report: coverage-xml.
18#
19# Copyright (C) 2010 by Johannes Wienke <jwienke at techfak dot uni-bielefeld dot de>
20#
21# This program is free software; you can redistribute it
22# and/or modify it under the terms of the GNU General
23# Public License as published by the Free Software Foundation;
24# either version 2, or (at your option)
25# any later version.
26#
27# This program is distributed in the hope that it will be useful,
28# but WITHOUT ANY WARRANTY; without even the implied warranty of
29# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
30# GNU General Public License for more details.
31#
32
33INCLUDE(ParseArguments)
34
35FIND_PACKAGE(Lcov)
36FIND_PACKAGE(gcovr)
37
38FUNCTION(ENABLE_COVERAGE_REPORT)
39
40 # argument parsing
41 PARSE_ARGUMENTS(ARG "FILTER;TARGETS;TESTS" "" ${ARGN})
42
43 SET(COVERAGE_RAW_FILE "${CMAKE_BINARY_DIR}/coverage.raw.info")
44 SET(COVERAGE_FILTERED_FILE "${CMAKE_BINARY_DIR}/coverage.info")
45 SET(COVERAGE_REPORT_DIR "${CMAKE_BINARY_DIR}/coveragereport")
46 SET(COVERAGE_XML_FILE "${CMAKE_BINARY_DIR}/coverage.xml")
47 SET(COVERAGE_XML_COMMAND_FILE "${CMAKE_BINARY_DIR}/coverage-xml.cmake")
48
49 # decide if there is any tool to create coverage data
50 SET(TOOL_FOUND FALSE)
51 IF(LCOV_FOUND OR GCOVR_FOUND)
52 SET(TOOL_FOUND TRUE)
53 ENDIF()
54 IF(NOT TOOL_FOUND)
55 MESSAGE(STATUS "Cannot enable coverage targets because neither lcov nor gcovr are found.")
56 ENDIF()
57
58 STRING(TOLOWER "${CMAKE_BUILD_TYPE}" COVERAGE_BUILD_TYPE)
59 IF(CMAKE_COMPILER_IS_GNUCXX AND TOOL_FOUND AND "${COVERAGE_BUILD_TYPE}" MATCHES "coverage")
60
61 MESSAGE(STATUS "Coverage support enabled for targets: ${ARG_TARGETS}")
62
63 # create coverage build type
64 SET(CMAKE_CXX_FLAGS_COVERAGE ${CMAKE_CXX_FLAGS_DEBUG} PARENT_SCOPE)
65 SET(CMAKE_C_FLAGS_COVERAGE ${CMAKE_C_FLAGS_DEBUG} PARENT_SCOPE)
66 SET(CMAKE_CONFIGURATION_TYPES ${CMAKE_CONFIGURATION_TYPES} coverage PARENT_SCOPE)
67
68 # instrument targets
69 SET_TARGET_PROPERTIES(${ARG_TARGETS} PROPERTIES COMPILE_FLAGS --coverage
70 LINK_FLAGS --coverage)
71
72 # html report
73 IF (LCOV_FOUND)
74
75 MESSAGE(STATUS "Enabling HTML coverage report")
76
77 # set up coverage target
78
79 ADD_CUSTOM_COMMAND(OUTPUT ${COVERAGE_RAW_FILE}
80 COMMAND ${LCOV_EXECUTABLE} -c -d ${CMAKE_BINARY_DIR} -o ${COVERAGE_RAW_FILE}
81 WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
82 COMMENT "Collecting coverage data"
83 DEPENDS ${ARG_TARGETS} ${ARG_TESTS}
84 VERBATIM)
85
86 # filter unwanted stuff
87 LIST(LENGTH ARG_FILTER FILTER_LENGTH)
88 IF(${FILTER_LENGTH} GREATER 0)
89 SET(FILTER COMMAND ${LCOV_EXECUTABLE})
90 FOREACH(F ${ARG_FILTER})
91 SET(FILTER ${FILTER} -r ${COVERAGE_FILTERED_FILE} ${F})
92 ENDFOREACH()
93 SET(FILTER ${FILTER} -o ${COVERAGE_FILTERED_FILE})
94 ELSE()
95 SET(FILTER "")
96 ENDIF()
97
98 ADD_CUSTOM_COMMAND(OUTPUT ${COVERAGE_FILTERED_FILE}
99 COMMAND ${LCOV_EXECUTABLE} -e ${COVERAGE_RAW_FILE} "${CMAKE_SOURCE_DIR}*" -o ${COVERAGE_FILTERED_FILE}
100 ${FILTER}
101 DEPENDS ${COVERAGE_RAW_FILE}
102 COMMENT "Filtering recorded coverage data for project-relevant entries"
103 VERBATIM)
104 ADD_CUSTOM_COMMAND(OUTPUT ${COVERAGE_REPORT_DIR}
105 COMMAND ${CMAKE_COMMAND} -E make_directory ${COVERAGE_REPORT_DIR}
106 COMMAND ${GENHTML_EXECUTABLE} --legend --show-details -t "${PROJECT_NAME} test coverage" -o ${COVERAGE_REPORT_DIR} ${COVERAGE_FILTERED_FILE}
107 DEPENDS ${COVERAGE_FILTERED_FILE}
108 COMMENT "Generating HTML coverage report in ${COVERAGE_REPORT_DIR}"
109 VERBATIM)
110
111 ADD_CUSTOM_TARGET(coverage-html
112 DEPENDS ${COVERAGE_REPORT_DIR})
113
114 ENDIF()
115
116 # xml coverage report
117 IF(GCOVR_FOUND)
118
119 MESSAGE(STATUS "Enabling XML coverage report")
120
121 # filter unwanted stuff
122 SET(GCOV_FILTER "")
123 LIST(LENGTH ARG_FILTER FILTER_LENGTH)
124 IF(${FILTER_LENGTH} GREATER 0)
125 FOREACH(F ${ARG_FILTER})
126 SET(GCOV_FILTER "${GCOV_FILTER} -e \"${F}\"")
127 ENDFOREACH()
128 ENDIF()
129
130 # gcovr cannot write directly to a file so the execution needs to
131 # be wrapped in a cmake file that generates the file output
132 FILE(WRITE ${COVERAGE_XML_COMMAND_FILE}
133 "SET(ENV{LANG} en)\n")
134 FILE(APPEND ${COVERAGE_XML_COMMAND_FILE}
135 "EXECUTE_PROCESS(COMMAND \"${GCOVR_EXECUTABLE}\" -x -r \"${CMAKE_SOURCE_DIR}\" ${GCOV_FILTER} OUTPUT_FILE \"${COVERAGE_XML_FILE}\" WORKING_DIRECTORY \"${CMAKE_BINARY_DIR}\")\n")
136
137 ADD_CUSTOM_COMMAND(OUTPUT ${COVERAGE_XML_FILE}
138 COMMAND ${CMAKE_COMMAND} ARGS -P ${COVERAGE_XML_COMMAND_FILE}
139 COMMENT "Generating coverage XML report"
140 VERBATIM)
141
142 ADD_CUSTOM_TARGET(coverage-xml
143 DEPENDS ${COVERAGE_XML_FILE})
144
145 ENDIF()
146
147 # provide a global coverage target executing both steps if available
148 SET(GLOBAL_DEPENDS "")
149 IF(LCOV_FOUND)
150 LIST(APPEND GLOBAL_DEPENDS ${COVERAGE_REPORT_DIR})
151 ENDIF()
152 IF(GCOVR_FOUND)
153 LIST(APPEND GLOBAL_DEPENDS ${COVERAGE_XML_FILE})
154 ENDIF()
155 IF(LCOV_FOUND OR GCOVR_FOUND)
156 ADD_CUSTOM_TARGET(coverage
157 DEPENDS ${GLOBAL_DEPENDS})
158 ENDIF()
159
160 ENDIF()
161
162 # This gets rid of any stale .gcda files. Run this if a running a binary causes lots of messages about
163 # about a "merge mismatch for summaries".
164 ADD_CUSTOM_TARGET(clean-coverage COMMAND find ${CMAKE_BINARY_DIR} -name '*.gcda' | xargs rm -f)
165
166ENDFUNCTION()
1670
=== removed file 'cmake/modules/FindLcov.cmake'
--- cmake/modules/FindLcov.cmake 2013-10-04 10:52:27 +0000
+++ cmake/modules/FindLcov.cmake 1970-01-01 00:00:00 +0000
@@ -1,29 +0,0 @@
1# - Find lcov
2# Will define:
3#
4# LCOV_EXECUTABLE - the lcov binary
5# GENHTML_EXECUTABLE - the genhtml executable
6#
7# Copyright (C) 2010 by Johannes Wienke <jwienke at techfak dot uni-bielefeld dot de>
8#
9# This program is free software; you can redistribute it
10# and/or modify it under the terms of the GNU General
11# Public License as published by the Free Software Foundation;
12# either version 2, or (at your option)
13# any later version.
14#
15# This program is distributed in the hope that it will be useful,
16# but WITHOUT ANY WARRANTY; without even the implied warranty of
17# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18# GNU General Public License for more details.
19#
20
21INCLUDE(FindPackageHandleStandardArgs)
22
23FIND_PROGRAM(LCOV_EXECUTABLE lcov)
24FIND_PROGRAM(GENHTML_EXECUTABLE genhtml)
25
26FIND_PACKAGE_HANDLE_STANDARD_ARGS(Lcov DEFAULT_MSG LCOV_EXECUTABLE GENHTML_EXECUTABLE)
27
28# only visible in advanced view
29MARK_AS_ADVANCED(LCOV_EXECUTABLE GENHTML_EXECUTABLE)
300
=== removed file 'cmake/modules/Findgcovr.cmake'
--- cmake/modules/Findgcovr.cmake 2013-10-04 10:52:27 +0000
+++ cmake/modules/Findgcovr.cmake 1970-01-01 00:00:00 +0000
@@ -1,31 +0,0 @@
1# - Find gcovr scrip
2# Will define:
3#
4# GCOVR_EXECUTABLE - the gcovr script
5#
6# Uses:
7#
8# GCOVR_ROOT - root to search for the script
9#
10# Copyright (C) 2011 by Johannes Wienke <jwienke at techfak dot uni-bielefeld dot de>
11#
12# This program is free software; you can redistribute it
13# and/or modify it under the terms of the GNU General
14# Public License as published by the Free Software Foundation;
15# either version 2, or (at your option)
16# any later version.
17#
18# This program is distributed in the hope that it will be useful,
19# but WITHOUT ANY WARRANTY; without even the implied warranty of
20# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21# GNU General Public License for more details.
22#
23
24INCLUDE(FindPackageHandleStandardArgs)
25
26FIND_PROGRAM(GCOVR_EXECUTABLE gcovr HINTS ${GCOVR_ROOT} "${GCOVR_ROOT}/bin")
27
28FIND_PACKAGE_HANDLE_STANDARD_ARGS(gcovr DEFAULT_MSG GCOVR_EXECUTABLE)
29
30# only visible in advanced view
31MARK_AS_ADVANCED(GCOVR_EXECUTABLE)
320
=== removed file 'cmake/modules/ParseArguments.cmake'
--- cmake/modules/ParseArguments.cmake 2013-10-04 10:52:27 +0000
+++ cmake/modules/ParseArguments.cmake 1970-01-01 00:00:00 +0000
@@ -1,52 +0,0 @@
1# Parse arguments passed to a function into several lists separated by
2# upper-case identifiers and options that do not have an associated list e.g.:
3#
4# SET(arguments
5# hello OPTION3 world
6# LIST3 foo bar
7# OPTION2
8# LIST1 fuz baz
9# )
10# PARSE_ARGUMENTS(ARG "LIST1;LIST2;LIST3" "OPTION1;OPTION2;OPTION3" ${arguments})
11#
12# results in 7 distinct variables:
13# * ARG_DEFAULT_ARGS: hello;world
14# * ARG_LIST1: fuz;baz
15# * ARG_LIST2:
16# * ARG_LIST3: foo;bar
17# * ARG_OPTION1: FALSE
18# * ARG_OPTION2: TRUE
19# * ARG_OPTION3: TRUE
20#
21# taken from http://www.cmake.org/Wiki/CMakeMacroParseArguments
22
23MACRO(PARSE_ARGUMENTS prefix arg_names option_names)
24 SET(DEFAULT_ARGS)
25 FOREACH(arg_name ${arg_names})
26 SET(${prefix}_${arg_name})
27 ENDFOREACH(arg_name)
28 FOREACH(option ${option_names})
29 SET(${prefix}_${option} FALSE)
30 ENDFOREACH(option)
31
32 SET(current_arg_name DEFAULT_ARGS)
33 SET(current_arg_list)
34 FOREACH(arg ${ARGN})
35 SET(larg_names ${arg_names})
36 LIST(FIND larg_names "${arg}" is_arg_name)
37 IF (is_arg_name GREATER -1)
38 SET(${prefix}_${current_arg_name} ${current_arg_list})
39 SET(current_arg_name ${arg})
40 SET(current_arg_list)
41 ELSE (is_arg_name GREATER -1)
42 SET(loption_names ${option_names})
43 LIST(FIND loption_names "${arg}" is_option)
44 IF (is_option GREATER -1)
45 SET(${prefix}_${arg} TRUE)
46 ELSE (is_option GREATER -1)
47 SET(current_arg_list ${current_arg_list} ${arg})
48 ENDIF (is_option GREATER -1)
49 ENDIF (is_arg_name GREATER -1)
50 ENDFOREACH(arg)
51 SET(${prefix}_${current_arg_name} ${current_arg_list})
52ENDMACRO(PARSE_ARGUMENTS)
530
=== removed file 'cmake/modules/QmlPlugins.cmake'
--- cmake/modules/QmlPlugins.cmake 2015-04-07 09:44:47 +0000
+++ cmake/modules/QmlPlugins.cmake 1970-01-01 00:00:00 +0000
@@ -1,150 +0,0 @@
1# If you need to override the qmlplugindump binary, create the qmlplugin executable
2# target before loading this plugin.
3
4if(NOT TARGET qmlplugindump)
5 find_program(qmlplugindump_exe qmlplugindump)
6
7 if(NOT qmlplugindump_exe)
8 msg(FATAL_ERROR "Could not locate qmlplugindump.")
9 endif()
10
11 add_executable(qmlplugindump IMPORTED)
12 set_target_properties(qmlplugindump PROPERTIES IMPORTED_LOCATION ${qmlplugindump_exe})
13endif()
14
15#
16# A custom target for building the qmltypes files manually.
17#
18if (NOT TARGET qmltypes)
19 add_custom_target(qmltypes)
20endif()
21
22# Creates a target for copying resource files into build dir and optionally installing them.
23#
24# Files will be copied into ${BINARY_DIR}/${path} or ${CMAKE_CURRENT_BINARY_DIR} and installed
25# into ${DESTINATION}/${path}.
26#
27# Resource file names are matched against {*.{qml,js,jpg,png,sci,svg},qmldir}.
28#
29# export_qmlfiles(plugin path
30# [SEARCH_PATH path] # Path to search for resources in (defaults to ${CMAKE_CURRENT_SOURCE_DIR})
31# [BINARY_DIR path]
32# [DESTINATION path]
33# [TARGET_PREFIX string] # Will be prefixed to the target name
34# )
35#
36# Created target:
37# - ${TARGET_PREFIX}${plugin}-qmlfiles - Copies resources into the binary dir.
38
39macro(export_qmlfiles PLUGIN PATH)
40 set(single SEARCH_PATH BINARY_DIR DESTINATION TARGET_PREFIX)
41 cmake_parse_arguments(QMLFILES "" "${single}" "" ${ARGN})
42
43 if(NOT QMLFILES_SEARCH_PATH)
44 set(QMLFILES_SEARCH_PATH ${CMAKE_CURRENT_SOURCE_DIR})
45 endif()
46
47 if(QMLFILES_BINARY_DIR)
48 set(qmlfiles_dir ${QMLFILES_BINARY_DIR}/${PATH})
49 else()
50 set(qmlfiles_dir ${CMAKE_CURRENT_BINARY_DIR})
51 endif()
52
53 file(GLOB QMLFILES
54 ${QMLFILES_SEARCH_PATH}/*.qml
55 ${QMLFILES_SEARCH_PATH}/*.js
56 ${QMLFILES_SEARCH_PATH}/*.jpg
57 ${QMLFILES_SEARCH_PATH}/*.png
58 ${QMLFILES_SEARCH_PATH}/*.sci
59 ${QMLFILES_SEARCH_PATH}/*.svg
60 ${QMLFILES_SEARCH_PATH}/*.qmltypes
61 ${QMLFILES_SEARCH_PATH}/qmldir
62 )
63
64 execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory ${qmlfiles_dir})
65
66 # copy the files
67 add_custom_target(${QMLFILES_TARGET_PREFIX}${PLUGIN}-qmlfiles ALL
68 COMMAND cp ${QMLFILES} ${qmlfiles_dir}
69 DEPENDS ${QMLFILES}
70 SOURCES ${QMLFILES}
71 )
72
73 if(QMLFILES_DESTINATION)
74 # install the qmlfiles file.
75 install(FILES ${QMLFILES}
76 DESTINATION ${QMLFILES_DESTINATION}/${PATH}
77 )
78 endif()
79endmacro()
80
81
82# Creates a target for generating the typeinfo file for a QML plugin and/or installs the plugin
83# targets.
84#
85# Files will be copied into ${BINARY_DIR}/${path} or ${CMAKE_CURRENT_BINARY_DIR} and installed
86# into ${DESTINATION}/${path}. If you don't pass BINARY_DIR, it's assumed that current source
87# path ends with ${path}.
88#
89# The generated file will be named after the last segment of the plugin name, e.g. Foo.qmltypes.
90#
91# export_qmlplugin(plugin version path
92# [BINARY_DIR path]
93# [DESTINATION path]
94# [TARGET_PREFIX string] # Will be prefixed to the target name
95# [ENVIRONMENT string] # Will be added to qmlplugindump's env
96# [TARGETS target1 [target2 ...]] # Targets to depend on and install (e.g. the plugin shared object)
97# [NO_TYPES] # Do not create the qmltypes target
98# )
99#
100# Created target:
101# - ${TARGET_PREFIX}${plugin}-qmltypes - Generates the qmltypes file in the source dir.
102# It will be made a dependency of the "qmltypes" target.
103
104macro(export_qmlplugin PLUGIN VERSION PATH)
105 set(options NO_TYPES)
106 set(single BINARY_DIR DESTINATION TARGET_PREFIX ENVIRONMENT)
107 set(multi TARGETS)
108 cmake_parse_arguments(QMLPLUGIN "${options}" "${single}" "${multi}" ${ARGN})
109
110 get_target_property(qmlplugindump_executable qmlplugindump LOCATION)
111
112 if(QMLPLUGIN_BINARY_DIR)
113 set(qmlplugin_dir ${QMLPLUGIN_BINARY_DIR}/${PATH})
114 else()
115 # Find import path to point qmlplugindump at
116 string(REGEX REPLACE "/${PATH}$" "" QMLPLUGIN_BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}")
117 set(qmlplugin_dir ${CMAKE_CURRENT_BINARY_DIR})
118 endif()
119
120 if(NOT QMLPLUGIN_NO_TYPES)
121 # Relative path for the module
122 string(REPLACE "${CMAKE_BINARY_DIR}/" "" QMLPLUGIN_MODULE_DIR "${QMLPLUGIN_BINARY_DIR}")
123
124 # Find the last segment of the plugin name to use as qmltypes basename
125 string(REGEX MATCH "[^.]+$" plugin_suffix ${PLUGIN})
126 set(target_prefix ${QMLPLUGIN_TARGET_PREFIX}${PLUGIN})
127 set(qmltypes_path ${CMAKE_CURRENT_SOURCE_DIR}/${plugin_suffix}.qmltypes)
128
129 add_custom_target(${target_prefix}-qmltypes
130 COMMAND env ${QMLPLUGIN_ENVIRONMENT} ${qmlplugindump_executable} -notrelocatable
131 ${PLUGIN} ${VERSION} ${QMLPLUGIN_MODULE_DIR} > ${qmltypes_path}
132 WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
133 )
134 add_dependencies(${target_prefix}-qmltypes ${target_prefix}-qmlfiles ${QMLPLUGIN_TARGETS})
135 add_dependencies(qmltypes ${target_prefix}-qmltypes)
136 endif()
137
138 set_target_properties(${QMLPLUGIN_TARGETS} PROPERTIES
139 ARCHIVE_OUTPUT_DIRECTORY ${qmlplugin_dir}
140 LIBRARY_OUTPUT_DIRECTORY ${qmlplugin_dir}
141 RUNTIME_OUTPUT_DIRECTORY ${qmlplugin_dir}
142 )
143
144 if (QMLPLUGIN_DESTINATION)
145 # Install additional targets
146 install(TARGETS ${QMLPLUGIN_TARGETS}
147 DESTINATION ${QMLPLUGIN_DESTINATION}/${PATH}
148 )
149 endif()
150endmacro()
1510
=== modified file 'cmake/modules/QmlTest.cmake'
--- cmake/modules/QmlTest.cmake 2015-03-20 15:49:18 +0000
+++ cmake/modules/QmlTest.cmake 2016-08-17 18:09:13 +0000
@@ -1,120 +1,313 @@
1# add_qml_test(path component_name [NO_ADD_TEST] [NO_TARGETS]1# If you need to override the qmlscene or qmltestrunner executables,
2# [TARGETS target1 [target2 [...]]]2# create the corresponding executable target.
3# [IMPORT_PATHS import_path1 [import_path2 [...]]3
4# [PROPERTIES prop1 value1 [prop2 value2 [...]]])4# These functions respect the global STDOUT_LOGGER and ARTIFACTS_DIR variables.
5#5
6# NO_ADD_TEST will prevent adding the test to the "test" target6# You can use those with cmake_parse_arguments
7# NO_TARGETS will prevent adding the test to any targets7# if you need to wrap and mangle arguments.
8# TARGETS lists the targets the test should be added to8set(QMLTEST_OPTIONS ADD_TEST CACHE INTERNAL "")
9# IMPORT_PATHS will pass those paths to qmltestrunner as "-import" arguments9set(QMLTEST_SINGLE ITERATIONS ARG_PREFIX CACHE INTERNAL "")
10# PROPERTIES will be set on the target and test target. See CMake's set_target_properties()10set(QMLTEST_MULTI ARGS ENVIRONMENT DEPENDS IMPORT_PATHS TARGETS CACHE INTERNAL "")
11
12# import_executables(name1 [name2 [...]]
13# [OPTIONAL] # continue when not found
14# )
15#
16# This will find the named executables and import them
17# to an imported target of the same name.
18
19function(import_executables)
20 cmake_parse_arguments(QMLTEST "OPTIONAL" "" "" ${ARGN})
21
22 foreach(NAME ${QMLTEST_UNPARSED_ARGUMENTS})
23 if(NOT TARGET ${NAME})
24 add_executable(${NAME} IMPORTED GLOBAL)
25 find_program(${NAME}_exe ${NAME})
26
27 if(NOT QMLTEST_OPTIONAL AND NOT ${NAME}_exe)
28 message(FATAL_ERROR "Could not locate ${NAME}.")
29 elseif(NOT ${NAME}_exe)
30 message(STATUS "Could not locate ${NAME}, skipping.")
31 else()
32 set_target_properties(${NAME} PROPERTIES IMPORTED_LOCATION ${${NAME}_exe})
33 endif()
34 endif()
35 endforeach()
36endfunction()
37
38
39# add_qml_test(path component_name
40# [...]
41# )
42#
43# Add test targets for ${component_name} under ${path}. It's assumed
44# that the test file is named ${path}/tst_${component_name}.qml.
45#
46# This function wraps add_manual_qml_test and add_qml_unittest,
47# see below for available arguments.
48
49function(add_qml_test PATH COMPONENT_NAME)
50 cmake_parse_arguments(QMLTEST "${QMLTEST_OPTIONS}" "${QMLTEST_SINGLE}" "${QMLTEST_MULTI}" ${ARGN})
51 mangle_arguments()
52
53 add_qml_unittest(${ARGV})
54 add_manual_qml_test(${ARGV})
55endfunction()
56
57
58# add_qml_unittest(path component_name
59# [...]
60# )
61#
62# Add test targets for ${component_name} under ${path}. It's assumed
63# that the test file is named ${path}/tst_${component_name}.qml.
64#
65# This function wraps add_executable_test, see below for available arguments.
66
67function(add_qml_unittest PATH COMPONENT_NAME)
68 import_executables(qmltestrunner)
69
70 add_executable_test(${COMPONENT_NAME} qmltestrunner
71 ${ARGN}
72 ARGS -input ${CMAKE_CURRENT_SOURCE_DIR}/${PATH}/tst_${COMPONENT_NAME}.qml ${QMLTEST_ARGS}
73 )
74endfunction()
75
76
77# add_manual_qml_test(path component_name
78# [...]
79# )
80#
81# Add manual test targets for ${component_name} under ${path}. It's assumed
82# that the test file is named ${path}/tst_${component_name}.qml.
83#
84# This function wraps add_manual_test, see below for available arguments.
85
86function(add_manual_qml_test PATH COMPONENT_NAME)
87 import_executables(qmlscene)
88 cmake_parse_arguments(QMLTEST "${QMLTEST_OPTIONS}" "${QMLTEST_SINGLE}" "${QMLTEST_MULTI}" ${ARGN})
89
90 add_manual_test(${COMPONENT_NAME} qmlscene
91 ${ARGN}
92 ARGS ${CMAKE_CURRENT_SOURCE_DIR}/${PATH}/tst_${COMPONENT_NAME}.qml ${QMLTEST_ARGS}
93 )
94endfunction()
95
96
97# add_executable_test(target component_name
98# [...] # see doc for add_manual_qml_test for common arguments
99# [ADD_TEST] # whether to add to the "test" target
100# [ARG_PREFIX arg_prefix] # prefix logging arguments with this string
101# [ARGS] arg1 [arg2 [...]] # pass these arguments to the test executable
102# [TARGETS target1 [target2 [...]]] # make the listed targets depend on this test
103# # if a corresponding xvfbtarget1, xvfbtarget2 etc. exists,
104# # this test running under xvfb will be added as a dependency
105# # of those targets
106# [ITERATIONS count] # run this test as a benchmark for ${count} iterations
107# )
108#
109# Logging options in the standard form of "-o filename,format"
110# will be appended to the arguments list, prefixed with ARG_PREFIX.
111# XUnitXML files will be stored in current binary dir or under
112# ARTIFACTS_DIR, if set.
113#
114# Three targets will be created:
115# - test${component_name} - Runs the test
116# - xvfbtest${component_name} - Runs the test under xvfb
117# - gdbtest${component_name} - Runs the test under gdb
118
119function(add_executable_test COMPONENT_NAME TARGET)
120 import_executables(gdb xvfb-run OPTIONAL)
121
122 cmake_parse_arguments(QMLTEST "${QMLTEST_OPTIONS}" "${QMLTEST_SINGLE}" "${QMLTEST_MULTI}" ${ARGN})
123 mangle_arguments()
124
125 if(ARTIFACTS_DIR)
126 file(RELATIVE_PATH path ${CMAKE_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR})
127 file(MAKE_DIRECTORY ${ARTIFACTS_DIR}/${path})
128 set(file_logger -o ${ARTIFACTS_DIR}/${path}/test${COMPONENT_NAME}.xml,xunitxml)
129 else()
130 file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
131 set(file_logger -o ${CMAKE_CURRENT_BINARY_DIR}/test${COMPONENT_NAME}.xml,xunitxml)
132 endif()
133
134 bake_arguments("${QMLTEST_ARG_PREFIX}" args ${iterations} ${file_logger} ${STDOUT_LOGGER})
135
136 set(qmltest_command
137 $<TARGET_FILE:${TARGET}>
138 ${QMLTEST_ARGS}
139 ${args}
140 )
141
142 add_qmltest_target(test${COMPONENT_NAME} ${TARGET}
143 COMMAND ${qmltest_command}
144 ${depends}
145 ENVIRONMENT QML2_IMPORT_PATH=${imports} ${QMLTEST_ENVIRONMENT}
146 ${add_test}
147 ${targets}
148 )
149
150 if(TARGET xvfb-run)
151 add_qmltest_target(xvfbtest${COMPONENT_NAME} ${TARGET}
152 COMMAND $<TARGET_FILE:xvfb-run> --server-args "-screen 0 1024x768x24" --auto-servernum ${qmltest_command}
153 ${depends}
154 ENVIRONMENT QML2_IMPORT_PATH=${imports} ${QMLTEST_ENVIRONMENT} LD_PRELOAD=/usr/lib/${CMAKE_LIBRARY_ARCHITECTURE}/mesa/libGL.so.1
155 TARGETS ${xvfb_targets}
156 )
157 endif()
158
159 if(TARGET gdb)
160 add_qmltest_target(gdbtest${COMPONENT_NAME} ${TARGET}
161 COMMAND $<TARGET_FILE:gdb> -ex run -args ${qmltest_command}
162 ${depends}
163 ENVIRONMENT QML2_IMPORT_PATH=${imports} ${QMLTEST_ENVIRONMENT}
164 )
165 endif()
166endfunction()
167
168
169# add_manual_test(target component_name
170# [DEPENDS target1 [target2 [...]]] # make this test depend on the specified targets
171# [IMPORT_PATHS import_path1 [import_path2 [...]] # use these QML import paths
172# # (they're searched first to last)
173# [ENVIRONMENT var1=value1 [var2=value2 [...]]] # set these environment variables
174# )
11#175#
12# Two targets will be created:176# Two targets will be created:
13# - testComponentName - Runs the test with qmltestrunner177# - try${component_name} - Runs the test for manual interaction
14# - tryComponentName - Runs the test with uqmlscene, for manual interaction178# - gdbtry${component_name} - Runs the test under gdb
15#179
16# To change/set a default value for the whole test suite, prior to calling add_qml_test, set:180function(add_manual_test COMPONENT_NAME TARGET)
17# qmltest_DEFAULT_NO_ADD_TEST (default: FALSE)181 import_executables(gdb OPTIONAL)
18# qmltest_DEFAULT_TARGETS182
19# qmltest_DEFAULT_IMPORT_PATHS183 cmake_parse_arguments(QMLTEST "${QMLTEST_OPTIONS}" "${QMLTEST_SINGLE}" "${QMLTEST_MULTI}" ${ARGN})
20# qmltest_DEFAULT_PROPERTIES184 mangle_arguments()
21185
22find_program(qmltestrunner_exe qmltestrunner)186 bake_arguments("${QMLTEST_ARG_PREFIX}" args -qmljsdebugger=port:3768,3800)
23find_program(qmlscene_exe qmlscene)187
24188 set(qmltry_command
25if(NOT qmltestrunner_exe)189 $<TARGET_FILE:${TARGET}>
26 msg(FATAL_ERROR "Could not locate qmltestrunner.")190 ${QMLTEST_ARGS}
27endif()191 ${args}
28192 )
29macro(add_manual_qml_test SUBPATH COMPONENT_NAME)193
30 set(options NO_ADD_TEST NO_TARGETS)194 add_qmltest_target(try${COMPONENT_NAME} ${TARGET}
31 set(multi_value_keywords IMPORT_PATHS TARGETS PROPERTIES ENVIRONMENT)195 COMMAND ${qmltry_command}
32196 ${depends}
33 cmake_parse_arguments(qmltest "${options}" "" "${multi_value_keywords}" ${ARGN})197 ENVIRONMENT QML2_IMPORT_PATH=${imports} ${QMLTEST_ENVIRONMENT}
34198 )
35 set(qmlscene_TARGET try${COMPONENT_NAME})199
36 set(qmltest_FILE ${SUBPATH}/tst_${COMPONENT_NAME})200 if(TARGET gdb)
37201 add_qmltest_target(gdbtry${COMPONENT_NAME} ${TARGET}
38 set(qmlscene_imports "")202 COMMAND $<TARGET_FILE:gdb> -ex run -args ${qmltry_command}
39 if(NOT "${qmltest_IMPORT_PATHS}" STREQUAL "")203 ${depends}
40 foreach(IMPORT_PATH ${qmltest_IMPORT_PATHS})204 ENVIRONMENT QML2_IMPORT_PATH=${imports} ${QMLTEST_ENVIRONMENT}
41 list(APPEND qmlscene_imports "-I")205 )
42 list(APPEND qmlscene_imports ${IMPORT_PATH})206 endif()
43 endforeach(IMPORT_PATH)207endfunction()
44 elseif(NOT "${qmltest_DEFAULT_IMPORT_PATHS}" STREQUAL "")208
45 foreach(IMPORT_PATH ${qmltest_DEFAULT_IMPORT_PATHS})209
46 list(APPEND qmlscene_imports "-I")210################### INTERNAL ####################
47 list(APPEND qmlscene_imports ${IMPORT_PATH})211
48 endforeach(IMPORT_PATH)212# add_qmltest_target(target_name target
49 endif()213# COMMAND test_exe [arg1 [...]] # execute this test with arguments
50214# [...] # see above for available arguments:
51 set(qmlscene_command215# # ADD_TEST, ENVIRONMENT, DEPENDS and TARGETS
52 env ${qmltest_ENVIRONMENT}216# )
53 ${qmlscene_exe} ${CMAKE_CURRENT_SOURCE_DIR}/${qmltest_FILE}.qml217
54 ${qmlscene_imports}218function(add_qmltest_target TARGET_NAME TARGET)
55 )219 cmake_parse_arguments(QMLTEST "${QMLTEST_OPTIONS}" "${QMLTEST_SINGLE}" "COMMAND;${QMLTEST_MULTI}" ${ARGN})
56 add_custom_target(${qmlscene_TARGET} ${qmlscene_command})220 mangle_arguments()
57221
58endmacro(add_manual_qml_test)222 # Additional arguments
59223 string(TOLOWER "${CMAKE_GENERATOR}" cmake_generator_lower)
60macro(add_qml_test SUBPATH COMPONENT_NAME)224 if(cmake_generator_lower STREQUAL "unix makefiles")
61 set(options NO_ADD_TEST NO_TARGETS)225 set(function "$(FUNCTION)")
62 set(multi_value_keywords IMPORT_PATHS TARGETS PROPERTIES ENVIRONMENT)226 endif()
63227
64 cmake_parse_arguments(qmltest "${options}" "" "${multi_value_keywords}" ${ARGN})228 add_custom_target(${TARGET_NAME}
65229 env ${QMLTEST_ENVIRONMENT}
66 set(qmltest_TARGET test${COMPONENT_NAME})230 ${QMLTEST_COMMAND} ${function}
67 set(qmltest_FILE ${SUBPATH}/tst_${COMPONENT_NAME})231 DEPENDS ${TARGET} ${QMLTEST_DEPENDS}
68232 )
69 set(qmltestrunner_imports "")233
70 if(NOT "${qmltest_IMPORT_PATHS}" STREQUAL "")234 if(QMLTEST_ADD_TEST)
71 foreach(IMPORT_PATH ${qmltest_IMPORT_PATHS})235 add_test(
72 list(APPEND qmltestrunner_imports "-import")236 NAME ${TARGET_NAME}
73 list(APPEND qmltestrunner_imports ${IMPORT_PATH})237 COMMAND ${QMLTEST_COMMAND}
74 endforeach(IMPORT_PATH)238 )
75 elseif(NOT "${qmltest_DEFAULT_IMPORT_PATHS}" STREQUAL "")239
76 foreach(IMPORT_PATH ${qmltest_DEFAULT_IMPORT_PATHS})240 foreach(ENV ${QMLTEST_ENVIRONMENT})
77 list(APPEND qmltestrunner_imports "-import")241 set_property(TEST ${TARGET_NAME} APPEND PROPERTY ENVIRONMENT ${ENV})
78 list(APPEND qmltestrunner_imports ${IMPORT_PATH})242 endforeach()
79 endforeach(IMPORT_PATH)243
80 endif()244 set_property(TEST ${TARGET_NAME} APPEND PROPERTY DEPENDS ${TARGET})
81245 foreach(DEPEND ${DEPENDS})
82 set(qmltest_command246 set_property(TEST ${TARGET_NAME} APPEND PROPERTY DEPENDS ${DEPEND})
83 env ${qmltest_ENVIRONMENT}247 endforeach()
84 ${qmltestrunner_exe} -input ${CMAKE_CURRENT_SOURCE_DIR}/${qmltest_FILE}.qml248 endif()
85 ${qmltestrunner_imports}249
86 -o ${CMAKE_BINARY_DIR}/${qmltest_TARGET}.xml,xunitxml250 foreach(UPSTREAM_TARGET ${QMLTEST_TARGETS})
87 -o -,txt251 add_dependencies(${UPSTREAM_TARGET} ${TARGET_NAME})
88 )252 endforeach()
89 add_custom_target(${qmltest_TARGET} ${qmltest_command})253endfunction()
90254
91 if(NOT "${qmltest_PROPERTIES}" STREQUAL "")255
92 set_target_properties(${qmltest_TARGET} PROPERTIES ${qmltest_PROPERTIES})256# mangle_arguments(${ARGN})
93 elseif(NOT "${qmltest_DEFAULT_PROPERTIES}" STREQUAL "")257#
94 set_target_properties(${qmltest_TARGET} PROPERTIES ${qmltest_DEFAULT_PROPERTIES})258# Verify there were no unparsed arguments and
95 endif()259# mangle the known ones for further processing.
96260
97 if("${qmltest_NO_ADD_TEST}" STREQUAL FALSE AND NOT "${qmltest_DEFAULT_NO_ADD_TEST}" STREQUAL "TRUE")261macro(mangle_arguments)
98 add_test(${qmltest_TARGET} ${qmltest_command})262 if(QMLTEST_UNPARSED_ARGUMENTS)
99263 message(FATAL_ERROR "Unexpected arguments: ${QMLTEST_UNPARSED_ARGUMENTS}")
100 if(NOT "${qmltest_UNPARSED_ARGUMENTS}" STREQUAL "")264 endif()
101 set_tests_properties(${qmltest_TARGET} PROPERTIES ${qmltest_PROPERTIES})265
102 elseif(NOT "${qmltest_DEFAULT_PROPERTIES}" STREQUAL "")266 if(QMLTEST_ADD_TEST)
103 set_tests_properties(${qmltest_TARGET} PROPERTIES ${qmltest_DEFAULT_PROPERTIES})267 set(add_test ADD_TEST)
104 endif()268 endif()
105 endif("${qmltest_NO_ADD_TEST}" STREQUAL FALSE AND NOT "${qmltest_DEFAULT_NO_ADD_TEST}" STREQUAL "TRUE")269
106270 if(QMLTEST_IMPORT_PATHS)
107 if("${qmltest_NO_TARGETS}" STREQUAL "FALSE")271 string(REPLACE ";" ":" imports "${QMLTEST_IMPORT_PATHS}")
108 if(NOT "${qmltest_TARGETS}" STREQUAL "")272 endif()
109 foreach(TARGET ${qmltest_TARGETS})273
110 add_dependencies(${TARGET} ${qmltest_TARGET})274 if(QMLTEST_ITERATIONS)
111 endforeach(TARGET)275 set(iterations -iterations ${QMLTEST_ITERATIONS})
112 elseif(NOT "${qmltest_DEFAULT_TARGETS}" STREQUAL "")276 endif()
113 foreach(TARGET ${qmltest_DEFAULT_TARGETS})277
114 add_dependencies(${TARGET} ${qmltest_TARGET})278 if(QMLTEST_DEPENDS)
115 endforeach(TARGET)279 set(depends DEPENDS ${QMLTEST_DEPENDS})
116 endif()280 endif()
117 endif("${qmltest_NO_TARGETS}" STREQUAL "FALSE")281
118282 if(QMLTEST_TARGETS)
119 add_manual_qml_test(${SUBPATH} ${COMPONENT_NAME} ${ARGN})283 set(targets TARGETS ${QMLTEST_TARGETS})
120endmacro(add_qml_test)284 endif()
285
286 set(xvfb_targets "")
287 foreach(target ${QMLTEST_TARGETS})
288 if(TARGET xvfb${target})
289 list(APPEND xvfb_targets xvfb${target})
290 endif()
291 endforeach()
292 set(xvfb_targets "${xvfb_targets}" PARENT_SCOPE)
293endmacro()
294
295
296# bake_arguments(prefix output
297# arg1 [arg2 [...]]
298# )
299#
300# If set, add the argument prefix before every passed
301# argument and store the result in ${OUTPUT} variable.
302
303function(bake_arguments PREFIX OUTPUT)
304 set(args "${ARGN}")
305 if(PREFIX)
306 set(args "")
307 foreach(arg ${ARGN})
308 list(APPEND args ${PREFIX})
309 list(APPEND args ${arg})
310 endforeach()
311 endif()
312 set(${OUTPUT} "${args}" PARENT_SCOPE)
313endfunction()
121314
=== removed file 'cmake_uninstall.cmake.in'
--- cmake_uninstall.cmake.in 2013-05-16 17:18:42 +0000
+++ cmake_uninstall.cmake.in 1970-01-01 00:00:00 +0000
@@ -1,21 +0,0 @@
1IF(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
2 MESSAGE(FATAL_ERROR "Cannot find install manifest: \"@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt\"")
3ENDIF(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
4
5FILE(READ "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt" files)
6STRING(REGEX REPLACE "\n" ";" files "${files}")
7FOREACH(file ${files})
8 MESSAGE(STATUS "Uninstalling \"$ENV{DESTDIR}${file}\"")
9 IF(EXISTS "$ENV{DESTDIR}${file}")
10 EXEC_PROGRAM(
11 "@CMAKE_COMMAND@" ARGS "-E remove \"$ENV{DESTDIR}${file}\""
12 OUTPUT_VARIABLE rm_out
13 RETURN_VALUE rm_retval
14 )
15 IF(NOT "${rm_retval}" STREQUAL 0)
16 MESSAGE(FATAL_ERROR "Problem when removing \"$ENV{DESTDIR}${file}\"")
17 ENDIF(NOT "${rm_retval}" STREQUAL 0)
18 ELSE(EXISTS "$ENV{DESTDIR}${file}")
19 MESSAGE(STATUS "File \"$ENV{DESTDIR}${file}\" does not exist.")
20 ENDIF(EXISTS "$ENV{DESTDIR}${file}")
21ENDFOREACH(file)
220
=== modified file 'debian/changelog'
--- debian/changelog 2016-08-09 23:00:43 +0000
+++ debian/changelog 2016-08-17 18:09:13 +0000
@@ -1,3 +1,10 @@
1ubuntu-settings-components (0.9-0ubuntu1) UNRELEASED; urgency=medium
2
3 * rename qtdeclarative5-ubuntu-settings-components to new naming scheme,
4 qml-module-ubuntu-settings-components
5
6 -- Michał Sawicz <michal.sawicz@canonical.com> Fri, 29 Jan 2016 00:10:05 +0100
7
1ubuntu-settings-components (0.8+16.10.20160809-0ubuntu1) yakkety; urgency=medium8ubuntu-settings-components (0.8+16.10.20160809-0ubuntu1) yakkety; urgency=medium
29
3 [ Albert Astals Cid ]10 [ Albert Astals Cid ]
411
=== modified file 'debian/control'
--- debian/control 2016-06-14 12:01:31 +0000
+++ debian/control 2016-08-17 18:09:13 +0000
@@ -1,19 +1,21 @@
1Source: ubuntu-settings-components1Source: ubuntu-settings-components
2Section: misc2Section: misc
3Priority: optional3Priority: optional
4Maintainer: Andrea Cimitan <andrea.cimitan@canonical.com>4Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
5Build-Depends: cmake,5Build-Depends: cmake,
6 cmake-extras (>= 0.6),
6 debhelper (>= 9),7 debhelper (>= 9),
7 pkg-config,8 pkg-config,
9 python3:any,
10 qml-module-qt-labs-folderlistmodel,
8 qml-module-qtquick-layouts,11 qml-module-qtquick-layouts,
9 qt5-default,12 qml-module-qtquick2,
13 qml-module-qttest,
14 qml-module-ubuntu-components | qml-module-ubuntu-components-gles,
15 qml-module-ubuntu-thumbnailer0.1,
10 qtbase5-private-dev,16 qtbase5-private-dev,
11 qtdeclarative5-dev,17 qtdeclarative5-dev,
12 qtdeclarative5-dev-tools,18 qtdeclarative5-dev-tools,
13 qtdeclarative5-qtquick2-plugin,
14 qtdeclarative5-quicklayouts-plugin,
15 qtdeclarative5-test-plugin,
16 qtdeclarative5-ubuntu-ui-toolkit-plugin (>= 1.1) | qtdeclarative5-ubuntu-ui-toolkit-plugin-gles (>= 1.1),
17 suru-icon-theme,19 suru-icon-theme,
18Standards-Version: 3.9.420Standards-Version: 3.9.4
19Homepage: https://launchpad.net/ubuntu-settings-components21Homepage: https://launchpad.net/ubuntu-settings-components
@@ -26,7 +28,18 @@
26Package: qtdeclarative5-ubuntu-settings-components28Package: qtdeclarative5-ubuntu-settings-components
27Architecture: any29Architecture: any
28Multi-Arch: same30Multi-Arch: same
29Pre-Depends: dpkg (>= 1.15.6~)31Section: oldlibs
32Depends: qml-module-ubuntu-settings-components,
33 ${misc:Depends},
34Description: transitional dummy package for Ubuntu settings components
35 Ubuntu settings components for Unity8
36 .
37 This is a transitional dummy package which can be safely removed.
38
39Package: qml-module-ubuntu-settings-components
40Architecture: any
41Multi-Arch: same
42Pre-Depends: dpkg (>= 1.15.6~),
30Depends: gsettings-ubuntu-schemas (>= 0.0.7),43Depends: gsettings-ubuntu-schemas (>= 0.0.7),
31 qml-module-biometryd,44 qml-module-biometryd,
32 qml-module-qtquick-layouts,45 qml-module-qtquick-layouts,
@@ -35,7 +48,7 @@
35 suru-icon-theme,48 suru-icon-theme,
36 ${misc:Depends},49 ${misc:Depends},
37 ${shlibs:Depends},50 ${shlibs:Depends},
38Breaks: qtdeclarative5-ubuntu-settings-components-assets (<< 0.3),51Breaks: qtdeclarative5-ubuntu-settings-components (<< 0.9),
39Replaces: qtdeclarative5-ubuntu-settings-components-assets (<< 0.3),52Replaces: qtdeclarative5-ubuntu-settings-components (<< 0.9),
40Description: Ubuntu Settings Components53Description: Ubuntu settings Components
41 Ubuntu settings components for Unity54 Ubuntu settings components for Unity8
4255
=== added file 'debian/qml-module-ubuntu-settings-components.install'
--- debian/qml-module-ubuntu-settings-components.install 1970-01-01 00:00:00 +0000
+++ debian/qml-module-ubuntu-settings-components.install 2016-08-17 18:09:13 +0000
@@ -0,0 +1,5 @@
1usr/lib/*/qt5/qml/Ubuntu/Settings/Components
2usr/lib/*/qt5/qml/Ubuntu/Settings/Fingerprint
3usr/lib/*/qt5/qml/Ubuntu/Settings/Menus
4usr/lib/*/qt5/qml/Ubuntu/Settings/Vpn
5usr/share/locale
06
=== modified file 'debian/rules'
--- debian/rules 2014-06-26 15:04:45 +0000
+++ debian/rules 2016-08-17 18:09:13 +0000
@@ -5,5 +5,7 @@
5#export DH_VERBOSE=15#export DH_VERBOSE=1
6export DPKG_GENSYMBOLS_CHECK_LEVEL=46export DPKG_GENSYMBOLS_CHECK_LEVEL=4
77
8export QT_SELECT=5
9
8%:10%:
9 dh $@ --parallel --fail-missing11 dh $@ --parallel --fail-missing
1012
=== added directory 'debian/tests'
=== added file 'debian/tests/control'
--- debian/tests/control 1970-01-01 00:00:00 +0000
+++ debian/tests/control 2016-08-17 18:09:13 +0000
@@ -0,0 +1,4 @@
1Tests: qmluitests.sh
2Depends: @,
3 @builddeps@,
4 xvfb,
05
=== added file 'debian/tests/qmluitests.sh'
--- debian/tests/qmluitests.sh 1970-01-01 00:00:00 +0000
+++ debian/tests/qmluitests.sh 2016-08-17 18:09:13 +0000
@@ -0,0 +1,10 @@
1#!/bin/sh
2
3export QT_SELECT=5
4
5dh_auto_configure -- -DARTIFACTS_DIR=${ADT_ARTIFACTS} \
6 -DUSC_PLUGINPATH=
7
8dh_auto_build --parallel -- -C tests/qmltests/mocks
9
10dh_auto_build --parallel -- -k xvfballtests
011
=== modified file 'examples/Fingerprint.qml'
--- examples/Fingerprint.qml 2016-06-15 10:45:27 +0000
+++ examples/Fingerprint.qml 2016-08-17 18:09:13 +0000
@@ -17,7 +17,7 @@
17 */17 */
1818
19import QtQuick 2.419import QtQuick 2.4
20import QtQuick.Layouts 1.220import QtQuick.Layouts 1.1
21import Ubuntu.Components 1.321import Ubuntu.Components 1.3
22import Ubuntu.Components.Popups 1.322import Ubuntu.Components.Popups 1.3
23import Ubuntu.Components.ListItems 1.3 as ListItems23import Ubuntu.Components.ListItems 1.3 as ListItems
2424
=== modified file 'plugins/Ubuntu/Settings/Components/CMakeLists.txt'
--- plugins/Ubuntu/Settings/Components/CMakeLists.txt 2015-04-07 09:42:19 +0000
+++ plugins/Ubuntu/Settings/Components/CMakeLists.txt 2016-08-17 18:09:13 +0000
@@ -1,12 +1,5 @@
1project(UbuntuSettingsComponentsQml)1project(UbuntuSettingsComponentsQml)
22
3find_package(Qt5Core REQUIRED)
4
5include_directories(
6 ${CMAKE_CURRENT_SOURCE_DIR}
7 ${CMAKE_CURRENT_BINARY_DIR}
8)
9
10add_definitions(-DUBUNTUSETTINGSCOMPONENTS_LIBRARY)3add_definitions(-DUBUNTUSETTINGSCOMPONENTS_LIBRARY)
114
12add_library(UbuntuSettingsComponentsQml MODULE5add_library(UbuntuSettingsComponentsQml MODULE
@@ -14,6 +7,10 @@
14 serverpropertysynchroniser.cpp7 serverpropertysynchroniser.cpp
15)8)
169
17qt5_use_modules(UbuntuSettingsComponentsQml Core Qml Quick)10target_link_libraries(UbuntuSettingsComponentsQml
11 Qt5::Core
12 Qt5::Qml
13 Qt5::Quick
14)
1815
19add_usc_plugin(Ubuntu.Settings.Components 0.1 Ubuntu/Settings/Components TARGETS UbuntuSettingsComponentsQml)16add_usc_plugin(Ubuntu.Settings.Components 0.1 Ubuntu/Settings/Components TARGETS UbuntuSettingsComponentsQml)
2017
=== removed file 'plugins/Ubuntu/Settings/Components/Components.qmltypes'
--- plugins/Ubuntu/Settings/Components/Components.qmltypes 2015-04-07 09:42:19 +0000
+++ plugins/Ubuntu/Settings/Components/Components.qmltypes 1970-01-01 00:00:00 +0000
@@ -1,73 +0,0 @@
1import QtQuick.tooling 1.1
2
3// This file describes the plugin-supplied types contained in the library.
4// It is used for QML tooling purposes only.
5//
6// This file was auto-generated by:
7// 'qmlplugindump -notrelocatable Ubuntu.Settings.Components 0.1 plugins'
8
9Module {
10 Component {
11 name: "ServerPropertySynchroniser"
12 prototype: "QObject"
13 exports: ["Ubuntu.Settings.Components/ServerPropertySynchroniser 0.1"]
14 exportMetaObjectRevisions: [0]
15 Property { name: "serverTarget"; type: "QObject"; isPointer: true }
16 Property { name: "serverProperty"; type: "string" }
17 Property { name: "userTarget"; type: "QObject"; isPointer: true }
18 Property { name: "userProperty"; type: "string" }
19 Property { name: "userTrigger"; type: "string" }
20 Property { name: "syncTimeout"; type: "int" }
21 Property { name: "useWaitBuffer"; type: "bool" }
22 Property { name: "maximumWaitBufferInterval"; type: "int" }
23 Property { name: "bufferedSyncTimeout"; type: "bool" }
24 Property { name: "syncWaiting"; type: "bool"; isReadonly: true }
25 Signal {
26 name: "serverTargetChanged"
27 Parameter { name: "serverTarget"; type: "QObject"; isPointer: true }
28 }
29 Signal {
30 name: "serverPropertyChanged"
31 Parameter { name: "serverProperty"; type: "string" }
32 }
33 Signal {
34 name: "userTargetChanged"
35 Parameter { name: "userTarget"; type: "QObject"; isPointer: true }
36 }
37 Signal {
38 name: "userPropertyChanged"
39 Parameter { name: "serverProperty"; type: "string" }
40 }
41 Signal {
42 name: "userTriggerChanged"
43 Parameter { name: "userTrigger"; type: "string" }
44 }
45 Signal {
46 name: "syncTimeoutChanged"
47 Parameter { name: "timeout"; type: "int" }
48 }
49 Signal {
50 name: "syncWaitingChanged"
51 Parameter { name: "waiting"; type: "bool" }
52 }
53 Signal {
54 name: "bufferedSyncTimeoutChanged"
55 Parameter { type: "bool" }
56 }
57 Signal {
58 name: "useWaitBufferChanged"
59 Parameter { name: "useWaitBuffer"; type: "bool" }
60 }
61 Signal {
62 name: "maximumWaitBufferIntervalChanged"
63 Parameter { name: "timeout"; type: "int" }
64 }
65 Signal {
66 name: "syncTriggered"
67 Parameter { name: "value"; type: "QVariant" }
68 }
69 Method { name: "updateUserValue" }
70 Method { name: "activate" }
71 Method { name: "reset" }
72 }
73}
740
=== modified file 'plugins/Ubuntu/Settings/Components/serverpropertysynchroniser.cpp'
--- plugins/Ubuntu/Settings/Components/serverpropertysynchroniser.cpp 2015-05-06 16:31:57 +0000
+++ plugins/Ubuntu/Settings/Components/serverpropertysynchroniser.cpp 2016-08-17 18:09:13 +0000
@@ -18,7 +18,6 @@
1818
19#include <QQmlProperty>19#include <QQmlProperty>
20#include <QTimer>20#include <QTimer>
21#include <QDebug>
2221
23ServerPropertySynchroniser::ServerPropertySynchroniser(QObject* parent)22ServerPropertySynchroniser::ServerPropertySynchroniser(QObject* parent)
24 : QObject(parent)23 : QObject(parent)
2524
=== modified file 'plugins/Ubuntu/Settings/Menus/CMakeLists.txt'
--- plugins/Ubuntu/Settings/Menus/CMakeLists.txt 2014-07-31 13:05:44 +0000
+++ plugins/Ubuntu/Settings/Menus/CMakeLists.txt 2016-08-17 18:09:13 +0000
@@ -1,29 +1,21 @@
1project(UbuntuSettingsMenusQml)1project(UbuntuSettingsMenusQml)
22
3find_package(Qt5Core REQUIRED)3add_definitions(-DUBUNTUSETTINGSCOMPONENTS_LIBRARY)
44
5include_directories(5add_library(UbuntuSettingsMenusQml MODULE
6 ${CMAKE_CURRENT_SOURCE_DIR}
7 ${CMAKE_CURRENT_BINARY_DIR}
8)
9
10set(UbuntuSettingsMenusQml_SOURCES
11 plugin.cpp6 plugin.cpp
12 types.h7 types.h
13)
14add_definitions(-DUBUNTUSETTINGSCOMPONENTS_LIBRARY)
15
16add_library(UbuntuSettingsMenusQml MODULE
17 ${UbuntuSettingsMenusQml_SOURCES}8 ${UbuntuSettingsMenusQml_SOURCES}
18)9)
1910
20target_link_libraries(UbuntuSettingsMenusQml11target_link_libraries(UbuntuSettingsMenusQml
12 Qt5::Core
13 Qt5::Qml
14 Qt5::Quick
21 ${GLIB_LIBRARIES}15 ${GLIB_LIBRARIES}
22 ${GIO_LIBRARIES}16 ${GIO_LIBRARIES}
23 ${QMENUMODEL_LDFLAGS}17 ${QMENUMODEL_LDFLAGS}
24 ${LIBUPSTART_LIBRARIES}18 ${LIBUPSTART_LIBRARIES}
25)19)
2620
27qt5_use_modules(UbuntuSettingsMenusQml Core Qml Quick)
28
29add_usc_plugin(Ubuntu.Settings.Menus 0.1 Ubuntu/Settings/Menus TARGETS UbuntuSettingsMenusQml)21add_usc_plugin(Ubuntu.Settings.Menus 0.1 Ubuntu/Settings/Menus TARGETS UbuntuSettingsMenusQml)
3022
=== removed file 'plugins/Ubuntu/Settings/Menus/Menus.qmltypes'
--- plugins/Ubuntu/Settings/Menus/Menus.qmltypes 2015-04-07 09:42:19 +0000
+++ plugins/Ubuntu/Settings/Menus/Menus.qmltypes 1970-01-01 00:00:00 +0000
@@ -1,30 +0,0 @@
1import QtQuick.tooling 1.1
2
3// This file describes the plugin-supplied types contained in the library.
4// It is used for QML tooling purposes only.
5//
6// This file was auto-generated by:
7// 'qmlplugindump -notrelocatable Ubuntu.Settings.Menus 0.1 plugins'
8
9Module {
10 Component {
11 name: "TransferState"
12 prototype: "QObject"
13 exports: ["Ubuntu.Settings.Menus/TransferState 0.1"]
14 isCreatable: false
15 exportMetaObjectRevisions: [0]
16 Enum {
17 name: "TransferStates"
18 values: {
19 "Queued": 0,
20 "Running": 1,
21 "Paused": 2,
22 "Canceled": 3,
23 "Hashing": 4,
24 "Processing": 5,
25 "Finished": 6,
26 "Error": 7
27 }
28 }
29 }
30}
310
=== modified file 'runtests.sh'
--- runtests.sh 2014-08-04 14:27:30 +0000
+++ runtests.sh 2016-08-17 18:09:13 +0000
@@ -53,7 +53,7 @@
5353
54cd -54cd -
5555
56make -k qmltests56make -k alltests
5757
58cd -58cd -
5959
6060
=== modified file 'tests/CMakeLists.txt'
--- tests/CMakeLists.txt 2016-02-29 18:14:22 +0000
+++ tests/CMakeLists.txt 2016-08-17 18:09:13 +0000
@@ -1,10 +1,53 @@
1include(QmlTest)
2
3# QML tests that require graphical capabilities.
4add_custom_target(uitests)
5add_custom_target(xvfbuitests)
6
7add_custom_target(alltests)
8add_dependencies(alltests uitests)
9
10add_custom_target(xvfballtests)
11add_dependencies(xvfballtests xvfbuitests)
12
1add_subdirectory(utils)13add_subdirectory(utils)
214
3# QML tests that require graphical capabitlies.15set(USC_PLUGINPATH "${CMAKE_BINARY_DIR}/plugins" CACHE PATH "Path to pre-built u-s-c plugin dir.")
4add_custom_target(qmluitests)16
5add_dependencies(qmluitests UbuntuTest)17set(USC_IMPORT_PATHS
618 ${CMAKE_BINARY_DIR}/tests/qmltests/mocks
7add_custom_target(qmltests)19 ${CMAKE_BINARY_DIR}/tests/utils/modules
8add_dependencies(qmltests qmluitests)20 ${USC_PLUGINPATH}
921)
22
23macro(usc_parse_arguments)
24 cmake_parse_arguments(USCTEST
25 "${QMLTEST_OPTIONS}"
26 "${QMLTEST_SINGLE}"
27 "${QMLTEST_MULTI}"
28 ${ARGN}
29 )
30
31 set(environment
32 UNITY_TESTING=1
33 LANGUAGE=C
34 LC_ALL=C.UTF-8
35 )
36endmacro()
37
38# add a graphical qml test
39# see QmlTest.cmake for additional options
40function(add_usc_qmltest PATH COMPONENT_NAME)
41 usc_parse_arguments(${ARGN})
42 add_qml_test(${PATH} ${COMPONENT_NAME}
43 DEPENDS UbuntuTest
44 IMPORT_PATHS ${USC_IMPORT_PATHS}
45 TARGETS uitests
46 ${ARGN}
47 ENVIRONMENT ${environment}
48 ${USCTEST_ENVIRONMENT}
49 )
50endfunction()
51
52add_subdirectory(imports)
10add_subdirectory(qmltests)53add_subdirectory(qmltests)
1154
=== added directory 'tests/imports'
=== added file 'tests/imports/CMakeLists.txt'
--- tests/imports/CMakeLists.txt 1970-01-01 00:00:00 +0000
+++ tests/imports/CMakeLists.txt 2016-08-17 18:09:13 +0000
@@ -0,0 +1,5 @@
1
2#
3# Test that all imports for QtQuick and Ubuntu.Components use the wanted version
4#
5add_test(imports ${CMAKE_CURRENT_SOURCE_DIR}/check_imports.py ${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR})
06
=== added file 'tests/imports/check_imports.py'
--- tests/imports/check_imports.py 1970-01-01 00:00:00 +0000
+++ tests/imports/check_imports.py 2016-08-17 18:09:13 +0000
@@ -0,0 +1,125 @@
1#! /usr/bin/env python3
2
3#
4# Copyright (C) 2015 Canonical Ltd
5#
6# This program is free software: you can redistribute it and/or modify
7# it under the terms of the GNU General Public License version 3 as
8# published by the Free Software Foundation.
9#
10# This program is distributed in the hope that it will be useful,
11# but WITHOUT ANY WARRANTY; without even the implied warranty of
12# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13# GNU General Public License for more details.
14#
15# You should have received a copy of the GNU General Public License
16# along with this program. If not, see <http://www.gnu.org/licenses/>.
17#
18
19#
20# Little helper program to test that all source files import
21# versions we want
22#
23# Usage: check_imports.py directory [ignore_prefix]
24#
25# The directory specifies the (recursive) location of the source files. Any
26# files with a path that starts with ignore_prefix are not checked. This is
27# useful to exclude files that are generated into the build directory.
28#
29# See the file_pat definition below for a list of files that are checked.
30#
31
32from __future__ import print_function
33
34import argparse
35import os
36import re
37import sys
38
39
40# Print msg on stderr, preceded by program name and followed by newline
41def error(msg):
42 print(os.path.basename(sys.argv[0]) + ": " + msg, file=sys.stderr)
43
44
45# Function to raise errors encountered by os.walk
46def raise_error(e):
47 raise e
48
49# Qt Quick patterns
50# If you increase this make sure you increase
51# the Qt version in debian/control and in CMakeLists.txt
52quick_pat = re.compile(r'.*import QtQuick.*$')
53quick_good_pat = re.compile(r'.*import QtQuick 2\.4.*$')
54quick_layouts_good_pat = re.compile(r'.*import QtQuick.Layouts 1\.1.*$')
55quick_window_good_pat = re.compile(r'.*import QtQuick.Window 2\.2.*$')
56
57# Ubuntu Components patterns
58ubuntu_components_pat = re.compile(r'.*import Ubuntu.Components.*')
59ubuntu_good_components_pat = re.compile(r'.*import Ubuntu.Components.*1\.3.*')
60
61def scan_for_bad_import(file_path, all_pat, good_pats):
62 errors = []
63 with open(file_path, 'rt', encoding='utf-8') as ifile:
64 for lino, line in enumerate(ifile, start=1):
65 if all_pat.match(line):
66 good_found = False
67 for good_pat in good_pats:
68 if good_pat.match(line):
69 good_found = True
70 if not good_found:
71 errors.append(lino)
72 if 0 < len(errors) <= 10:
73 if len(errors) > 1:
74 plural = 's'
75 else:
76 plural = ''
77 print(
78 "%s: bad import version in line%s %s" % (
79 file_path, plural, ", ".join((str(i) for i in errors))))
80 elif errors:
81 print("%s: bad import version in multiple lines" % file_path)
82 return bool(errors)
83
84# Parse args
85
86parser = argparse.ArgumentParser(
87 description='Test that source files contain the wanted import version.')
88parser.add_argument(
89 'dir', nargs=1,
90 help='The directory to (recursively) search for source files')
91parser.add_argument(
92 'ignore_prefix', nargs='?', default=None,
93 help='Ignore source files with a path that starts with the given prefix.')
94args = parser.parse_args()
95
96# Files we want to check for import version.
97
98file_pat = (
99 r'(.*\.(js|qml)$)')
100pat = re.compile(file_pat)
101
102# Find all the files with matching file extension in the specified
103# directory and check them
104
105directory = os.path.abspath(args.dir[0])
106ignore = args.ignore_prefix and os.path.abspath(args.ignore_prefix) or None
107
108found_bad_import = False
109try:
110 for root, dirs, files in os.walk(directory, onerror=raise_error):
111 for file in files:
112 path = os.path.join(root, file)
113 if not (ignore and path.startswith(ignore)) and pat.match(file):
114 quick_good_pats = [quick_good_pat, quick_layouts_good_pat, quick_window_good_pat]
115 if scan_for_bad_import(path, quick_pat, quick_good_pats):
116 found_bad_import = True
117 if scan_for_bad_import(path, ubuntu_components_pat, [ubuntu_good_components_pat]):
118 found_bad_import = True
119
120except OSError as e:
121 error("cannot create file list for \"" + dir + "\": " + e.strerror)
122 sys.exit(1)
123
124if found_bad_import:
125 sys.exit(1)
0126
=== modified file 'tests/qmltests/CMakeLists.txt'
--- tests/qmltests/CMakeLists.txt 2016-06-30 15:44:36 +0000
+++ tests/qmltests/CMakeLists.txt 2016-08-17 18:09:13 +0000
@@ -1,48 +1,36 @@
1# add_qml_test macro
2include(QmlTest)
3
4add_subdirectory(mocks)1add_subdirectory(mocks)
52
6set(qmltest_DEFAULT_TARGETS qmluitests)3add_usc_qmltest(Components Calendar)
7set(qmltest_DEFAULT_NO_ADD_TEST TRUE)4add_usc_qmltest(Components ServerPropertySynchroniser)
8set(qmltest_DEFAULT_PROPERTIES ENVIRONMENT "LC_ALL=C")5
96add_usc_qmltest(Menus AccessPointMenu)
10set(qmltest_DEFAULT_IMPORT_PATHS7add_usc_qmltest(Menus ButtonMenu)
11 ${CMAKE_BINARY_DIR}/plugins8add_usc_qmltest(Menus CalendarMenu)
12 ${CMAKE_BINARY_DIR}/tests/utils/modules9add_usc_qmltest(Menus CheckableMenu)
13)10add_usc_qmltest(Menus EventMenu)
1411add_usc_qmltest(Menus GroupedMessageMenu)
15add_qml_test(Components Calendar)12add_usc_qmltest(Menus MediaPlayerMenu)
16add_qml_test(Components ServerPropertySynchroniser)13add_usc_qmltest(Menus PlaybackItemMenu)
1714add_usc_qmltest(Menus ProgressBarMenu)
18add_qml_test(Menus AccessPointMenu)15add_usc_qmltest(Menus ProgressValueMenu)
19add_qml_test(Menus ButtonMenu)16add_usc_qmltest(Menus SectionMenu)
20add_qml_test(Menus CalendarMenu)17add_usc_qmltest(Menus SimpleMessageMenu)
21add_qml_test(Menus CheckableMenu)18add_usc_qmltest(Menus SliderMenu)
22add_qml_test(Menus EventMenu)19add_usc_qmltest(Menus SnapDecisionMenu)
23add_qml_test(Menus GroupedMessageMenu)20add_usc_qmltest(Menus SwitchMenu)
24add_qml_test(Menus MediaPlayerMenu)21add_usc_qmltest(Menus UserSessionMenu)
25add_qml_test(Menus PlaybackItemMenu)22add_usc_qmltest(Menus TextMessageMenu)
26add_qml_test(Menus ProgressBarMenu)23add_usc_qmltest(Menus TimeZoneMenu)
27add_qml_test(Menus ProgressValueMenu)24add_usc_qmltest(Menus TransferMenu)
28add_qml_test(Menus SectionMenu)25
29add_qml_test(Menus SimpleMessageMenu)26add_usc_qmltest(Vpn VpnList)
30add_qml_test(Menus SliderMenu)27add_usc_qmltest(Vpn VpnEditor)
31add_qml_test(Menus SnapDecisionMenu)28add_usc_qmltest(Vpn VpnOpenvpnEditor)
32add_qml_test(Menus SwitchMenu)29add_usc_qmltest(Vpn VpnPptpEditor)
33add_qml_test(Menus UserSessionMenu)30add_usc_qmltest(Vpn VpnPreviewDialogCertificateChecks)
34add_qml_test(Menus TextMessageMenu)31add_usc_qmltest(Vpn VpnPreviewDialog ENVIRONMENT NO_SSL_CERTIFICATE_CHECK=1)
35add_qml_test(Menus TimeZoneMenu)32
36add_qml_test(Menus TransferMenu)33add_usc_qmltest(Fingerprint Fingerprints)
3734add_usc_qmltest(Fingerprint FingerprintNames)
38add_qml_test(Vpn VpnList)35add_usc_qmltest(Fingerprint FingerprintSetup)
39add_qml_test(Vpn VpnEditor)36add_usc_qmltest(Fingerprint FingerprintVisual)
40add_qml_test(Vpn VpnOpenvpnEditor)
41add_qml_test(Vpn VpnPptpEditor)
42add_qml_test(Vpn VpnPreviewDialogCertificateChecks)
43add_qml_test(Vpn VpnPreviewDialog ENVIRONMENT NO_SSL_CERTIFICATE_CHECK=1)
44
45add_qml_test(Fingerprint Fingerprints IMPORT_PATHS ${CMAKE_CURRENT_BINARY_DIR}/mocks)
46add_qml_test(Fingerprint FingerprintNames IMPORT_PATHS ${CMAKE_CURRENT_BINARY_DIR}/mocks)
47add_qml_test(Fingerprint FingerprintSetup IMPORT_PATHS ${CMAKE_CURRENT_BINARY_DIR}/mocks)
48add_qml_test(Fingerprint FingerprintVisual)
4937
=== modified file 'tests/qmltests/Fingerprint/tst_FingerprintNames.qml'
--- tests/qmltests/Fingerprint/tst_FingerprintNames.qml 2016-06-15 10:45:27 +0000
+++ tests/qmltests/Fingerprint/tst_FingerprintNames.qml 2016-08-17 18:09:13 +0000
@@ -60,7 +60,7 @@
60 }60 }
6161
62 UbuntuTestCase {62 UbuntuTestCase {
63 name: "TestOverview"63 name: "FingerprintNames"
64 when: windowShown64 when: windowShown
6565
66 property var pageInstance: null66 property var pageInstance: null
6767
=== modified file 'tests/qmltests/Fingerprint/tst_FingerprintSetup.qml'
--- tests/qmltests/Fingerprint/tst_FingerprintSetup.qml 2016-06-20 13:53:42 +0000
+++ tests/qmltests/Fingerprint/tst_FingerprintSetup.qml 2016-08-17 18:09:13 +0000
@@ -62,7 +62,7 @@
62 }62 }
6363
64 UbuntuTestCase {64 UbuntuTestCase {
65 name: "SetupUI"65 name: "FingerprintSetup"
66 when: windowShown66 when: windowShown
6767
68 property var setupInstance: null68 property var setupInstance: null
@@ -113,7 +113,7 @@
113 }113 }
114114
115 function test_startedState() {115 function test_startedState() {
116 var targetText = i18n.dtr("ubuntu-settings-components", "Swipe your finger repeatedly over the reader.");116 var targetText = i18n.dtr("ubuntu-settings-components", "Tap your finger repeatedly on the reader.");
117 setupInstance.enrollmentProgressed(0.5, {});117 setupInstance.enrollmentProgressed(0.5, {});
118 statusLabelSpy.wait();118 statusLabelSpy.wait();
119 compare(getStatusLabel().text, targetText);119 compare(getStatusLabel().text, targetText);
120120
=== modified file 'tests/qmltests/Fingerprint/tst_Fingerprints.qml'
--- tests/qmltests/Fingerprint/tst_Fingerprints.qml 2016-06-15 10:45:27 +0000
+++ tests/qmltests/Fingerprint/tst_Fingerprints.qml 2016-08-17 18:09:13 +0000
@@ -41,7 +41,7 @@
41 }41 }
4242
43 UbuntuTestCase {43 UbuntuTestCase {
44 name: "FingerprintPanel"44 name: "Fingerprints"
45 when: windowShown45 when: windowShown
4646
47 property var fingerprintsInstance: null47 property var fingerprintsInstance: null
@@ -75,7 +75,7 @@
75 return findInvisibleChild(fingerprintsInstance, "removalObserver");75 return findInvisibleChild(fingerprintsInstance, "removalObserver");
76 }76 }
7777
78 function getBrokenDialog() {78 function getBrokenDialog() {
79 return findChild(testRoot, "fingerprintReaderBrokenDialog");79 return findChild(testRoot, "fingerprintReaderBrokenDialog");
80 }80 }
8181
@@ -119,7 +119,7 @@
119 // Halt testing until dialog has been destroyed.119 // Halt testing until dialog has been destroyed.
120 tryCompareFunction(function() {120 tryCompareFunction(function() {
121 return getBrokenDialog();121 return getBrokenDialog();
122 }, null);122 }, undefined);
123 }123 }
124124
125 function test_noPasscode() {125 function test_noPasscode() {
@@ -209,7 +209,7 @@
209 // to function.209 // to function.
210 tryCompareFunction(function() {210 tryCompareFunction(function() {
211 return findChild(testRoot, "fingerprintRemoveAllDialog");211 return findChild(testRoot, "fingerprintRemoveAllDialog");
212 }, null);212 }, undefined);
213 }213 }
214214
215 function test_enrollmentSucceeded() {215 function test_enrollmentSucceeded() {
216216
=== modified file 'tests/qmltests/Menus/tst_GroupedMessageMenu.qml'
--- tests/qmltests/Menus/tst_GroupedMessageMenu.qml 2016-02-11 11:23:02 +0000
+++ tests/qmltests/Menus/tst_GroupedMessageMenu.qml 2016-08-17 18:09:13 +0000
@@ -69,7 +69,7 @@
69 target: messageMenu269 target: messageMenu2
70 }70 }
7171
72 TestCase {72 UbuntuTestCase {
73 name: "GropedMessageMenu"73 name: "GropedMessageMenu"
74 when: windowShown74 when: windowShown
7575
@@ -84,8 +84,6 @@
84 }84 }
8585
86 function test_dismiss() {86 function test_dismiss() {
87 skip("QTBUG-35656");
88 // TODO - Remove skip once bug has been fixed. https://bugreports.qt-project.org/browse/QTBUG-35656
89 mouseFlick(messageMenu2, messageMenu2.width / 2, messageMenu2.height / 2, messageMenu2.width, messageMenu2.height / 2, true, true, units.gu(1), 10);87 mouseFlick(messageMenu2, messageMenu2.width / 2, messageMenu2.height / 2, messageMenu2.width, messageMenu2.height / 2, true, true, units.gu(1), 10);
90 tryCompareFunction(function() { return signalSpyDismiss.count > 0; }, true);88 tryCompareFunction(function() { return signalSpyDismiss.count > 0; }, true);
91 }89 }
9290
=== modified file 'tests/qmltests/mocks/Biometryd/CMakeLists.txt'
--- tests/qmltests/mocks/Biometryd/CMakeLists.txt 2016-06-14 22:33:55 +0000
+++ tests/qmltests/mocks/Biometryd/CMakeLists.txt 2016-08-17 18:09:13 +0000
@@ -2,7 +2,7 @@
2 ${CMAKE_CURRENT_BINARY_DIR}2 ${CMAKE_CURRENT_BINARY_DIR}
3)3)
44
5set(MOCK_BIOMETRYD_SOURCES5add_library(MockBiometryd MODULE
6 plugin.cpp6 plugin.cpp
7 MockDevice.cpp7 MockDevice.cpp
8 MockFingerprintReader.cpp8 MockFingerprintReader.cpp
@@ -13,8 +13,10 @@
13 MockUser.cpp13 MockUser.cpp
14)14)
1515
16add_library(MockBiometryd MODULE ${MOCK_BIOMETRYD_SOURCES})16target_link_libraries(MockBiometryd
1717 Qt5::Core
18qt5_use_modules(MockBiometryd Qml Quick Core)18 Qt5::Qml
19 Qt5::Quick
20)
1921
20add_usc_mock(Biometryd 0.0 Biometryd TARGETS MockBiometryd)22add_usc_mock(Biometryd 0.0 Biometryd TARGETS MockBiometryd)
2123
=== modified file 'tests/qmltests/mocks/Biometryd/MockDevice.cpp'
--- tests/qmltests/mocks/Biometryd/MockDevice.cpp 2016-05-09 13:42:27 +0000
+++ tests/qmltests/mocks/Biometryd/MockDevice.cpp 2016-08-17 18:09:13 +0000
@@ -26,5 +26,3 @@
26{26{
27 return m_ts;27 return m_ts;
28}28}
29
30#include "MockDevice.moc"
3129
=== modified file 'tests/qmltests/mocks/Biometryd/MockFingerprintReader.cpp'
--- tests/qmltests/mocks/Biometryd/MockFingerprintReader.cpp 2016-05-09 13:42:27 +0000
+++ tests/qmltests/mocks/Biometryd/MockFingerprintReader.cpp 2016-08-17 18:09:13 +0000
@@ -45,5 +45,3 @@
45{45{
46 return "masks";46 return "masks";
47}47}
48
49#include "MockFingerprintReader.moc"
5048
=== modified file 'tests/qmltests/mocks/Biometryd/MockOperation.cpp'
--- tests/qmltests/mocks/Biometryd/MockOperation.cpp 2016-05-22 19:43:19 +0000
+++ tests/qmltests/mocks/Biometryd/MockOperation.cpp 2016-08-17 18:09:13 +0000
@@ -30,5 +30,3 @@
30{30{
31 return true;31 return true;
32}32}
33
34#include "MockOperation.moc"
3533
=== modified file 'tests/qmltests/mocks/Biometryd/MockService.cpp'
--- tests/qmltests/mocks/Biometryd/MockService.cpp 2016-06-02 12:20:29 +0000
+++ tests/qmltests/mocks/Biometryd/MockService.cpp 2016-08-17 18:09:13 +0000
@@ -38,5 +38,3 @@
38 m_available = available;38 m_available = available;
39 Q_EMIT (availableChanged(available));39 Q_EMIT (availableChanged(available));
40}40}
41
42#include "MockService.moc"
4341
=== modified file 'tests/qmltests/mocks/Biometryd/MockTemplateStore.cpp'
--- tests/qmltests/mocks/Biometryd/MockTemplateStore.cpp 2016-06-14 22:33:55 +0000
+++ tests/qmltests/mocks/Biometryd/MockTemplateStore.cpp 2016-08-17 18:09:13 +0000
@@ -52,5 +52,3 @@
52 Q_UNUSED(user);52 Q_UNUSED(user);
53 return new MockList(this);53 return new MockList(this);
54}54}
55
56#include "MockTemplateStore.moc"
5755
=== modified file 'tests/qmltests/mocks/Biometryd/MockUser.cpp'
--- tests/qmltests/mocks/Biometryd/MockUser.cpp 2016-05-09 13:42:27 +0000
+++ tests/qmltests/mocks/Biometryd/MockUser.cpp 2016-08-17 18:09:13 +0000
@@ -29,5 +29,3 @@
29{29{
30 m_uid = uid;30 m_uid = uid;
31}31}
32
33#include "MockUser.moc"
3432
=== modified file 'tests/qmltests/mocks/CMakeLists.txt'
--- tests/qmltests/mocks/CMakeLists.txt 2016-06-14 12:01:31 +0000
+++ tests/qmltests/mocks/CMakeLists.txt 2016-08-17 18:09:13 +0000
@@ -23,8 +23,8 @@
23 ${MOCK_UNPARSED_ARGUMENTS}23 ${MOCK_UNPARSED_ARGUMENTS}
24 )24 )
25 else()25 else()
26 export_qmlfiles(${PLUGIN} ${PATH} TARGET_PREFIX Mock ${MOCK_UNPARSED_ARGUMENTS})26 export_qmlfiles(${PLUGIN} ${PATH} TARGET_PREFIX Mock NO_INSTALL ${MOCK_UNPARSED_ARGUMENTS})
27 export_qmlplugin(${PLUGIN} ${VERSION} ${PATH} TARGET_PREFIX Mock ${MOCK_UNPARSED_ARGUMENTS})27 export_qmlplugin(${PLUGIN} ${VERSION} ${PATH} TARGET_PREFIX Mock NO_INSTALL ${MOCK_UNPARSED_ARGUMENTS})
28 endif()28 endif()
29endmacro()29endmacro()
3030
3131
=== modified file 'tests/qmltests/mocks/GSettings.1.0/CMakeLists.txt'
--- tests/qmltests/mocks/GSettings.1.0/CMakeLists.txt 2016-06-14 12:01:31 +0000
+++ tests/qmltests/mocks/GSettings.1.0/CMakeLists.txt 2016-08-17 18:09:13 +0000
@@ -1,20 +1,19 @@
1include_directories(1include_directories(
2 ${CMAKE_CURRENT_BINARY_DIR}2 ${CMAKE_CURRENT_BINARY_DIR}
3 ${Qt5Core_INCLUDE_DIRS}
4 ${Qt5Quick_INCLUDE_DIRS}
5)3)
64
7set(GSettingsQML_SOURCES5set(GSettingsQML_SOURCES
6)
7
8add_library(FakeGSettingsQml MODULE
8 fake_gsettings.cpp9 fake_gsettings.cpp
9 plugin.cpp10 plugin.cpp
10)11)
1112
12add_library(FakeGSettingsQml MODULE ${GSettingsQML_SOURCES})
13target_link_libraries(FakeGSettingsQml13target_link_libraries(FakeGSettingsQml
14 ${Qt5Core_LIBRARIES}14 Qt5::Core
15 ${Qt5Quick_LIBRARIES}15 Qt5::Quick
16 Qt5::Qml
16)17)
1718
18qt5_use_modules(FakeGSettingsQml Qml)
19
20add_usc_mock(GSettings 1.0 GSettings.1.0 TARGETS FakeGSettingsQml)19add_usc_mock(GSettings 1.0 GSettings.1.0 TARGETS FakeGSettingsQml)
2120
=== modified file 'tests/utils/modules/CMakeLists.txt'
--- tests/utils/modules/CMakeLists.txt 2013-10-04 10:10:47 +0000
+++ tests/utils/modules/CMakeLists.txt 2016-08-17 18:09:13 +0000
@@ -1,1 +1,3 @@
1include(QmlPlugins)
2
1add_subdirectory(Ubuntu)3add_subdirectory(Ubuntu)
24
=== modified file 'tests/utils/modules/Ubuntu/Test/CMakeLists.txt'
--- tests/utils/modules/Ubuntu/Test/CMakeLists.txt 2013-10-04 10:52:27 +0000
+++ tests/utils/modules/Ubuntu/Test/CMakeLists.txt 2016-08-17 18:09:13 +0000
@@ -1,27 +1,21 @@
1add_definitions(-DQT_NO_KEYWORDS)1include_directories(
2 ${Qt5Gui_PRIVATE_INCLUDE_DIRS}
3)
24
3set(UbuntuTestQML_SOURCES5add_library(UbuntuTestQml MODULE
4 testutil.cpp6 testutil.cpp
5 plugin.cpp7 plugin.cpp
6 TouchEventSequenceWrapper.cpp8 TouchEventSequenceWrapper.cpp
7)9)
810
9include_directories(11target_link_libraries(UbuntuTestQml
10 ${CMAKE_CURRENT_SOURCE_DIR}12 Qt5::Core
11 ${Qt5Gui_PRIVATE_INCLUDE_DIRS}13 Qt5::Quick
12 )14 Qt5::Test
13
14add_library(UbuntuTestQml MODULE ${UbuntuTestQML_SOURCES})
15
16qt5_use_modules(UbuntuTestQml Core Quick Test)
17
18# copy qml files into build directory for shadow builds
19file(GLOB QML_JS_FILES *.js *.qml qmldir)
20
21add_custom_target(UbuntuTestQmlJsFiles ALL
22 COMMAND cp ${QML_JS_FILES} ${CMAKE_CURRENT_BINARY_DIR}
23 DEPENDS ${QML_JS_FILES}
24)15)
2516
17export_qmlfiles(Ubuntu.Test Ubuntu/Test NO_INSTALL)
18export_qmlplugin(Ubuntu.Test 0.1 Ubuntu/Test TARGETS UbuntuTestQml NO_INSTALL)
19
26add_custom_target(UbuntuTest)20add_custom_target(UbuntuTest)
27add_dependencies(UbuntuTest UbuntuTestQml UbuntuTestQmlJsFiles)21add_dependencies(UbuntuTest UbuntuTestQml Ubuntu.Test-qmlfiles)

Subscribers

People subscribed via source and target branches

to all changes: