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
1=== modified file 'providers/plainbox-provider-certification-client/units/client-cert-14-04-3.pxu'
2--- providers/plainbox-provider-certification-client/units/client-cert-14-04-3.pxu 2015-05-20 10:13:54 +0000
3+++ providers/plainbox-provider-certification-client/units/client-cert-14-04-3.pxu 2015-07-22 07:15:59 +0000
4@@ -229,6 +229,7 @@
5 power-management/fwts_wakealarm-log-attach
6 __touchpad__
7 touchpad/detected-as-mouse certification-status=blocker
8+ touchpad/continuous-move certification-status=blocker
9 touchpad/horizontal certification-status=blocker
10 touchpad/vertical certification-status=blocker
11 touchpad/singletouch-automated certification-status=blocker
12
13=== modified file 'providers/plainbox-provider-certification-client/units/client-cert-14-04.pxu'
14--- providers/plainbox-provider-certification-client/units/client-cert-14-04.pxu 2015-05-20 23:01:31 +0000
15+++ providers/plainbox-provider-certification-client/units/client-cert-14-04.pxu 2015-07-22 07:15:59 +0000
16@@ -218,6 +218,7 @@
17 power-management/fwts_wakealarm-log-attach
18 __touchpad__
19 touchpad/detected-as-mouse certification-status=blocker
20+ touchpad/continuous-move certification-status=blocker
21 touchpad/horizontal certification-status=blocker
22 touchpad/vertical certification-status=blocker
23 touchpad/singletouch-automated certification-status=blocker
24
25=== added file 'providers/plainbox-provider-checkbox/data/touch_continuous_move_test.qml'
26--- providers/plainbox-provider-checkbox/data/touch_continuous_move_test.qml 1970-01-01 00:00:00 +0000
27+++ providers/plainbox-provider-checkbox/data/touch_continuous_move_test.qml 2015-07-22 07:15:59 +0000
28@@ -0,0 +1,93 @@
29+/* This file is part of Checkbox.
30+
31+ Copyright 2015 Canonical Ltd.
32+ Written by:
33+ Sylvain Pineau <sylvain.pineau@canonical.com>
34+
35+ Checkbox is free software: you can redistribute it and/or modify
36+ it under the terms of the GNU General Public License version 3,
37+ as published by the Free Software Foundation.
38+
39+ Checkbox is distributed in the hope that it will be useful,
40+ but WITHOUT ANY WARRANTY; without even the implied warranty of
41+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
42+ GNU General Public License for more details.
43+
44+ You should have received a copy of the GNU General Public License
45+ along with Checkbox. If not, see <http://www.gnu.org/licenses/>.
46+*/
47+
48+import QtQuick 2.0
49+import Ubuntu.Components 0.1
50+
51+Rectangle {
52+ width: 500
53+ height: 500
54+
55+ MouseArea {
56+ anchors.fill: parent
57+ anchors.margins: 30
58+ onPositionChanged: {
59+ if (timer2.running) {
60+ timer2.restart();
61+ }
62+ }
63+ hoverEnabled: true
64+ }
65+
66+ Column {
67+ spacing: units.gu(5)
68+ anchors.centerIn: parent
69+ Text {
70+ id: legend
71+ anchors.horizontalCenter: parent.horizontalCenter
72+ text: "Continuously move your mouse cursor"
73+ font.bold: true
74+ font.pointSize: 30
75+ }
76+ Text {
77+ id: countdown
78+ anchors.horizontalCenter: parent.horizontalCenter
79+ text: " "
80+ font.pointSize: 40
81+ }
82+ }
83+
84+ Timer {
85+ id: timer1
86+ interval: 1000
87+ running: true
88+ repeat: true
89+ property int timeout: 11
90+ onTriggered: {
91+ timeout = timeout - 1
92+ countdown.text = timeout
93+ if (timeout <= 0) {
94+ running = false
95+ console.log("PASS")
96+ Qt.quit()
97+ }
98+ }
99+ }
100+
101+ Timer {
102+ id: timer2
103+ interval: 200
104+ running: false
105+ repeat: true
106+ onTriggered: {
107+ running = false
108+ console.log("FAIL")
109+ Qt.quit()
110+ }
111+ }
112+
113+ Timer {
114+ id: timer3
115+ interval: 2000
116+ running: true
117+ onTriggered: {
118+ timer2.running = true
119+ }
120+ }
121+}
122
123=== modified file 'providers/plainbox-provider-checkbox/jobs/touchpad.txt.in'
124--- providers/plainbox-provider-checkbox/jobs/touchpad.txt.in 2015-03-05 13:18:05 +0000
125+++ providers/plainbox-provider-checkbox/jobs/touchpad.txt.in 2015-07-22 07:15:59 +0000
126@@ -205,3 +205,16 @@
127 _description:
128 This test will check if your touchpad was detected as a mouse.
129
130+plugin: user-interact
131+id: touchpad/continuous-move
132+requires: dmi.product in ['Notebook','Laptop','Portable']
133+estimated_duration: 12
134+command: qmlscene -qt5 --fullscreen $PLAINBOX_PROVIDER_DATA/touch_continuous_move_test.qml 2>&1 | grep -o PASS
135+_description:
136+ PURPOSE:
137+ Touchpad continuous move verification
138+ STEPS:
139+ 1. Select "Test" when ready and continuously move your cursor within the borders of the displayed test window.
140+ You'll need to keep moving your finger on the touchpad for 10 seconds.
141+ VERIFICATION:
142+ Did the mouse cursor move without interruption?

Subscribers

People subscribed via source and target branches