Merge lp:~aacid/unity8/stabilize_test_all_widgets_height into lp:unity8
- stabilize_test_all_widgets_height
- Merge into trunk
Status: | Merged |
---|---|
Approved by: | Andrea Cimitan |
Approved revision: | 2398 |
Merged at revision: | 2448 |
Proposed branch: | lp:~aacid/unity8/stabilize_test_all_widgets_height |
Merge into: | lp:unity8 |
Diff against target: |
142 lines (+72/-4) 4 files modified
tests/qmltests/Dash/Previews/tst_PreviewExpandable.qml (+23/-4) tests/qmltests/utils/Unity/Test/tst_UnityTest.qml (+31/-0) tests/utils/modules/Unity/Test/testutil.cpp (+17/-0) tests/utils/modules/Unity/Test/testutil.h (+1/-0) |
To merge this branch: | bzr merge lp:~aacid/unity8/stabilize_test_all_widgets_height |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Unity8 CI Bot | continuous-integration | Approve | |
Andrea Cimitan (community) | Approve | ||
Review via email: mp+294377@code.launchpad.net |
Commit message
Stabilize PreviewExpandab
Description of the change
* Are there any related MPs required for this MP to build/function as expected?
No
* Did you perform an exploratory manual test run of your code change and any related functionality?
Test is more stable
* If you changed the packaging (debian), did you subscribe the ubuntu-unity team to this MP?
N/A
* If you changed the UI, has there been a design review?
N/A
- 2397. By Albert Astals Cid
-
lazyimage is an item, so use children
- 2398. By Albert Astals Cid
-
Add a test for waitForBehaviors
Unity8 CI Bot (unity8-ci-bot) wrote : | # |
Unity8 CI Bot (unity8-ci-bot) wrote : | # |
FAILED: Continuous integration, rev:2398
https:/
Executed test runs:
UNSTABLE: https:/
UNSTABLE: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
Click here to trigger a rebuild:
https:/
Unity8 CI Bot (unity8-ci-bot) wrote : | # |
FAILED: Continuous integration, rev:2398
https:/
Executed test runs:
UNSTABLE: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
Click here to trigger a rebuild:
https:/
Unity8 CI Bot (unity8-ci-bot) wrote : | # |
FAILED: Continuous integration, rev:2398
https:/
Executed test runs:
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
FAILURE: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
FAILURE: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
FAILURE: https:/
Click here to trigger a rebuild:
https:/
Andrea Cimitan (cimi) wrote : | # |
* Did you perform an exploratory manual test run of the code change and any related functionality?
* Did CI run pass? If not, please explain why.
green lights froom jenkins! code is fine
Unity8 CI Bot (unity8-ci-bot) wrote : | # |
FAILED: Continuous integration, rev:2398
https:/
Executed test runs:
UNSTABLE: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
Click here to trigger a rebuild:
https:/
- 2399. By Albert Astals Cid
-
Merge
Unity8 CI Bot (unity8-ci-bot) wrote : | # |
FAILED: Continuous integration, rev:2398
https:/
Executed test runs:
SUCCESS: https:/
UNSTABLE: https:/
UNSTABLE: https:/
UNSTABLE: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
Click here to trigger a rebuild:
https:/
Unity8 CI Bot (unity8-ci-bot) wrote : | # |
PASSED: Continuous integration, rev:2398
https:/
Executed test runs:
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
Click here to trigger a rebuild:
https:/
Preview Diff
1 | === modified file 'tests/qmltests/Dash/Previews/tst_PreviewExpandable.qml' |
2 | --- tests/qmltests/Dash/Previews/tst_PreviewExpandable.qml 2015-11-30 08:29:00 +0000 |
3 | +++ tests/qmltests/Dash/Previews/tst_PreviewExpandable.qml 2016-06-02 08:05:59 +0000 |
4 | @@ -299,6 +299,20 @@ |
5 | compare (repeater.itemAt(3).expanded, false); |
6 | } |
7 | |
8 | + function waitForLazyImage(obj) |
9 | + { |
10 | + if (UT.Util.isInstanceOf(obj, "LazyImage")) { |
11 | + tryCompareFunction(function() { return obj.state != "default" && obj.state != "loading"; }, true); |
12 | + for (var i in obj.transitions) { |
13 | + tryCompare(obj.transitions[i], "running", false); |
14 | + } |
15 | + } |
16 | + |
17 | + for (var i in obj.children) { |
18 | + waitForLazyImage(obj.children[i]); |
19 | + } |
20 | + } |
21 | + |
22 | function test_all_widgets_height() { |
23 | previewExpandable.widgetData = allWidgetsData; |
24 | |
25 | @@ -319,14 +333,19 @@ |
26 | previewWidgetFactory.widgetType = allWidgetsModel.get(i).type; |
27 | previewWidgetFactory.active = true; |
28 | |
29 | - // Wait for the height ot settle by waiting four times the time of the |
30 | - // longest of the height behaviour animations |
31 | - wait(UbuntuAnimation.SnapDuration * 4); |
32 | + waitForRendering(repeater.itemAt(i)); |
33 | + waitForRendering(previewWidgetFactory); |
34 | + |
35 | + waitForLazyImage(previewWidgetFactory); |
36 | + waitForLazyImage(repeater.itemAt(i)); |
37 | + |
38 | + UT.Util.waitForBehaviors(previewWidgetFactory); |
39 | + UT.Util.waitForBehaviors(repeater.itemAt(i)); |
40 | |
41 | // Check the item inside the expandable has the same height |
42 | // as the one straight from the factory |
43 | verify(repeater.itemAt(i).height > 0); |
44 | - tryCompare(repeater.itemAt(i), "height", previewWidgetFactory.height); |
45 | + compare(repeater.itemAt(i).height, previewWidgetFactory.height); |
46 | } |
47 | |
48 | mouseClick(expandButton); |
49 | |
50 | === modified file 'tests/qmltests/utils/Unity/Test/tst_UnityTest.qml' |
51 | --- tests/qmltests/utils/Unity/Test/tst_UnityTest.qml 2015-07-15 15:07:19 +0000 |
52 | +++ tests/qmltests/utils/Unity/Test/tst_UnityTest.qml 2016-06-02 08:05:59 +0000 |
53 | @@ -30,6 +30,20 @@ |
54 | id: testObject |
55 | } |
56 | |
57 | + Item { |
58 | + id: item |
59 | + Behavior on height { |
60 | + NumberAnimation { |
61 | + duration: 500 |
62 | + } |
63 | + } |
64 | + Behavior on width { |
65 | + NumberAnimation { |
66 | + duration: 100 |
67 | + } |
68 | + } |
69 | + } |
70 | + |
71 | function test_direct() { |
72 | compare(Util.isInstanceOf(rect, "QQuickRectangle"), true, "rect should be an instance of QQuickRectangle"); |
73 | compare(Util.isInstanceOf(Util, "TestUtil"), true, "Util should be an instance of TestUtil"); |
74 | @@ -52,4 +66,21 @@ |
75 | function test_undefined() { |
76 | compare(Util.isInstanceOf(undefined, "QObject"), false, "passing undefined should fail"); |
77 | } |
78 | + |
79 | + function test_behavior_waiting() { |
80 | + item.height = 100; |
81 | + verify(item.height != 100); |
82 | + |
83 | + item.width = 100; |
84 | + verify(item.width != 100); |
85 | + |
86 | + var date1 = new Date(); |
87 | + Util.waitForBehaviors(item); |
88 | + var date2 = new Date(); |
89 | + |
90 | + compare(item.height, 100); |
91 | + compare(item.width, 100); |
92 | + |
93 | + verify(date2 - date1 >= 500); |
94 | + } |
95 | } |
96 | |
97 | === modified file 'tests/utils/modules/Unity/Test/testutil.cpp' |
98 | --- tests/utils/modules/Unity/Test/testutil.cpp 2015-12-17 14:43:57 +0000 |
99 | +++ tests/utils/modules/Unity/Test/testutil.cpp 2016-06-02 08:05:59 +0000 |
100 | @@ -20,6 +20,8 @@ |
101 | #include <qpa/qwindowsysteminterface.h> |
102 | #include <QtGui/QGuiApplication> |
103 | #include <QQuickView> |
104 | +#include <private/qquickbehavior_p.h> |
105 | +#include <private/qquickanimation_p.h> |
106 | |
107 | // UbuntuGestures lib |
108 | #include <TouchRegistry> |
109 | @@ -56,6 +58,21 @@ |
110 | return result; |
111 | } |
112 | |
113 | +void |
114 | +TestUtil::waitForBehaviors(QObject *obj) |
115 | +{ |
116 | + if (!obj) return; |
117 | + |
118 | + Q_FOREACH(auto c, obj->children()) { |
119 | + if (auto *b = dynamic_cast<QQuickBehavior*>(c)) { |
120 | + if (b->animation()) { |
121 | + QTRY_COMPARE(b->animation()->isRunning(), false); |
122 | + } |
123 | + } |
124 | + waitForBehaviors(c); |
125 | + } |
126 | +} |
127 | + |
128 | TouchEventSequenceWrapper *TestUtil::touchEvent(QQuickItem *item) |
129 | { |
130 | ensureTargetWindow(); |
131 | |
132 | === modified file 'tests/utils/modules/Unity/Test/testutil.h' |
133 | --- tests/utils/modules/Unity/Test/testutil.h 2015-12-17 14:43:57 +0000 |
134 | +++ tests/utils/modules/Unity/Test/testutil.h 2016-06-02 08:05:59 +0000 |
135 | @@ -33,6 +33,7 @@ |
136 | ~TestUtil(); |
137 | |
138 | Q_INVOKABLE bool isInstanceOf(QObject*, QString); |
139 | + Q_INVOKABLE void waitForBehaviors(QObject *obj); |
140 | Q_INVOKABLE TouchEventSequenceWrapper *touchEvent(QQuickItem *item); |
141 | |
142 | private: |
FAILED: Continuous integration, rev:2397 /unity8- jenkins. ubuntu. com/job/ lp-unity8- ci/1187/ /unity8- jenkins. ubuntu. com/job/ test-0- autopkgtest/ label=amd64, release= vivid+overlay, testname= qmluitests. sh/729 /unity8- jenkins. ubuntu. com/job/ test-0- autopkgtest/ label=amd64, release= xenial+ overlay, testname= qmluitests. sh/729 /unity8- jenkins. ubuntu. com/job/ build-0- fetch/1589 /unity8- jenkins. ubuntu. com/job/ build-1- sourcepkg/ release= vivid+overlay/ 1544 /unity8- jenkins. ubuntu. com/job/ build-1- sourcepkg/ release= xenial+ overlay/ 1544 /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=amd64, release= vivid+overlay/ 1544 /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=amd64, release= vivid+overlay/ 1544/artifact/ output/ *zip*/output. zip /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=amd64, release= xenial+ overlay/ 1544 /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=amd64, release= xenial+ overlay/ 1544/artifact/ output/ *zip*/output. zip /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=armhf, release= vivid+overlay/ 1544 /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=armhf, release= vivid+overlay/ 1544/artifact/ output/ *zip*/output. zip /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=armhf, release= xenial+ overlay/ 1544 /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=armhf, release= xenial+ overlay/ 1544/artifact/ output/ *zip*/output. zip /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=i386, release= vivid+overlay/ 1544 /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=i386, release= vivid+overlay/ 1544/artifact/ output/ *zip*/output. zip /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=i386, release= xenial+ overlay/ 1544 /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=i386, release= xenial+ overlay/ 1544/artifact/ output/ *zip*/output. zip
https:/
Executed test runs:
UNSTABLE: https:/
UNSTABLE: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
Click here to trigger a rebuild: /unity8- jenkins. ubuntu. com/job/ lp-unity8- ci/1187/ rebuild
https:/