Merge lp:~sylvain-pineau/checkbox/fix-1420531 into lp:checkbox

Proposed by Sylvain Pineau
Status: Merged
Approved by: Sylvain Pineau
Approved revision: 3907
Merged at revision: 3908
Proposed branch: lp:~sylvain-pineau/checkbox/fix-1420531
Merge into: lp:checkbox
Diff against target: 142 lines (+108/-0)
4 files modified
providers/plainbox-provider-certification-client/units/client-cert-14-04-3.pxu (+1/-0)
providers/plainbox-provider-certification-client/units/client-cert-14-04.pxu (+1/-0)
providers/plainbox-provider-checkbox/data/touch_continuous_move_test.qml (+93/-0)
providers/plainbox-provider-checkbox/jobs/touchpad.txt.in (+13/-0)
To merge this branch: bzr merge lp:~sylvain-pineau/checkbox/fix-1420531
Reviewer Review Type Date Requested Status
Sylvain Pineau (community) Approve
Review via email: mp+265288@code.launchpad.net

Description of the change

Fixes the linked bug, a new touchpad test to ensure that we can get a smooth and continuous move for 10s, cert-blocker.

To post a comment you must log in.
Revision history for this message
Zygmunt Krynicki (zyga) wrote :

11:46 <@zyga> spineau: hmm
11:46 <@zyga> spineau: I tested it but it fails for me
11:46 <@zyga> spineau: I ran it on a desktop, with a mouse
11:46 <@zyga> ah
11:46 <@zyga> you have to keeeep moving it
11:46 <@zyga> hmm
11:46 <@zyga> I'd make the threshold bigger and add a big big lable to say what's going on

Revision history for this message
Ara Pulido (ara) wrote :

I agree that the instructions need to be clear, so people know what to do well in advance, but I do not agree to move the threshold to about a second, it should be a lot less than that. If not, we may miss the bug.

Revision history for this message
Zygmunt Krynicki (zyga) wrote :

I somewhat agree with Ara but I wanted to make it easy to write this test. If I were super picky and trying to come up with best test experience I would ask the user to spin their finger on the touchpad a few times then only pass the test if the user can do that for 10 seconds. If not I'd not fail the test, just restart the counter. Failing the test should be an explicit action the user can do (a button perhaps).

This could be coupled with a spinning wheel UI where we show the user how to move the finger and perhaps change the color from gray (neutral) to green (success) or red (failure). All of this is nice but would require more work and personally I don't know how to implement this right now. Perhaps Maciek, with more experience in QML, can help.

3906. By Sylvain Pineau

providers:checkbox: New touchpad test to check continuous move for 10s

Fixes: https://bugs.launchpad.net/plainbox-provider-checkbox/+bug/1420531

3907. By Sylvain Pineau

providers:certification: Add the new touchpad move test to 14.04 testplans

touchpad/continuous-move, a certification blocker.

Revision history for this message
Sylvain Pineau (sylvain-pineau) wrote :

self-approved

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'providers/plainbox-provider-certification-client/units/client-cert-14-04-3.pxu'
--- providers/plainbox-provider-certification-client/units/client-cert-14-04-3.pxu 2015-05-20 10:13:54 +0000
+++ providers/plainbox-provider-certification-client/units/client-cert-14-04-3.pxu 2015-07-22 07:15:59 +0000
@@ -229,6 +229,7 @@
229 power-management/fwts_wakealarm-log-attach229 power-management/fwts_wakealarm-log-attach
230 __touchpad__230 __touchpad__
231 touchpad/detected-as-mouse certification-status=blocker231 touchpad/detected-as-mouse certification-status=blocker
232 touchpad/continuous-move certification-status=blocker
232 touchpad/horizontal certification-status=blocker233 touchpad/horizontal certification-status=blocker
233 touchpad/vertical certification-status=blocker234 touchpad/vertical certification-status=blocker
234 touchpad/singletouch-automated certification-status=blocker235 touchpad/singletouch-automated certification-status=blocker
235236
=== modified file 'providers/plainbox-provider-certification-client/units/client-cert-14-04.pxu'
--- providers/plainbox-provider-certification-client/units/client-cert-14-04.pxu 2015-05-20 23:01:31 +0000
+++ providers/plainbox-provider-certification-client/units/client-cert-14-04.pxu 2015-07-22 07:15:59 +0000
@@ -218,6 +218,7 @@
218 power-management/fwts_wakealarm-log-attach218 power-management/fwts_wakealarm-log-attach
219 __touchpad__219 __touchpad__
220 touchpad/detected-as-mouse certification-status=blocker220 touchpad/detected-as-mouse certification-status=blocker
221 touchpad/continuous-move certification-status=blocker
221 touchpad/horizontal certification-status=blocker222 touchpad/horizontal certification-status=blocker
222 touchpad/vertical certification-status=blocker223 touchpad/vertical certification-status=blocker
223 touchpad/singletouch-automated certification-status=blocker224 touchpad/singletouch-automated certification-status=blocker
224225
=== added file 'providers/plainbox-provider-checkbox/data/touch_continuous_move_test.qml'
--- providers/plainbox-provider-checkbox/data/touch_continuous_move_test.qml 1970-01-01 00:00:00 +0000
+++ providers/plainbox-provider-checkbox/data/touch_continuous_move_test.qml 2015-07-22 07:15:59 +0000
@@ -0,0 +1,93 @@
1/* This file is part of Checkbox.
2
3 Copyright 2015 Canonical Ltd.
4 Written by:
5 Sylvain Pineau <sylvain.pineau@canonical.com>
6
7 Checkbox is free software: you can redistribute it and/or modify
8 it under the terms of the GNU General Public License version 3,
9 as published by the Free Software Foundation.
10
11 Checkbox is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
15
16 You should have received a copy of the GNU General Public License
17 along with Checkbox. If not, see <http://www.gnu.org/licenses/>.
18*/
19
20import QtQuick 2.0
21import Ubuntu.Components 0.1
22
23Rectangle {
24 width: 500
25 height: 500
26
27 MouseArea {
28 anchors.fill: parent
29 anchors.margins: 30
30 onPositionChanged: {
31 if (timer2.running) {
32 timer2.restart();
33 }
34 }
35 hoverEnabled: true
36 }
37
38 Column {
39 spacing: units.gu(5)
40 anchors.centerIn: parent
41 Text {
42 id: legend
43 anchors.horizontalCenter: parent.horizontalCenter
44 text: "Continuously move your mouse cursor"
45 font.bold: true
46 font.pointSize: 30
47 }
48 Text {
49 id: countdown
50 anchors.horizontalCenter: parent.horizontalCenter
51 text: " "
52 font.pointSize: 40
53 }
54 }
55
56 Timer {
57 id: timer1
58 interval: 1000
59 running: true
60 repeat: true
61 property int timeout: 11
62 onTriggered: {
63 timeout = timeout - 1
64 countdown.text = timeout
65 if (timeout <= 0) {
66 running = false
67 console.log("PASS")
68 Qt.quit()
69 }
70 }
71 }
72
73 Timer {
74 id: timer2
75 interval: 200
76 running: false
77 repeat: true
78 onTriggered: {
79 running = false
80 console.log("FAIL")
81 Qt.quit()
82 }
83 }
84
85 Timer {
86 id: timer3
87 interval: 2000
88 running: true
89 onTriggered: {
90 timer2.running = true
91 }
92 }
93}
094
=== modified file 'providers/plainbox-provider-checkbox/jobs/touchpad.txt.in'
--- providers/plainbox-provider-checkbox/jobs/touchpad.txt.in 2015-03-05 13:18:05 +0000
+++ providers/plainbox-provider-checkbox/jobs/touchpad.txt.in 2015-07-22 07:15:59 +0000
@@ -205,3 +205,16 @@
205_description:205_description:
206 This test will check if your touchpad was detected as a mouse.206 This test will check if your touchpad was detected as a mouse.
207207
208plugin: user-interact
209id: touchpad/continuous-move
210requires: dmi.product in ['Notebook','Laptop','Portable']
211estimated_duration: 12
212command: qmlscene -qt5 --fullscreen $PLAINBOX_PROVIDER_DATA/touch_continuous_move_test.qml 2>&1 | grep -o PASS
213_description:
214 PURPOSE:
215 Touchpad continuous move verification
216 STEPS:
217 1. Select "Test" when ready and continuously move your cursor within the borders of the displayed test window.
218 You'll need to keep moving your finger on the touchpad for 10 seconds.
219 VERIFICATION:
220 Did the mouse cursor move without interruption?

Subscribers

People subscribed via source and target branches