Merge lp:~mterry/unity8/relock-during-tutorial into lp:unity8
- relock-during-tutorial
- Merge into trunk
Status: | Rejected |
---|---|
Rejected by: | Michael Terry |
Proposed branch: | lp:~mterry/unity8/relock-during-tutorial |
Merge into: | lp:unity8 |
Diff against target: |
282 lines (+63/-47) 9 files modified
qml/Greeter/Greeter.qml (+14/-7) qml/Shell.qml (+2/-2) qml/Tutorial/TutorialContent.qml (+1/-0) qml/Tutorial/TutorialLeft.qml (+5/-3) qml/Tutorial/TutorialLeftFinish.qml (+5/-0) tests/qmltests/Greeter/tst_Greeter.qml (+7/-1) tests/qmltests/Tutorial/tst_Tutorial.qml (+9/-5) tests/qmltests/tst_Shell.qml (+20/-7) tests/qmltests/tst_ShellWithPin.qml (+0/-22) |
To merge this branch: | bzr merge lp:~mterry/unity8/relock-during-tutorial |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Unity8 CI Bot | continuous-integration | Needs Fixing | |
MichaĆ Sawicz | Needs Fixing | ||
PS Jenkins bot (community) | continuous-integration | Needs Fixing | |
Albert Astals Cid (community) | Approve | ||
Review via email: mp+285631@code.launchpad.net |
Commit message
Don't keep greeter unlocked while tutorial is running, only while wizard is running. This lets you lock your screen again during the tutorial.
Description of the change
This is a backported fix from the stuck-in-
- The Greeter.qml changes are to actually hide the lockscreen & greeter when forced to unlock. This makes sure it stays hidden even after the forcedUnlock hold is released. This also involves a UI change -- the cover page is no longer shown after the wizard. But that's desired by Design (part of the tutorial redesign). So I'm just pulling it forward a bit before the rest of the design:
https:/
- The Shell.qml changes are to allow the screen to be locked even though the tutorial is running (but still not when the wizard is running).
- The TutorialLeft.qml changes are to avoid the launcher being stuck in a pulled-out state when the greeter is locked during the tutorial.
* 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
* Did you make sure that your branch does not contain spurious tags?
Yes
* If you changed the packaging (debian), did you subscribe the ubuntu-unity team to this MP?
NA
* If you changed the UI, has there been a design review?
No, but it's a simple change requested by them.
Unity8 CI Bot (unity8-ci-bot) wrote : | # |
PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:2178
http://
Executed test runs:
UNSTABLE: http://
FAILURE: http://
UNSTABLE: http://
UNSTABLE: http://
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
UNSTABLE: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
FAILURE: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
Albert Astals Cid (aacid) wrote : | # |
What's the reason for the changes in qml/Tutorial/
Also, lots of failing tests.
Michael Terry (mterry) wrote : | # |
The reason for the TutorialLeft changes is that now that a user can lock the screen, if the launcher is bouncing out when the user locks it, it can get stuck that way (visible on lockscreen). This just makes sure that when the tutorial is paused (i.e. the lockscreen is up), we reset the animation to 0.
Failing tests due to this branch? I'll investigate and see what's up.
Michael Terry (mterry) wrote : | # |
OK, I think I fixed the tests (they had previously used a user with a pin set which hadn't mattered since the lockscreen was skipped during the tutorial, but now it does matter, so I switched to a user without a pin).
Plus, I fixed one test and some logic to keep the animation correctly paused while a user drags the launcher.
Unity8 CI Bot (unity8-ci-bot) wrote : | # |
FAILED: Continuous integration, rev:2179
https:/
Executed test runs:
FAILURE: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
deb: https:/
FAILURE: https:/
SUCCESS: https:/
deb: https:/
FAILURE: https:/
SUCCESS: https:/
deb: https:/
FAILURE: https:/
Click here to trigger a rebuild:
https:/
PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:2179
http://
Executed test runs:
FAILURE: http://
FAILURE: http://
UNSTABLE: http://
UNSTABLE: http://
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
FAILURE: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
FAILURE: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
Michael Terry (mterry) wrote : | # |
OK, pulled a little bit more from the tutorial-redesign, in order to fix the rest of the tests and keep internal Greeter state more consistent after the wizard closes.
See the MP description for a bit more explanation of the changes.
Unity8 CI Bot (unity8-ci-bot) wrote : | # |
FAILED: Continuous integration, rev:2180
https:/
Executed test runs:
FAILURE: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
Click here to trigger a rebuild:
https:/
PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:2180
http://
Executed test runs:
FAILURE: http://
FAILURE: http://
FAILURE: http://
FAILURE: http://
FAILURE: http://
FAILURE: http://
FAILURE: http://
FAILURE: http://
FAILURE: http://
FAILURE: http://
Click here to trigger a rebuild:
http://
Unity8 CI Bot (unity8-ci-bot) wrote : | # |
FAILED: Continuous integration, rev:2181
https:/
Executed test runs:
FAILURE: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
deb: https:/
FAILURE: https:/
SUCCESS: https:/
deb: https:/
FAILURE: https:/
SUCCESS: https:/
deb: https:/
FAILURE: https:/
Click here to trigger a rebuild:
https:/
PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:2181
http://
Executed test runs:
UNSTABLE: http://
FAILURE: http://
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
UNSTABLE: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
FAILURE: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
Albert Astals Cid (aacid) wrote : | # |
If i lock the screen after doing the pull of the launcher i.e. in the "There are the shortcuts to favorite apps" step, the launcher is not shown after unlokcing, i guess we should fix this? What do you think?
Michael Terry (mterry) wrote : | # |
Great point, didn't notice that. Fixed in this branch by re-showing the launcher in this case.
May look *slightly* odd to see it animating in, but it looked better to me than instantly showing it on the screen. And (a) this whole tutorial is temporary, to be replaced soon and (b) this is an odd case.
So I didn't feel like optimizing.
Unity8 CI Bot (unity8-ci-bot) wrote : | # |
FAILED: Continuous integration, rev:2182
https:/
Executed test runs:
SUCCESS: 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:/
Click here to trigger a rebuild:
https:/
PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:2182
http://
Executed test runs:
UNSTABLE: http://
FAILURE: http://
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
UNSTABLE: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
FAILURE: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
Albert Astals Cid (aacid) wrote : | # |
* Did you perform an exploratory manual test run of the code change and any related functionality?
Yes
* Did CI run pass? If not, please explain why.
Yes
* Did you make sure that the branch does not contain spurious tags?
Yes
Unity8 CI Bot (unity8-ci-bot) wrote : | # |
PASSED: Continuous integration, rev:2183
https:/
Executed test runs:
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:/
Click here to trigger a rebuild:
https:/
PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:2183
http://
Executed test runs:
UNSTABLE: http://
FAILURE: http://
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
UNSTABLE: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
FAILURE: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
MichaĆ Sawicz (saviq) wrote : | # |
This breaks:
unity8.
https:/
Albert Astals Cid (aacid) wrote : | # |
Text conflict in qml/Greeter/
Text conflict in qml/Tutorial/
Text conflict in qml/Tutorial/
Contents conflict in qml/Tutorial/
Text conflict in tests/qmltests/
5 conflicts encountered.
Unity8 CI Bot (unity8-ci-bot) wrote : | # |
FAILED: Continuous integration, rev:2183
https:/
Executed test runs:
FAILURE: https:/
Click here to trigger a rebuild:
https:/
Michael Terry (mterry) wrote : | # |
Oh, we don't need this anymore, since tutorial-redesign landed. I'll mark this MP rejected.
Unmerged revisions
- 2183. By Michael Terry
-
Merge from trunk
- 2182. By Michael Terry
-
Show launcher in LeftFinish screen after a lock/unlock
- 2181. By Michael Terry
-
Fix whitespace
- 2180. By Michael Terry
-
Actually tear down greeter when force unlocked (to keep it unlocked until shown)
- 2179. By Michael Terry
-
Fix tests
- 2178. By Michael Terry
-
Allow re-locking screen even if tutorial is running
Preview Diff
1 | === modified file 'qml/Greeter/Greeter.qml' | |||
2 | --- qml/Greeter/Greeter.qml 2016-01-11 17:37:02 +0000 | |||
3 | +++ qml/Greeter/Greeter.qml 2016-02-22 13:27:59 +0000 | |||
4 | @@ -160,6 +160,14 @@ | |||
5 | 160 | return false; | 160 | return false; |
6 | 161 | } | 161 | } |
7 | 162 | } | 162 | } |
8 | 163 | |||
9 | 164 | function checkForcedUnlock() { | ||
10 | 165 | if (forcedUnlock && shown && loader.item) { | ||
11 | 166 | // pretend we were just authenticated | ||
12 | 167 | loader.item.notifyAuthenticationSucceeded(); | ||
13 | 168 | loader.item.hide(); | ||
14 | 169 | } | ||
15 | 170 | } | ||
16 | 163 | } | 171 | } |
17 | 164 | 172 | ||
18 | 165 | onLauncherOffsetChanged: { | 173 | onLauncherOffsetChanged: { |
19 | @@ -168,13 +176,6 @@ | |||
20 | 168 | } | 176 | } |
21 | 169 | } | 177 | } |
22 | 170 | 178 | ||
23 | 171 | onForcedUnlockChanged: { | ||
24 | 172 | if (forcedUnlock && shown) { | ||
25 | 173 | // pretend we were just authenticated | ||
26 | 174 | loader.item.notifyAuthenticationSucceeded(); | ||
27 | 175 | } | ||
28 | 176 | } | ||
29 | 177 | |||
30 | 178 | onRequiredChanged: { | 179 | onRequiredChanged: { |
31 | 179 | if (required) { | 180 | if (required) { |
32 | 180 | d.waiting = true; | 181 | d.waiting = true; |
33 | @@ -182,6 +183,12 @@ | |||
34 | 182 | } | 183 | } |
35 | 183 | } | 184 | } |
36 | 184 | 185 | ||
37 | 186 | onForcedUnlockChanged: d.checkForcedUnlock() | ||
38 | 187 | |||
39 | 188 | Component.onCompleted: { | ||
40 | 189 | d.checkForcedUnlock(); | ||
41 | 190 | } | ||
42 | 191 | |||
43 | 185 | GSettings { | 192 | GSettings { |
44 | 186 | id: greeterSettings | 193 | id: greeterSettings |
45 | 187 | schema.id: "com.canonical.Unity8.Greeter" | 194 | schema.id: "com.canonical.Unity8.Greeter" |
46 | 188 | 195 | ||
47 | === modified file 'qml/Shell.qml' | |||
48 | --- qml/Shell.qml 2016-01-28 18:25:14 +0000 | |||
49 | +++ qml/Shell.qml 2016-02-22 13:27:59 +0000 | |||
50 | @@ -405,7 +405,7 @@ | |||
51 | 405 | hides: [launcher, panel.indicators] | 405 | hides: [launcher, panel.indicators] |
52 | 406 | tabletMode: shell.usageScenario != "phone" | 406 | tabletMode: shell.usageScenario != "phone" |
53 | 407 | launcherOffset: launcher.progress | 407 | launcherOffset: launcher.progress |
55 | 408 | forcedUnlock: tutorial.running | 408 | forcedUnlock: wizard.active |
56 | 409 | background: wallpaperResolver.background | 409 | background: wallpaperResolver.background |
57 | 410 | 410 | ||
58 | 411 | // avoid overlapping with Launcher's edge drag area | 411 | // avoid overlapping with Launcher's edge drag area |
59 | @@ -462,7 +462,7 @@ | |||
60 | 462 | 462 | ||
61 | 463 | onStatusChanged: { | 463 | onStatusChanged: { |
62 | 464 | if (Powerd.status === Powerd.Off && reason !== Powerd.Proximity && | 464 | if (Powerd.status === Powerd.Off && reason !== Powerd.Proximity && |
64 | 465 | !callManager.hasCalls && !tutorial.running) { | 465 | !callManager.hasCalls && !wizard.active) { |
65 | 466 | // We don't want to simply call greeter.showNow() here, because | 466 | // We don't want to simply call greeter.showNow() here, because |
66 | 467 | // that will take too long. Qt will delay button event | 467 | // that will take too long. Qt will delay button event |
67 | 468 | // handling until the greeter is done loading and may think the | 468 | // handling until the greeter is done loading and may think the |
68 | 469 | 469 | ||
69 | === modified file 'qml/Tutorial/TutorialContent.qml' | |||
70 | --- qml/Tutorial/TutorialContent.qml 2015-08-25 07:25:26 +0000 | |||
71 | +++ qml/Tutorial/TutorialContent.qml 2016-02-22 13:27:59 +0000 | |||
72 | @@ -76,6 +76,7 @@ | |||
73 | 76 | objectName: "tutorialLeftFinish" | 76 | objectName: "tutorialLeftFinish" |
74 | 77 | anchors.fill: parent | 77 | anchors.fill: parent |
75 | 78 | textXOffset: root.launcher.panelWidth | 78 | textXOffset: root.launcher.panelWidth |
76 | 79 | launcher: root.launcher | ||
77 | 79 | paused: !shown || root.paused | 80 | paused: !shown || root.paused |
78 | 80 | text: i18n.tr("Tap here to continue.") | 81 | text: i18n.tr("Tap here to continue.") |
79 | 81 | 82 | ||
80 | 82 | 83 | ||
81 | === modified file 'qml/Tutorial/TutorialLeft.qml' | |||
82 | --- qml/Tutorial/TutorialLeft.qml 2015-07-21 14:38:35 +0000 | |||
83 | +++ qml/Tutorial/TutorialLeft.qml 2016-02-22 13:27:59 +0000 | |||
84 | @@ -29,7 +29,7 @@ | |||
85 | 29 | textXOffset: root.launcher.x + root.launcher.visibleWidth | 29 | textXOffset: root.launcher.x + root.launcher.visibleWidth |
86 | 30 | 30 | ||
87 | 31 | Connections { | 31 | Connections { |
89 | 32 | target: root.launcher | 32 | target: root.shown ? root.launcher : null |
90 | 33 | 33 | ||
91 | 34 | onStateChanged: { | 34 | onStateChanged: { |
92 | 35 | if (root.launcher.state === "visible") { | 35 | if (root.launcher.state === "visible") { |
93 | @@ -47,12 +47,14 @@ | |||
94 | 47 | SequentialAnimation { | 47 | SequentialAnimation { |
95 | 48 | id: teaseAnimation | 48 | id: teaseAnimation |
96 | 49 | objectName: "teaseAnimation" | 49 | objectName: "teaseAnimation" |
99 | 50 | paused: running && root.paused | 50 | paused: running && (slider.active || root.launcher.visibleWidth > 0) |
100 | 51 | running: !slider.active && root.launcher.visibleWidth === 0 && root.shown | 51 | running: !root.paused && root.shown |
101 | 52 | loops: Animation.Infinite | 52 | loops: Animation.Infinite |
102 | 53 | property real bounce: 0 | 53 | property real bounce: 0 |
103 | 54 | readonly property real maxBounce: units.gu(2) | 54 | readonly property real maxBounce: units.gu(2) |
104 | 55 | 55 | ||
105 | 56 | onRunningChanged: bounce = 0 | ||
106 | 57 | |||
107 | 56 | UbuntuNumberAnimation { | 58 | UbuntuNumberAnimation { |
108 | 57 | target: teaseAnimation | 59 | target: teaseAnimation |
109 | 58 | property: "bounce" | 60 | property: "bounce" |
110 | 59 | 61 | ||
111 | === modified file 'qml/Tutorial/TutorialLeftFinish.qml' | |||
112 | --- qml/Tutorial/TutorialLeftFinish.qml 2015-07-15 15:07:19 +0000 | |||
113 | +++ qml/Tutorial/TutorialLeftFinish.qml 2016-02-22 13:27:59 +0000 | |||
114 | @@ -21,10 +21,15 @@ | |||
115 | 21 | TutorialPage { | 21 | TutorialPage { |
116 | 22 | id: root | 22 | id: root |
117 | 23 | 23 | ||
118 | 24 | property var launcher | ||
119 | 25 | |||
120 | 24 | title: i18n.tr("These are the shortcuts to favorite apps") | 26 | title: i18n.tr("These are the shortcuts to favorite apps") |
121 | 25 | text: i18n.tr("Tap here to continue.") | 27 | text: i18n.tr("Tap here to continue.") |
122 | 26 | fullTextWidth: true | 28 | fullTextWidth: true |
123 | 27 | 29 | ||
124 | 30 | // Make sure launcher is shown, even after screen is locked/unlocked | ||
125 | 31 | onPausedChanged: if (!paused) launcher.switchToNextState("visible") | ||
126 | 32 | |||
127 | 28 | foreground { | 33 | foreground { |
128 | 29 | children: [ | 34 | children: [ |
129 | 30 | LocalComponents.Tick { | 35 | LocalComponents.Tick { |
130 | 31 | 36 | ||
131 | === modified file 'tests/qmltests/Greeter/tst_Greeter.qml' | |||
132 | --- tests/qmltests/Greeter/tst_Greeter.qml 2016-01-11 17:37:02 +0000 | |||
133 | +++ tests/qmltests/Greeter/tst_Greeter.qml 2016-02-22 13:27:59 +0000 | |||
134 | @@ -328,9 +328,15 @@ | |||
135 | 328 | LightDM.Greeter.active = true; | 328 | LightDM.Greeter.active = true; |
136 | 329 | 329 | ||
137 | 330 | greeter.forcedUnlock = true; | 330 | greeter.forcedUnlock = true; |
139 | 331 | compare(view.locked, false); | 331 | compare(greeter.required, false); |
140 | 332 | greeter.forcedUnlock = false; | 332 | greeter.forcedUnlock = false; |
141 | 333 | 333 | ||
142 | 334 | // Now recover from tearing down the view above | ||
143 | 335 | LightDM.Greeter.showGreeter(); | ||
144 | 336 | tryCompare(greeter, "required", true); | ||
145 | 337 | tryCompare(greeter, "waiting", false); | ||
146 | 338 | view = findChild(greeter, "testView"); | ||
147 | 339 | |||
148 | 334 | selectUser("no-password"); | 340 | selectUser("no-password"); |
149 | 335 | tryCompare(view, "locked", false); | 341 | tryCompare(view, "locked", false); |
150 | 336 | selectUser("has-password"); | 342 | selectUser("has-password"); |
151 | 337 | 343 | ||
152 | === modified file 'tests/qmltests/Tutorial/tst_Tutorial.qml' | |||
153 | --- tests/qmltests/Tutorial/tst_Tutorial.qml 2015-09-02 07:42:27 +0000 | |||
154 | +++ tests/qmltests/Tutorial/tst_Tutorial.qml 2016-02-22 13:27:59 +0000 | |||
155 | @@ -47,8 +47,8 @@ | |||
156 | 47 | 47 | ||
157 | 48 | Component.onCompleted: { | 48 | Component.onCompleted: { |
158 | 49 | // must set the mock mode before loading the Shell | 49 | // must set the mock mode before loading the Shell |
161 | 50 | LightDM.Greeter.mockMode = "single-pin"; | 50 | LightDM.Greeter.mockMode = "single"; |
162 | 51 | LightDM.Users.mockMode = "single-pin"; | 51 | LightDM.Users.mockMode = "single"; |
163 | 52 | shellLoader.active = true; | 52 | shellLoader.active = true; |
164 | 53 | } | 53 | } |
165 | 54 | 54 | ||
166 | @@ -331,24 +331,28 @@ | |||
167 | 331 | 331 | ||
168 | 332 | // Wait for launcher to be really out there | 332 | // Wait for launcher to be really out there |
169 | 333 | tryCompareFunction(function() {return launcher.x > teaseAnimation.maxBounce/2}, true); | 333 | tryCompareFunction(function() {return launcher.x > teaseAnimation.maxBounce/2}, true); |
170 | 334 | verify(!teaseAnimation.paused); | ||
171 | 334 | verify(teaseAnimation.running); | 335 | verify(teaseAnimation.running); |
172 | 335 | 336 | ||
173 | 336 | // Start a drag, make sure animation stops | 337 | // Start a drag, make sure animation stops |
174 | 337 | touchFlick(shell, 0, halfHeight, units.gu(4), halfHeight, true, false); | 338 | touchFlick(shell, 0, halfHeight, units.gu(4), halfHeight, true, false); |
176 | 338 | verify(!teaseAnimation.running); | 339 | verify(teaseAnimation.paused); |
177 | 340 | verify(teaseAnimation.running); | ||
178 | 339 | verify(launcher.visibleWidth > 0); | 341 | verify(launcher.visibleWidth > 0); |
179 | 340 | verify(launcher.x > 0); | 342 | verify(launcher.x > 0); |
180 | 341 | compare(launcher.x, teaseAnimation.bounce); | 343 | compare(launcher.x, teaseAnimation.bounce); |
181 | 342 | 344 | ||
182 | 343 | // Continue drag, make sure we don't create a gap on the left hand side | 345 | // Continue drag, make sure we don't create a gap on the left hand side |
183 | 344 | touchFlick(shell, units.gu(4), halfHeight, shell.width, halfHeight, false, false); | 346 | touchFlick(shell, units.gu(4), halfHeight, shell.width, halfHeight, false, false); |
185 | 345 | verify(!teaseAnimation.running); | 347 | verify(teaseAnimation.paused); |
186 | 348 | verify(teaseAnimation.running); | ||
187 | 346 | compare(launcher.visibleWidth, launcher.panelWidth); | 349 | compare(launcher.visibleWidth, launcher.panelWidth); |
188 | 347 | compare(launcher.x, 0); | 350 | compare(launcher.x, 0); |
189 | 348 | 351 | ||
190 | 349 | // Finish and make sure we continue animation | 352 | // Finish and make sure we continue animation |
191 | 350 | touchFlick(shell, shell.width, halfHeight, shell.width, halfHeight, false, true); | 353 | touchFlick(shell, shell.width, halfHeight, shell.width, halfHeight, false, true); |
193 | 351 | tryCompare(teaseAnimation, "running", true); | 354 | tryCompare(teaseAnimation, "paused", false); |
194 | 355 | verify(teaseAnimation.running); | ||
195 | 352 | } | 356 | } |
196 | 353 | 357 | ||
197 | 354 | function test_spread() { | 358 | function test_spread() { |
198 | 355 | 359 | ||
199 | === modified file 'tests/qmltests/tst_Shell.qml' | |||
200 | --- tests/qmltests/tst_Shell.qml 2016-02-12 00:11:28 +0000 | |||
201 | +++ tests/qmltests/tst_Shell.qml 2016-02-22 13:27:59 +0000 | |||
202 | @@ -565,9 +565,8 @@ | |||
203 | 565 | 565 | ||
204 | 566 | function test_tabletLeftEdgeDrag_data() { | 566 | function test_tabletLeftEdgeDrag_data() { |
205 | 567 | return [ | 567 | return [ |
209 | 568 | {tag: "without password", user: "no-password", loggedIn: true, demo: false}, | 568 | {tag: "without password", user: "no-password", loggedIn: true}, |
210 | 569 | {tag: "with password", user: "has-password", loggedIn: false, demo: false}, | 569 | {tag: "with password", user: "has-password", loggedIn: false}, |
208 | 570 | {tag: "with demo", user: "has-password", loggedIn: true, demo: true}, | ||
211 | 571 | ] | 570 | ] |
212 | 572 | } | 571 | } |
213 | 573 | 572 | ||
214 | @@ -577,10 +576,6 @@ | |||
215 | 577 | 576 | ||
216 | 578 | selectUser(data.user) | 577 | selectUser(data.user) |
217 | 579 | 578 | ||
218 | 580 | AccountsService.demoEdges = data.demo | ||
219 | 581 | var tutorial = findChild(shell, "tutorial"); | ||
220 | 582 | tryCompare(tutorial, "running", data.demo); | ||
221 | 583 | |||
222 | 584 | swipeFromLeftEdge(shell.width * 0.75) | 579 | swipeFromLeftEdge(shell.width * 0.75) |
223 | 585 | wait(500) // to give time to handle dash() signal from Launcher | 580 | wait(500) // to give time to handle dash() signal from Launcher |
224 | 586 | confirmLoggedIn(data.loggedIn) | 581 | confirmLoggedIn(data.loggedIn) |
225 | @@ -1170,6 +1165,24 @@ | |||
226 | 1170 | compare(tutorialLeft, null); // should be destroyed with tutorial | 1165 | compare(tutorialLeft, null); // should be destroyed with tutorial |
227 | 1171 | } | 1166 | } |
228 | 1172 | 1167 | ||
229 | 1168 | function test_wizardHidesGreeter() { | ||
230 | 1169 | setLightDMMockMode("single-pin"); | ||
231 | 1170 | loadShell("phone"); | ||
232 | 1171 | |||
233 | 1172 | var wizard = findChild(shell, "wizard"); | ||
234 | 1173 | var greeter = findChild(shell, "greeter"); | ||
235 | 1174 | |||
236 | 1175 | Wizard.System.wizardEnabled = true; | ||
237 | 1176 | verify(wizard.active); | ||
238 | 1177 | tryCompare(greeter, "shown", false); | ||
239 | 1178 | |||
240 | 1179 | Wizard.System.wizardEnabled = false; | ||
241 | 1180 | verify(!wizard.active); | ||
242 | 1181 | verify(!greeter.shown); // stays hidden | ||
243 | 1182 | |||
244 | 1183 | compare(sessionSpy.count, 1); | ||
245 | 1184 | } | ||
246 | 1185 | |||
247 | 1173 | function test_tutorialPausedDuringGreeter() { | 1186 | function test_tutorialPausedDuringGreeter() { |
248 | 1174 | loadShell("phone"); | 1187 | loadShell("phone"); |
249 | 1175 | 1188 | ||
250 | 1176 | 1189 | ||
251 | === modified file 'tests/qmltests/tst_ShellWithPin.qml' | |||
252 | --- tests/qmltests/tst_ShellWithPin.qml 2016-01-19 19:46:01 +0000 | |||
253 | +++ tests/qmltests/tst_ShellWithPin.qml 2016-02-22 13:27:59 +0000 | |||
254 | @@ -270,28 +270,6 @@ | |||
255 | 270 | tryCompare(sessionSpy, "count", 1) | 270 | tryCompare(sessionSpy, "count", 1) |
256 | 271 | } | 271 | } |
257 | 272 | 272 | ||
258 | 273 | function test_edgeDemoHidesLockscreen() { | ||
259 | 274 | LightDM.Greeter.showGreeter() | ||
260 | 275 | sessionSpy.clear() | ||
261 | 276 | var lockscreen = findChild(shell, "lockscreen") | ||
262 | 277 | |||
263 | 278 | tryCompare(lockscreen, "shown", true) | ||
264 | 279 | AccountsService.demoEdges = true | ||
265 | 280 | tryCompare(lockscreen, "shown", false) | ||
266 | 281 | |||
267 | 282 | var greeter = findChild(shell, "greeter"); | ||
268 | 283 | swipeAwayGreeter(false); | ||
269 | 284 | tryCompare(greeter, "shown", false); | ||
270 | 285 | tryCompare(sessionSpy, "count", 1) | ||
271 | 286 | |||
272 | 287 | // Lockscreen is only hidden by the edge demo, so if we turn that | ||
273 | 288 | // off and show greeter again, lockscreen should appear | ||
274 | 289 | AccountsService.demoEdges = false | ||
275 | 290 | LightDM.Greeter.showGreeter() | ||
276 | 291 | lockscreen = findChild(shell, "lockscreen"); | ||
277 | 292 | tryCompare(lockscreen, "shown", true) | ||
278 | 293 | } | ||
279 | 294 | |||
280 | 295 | function test_disabledEdges() { | 273 | function test_disabledEdges() { |
281 | 296 | var launcher = findChild(shell, "launcher") | 274 | var launcher = findChild(shell, "launcher") |
282 | 297 | tryCompare(launcher, "available", true) | 275 | tryCompare(launcher, "available", true) |
FAILED: Continuous integration, rev:2178 /unity8- jenkins. ubuntu. com/job/ lp-unity8- 1-ci/311/ /unity8- jenkins. ubuntu. com/job/ build/432/ console /unity8- jenkins. ubuntu. com/job/ build-0- fetch/455 /unity8- jenkins. ubuntu. com/job/ build-1- sourcepkg/ release= vivid+overlay/ 473 /unity8- jenkins. ubuntu. com/job/ build-1- sourcepkg/ release= xenial/ 473 /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=amd64, release= vivid+overlay/ 469 /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=amd64, release= vivid+overlay/ 469/artifact/ output/ *zip*/output. zip /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=amd64, release= xenial/ 469/console /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=armhf, release= vivid+overlay/ 469 /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=armhf, release= vivid+overlay/ 469/artifact/ output/ *zip*/output. zip /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=armhf, release= xenial/ 469/console /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=i386, release= vivid+overlay/ 469 /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=i386, release= vivid+overlay/ 469/artifact/ output/ *zip*/output. zip /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=i386, release= xenial/ 469/console
https:/
Executed test runs:
FAILURE: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
deb: https:/
FAILURE: https:/
SUCCESS: https:/
deb: https:/
FAILURE: https:/
SUCCESS: https:/
deb: https:/
FAILURE: https:/
Click here to trigger a rebuild: /unity8- jenkins. ubuntu. com/job/ lp-unity8- 1-ci/311/ rebuild
https:/