Merge lp:~kalikiana/ubuntu-ui-toolkit/qmlapicheckverbose into lp:ubuntu-ui-toolkit
- qmlapicheckverbose
- Merge into trunk
Status: | Merged |
---|---|
Merged at revision: | 965 |
Proposed branch: | lp:~kalikiana/ubuntu-ui-toolkit/qmlapicheckverbose |
Merge into: | lp:ubuntu-ui-toolkit |
Prerequisite: | lp:~ubuntu-core-dev/ubuntu-ui-toolkit/py32ap |
Diff against target: |
117 lines (+78/-9) 3 files modified
components.api (+24/-0) tests/qmlapicheck.sh (+52/-0) tests/unit/add_qmlmakecheck.pri (+2/-9) |
To merge this branch: | bzr merge lp:~kalikiana/ubuntu-ui-toolkit/qmlapicheckverbose |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
PS Jenkins bot | continuous-integration | Approve | |
Zsombor Egri | Pending | ||
Review via email: mp+209237@code.launchpad.net |
This proposal supersedes a proposal from 2013-09-24.
Commit message
The wrapper is intended to make API test more visible in the output regardless of failure or success.
A semi-related fix increases coverage so that UbuntuTestCase and Layouts are also checked.
Description of the change
The wrapper is intended to make API test more visible in the output regardless of failure or success.
A semi-related fix increases coverage so that UbuntuTestCase and Layouts are also checked.
PS Jenkins bot (ps-jenkins) wrote : Posted in a previous version of this proposal | # |
PS Jenkins bot (ps-jenkins) wrote : Posted in a previous version of this proposal | # |
FAILED: Continuous integration, rev:764
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
FAILURE: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
Zsombor Egri (zsombi) wrote : Posted in a previous version of this proposal | # |
I think we should leave out the Theme folder from the API check yet, as we do not promise API stability for those yet.
PS Jenkins bot (ps-jenkins) wrote : Posted in a previous version of this proposal | # |
FAILED: Continuous integration, rev:766
http://
Executed test runs:
FAILURE: http://
FAILURE: http://
FAILURE: http://
FAILURE: http://
FAILURE: http://
FAILURE: http://
Click here to trigger a rebuild:
http://
Zsombor Egri (zsombi) wrote : Posted in a previous version of this proposal | # |
Let's leave Theme in the loop but be less strict on those API breaks. Thanks for the fixes.
PS Jenkins bot (ps-jenkins) wrote : Posted in a previous version of this proposal | # |
FAILED: Continuous integration, rev:767
http://
Executed test runs:
FAILURE: http://
FAILURE: http://
FAILURE: http://
FAILURE: http://
FAILURE: http://
FAILURE: http://
Click here to trigger a rebuild:
http://
PS Jenkins bot (ps-jenkins) wrote : Posted in a previous version of this proposal | # |
FAILED: Continuous integration, rev:768
http://
Executed test runs:
FAILURE: http://
FAILURE: http://
FAILURE: http://
FAILURE: http://
FAILURE: http://
FAILURE: http://
Click here to trigger a rebuild:
http://
PS Jenkins bot (ps-jenkins) wrote : Posted in a previous version of this proposal | # |
FAILED: Autolanding.
More details in the following jenkins job:
http://
Executed test runs:
FAILURE: http://
FAILURE: http://
FAILURE: http://
FAILURE: http://
FAILURE: http://
FAILURE: http://
PS Jenkins bot (ps-jenkins) wrote : Posted in a previous version of this proposal | # |
FAILED: Continuous integration, rev:769
http://
Executed test runs:
FAILURE: http://
FAILURE: http://
FAILURE: http://
FAILURE: http://
FAILURE: http://
FAILURE: http://
Click here to trigger a rebuild:
http://
PS Jenkins bot (ps-jenkins) wrote : Posted in a previous version of this proposal | # |
FAILED: Autolanding.
More details in the following jenkins job:
http://
Executed test runs:
FAILURE: http://
FAILURE: http://
FAILURE: http://
FAILURE: http://
FAILURE: http://
FAILURE: http://
PS Jenkins bot (ps-jenkins) wrote : Posted in a previous version of this proposal | # |
FAILED: Autolanding.
More details in the following jenkins job:
http://
Executed test runs:
FAILURE: http://
FAILURE: http://
FAILURE: http://
FAILURE: http://
FAILURE: http://
FAILURE: http://
PS Jenkins bot (ps-jenkins) wrote : Posted in a previous version of this proposal | # |
FAILED: Continuous integration, rev:770
http://
Executed test runs:
FAILURE: http://
FAILURE: http://
FAILURE: http://
FAILURE: http://
FAILURE: http://
FAILURE: http://
Click here to trigger a rebuild:
http://
PS Jenkins bot (ps-jenkins) wrote : Posted in a previous version of this proposal | # |
FAILED: Autolanding.
More details in the following jenkins job:
http://
Executed test runs:
FAILURE: http://
FAILURE: http://
FAILURE: http://
FAILURE: http://
FAILURE: http://
FAILURE: http://
Zsombor Egri (zsombi) wrote : Posted in a previous version of this proposal | # |
IconVisual is listed in the API file, which is an internal type of ListItems module. I think internals shouldn't be listed at all.
Cris Dywan (kalikiana) wrote : Posted in a previous version of this proposal | # |
That's bug 1256045. This branch only is about the output, no change in behavior.
PS Jenkins bot (ps-jenkins) wrote : Posted in a previous version of this proposal | # |
FAILED: Continuous integration, rev:771
http://
Executed test runs:
FAILURE: http://
FAILURE: http://
FAILURE: http://
FAILURE: http://
FAILURE: http://
FAILURE: http://
Click here to trigger a rebuild:
http://
PS Jenkins bot (ps-jenkins) wrote : Posted in a previous version of this proposal | # |
PASSED: Continuous integration, rev:772
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
PS Jenkins bot (ps-jenkins) wrote : Posted in a previous version of this proposal | # |
PASSED: Continuous integration, rev:773
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
Zsombor Egri (zsombi) wrote : Posted in a previous version of this proposal | # |
Good stuff. Merge with trunk so we have it up to date and we can land it.
PS Jenkins bot (ps-jenkins) wrote : Posted in a previous version of this proposal | # |
FAILED: Autolanding.
More details in the following jenkins job:
http://
Executed test runs:
FAILURE: http://
FAILURE: http://
FAILURE: http://
FAILURE: http://
FAILURE: http://
FAILURE: http://
PS Jenkins bot (ps-jenkins) wrote : Posted in a previous version of this proposal | # |
FAILED: Continuous integration, rev:774
http://
Executed test runs:
FAILURE: http://
SUCCESS: http://
FAILURE: http://
SUCCESS: http://
deb: http://
FAILURE: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
PS Jenkins bot (ps-jenkins) wrote : Posted in a previous version of this proposal | # |
PASSED: Continuous integration, rev:775
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
Cris Dywan (kalikiana) wrote : Posted in a previous version of this proposal | # |
CI@home OK http://
PS Jenkins bot (ps-jenkins) wrote : | # |
PASSED: Continuous integration, rev:776
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
Preview Diff
1 | === modified file 'components.api' |
2 | --- components.api 2014-02-24 19:16:26 +0000 |
3 | +++ components.api 2014-03-04 12:40:27 +0000 |
4 | @@ -582,6 +582,12 @@ |
5 | modules/Ubuntu/PerformanceMetrics/PerformanceOverlay.qml |
6 | Item |
7 | property bool active |
8 | +modules/Ubuntu/Test/UbuntuTestCase.qml |
9 | +TestCase |
10 | + function findChild(obj,objectName) |
11 | + function findInvisibleChild(obj,objectName) |
12 | + function mouseMoveSlowly(item,x,y,dx,dy,steps,stepdelay) |
13 | + function tryCompareFunction(func, expectedResult, timeout) |
14 | plugins.qmltypes |
15 | name: "InverseMouseAreaType" |
16 | prototype: "QQuickMouseArea" |
17 | @@ -766,6 +772,24 @@ |
18 | Parameter { name: "singular"; type: "string" } |
19 | Parameter { name: "plural"; type: "string" } |
20 | Parameter { name: "n"; type: "int" } |
21 | + name: "ULConditionalLayout" |
22 | + prototype: "QObject" |
23 | + exports: ["ConditionalLayout 0.1"] |
24 | + Property { name: "name"; type: "string" } |
25 | + Property { name: "when"; type: "QQmlBinding"; isPointer: true } |
26 | + Property { name: "layout"; type: "QQmlComponent"; isPointer: true } |
27 | + name: "ULItemLayout" |
28 | + prototype: "QQuickItem" |
29 | + exports: ["ItemLayout 0.1"] |
30 | + Property { name: "item"; type: "string" } |
31 | + name: "ULLayouts" |
32 | + prototype: "QQuickItem" |
33 | + exports: ["Layouts 0.1"] |
34 | + Property { name: "currentLayout"; type: "string"; isReadonly: true } |
35 | + Property { name: "layouts"; type: "ULConditionalLayout"; isList: true; isReadonly: true } |
36 | + name: "ULLayoutsAttached" |
37 | + prototype: "QObject" |
38 | + Property { name: "item"; type: "string" } |
39 | name: "UPMCpuUsage" |
40 | prototype: "QQuickItem" |
41 | exports: ["CpuUsage 0.1"] |
42 | |
43 | === added file 'tests/qmlapicheck.sh' |
44 | --- tests/qmlapicheck.sh 1970-01-01 00:00:00 +0000 |
45 | +++ tests/qmlapicheck.sh 2014-03-04 12:40:27 +0000 |
46 | @@ -0,0 +1,52 @@ |
47 | +#!/usr/bin/env sh |
48 | +# |
49 | +# Copyright 2013 Canonical Ltd. |
50 | +# |
51 | +# This program is free software; you can redistribute it and/or modify |
52 | +# it under the terms of the GNU Lesser General Public License as published by |
53 | +# the Free Software Foundation; version 3. |
54 | +# |
55 | +# This program is distributed in the hope that it will be useful, |
56 | +# but WITHOUT ANY WARRANTY; without even the implied warranty of |
57 | +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
58 | +# GNU Lesser General Public License for more details. |
59 | +# |
60 | +# You should have received a copy of the GNU Lesser General Public License |
61 | +# along with this program. If not, see <http://www.gnu.org/licenses/>. |
62 | +# |
63 | +################################################################################ |
64 | +QML="modules/Ubuntu/*/qmldir modules/Ubuntu/Components/Colors/UbuntuColors.qml modules/Ubuntu/Components/*/qmldir modules/Ubuntu/Components/Pickers/PickerPanel.qml" |
65 | +CPP="Ubuntu.Components Ubuntu.Layouts Ubuntu.PerformanceMetrics" |
66 | + |
67 | +echo Dumping QML API of C++ components |
68 | +echo '' > plugins.qmltypes |
69 | +for i in $CPP; do |
70 | + # Silence spam on stderr due to fonts |
71 | + # https://bugs.launchpad.net/ubuntu-ui-toolkit/+bug/1256999 |
72 | + # https://bugreports.qt-project.org/browse/QTBUG-36243 |
73 | + qmlplugindump $i 0.1 modules 2>/dev/null >> plugins.qmltypes |
74 | +done |
75 | +STATUS=$? |
76 | +test $STATUS = 0 || ERRORS=1 |
77 | +test $STATUS = 0 || echo Error: qmldump failed |
78 | + |
79 | +echo Running QML API check for $QML |
80 | +# Palette gets included in Qt 5.2 qmlplugindump even though it's qml |
81 | +BUILTINS=QQuick,QQml,U1db::,Palette python3 tests/qmlapicheck.py $QML plugins.qmltypes > components.api.new |
82 | +STATUS=$? |
83 | +test $STATUS = 0 || ERRORS=1 |
84 | +test $STATUS = 0 || echo Error: qmlapicheck.py failed |
85 | + |
86 | +echo Verifying the diff between existing and generated API |
87 | +diff -Fqml -u components.api components.api.new |
88 | +STATUS=$? |
89 | +test $STATUS = 0 || ERRORS=1 |
90 | +test $STATUS = 0 || echo Error: diff mismatched |
91 | + |
92 | +if [ "x$ERRORS" != "x1" ]; then |
93 | + echo API is all fine. |
94 | + exit 0 |
95 | +else |
96 | + echo API test failed with errors. Did you forget to update components.api? |
97 | + exit 1 |
98 | +fi |
99 | |
100 | === modified file 'tests/unit/add_qmlmakecheck.pri' |
101 | --- tests/unit/add_qmlmakecheck.pri 2014-03-04 12:40:26 +0000 |
102 | +++ tests/unit/add_qmlmakecheck.pri 2014-03-04 12:40:27 +0000 |
103 | @@ -8,12 +8,5 @@ |
104 | check.commands += ../../unit/runtest.sh $${TARGET} $${TEST} minimal; |
105 | } |
106 | check.commands += cd ../../..; |
107 | -# Silence spam on stderr due to fonts |
108 | -# https://bugs.launchpad.net/ubuntu-ui-toolkit/+bug/1256999 |
109 | -# https://bugreports.qt-project.org/browse/QTBUG-36243 |
110 | -check.commands += qmlplugindump Ubuntu.Components 0.1 modules 2>/dev/null > plugins.qmltypes; |
111 | -check.commands += qmlplugindump Ubuntu.PerformanceMetrics 0.1 modules 2>/dev/null >> plugins.qmltypes; |
112 | -# Palette gets included in Qt 5.2 qmlplugindump even though it's qml |
113 | - |
114 | -check.commands += BUILTINS=QQuick,QQml,U1db::,Palette python3 tests/qmlapicheck.py modules/Ubuntu/Components/qmldir modules/Ubuntu/Components/Colors/UbuntuColors.qml modules/Ubuntu/Components/Pickers/PickerPanel.qml modules/Ubuntu/Components/*/qmldir modules/Ubuntu/PerformanceMetrics/qmldir plugins.qmltypes > components.api.new; |
115 | -check.commands += diff -Fqml -u components.api components.api.new || exit 1; cd tests/unit |
116 | +check.commands += sh tests/qmlapicheck.sh || exit 1; |
117 | +check.commands += cd tests/unit |
PASSED: Continuous integration, rev:763 jenkins. qa.ubuntu. com/job/ ubuntu- ui-toolkit- ci/737/ jenkins. qa.ubuntu. com/job/ generic- mediumtests- saucy-vm/ 52 jenkins. qa.ubuntu. com/job/ generic- mediumtests- touch/1510 jenkins. qa.ubuntu. com/job/ ubuntu- ui-toolkit- saucy-amd64- ci/594 jenkins. qa.ubuntu. com/job/ ubuntu- ui-toolkit- saucy-armhf- ci/594 jenkins. qa.ubuntu. com/job/ ubuntu- ui-toolkit- saucy-armhf- ci/594/ artifact/ work/output/ *zip*/output. zip jenkins. qa.ubuntu. com/job/ autopilot- testrunner- vm-saucy/ 44 jenkins. qa.ubuntu. com/job/ generic- mediumtests- builder- saucy-i386/ 3994 jenkins. qa.ubuntu. com/job/ generic- mediumtests- builder- saucy-i386/ 3994/artifact/ work/output/ *zip*/output. zip jenkins. qa.ubuntu. com/job/ generic- mediumtests- builder- saucy-armhf/ 1512 jenkins. qa.ubuntu. com/job/ generic- mediumtests- builder- saucy-armhf/ 1512/artifact/ work/output/ *zip*/output. zip jenkins. qa.ubuntu. com/job/ generic- mediumtests- runner- maguro/ 1277 jenkins. qa.ubuntu. com/job/ generic- mediumtests- runner- mako/1289
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
SUCCESS: http://
Click here to trigger a rebuild: s-jenkins: 8080/job/ ubuntu- ui-toolkit- ci/737/ rebuild
http://