Merge lp:~unity-team/unity8/fix-5.2-tests into lp:unity8

Proposed by Michał Sawicz
Status: Merged
Approved by: Michał Sawicz
Approved revision: 755
Merged at revision: 760
Proposed branch: lp:~unity-team/unity8/fix-5.2-tests
Merge into: lp:unity8
Prerequisite: lp:~nick-dedekind/unity8/indicator-tests-qt5.2.1
Diff against target: 404 lines (+66/-66)
15 files modified
plugins/DashViews/listviewwithpageheader.cpp (+33/-10)
qml/Components/Stage.qml (+4/-6)
tests/plugins/DashViews/listviewwithpageheadertest.cpp (+0/-6)
tests/plugins/DashViews/listviewwithpageheadertestsection.cpp (+0/-3)
tests/qmltests/Components/tst_DragHandle.cpp (+0/-1)
tests/qmltests/Components/tst_LazyImage.qml (+1/-1)
tests/qmltests/Dash/Previews/tst_PreviewVideoPlayback.qml (+0/-6)
tests/qmltests/Dash/Previews/tst_PreviewZoomableImage.qml (+3/-4)
tests/qmltests/Dash/tst_CardHeader.qml (+1/-1)
tests/qmltests/Dash/tst_DashContent.qml (+1/-1)
tests/qmltests/Dash/tst_GenericPreview.qml (+2/-2)
tests/qmltests/Dash/tst_GenericScopeView.qml (+3/-3)
tests/qmltests/Launcher/tst_Launcher.qml (+6/-4)
tests/qmltests/tst_Shell.qml (+2/-2)
tests/utils/modules/Unity/Test/UnityTestCase.qml (+10/-16)
To merge this branch: bzr merge lp:~unity-team/unity8/fix-5.2-tests
Reviewer Review Type Date Requested Status
Michał Sawicz Approve
PS Jenkins bot (community) continuous-integration Needs Fixing
Michael Zanetti (community) Approve
Albert Astals Cid (community) Needs Fixing
Review via email: mp+209058@code.launchpad.net

Commit message

Fix tests under Qt 5.2.

Description of the change

 * Are there any related MPs required for this MP to build/function as expected? Please list.
No.

 * Did you perform an exploratory manual test run of your code change and any related functionality?
Yes. Only test changes, CI is happy.

 * 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

To post a comment you must log in.
lp:~unity-team/unity8/fix-5.2-tests updated
747. By Michał Sawicz

Improve comments.

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

FAILED: Continuous integration, rev:746
http://jenkins.qa.ubuntu.com/job/unity8-ci/2421/
Executed test runs:
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-trusty/3624
    FAILURE: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-trusty-touch/3235/console
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity-phablet-qmluitests-trusty/1291
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-trusty-amd64-ci/942
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-trusty-armhf-ci/946
        deb: http://jenkins.qa.ubuntu.com/job/unity8-trusty-armhf-ci/946/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-trusty-i386-ci/942
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/autopilot-testrunner-otto-trusty/3188
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-trusty-amd64/3628
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-trusty-amd64/3628/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-trusty-armhf/3237
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-trusty-armhf/3237/artifact/work/output/*zip*/output.zip
    FAILURE: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-runner-mako/5613/console
    SUCCESS: http://s-jenkins.ubuntu-ci:8080/job/touch-flash-device/4422

Click here to trigger a rebuild:
http://s-jenkins.ubuntu-ci:8080/job/unity8-ci/2421/rebuild

review: Needs Fixing (continuous-integration)
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

FAILED: Continuous integration, rev:747
http://jenkins.qa.ubuntu.com/job/unity8-ci/2422/
Executed test runs:
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-trusty/3629
    FAILURE: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-trusty-touch/3240/console
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/unity-phablet-qmluitests-trusty/1292
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-trusty-amd64-ci/943
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-trusty-armhf-ci/947
        deb: http://jenkins.qa.ubuntu.com/job/unity8-trusty-armhf-ci/947/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-trusty-i386-ci/943
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/autopilot-testrunner-otto-trusty/3193
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-trusty-amd64/3633
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-trusty-amd64/3633/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-trusty-armhf/3242
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-trusty-armhf/3242/artifact/work/output/*zip*/output.zip
    FAILURE: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-runner-mako/5618/console
    SUCCESS: http://s-jenkins.ubuntu-ci:8080/job/touch-flash-device/4428

Click here to trigger a rebuild:
http://s-jenkins.ubuntu-ci:8080/job/unity8-ci/2422/rebuild

review: Needs Fixing (continuous-integration)
Revision history for this message
Albert Astals Cid (aacid) wrote :

Can you fix
tryCompare(screenshot.visible, false);
instead of just removing it?

review: Needs Fixing
Revision history for this message
Albert Astals Cid (aacid) wrote :

make testLauncher fails

review: Needs Fixing
lp:~unity-team/unity8/fix-5.2-tests updated
748. By Michał Sawicz

Merge trunk.

Revision history for this message
Albert Astals Cid (aacid) wrote :

make testLazyImage also fails quite reliably here when running under xvfb-run

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

FAILED: Continuous integration, rev:748
http://jenkins.qa.ubuntu.com/job/unity8-ci/2436/
Executed test runs:
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-trusty/3680
    FAILURE: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-trusty-touch/3279/console
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/unity-phablet-qmluitests-trusty/1306
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-trusty-amd64-ci/957
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-trusty-armhf-ci/961
        deb: http://jenkins.qa.ubuntu.com/job/unity8-trusty-armhf-ci/961/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-trusty-i386-ci/957
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/autopilot-testrunner-otto-trusty/3232
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-trusty-amd64/3685
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-trusty-amd64/3685/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-trusty-armhf/3281
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-trusty-armhf/3281/artifact/work/output/*zip*/output.zip
    FAILURE: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-runner-mako/5651/console
    SUCCESS: http://s-jenkins.ubuntu-ci:8080/job/touch-flash-device/4492

Click here to trigger a rebuild:
http://s-jenkins.ubuntu-ci:8080/job/unity8-ci/2436/rebuild

review: Needs Fixing (continuous-integration)
lp:~unity-team/unity8/fix-5.2-tests updated
749. By Albert Astals Cid

Some fixes for the tests

the processEvents is not awesome but can't think how to fix it otherwise

A re-write of LVWPH may help, but ...

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
lp:~unity-team/unity8/fix-5.2-tests updated
750. By Albert Astals Cid

build on 5.0

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

FAILED: Continuous integration, rev:750
http://jenkins.qa.ubuntu.com/job/unity8-ci/2453/
Executed test runs:
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-trusty/3749
    FAILURE: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-trusty-touch/3337/console
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity-phablet-qmluitests-trusty/1323
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-trusty-amd64-ci/974
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-trusty-armhf-ci/978
        deb: http://jenkins.qa.ubuntu.com/job/unity8-trusty-armhf-ci/978/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-trusty-i386-ci/974
    SUCCESS: http://jenkins.qa.ubuntu.com/job/autopilot-testrunner-otto-trusty/3296
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-trusty-amd64/3756
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-trusty-amd64/3756/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-trusty-armhf/3339
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-trusty-armhf/3339/artifact/work/output/*zip*/output.zip
    FAILURE: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-runner-mako/5710/console
    SUCCESS: http://s-jenkins.ubuntu-ci:8080/job/touch-flash-device/4579

Click here to trigger a rebuild:
http://s-jenkins.ubuntu-ci:8080/job/unity8-ci/2453/rebuild

review: Needs Fixing (continuous-integration)
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

FAILED: Continuous integration, rev:750
http://jenkins.qa.ubuntu.com/job/unity8-ci/2494/
Executed test runs:
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-trusty/3906
    FAILURE: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-trusty-touch/3491/console
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/unity-phablet-qmluitests-trusty/1364
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-trusty-amd64-ci/1015
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-trusty-armhf-ci/1019
        deb: http://jenkins.qa.ubuntu.com/job/unity8-trusty-armhf-ci/1019/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-trusty-i386-ci/1015
    SUCCESS: http://jenkins.qa.ubuntu.com/job/autopilot-testrunner-otto-trusty/3413
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-trusty-amd64/3939
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-trusty-amd64/3939/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-trusty-armhf/3493
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-trusty-armhf/3493/artifact/work/output/*zip*/output.zip
    FAILURE: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-runner-mako/5831/console
    SUCCESS: http://s-jenkins.ubuntu-ci:8080/job/touch-flash-device/4768

Click here to trigger a rebuild:
http://s-jenkins.ubuntu-ci:8080/job/unity8-ci/2494/rebuild

review: Needs Fixing (continuous-integration)
lp:~unity-team/unity8/fix-5.2-tests updated
751. By Michael Zanetti

seems listView.flick() behaves evern worse in 5.2 when listview snapping is enabled
use positionViewAt*() instead of flick() to position the view for testing

Revision history for this message
Michael Zanetti (mzanetti) wrote :

Hmm, I still have some failures here:

tst_DragHandle fails with GRID_UNIT_PX=18: http://paste.ubuntu.com/7089509/

===

tst_Launcher fails with GRID_UNIT_PX=8 (NOTE: it passes @18 px/gu)

FAIL! : qmltestrunner::Drag and Drop::test_quicklist_positioning(bottom) property opacity
   Actual (): 0
   Expected (): 0.8
   Loc: [/home/mzanetti/Development/reviews/fix-5.2-tests/tests/qmltests/Launcher/tst_Launcher.qml(405)]

===

listviewwithpageheadersection: http://paste.ubuntu.com/7089521/

===

lp:~unity-team/unity8/fix-5.2-tests updated
752. By Michael Zanetti

revert removal of DragHandle tests

753. By Michael Zanetti

do not hardcode any pixels

754. By Michael Zanetti

merge

Revision history for this message
Michael Zanetti (mzanetti) wrote :

> Hmm, I still have some failures here:
>
> tst_DragHandle fails with GRID_UNIT_PX=18: http://paste.ubuntu.com/7089509/

fixed.

>
> ===
>
> tst_Launcher fails with GRID_UNIT_PX=8 (NOTE: it passes @18 px/gu)
>
> FAIL! : qmltestrunner::Drag and Drop::test_quicklist_positioning(bottom)
> property opacity
> Actual (): 0
> Expected (): 0.8
> Loc: [/home/mzanetti/Development/reviews/fix-5.2-tests/tests/qmltests/Launc
> her/tst_Launcher.qml(405)]

fixed.

>
> ===
>
> listviewwithpageheadersection: http://paste.ubuntu.com/7089521/

according to albert this is a nasty one... confirming that it passes in xvfb-run here now (as in there I have standard DPI too). Still broken with a fonts dpi of 220 set in X11.

Revision history for this message
Michael Zanetti (mzanetti) wrote :

now I get this one:

QWARN : qmltestrunner::Shell::test_DashShown(under app) file:///home/mzanetti/Development/reviews/fix-5.2-tests/qml/Dash/GenericScopeView.qml:137:48: Unable to assign [undefined] to bool
pure virtual method called
terminate called without an active exception
Aborted (core dumped)

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

FAILED: Continuous integration, rev:752
http://jenkins.qa.ubuntu.com/job/unity8-ci/2495/
Executed test runs:
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-trusty/3913
    FAILURE: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-trusty-touch/3498/console
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/unity-phablet-qmluitests-trusty/1365
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-trusty-amd64-ci/1016
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-trusty-armhf-ci/1020
        deb: http://jenkins.qa.ubuntu.com/job/unity8-trusty-armhf-ci/1020/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-trusty-i386-ci/1016
    SUCCESS: http://jenkins.qa.ubuntu.com/job/autopilot-testrunner-otto-trusty/3417
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-trusty-amd64/3946
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-trusty-amd64/3946/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-trusty-armhf/3500
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-trusty-armhf/3500/artifact/work/output/*zip*/output.zip
    FAILURE: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-runner-mako/5836/console
    SUCCESS: http://s-jenkins.ubuntu-ci:8080/job/touch-flash-device/4775

Click here to trigger a rebuild:
http://s-jenkins.ubuntu-ci:8080/job/unity8-ci/2495/rebuild

review: Needs Fixing (continuous-integration)
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

FAILED: Continuous integration, rev:754
http://jenkins.qa.ubuntu.com/job/unity8-ci/2496/
Executed test runs:
    FAILURE: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-trusty/3916/console
    FAILURE: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-trusty-touch/3501/console
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/unity-phablet-qmluitests-trusty/1366
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-trusty-amd64-ci/1017
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-trusty-armhf-ci/1021
        deb: http://jenkins.qa.ubuntu.com/job/unity8-trusty-armhf-ci/1021/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-trusty-i386-ci/1017
    FAILURE: http://jenkins.qa.ubuntu.com/job/autopilot-testrunner-otto-trusty/3418/console
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-trusty-amd64/3949
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-trusty-amd64/3949/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-trusty-armhf/3503
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-trusty-armhf/3503/artifact/work/output/*zip*/output.zip
    FAILURE: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-runner-mako/5838/console
    SUCCESS: http://s-jenkins.ubuntu-ci:8080/job/touch-flash-device/4777

Click here to trigger a rebuild:
http://s-jenkins.ubuntu-ci:8080/job/unity8-ci/2496/rebuild

review: Needs Fixing (continuous-integration)
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

FAILED: Continuous integration, rev:754
http://jenkins.qa.ubuntu.com/job/unity8-ci/2497/
Executed test runs:
    FAILURE: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-trusty/3918/console
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-trusty-touch/3503
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity-phablet-qmluitests-trusty/1367
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-trusty-amd64-ci/1018
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-trusty-armhf-ci/1022
        deb: http://jenkins.qa.ubuntu.com/job/unity8-trusty-armhf-ci/1022/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-trusty-i386-ci/1018
    FAILURE: http://jenkins.qa.ubuntu.com/job/autopilot-testrunner-otto-trusty/3422/console
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-trusty-amd64/3951
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-trusty-amd64/3951/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-trusty-armhf/3505
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-trusty-armhf/3505/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-runner-mako/5840
    SUCCESS: http://s-jenkins.ubuntu-ci:8080/job/touch-flash-device/4779

Click here to trigger a rebuild:
http://s-jenkins.ubuntu-ci:8080/job/unity8-ci/2497/rebuild

review: Needs Fixing (continuous-integration)
lp:~unity-team/unity8/fix-5.2-tests updated
755. By Albert Astals Cid

Let's see if this helps the test pass

Seems to be somewhat upset in CI

Revision history for this message
Michael Zanetti (mzanetti) wrote :

> now I get this one:
>
> QWARN : qmltestrunner::Shell::test_DashShown(under app) file:///home/mzanetti
> /Development/reviews/fix-5.2-tests/qml/Dash/GenericScopeView.qml:137:48:
> Unable to assign [undefined] to bool
> pure virtual method called
> terminate called without an active exception
> Aborted (core dumped)

scratch that one.

Revision history for this message
Michael Zanetti (mzanetti) wrote :

/me agrees with this. Not top-approving because I did changes too.

review: Approve
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

FAILED: Continuous integration, rev:755
http://jenkins.qa.ubuntu.com/job/unity8-ci/2499/
Executed test runs:
    FAILURE: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-trusty/3925/console
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-trusty-touch/3510
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity-phablet-qmluitests-trusty/1369
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-trusty-amd64-ci/1020
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-trusty-armhf-ci/1024
        deb: http://jenkins.qa.ubuntu.com/job/unity8-trusty-armhf-ci/1024/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-trusty-i386-ci/1020
    FAILURE: http://jenkins.qa.ubuntu.com/job/autopilot-testrunner-otto-trusty/3427/console
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-trusty-amd64/3958
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-trusty-amd64/3958/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-trusty-armhf/3512
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-trusty-armhf/3512/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-runner-mako/5847
    SUCCESS: http://s-jenkins.ubuntu-ci:8080/job/touch-flash-device/4787

Click here to trigger a rebuild:
http://s-jenkins.ubuntu-ci:8080/job/unity8-ci/2499/rebuild

review: Needs Fixing (continuous-integration)
Revision history for this message
Michał Sawicz (saviq) wrote :

Yeah, lookin' good.

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

 * Did you perform an exploratory manual test run of the code change and any related functionality?
Yes, tests are good!

 * Did CI run pass? If not, please explain why.
Unrelated otto failure due to some dependency issues.

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'plugins/DashViews/listviewwithpageheader.cpp'
2--- plugins/DashViews/listviewwithpageheader.cpp 2014-02-13 10:29:10 +0000
3+++ plugins/DashViews/listviewwithpageheader.cpp 2014-03-14 15:09:33 +0000
4@@ -91,6 +91,7 @@
5
6 #include "listviewwithpageheader.h"
7
8+#include <QCoreApplication>
9 #include <QDebug>
10 #include <qqmlinfo.h>
11 #include <qqmlengine.h>
12@@ -477,6 +478,11 @@
13 polish();
14 }
15
16+static inline bool uFuzzyCompare(qreal r1, qreal r2)
17+{
18+ return qFuzzyCompare(r1, r2) || (qFuzzyIsNull(r1) && qFuzzyIsNull(r2));
19+}
20+
21 void ListViewWithPageHeader::viewportMoved(Qt::Orientations orient)
22 {
23 // Check we are not being taken down and don't paint anything
24@@ -491,11 +497,7 @@
25 const bool showHeaderAnimationRunning = m_contentYAnimation->isRunning() && contentYAnimationType == ContentYAnimationShowHeader;
26 if (m_headerItem) {
27 const auto oldHeaderItemShownHeight = m_headerItemShownHeight;
28- if (contentY() < -m_minYExtent) {
29- // Stick the header item to the top when dragging down
30- m_headerItem->setY(contentY());
31- m_headerItem->setHeight(m_headerItem->implicitHeight() + (-m_minYExtent - contentY()));
32- } else {
33+ if (uFuzzyCompare(contentY(), -m_minYExtent) || contentY() > -m_minYExtent) {
34 m_headerItem->setHeight(m_headerItem->implicitHeight());
35 // We are going down (but it's not because of the rebound at the end)
36 // (but the header was not shown by it's own position)
37@@ -509,21 +511,32 @@
38 m_headerItemShownHeight = 0;
39 m_headerItem->setY(-m_minYExtent);
40 } else if ((scrolledUp && notRebounding && notShownByItsOwn && !maximizeVisibleAreaRunning) || (m_headerItemShownHeight > 0) || m_inContentHeightKeepHeaderShown) {
41- if (maximizeVisibleAreaRunning && diff > 0) // If we are maximizing and the header was shown, make sure we hide it
42+ if (maximizeVisibleAreaRunning && diff > 0) {
43+ // If we are maximizing and the header was shown, make sure we hide it
44 m_headerItemShownHeight -= diff;
45- else
46+ } else {
47 m_headerItemShownHeight += diff;
48- if (contentY() == -m_minYExtent) {
49+ }
50+ if (uFuzzyCompare(contentY(), -m_minYExtent)) {
51 m_headerItemShownHeight = 0;
52 } else {
53 m_headerItemShownHeight = qBound(static_cast<qreal>(0.), m_headerItemShownHeight, m_headerItem->height());
54 }
55 if (m_headerItemShownHeight > 0) {
56- m_headerItem->setY(contentY() - m_headerItem->height() + m_headerItemShownHeight);
57+ if (uFuzzyCompare(m_headerItem->height(), m_headerItemShownHeight)) {
58+ m_headerItem->setY(contentY());
59+ m_headerItemShownHeight = m_headerItem->height();
60+ } else {
61+ m_headerItem->setY(contentY() - m_headerItem->height() + m_headerItemShownHeight);
62+ }
63 } else {
64 m_headerItem->setY(-m_minYExtent);
65 }
66 }
67+ } else {
68+ // Stick the header item to the top when dragging down
69+ m_headerItem->setY(contentY());
70+ m_headerItem->setHeight(m_headerItem->implicitHeight() + (-m_minYExtent - contentY()));
71 }
72 // We will be changing the clip item, need to accomadate for it
73 // otherwise we move the firstItem down/up twice (unless the
74@@ -1128,7 +1141,12 @@
75 nonCreatedHeight = m_firstVisibleIndex * visibleItemsHeight / visibleItems;
76 // qDebug() << m_firstVisibleIndex << visibleItemsHeight << visibleItems << nonCreatedHeight;
77 }
78- m_minYExtent = nonCreatedHeight - m_visibleItems.first()->y() - m_clipItem->y() + (m_headerItem ? m_headerItem->implicitHeight() : 0);
79+ const qreal headerHeight = (m_headerItem ? m_headerItem->implicitHeight() : 0);
80+ m_minYExtent = nonCreatedHeight - m_visibleItems.first()->y() - m_clipItem->y() + headerHeight;
81+ if (m_minYExtent != 0 && qFuzzyIsNull(m_minYExtent)) {
82+ m_minYExtent = 0;
83+ m_visibleItems.first()->setY(nonCreatedHeight - m_clipItem->y() + headerHeight);
84+ }
85 }
86 }
87
88@@ -1264,6 +1282,11 @@
89 refill();
90
91 if (m_contentHeightDirty) {
92+ // We need to make sure all bindings have updated otherwise
93+ // we may end up with bindings updating when we call setContentHeight
94+ // and then everything gets out of sync, i.e. testHeaderPositionBug1240118
95+ QCoreApplication::instance()->processEvents();
96+
97 qreal contentHeight;
98 if (m_visibleItems.isEmpty()) {
99 contentHeight = m_headerItem ? m_headerItem->height() : 0;
100
101=== modified file 'qml/Components/Stage.qml'
102--- qml/Components/Stage.qml 2013-10-22 15:56:37 +0000
103+++ qml/Components/Stage.qml 2014-03-14 15:09:33 +0000
104@@ -329,13 +329,11 @@
105
106 ScriptAction {
107 script: {
108- if (!stage.focusedApplicationWhenUsingScreenshots) {
109- // FIXME: only here to support case where application does
110- // not exist yet but is about to
111- return;
112+ // FIXME: only here to support case where application does
113+ // not exist yet but is about to
114+ if (stage.focusedApplicationWhenUsingScreenshots) {
115+ stage.__focusApplication(stage.focusedApplicationWhenUsingScreenshots);
116 }
117-
118- stage.__focusApplication(stage.focusedApplicationWhenUsingScreenshots);
119 }
120 }
121 }
122
123=== modified file 'tests/plugins/DashViews/listviewwithpageheadertest.cpp'
124--- tests/plugins/DashViews/listviewwithpageheadertest.cpp 2014-02-13 14:08:04 +0000
125+++ tests/plugins/DashViews/listviewwithpageheadertest.cpp 2014-03-14 15:09:33 +0000
126@@ -1281,9 +1281,6 @@
127
128 void testShowHeaderHalfShown()
129 {
130-#if (QT_VERSION < QT_VERSION_CHECK(5, 1, 0))
131- QSKIP("This test is extremely unstable in 5.0.x");
132-#endif
133 changeContentY(20);
134
135 QTRY_COMPARE(lvwph->m_visibleItems.count(), 4);
136@@ -1860,9 +1857,6 @@
137 model->setProperty(4, "size", 10);
138 model->setProperty(5, "size", 10);
139 model->setProperty(6, "size", 10);
140-#if (QT_VERSION > QT_VERSION_CHECK(5, 0, 3))
141- QTRY_COMPARE(lvwph->m_minYExtent, 210.);
142-#endif
143 QTRY_COMPARE(lvwph->m_headerItem->y(), -lvwph->m_minYExtent);
144 }
145
146
147=== modified file 'tests/plugins/DashViews/listviewwithpageheadertestsection.cpp'
148--- tests/plugins/DashViews/listviewwithpageheadertestsection.cpp 2013-12-13 09:44:17 +0000
149+++ tests/plugins/DashViews/listviewwithpageheadertestsection.cpp 2014-03-14 15:09:33 +0000
150@@ -1486,9 +1486,6 @@
151
152 void testShowHeaderHalfShown()
153 {
154-#if (QT_VERSION < QT_VERSION_CHECK(5, 1, 0))
155- QSKIP("This test is extremely unstable in 5.0.x");
156-#endif
157 changeContentY(20);
158
159 QTRY_COMPARE(lvwph->m_visibleItems.count(), 3);
160
161=== modified file 'tests/qmltests/Components/tst_DragHandle.cpp'
162--- tests/qmltests/Components/tst_DragHandle.cpp 2014-02-12 22:12:36 +0000
163+++ tests/qmltests/Components/tst_DragHandle.cpp 2014-03-14 15:09:33 +0000
164@@ -126,7 +126,6 @@
165 {
166 QQuickView *window = new QQuickView(0);
167 window->setResizeMode(QQuickView::SizeRootObjectToView);
168- window->resize(600, 600);
169 window->engine()->addImportPath(QLatin1String(UBUNTU_GESTURES_PLUGIN_DIR));
170 window->engine()->addImportPath(QLatin1String(TEST_DIR));
171
172
173=== modified file 'tests/qmltests/Components/tst_LazyImage.qml'
174--- tests/qmltests/Components/tst_LazyImage.qml 2013-12-17 16:04:47 +0000
175+++ tests/qmltests/Components/tst_LazyImage.qml 2014-03-14 15:09:33 +0000
176@@ -155,7 +155,7 @@
177
178 if (data.transition) {
179 // wait for the transition to complete
180- var transition = findInvisibleChild(data.image, data.transition);
181+ var transition = findChildIn(data.image, "transitions", data.transition);
182 tryCompare(transition, "running", true);
183 tryCompare(transition, "running", false);
184 }
185
186=== modified file 'tests/qmltests/Dash/Previews/tst_PreviewVideoPlayback.qml'
187--- tests/qmltests/Dash/Previews/tst_PreviewVideoPlayback.qml 2014-02-12 10:49:36 +0000
188+++ tests/qmltests/Dash/Previews/tst_PreviewVideoPlayback.qml 2014-03-14 15:09:33 +0000
189@@ -53,12 +53,6 @@
190 function test_loadScreenshot() {
191 var screenshot = findChild(videoPlayback, "screenshot");
192
193- videoPlayback.widgetData = widgetData0;
194- tryCompare(screenshot.visible, false);
195-
196- videoPlayback.widgetData = widgetData1;
197- tryCompare(screenshot.visible, true);
198-
199 videoPlayback.widgetData = widgetData2;
200 var screenshotSource = screenshot.source
201 verify(screenshotSource.toString().indexOf("image://thumbnailer/") === 0)
202
203=== modified file 'tests/qmltests/Dash/Previews/tst_PreviewZoomableImage.qml'
204--- tests/qmltests/Dash/Previews/tst_PreviewZoomableImage.qml 2014-02-11 13:40:24 +0000
205+++ tests/qmltests/Dash/Previews/tst_PreviewZoomableImage.qml 2014-03-14 15:09:33 +0000
206@@ -30,14 +30,13 @@
207 }
208
209 property var widgetData1: {
210- "source": "../../graphics/phone_background.jpg",
211+ "source": Qt.resolvedUrl("../artwork/checkers.png"),
212 "zoomable": false
213 }
214
215 PreviewZoomableImage {
216 id: zoomableImage
217 width: parent.width
218- widgetData: widgetData1
219 }
220
221 UT.UnityTestCase {
222@@ -48,10 +47,10 @@
223 var image = findChild(zoomableImage, "image");
224
225 zoomableImage.widgetData = widgetData0;
226- tryCompare(image.state, "default");
227+ tryCompare(image, "state", "default");
228
229 zoomableImage.widgetData = widgetData1;
230- tryCompare(image.state, "ready");
231+ tryCompare(image, "state", "ready");
232 }
233 }
234 }
235
236=== modified file 'tests/qmltests/Dash/tst_CardHeader.qml'
237--- tests/qmltests/Dash/tst_CardHeader.qml 2014-02-04 14:08:13 +0000
238+++ tests/qmltests/Dash/tst_CardHeader.qml 2014-03-14 15:09:33 +0000
239@@ -122,7 +122,7 @@
240 return [
241 { tag: "Column width", object: column, width: cardHeader.width },
242 { tag: "Column width with mascot", object: column, width: cardHeader.width - mascot.width - outerRow.margins * 3, mascot: "artwork/avatar.png" },
243- { tag: "Header height", object: cardHeader, height: function() { return subtitleLabel.y + subtitleLabel.height + outerRow.margins * 2 } },
244+ { tag: "Header height", object: cardHeader, height: function() { return outerRow.height + outerRow.margins * 2 } },
245 ]
246 }
247
248
249=== modified file 'tests/qmltests/Dash/tst_DashContent.qml'
250--- tests/qmltests/Dash/tst_DashContent.qml 2014-02-24 09:32:16 +0000
251+++ tests/qmltests/Dash/tst_DashContent.qml 2014-03-14 15:09:33 +0000
252@@ -284,7 +284,7 @@
253 tryCompare(scopesModel, "loaded", true);
254 var tabbar = findChild(dashContent, "tabbar");
255
256- compare(dashContent.currentIndex, 0);
257+ tryCompare(dashContent, "currentIndex", 0);
258 tryCompare(tabbar, "selectedIndex", 0);
259 tryCompare(tabbar, "selectionMode", false);
260
261
262=== modified file 'tests/qmltests/Dash/tst_GenericPreview.qml'
263--- tests/qmltests/Dash/tst_GenericPreview.qml 2014-02-03 19:18:05 +0000
264+++ tests/qmltests/Dash/tst_GenericPreview.qml 2014-03-14 15:09:33 +0000
265@@ -22,7 +22,7 @@
266 Item {
267 id: root
268 width: units.gu(60)
269- height: units.gu(80)
270+ height: units.gu(90)
271
272 property var calls: []
273 property int counter: 0
274@@ -81,7 +81,7 @@
275
276 var actions = get_actions_data();
277 for(var i = 0; i < actions.length; i++) {
278- compare(root.calls[i], actions[i].id);
279+ tryCompare(root.calls, i, actions[i].id);
280 }
281 }
282
283
284=== modified file 'tests/qmltests/Dash/tst_GenericScopeView.qml'
285--- tests/qmltests/Dash/tst_GenericScopeView.qml 2014-02-05 08:20:25 +0000
286+++ tests/qmltests/Dash/tst_GenericScopeView.qml 2014-03-14 15:09:33 +0000
287@@ -67,7 +67,7 @@
288 function init() {
289 shell.width = units.gu(120)
290 genericScopeView.categoryView.positionAtBeginning();
291- tryCompare(genericScopeView.categoryView.contentY, 0)
292+ tryCompare(genericScopeView.categoryView, "contentY", 0)
293 }
294
295 function test_isCurrent() {
296@@ -184,13 +184,13 @@
297 categoryListView.positionAtBeginning();
298 waitForRendering(categoryListView);
299 categoryListView.flick(0, -units.gu(60));
300- tryCompare(categoryListView.flicking, false);
301+ tryCompare(categoryListView, "flicking", false);
302
303 var tile = findChild(findChild(genericScopeView, "0"), "delegate0");
304 mouseClick(tile, tile.width / 2, tile.height - 1);
305 tryCompare(openEffect, "gap", 1);
306
307- verify(openEffect.positionPx >= pageHeader.height + categoryListView.stickyHeaderHeight);
308+ verify(openEffect.positionPx >= Math.round(pageHeader.height + categoryListView.stickyHeaderHeight));
309 }
310
311 function test_previewCycle() {
312
313=== modified file 'tests/qmltests/Launcher/tst_Launcher.qml'
314--- tests/qmltests/Launcher/tst_Launcher.qml 2013-12-17 16:04:47 +0000
315+++ tests/qmltests/Launcher/tst_Launcher.qml 2014-03-14 15:09:33 +0000
316@@ -121,8 +121,7 @@
317 revealer.dragLauncherIntoView()
318
319 var listView = findChild(launcher, "launcherListView");
320- listView.flick(0, units.gu(500));
321- tryCompare(listView, "flicking", false);
322+ listView.positionViewAtEnd();
323
324 var appIcon = findChild(launcher, "launcherDelegate0")
325
326@@ -397,8 +396,11 @@
327
328 // Position launcher to where we need it
329 var listView = findChild(launcher, "launcherListView");
330- listView.flick(0, units.gu(200) * (data.flickTo === "top" ? 1 : -1));
331- tryCompare(listView, "flicking", false);
332+ if (data.flickTo == "top") {
333+ listView.positionViewAtEnd();
334+ } else {
335+ listView.positionViewAtBeginning();
336+ }
337
338 // Doing longpress
339 mousePress(draggedItem, draggedItem.width / 2, draggedItem.height / 2)
340
341=== modified file 'tests/qmltests/tst_Shell.qml'
342--- tests/qmltests/tst_Shell.qml 2014-01-16 12:37:57 +0000
343+++ tests/qmltests/tst_Shell.qml 2014-03-14 15:09:33 +0000
344@@ -235,8 +235,8 @@
345
346 var dash = findChild(shell, "dash");
347 // check that dash has normal scale and opacity
348- tryCompare(dash.contentScale, 1.0);
349- tryCompare(dash.opacity, 1.0);
350+ tryCompare(dash, "contentScale", 1.0);
351+ tryCompare(dash, "opacity", 1.0);
352
353 touchFlick(shell, touchX, touchY, shell.width * 0.1, touchY,
354 true /* beginTouch */, false /* endTouch */);
355
356=== modified file 'tests/utils/modules/Unity/Test/UnityTestCase.qml'
357--- tests/utils/modules/Unity/Test/UnityTestCase.qml 2013-12-05 17:16:30 +0000
358+++ tests/utils/modules/Unity/Test/UnityTestCase.qml 2014-03-14 15:09:33 +0000
359@@ -71,19 +71,8 @@
360
361
362 // Find an object with the given name in the children tree of "obj"
363- function findChild(obj,objectName) {
364- var childs = new Array(0);
365- childs.push(obj)
366- while (childs.length > 0) {
367- if (childs[0].objectName == objectName) {
368- return childs[0]
369- }
370- for (var i in childs[0].children) {
371- childs.push(childs[0].children[i])
372- }
373- childs.splice(0, 1);
374- }
375- return null;
376+ function findChild(obj, objectName) {
377+ return findChildIn(obj, "children", objectName);
378 }
379
380 // Find an object with the given name in the children tree of "obj"
381@@ -91,15 +80,20 @@
382 // Note: you should use findChild if you're not sure you need this
383 // as this tree is much bigger and might contain stuff that goes
384 // away randomly.
385- function findInvisibleChild(obj,objectName) {
386+ function findInvisibleChild(obj, objectName) {
387+ return findChildIn(obj, "data", objectName);
388+ }
389+
390+ // Find a child in the named property
391+ function findChildIn(obj, prop, objectName) {
392 var childs = new Array(0);
393 childs.push(obj)
394 while (childs.length > 0) {
395 if (childs[0].objectName == objectName) {
396 return childs[0]
397 }
398- for (var i in childs[0].data) {
399- childs.push(childs[0].data[i])
400+ for (var i in childs[0][prop]) {
401+ childs.push(childs[0][prop][i])
402 }
403 childs.splice(0, 1);
404 }

Subscribers

People subscribed via source and target branches