[Touch-packages] [Bug 1549256] Re: UbuntuTestCase's flick() function is unreliable, does not always flick a Flickable

2016-04-12 Thread Pat McGowan
** Changed in: canonical-devices-system-image
   Status: Fix Committed => Fix Released

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to ubuntu-ui-toolkit in
Ubuntu.
https://bugs.launchpad.net/bugs/1549256

Title:
  UbuntuTestCase's flick() function is unreliable, does not always flick
  a Flickable

Status in Canonical System Image:
  Fix Released
Status in ubuntu-ui-toolkit package in Ubuntu:
  Fix Released

Bug description:
  revision 1864

  System setup: Vivid + Overlay PPA (i.e. same as phones/tablets)

  libqt5qml5:
    Installed: 5.4.1-1ubuntu11~overlay3
  libqt5core5a:
    Installed: 5.4.1+dfsg-2ubuntu11~vivid4

  UbuntuTestCase provides a flick() function whose main purpose is to
  produce a flick event when executed on Flickable.

  I noticed that this does not always happen, causing flakiness of some
  of the UITK tests (in my case, it's the Scrollbar/ScrollView tests I'm
  working on)

  Here is a test case that reproduces the issue, once every 10-200 runs,
  depending on the configuration (I use a simple script to run it until
  it fails)

  Please note that uncommenting the debug lines such as onMovingChanged
  onFlickingChanged will make it harder to reproduce the bug.

  Enabling QT_LOGGING_RULES="qt.quick.mouse.debug=true" or
  onContentYChanged will make it even harder.

  Since I already went through the effort, I'm posting here the debug log 
coming from the failed and successful runs:
  - Typical failed run ---> http://pastebin.ubuntu.com/15186789/ Note how 
"flicking" never becomes true
  - Typical successful run ---> http://pastebin.ubuntu.com/15186784/

  - Failed test with qt.quick.mouse.debug=true  --> 
http://pastebin.ubuntu.com/15186851/
  - Successful test with qt.quick.mouse.debug=true -> 
http://pastebin.ubuntu.com/15186853/

  Here's the code I used to reproduce the bug:

  import QtQuick 2.4
  import QtTest 1.0
  import Ubuntu.Test 1.0
  import Ubuntu.Components 1.3
  import Ubuntu.Components.Styles 1.3
  import QtQml.Models 2.1

  Item {
  id: main
  width: units.gu(50)
  height: units.gu(100)

  SignalSpy {
  id: signalSpy
  }
  SignalSpy {
  id: anotherSignalSpy
  }

  Item {
  anchors.fill: parent
  Item {
  width: units.gu(20)
  height: units.gu(30)
  property alias flickable: freshFlickable
  Flickable {
  id: freshFlickable
  anchors.fill: parent
  contentHeight: content.height
  contentWidth: content.width
  clip: true
  //onContentYChanged: console.log(contentY)
  //onMovingChanged: console.log("MOVING", moving)
  //onFlickingChanged: console.log("FLICKING", flicking)
  Rectangle {
  id: content
  width: units.gu(40)
  height: units.gu(200)
  color: "blue"
  }
  }
  }
  }

  UbuntuTestCase {
  name: "FlickBug"
  when: windowShown

  function setupSignalSpy(spy, target, signalName) {
  spy.clear()
  //reset signalName otherwise it will look for the old signalName 
in the new target
  spy.signalName = ""
  spy.target = target
  spy.signalName = signalName
  }

  function test_flickUbuntuTestCase() {
  setupSignalSpy(signalSpy, freshFlickable, "movingChanged")
  flick(freshFlickable, 50, 50, -units.gu(10), -units.gu(10))
  signalSpy.wait()
  compare(signalSpy.count, 1, "No movingChanged signal after 
simulating a flick.")
  }
  }
  }

To manage notifications about this bug go to:
https://bugs.launchpad.net/canonical-devices-system-image/+bug/1549256/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp


[Touch-packages] [Bug 1549256] Re: UbuntuTestCase's flick() function is unreliable, does not always flick a Flickable

2016-03-19 Thread Timo Jyrinki
** Also affects: canonical-devices-system-image
   Importance: Undecided
   Status: New

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to ubuntu-ui-toolkit in
Ubuntu.
https://bugs.launchpad.net/bugs/1549256

Title:
  UbuntuTestCase's flick() function is unreliable, does not always flick
  a Flickable

Status in Canonical System Image:
  Fix Committed
Status in ubuntu-ui-toolkit package in Ubuntu:
  Fix Released

Bug description:
  revision 1864

  System setup: Vivid + Overlay PPA (i.e. same as phones/tablets)

  libqt5qml5:
    Installed: 5.4.1-1ubuntu11~overlay3
  libqt5core5a:
    Installed: 5.4.1+dfsg-2ubuntu11~vivid4

  UbuntuTestCase provides a flick() function whose main purpose is to
  produce a flick event when executed on Flickable.

  I noticed that this does not always happen, causing flakiness of some
  of the UITK tests (in my case, it's the Scrollbar/ScrollView tests I'm
  working on)

  Here is a test case that reproduces the issue, once every 10-200 runs,
  depending on the configuration (I use a simple script to run it until
  it fails)

  Please note that uncommenting the debug lines such as onMovingChanged
  onFlickingChanged will make it harder to reproduce the bug.

  Enabling QT_LOGGING_RULES="qt.quick.mouse.debug=true" or
  onContentYChanged will make it even harder.

  Since I already went through the effort, I'm posting here the debug log 
coming from the failed and successful runs:
  - Typical failed run ---> http://pastebin.ubuntu.com/15186789/ Note how 
"flicking" never becomes true
  - Typical successful run ---> http://pastebin.ubuntu.com/15186784/

  - Failed test with qt.quick.mouse.debug=true  --> 
http://pastebin.ubuntu.com/15186851/
  - Successful test with qt.quick.mouse.debug=true -> 
http://pastebin.ubuntu.com/15186853/

  Here's the code I used to reproduce the bug:

  import QtQuick 2.4
  import QtTest 1.0
  import Ubuntu.Test 1.0
  import Ubuntu.Components 1.3
  import Ubuntu.Components.Styles 1.3
  import QtQml.Models 2.1

  Item {
  id: main
  width: units.gu(50)
  height: units.gu(100)

  SignalSpy {
  id: signalSpy
  }
  SignalSpy {
  id: anotherSignalSpy
  }

  Item {
  anchors.fill: parent
  Item {
  width: units.gu(20)
  height: units.gu(30)
  property alias flickable: freshFlickable
  Flickable {
  id: freshFlickable
  anchors.fill: parent
  contentHeight: content.height
  contentWidth: content.width
  clip: true
  //onContentYChanged: console.log(contentY)
  //onMovingChanged: console.log("MOVING", moving)
  //onFlickingChanged: console.log("FLICKING", flicking)
  Rectangle {
  id: content
  width: units.gu(40)
  height: units.gu(200)
  color: "blue"
  }
  }
  }
  }

  UbuntuTestCase {
  name: "FlickBug"
  when: windowShown

  function setupSignalSpy(spy, target, signalName) {
  spy.clear()
  //reset signalName otherwise it will look for the old signalName 
in the new target
  spy.signalName = ""
  spy.target = target
  spy.signalName = signalName
  }

  function test_flickUbuntuTestCase() {
  setupSignalSpy(signalSpy, freshFlickable, "movingChanged")
  flick(freshFlickable, 50, 50, -units.gu(10), -units.gu(10))
  signalSpy.wait()
  compare(signalSpy.count, 1, "No movingChanged signal after 
simulating a flick.")
  }
  }
  }

To manage notifications about this bug go to:
https://bugs.launchpad.net/canonical-devices-system-image/+bug/1549256/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp


[Touch-packages] [Bug 1549256] Re: UbuntuTestCase's flick() function is unreliable, does not always flick a Flickable

2016-03-19 Thread Timo Jyrinki
** Changed in: canonical-devices-system-image
   Status: New => Fix Committed

** Changed in: canonical-devices-system-image
   Importance: Undecided => High

** Changed in: canonical-devices-system-image
 Assignee: (unassigned) => Zoltan Balogh (bzoltan)

** Changed in: canonical-devices-system-image
Milestone: None => ww08-2016

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to ubuntu-ui-toolkit in
Ubuntu.
https://bugs.launchpad.net/bugs/1549256

Title:
  UbuntuTestCase's flick() function is unreliable, does not always flick
  a Flickable

Status in Canonical System Image:
  Fix Committed
Status in ubuntu-ui-toolkit package in Ubuntu:
  Fix Released

Bug description:
  revision 1864

  System setup: Vivid + Overlay PPA (i.e. same as phones/tablets)

  libqt5qml5:
    Installed: 5.4.1-1ubuntu11~overlay3
  libqt5core5a:
    Installed: 5.4.1+dfsg-2ubuntu11~vivid4

  UbuntuTestCase provides a flick() function whose main purpose is to
  produce a flick event when executed on Flickable.

  I noticed that this does not always happen, causing flakiness of some
  of the UITK tests (in my case, it's the Scrollbar/ScrollView tests I'm
  working on)

  Here is a test case that reproduces the issue, once every 10-200 runs,
  depending on the configuration (I use a simple script to run it until
  it fails)

  Please note that uncommenting the debug lines such as onMovingChanged
  onFlickingChanged will make it harder to reproduce the bug.

  Enabling QT_LOGGING_RULES="qt.quick.mouse.debug=true" or
  onContentYChanged will make it even harder.

  Since I already went through the effort, I'm posting here the debug log 
coming from the failed and successful runs:
  - Typical failed run ---> http://pastebin.ubuntu.com/15186789/ Note how 
"flicking" never becomes true
  - Typical successful run ---> http://pastebin.ubuntu.com/15186784/

  - Failed test with qt.quick.mouse.debug=true  --> 
http://pastebin.ubuntu.com/15186851/
  - Successful test with qt.quick.mouse.debug=true -> 
http://pastebin.ubuntu.com/15186853/

  Here's the code I used to reproduce the bug:

  import QtQuick 2.4
  import QtTest 1.0
  import Ubuntu.Test 1.0
  import Ubuntu.Components 1.3
  import Ubuntu.Components.Styles 1.3
  import QtQml.Models 2.1

  Item {
  id: main
  width: units.gu(50)
  height: units.gu(100)

  SignalSpy {
  id: signalSpy
  }
  SignalSpy {
  id: anotherSignalSpy
  }

  Item {
  anchors.fill: parent
  Item {
  width: units.gu(20)
  height: units.gu(30)
  property alias flickable: freshFlickable
  Flickable {
  id: freshFlickable
  anchors.fill: parent
  contentHeight: content.height
  contentWidth: content.width
  clip: true
  //onContentYChanged: console.log(contentY)
  //onMovingChanged: console.log("MOVING", moving)
  //onFlickingChanged: console.log("FLICKING", flicking)
  Rectangle {
  id: content
  width: units.gu(40)
  height: units.gu(200)
  color: "blue"
  }
  }
  }
  }

  UbuntuTestCase {
  name: "FlickBug"
  when: windowShown

  function setupSignalSpy(spy, target, signalName) {
  spy.clear()
  //reset signalName otherwise it will look for the old signalName 
in the new target
  spy.signalName = ""
  spy.target = target
  spy.signalName = signalName
  }

  function test_flickUbuntuTestCase() {
  setupSignalSpy(signalSpy, freshFlickable, "movingChanged")
  flick(freshFlickable, 50, 50, -units.gu(10), -units.gu(10))
  signalSpy.wait()
  compare(signalSpy.count, 1, "No movingChanged signal after 
simulating a flick.")
  }
  }
  }

To manage notifications about this bug go to:
https://bugs.launchpad.net/canonical-devices-system-image/+bug/1549256/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp


[Touch-packages] [Bug 1549256] Re: UbuntuTestCase's flick() function is unreliable, does not always flick a Flickable

2016-03-09 Thread Launchpad Bug Tracker
This bug was fixed in the package ubuntu-ui-toolkit -
1.3.1872+16.04.20160308-0ubuntu1

---
ubuntu-ui-toolkit (1.3.1872+16.04.20160308-0ubuntu1) xenial; urgency=medium

  [ Timo Jyrinki ]
  * Fix gles unit test skipping.
  * Add s390x to the unit test skipping architectures
  * UITK test plan - wily -> xenial. Fixes LP: #1544490

  [ Christian Dywan ]
  * Print errors when QuickUtils fails to create a component.
  * unit tests shouldn't use deprecated Dialog.callera
  * Correctly count only test case results. The result= value is used in suites
and results.
  * Skip tst_pagehead_visible flakes on non-arm. Fixes LP: #1534651
  * Skip flaky tst_mousefilterTest::doubleClicked. Fixes LP: #1542215
  * Suppress click signal if releasing outside of ListItem. Fixes LP: #1541148.
  * Use gdb in runtest.sh to produce backtraces.
  * Arrow keys change value of a Slider. Fixes LP: #1523824.
  * Only use Maliit when enabled explicitly in the environment

  [ Oliver Tilloy ]
  * Do not try to assign to non-existent property "activeFocusOnPress".
Fixes LP: #1532953
  * Bubble up ESC key press event if there is no popover to close.
Fixes LP: #1546627

  [ Loïc Molinari ]
  * Added private items and nodes for the new component styles.
Fixes LP: #1523836
  * Made use of new private Frame item for the focusing.
  * Fixed performance monitor crash because of a NULL timer pointer dereference.
Fixes LP: #1546986
  * Fixed performance monitor dangling pointer crash. Fixes LP: #1546984
  * [ProportionalShape] Ensured width/height ratio is correct with default 
values.
Fixes LP: #1546546
  * Added a workaround to prevent a crash while changing the QPA scale factor.

  [ Florian Boucault ]
  * Always on performance monitor that logs frames that too long to render.
  * MainView: proceed to selecting the theme automatically at startup too.
Fixes LP: #1535819
  * MainView: when no gradient color is needed for the background, rely on
QQuickWindow's GL clear color. Lessens overdraw considerably for most
apps. Fixes LP: #1439133.
  * Panel: MathUtils used without import prefix was leading to undefined
reference.
  * Label: use native rendering on low dpi screens (GRID_UNIT_PX <= 10) for
sharper looking text.
  * Gallery: added palette browser to Colors page.

  [ Tim Peeters ]
  * Support scrolling in ListViews with horizontal orientation to the
qquicklistview CPO.
  * Add background to AppHeader and remove contents clipping from MainView.
Fixes LP: #1531016, LP: #1531457.
  * Hide AppHeader when using AdaptivePageLayout. Fixes bug 1531871.
Fixes LP: #1531871.
  * Implement horizontal flicking in the flickable autopilot CPO.
  * Re-order to list of pages in the gallery to be alphabetical.
  * Fix the autopilot failures introduced with the horizontal scrolling in
the Flickable CPO.
  * Update documentation for MainView, Page, AdaptivePageLayout to use the new
PageHeader in all examples. Deprecate old properties. Fixes LP: #1540574
  * Add 'animate' property to new internal AppHeaderBase, and do not show a
header animation when starting an app without header.
Fixes LP: #1518002, LP: #1524901.
  * Use the correct string for skipping tests on x86_64 .
  * Sections scrolling and keyboard navigation. Fixes LP: #1465048, LP: #1489591
  * Fix autopilot color button failure.

  [ Zoltán Balogh ]
  * Create a click packaging project for the UITK Component Gallery.
  * Improve the test plan executor script.

  [ Andrea Bernabei ]
  * Refer to SlotsLayout.Last instead of SlotsLayout.End in SlotsLayout
documentation. Fixes LP: #1536170.
  * Update "Import Statement:" in docs of Ubuntu.Components. Currently
Developer's website shows "import Ubuntu.Components 1.2" and "since
Ubuntu.Components 1.3" and that is confusing for all app developers.
Fixes LP: #1531817.
  * Fix ListItemLayout multiline labels positioning and add docs about
aliasing labels properties
  * UbuntuTestCase flick(): default events delay to 1. Fixes LP: #1549256.
  * Add Scrollbar and ScrollView tests plus implementation fixes.

  [ Benjamin Zeller ]
  * Fix Bug lp:1535241 "AdaptivePageLayout first example is badly broken".
Fixes LP: #1535241.
  * The click project file is should not be part of the UITK project.
  * Move MainViewBase to C++.
  * Move tree.js to C++.
  * Do not leak the incubator pointer in case a QML engine never took care of
it. Delete the object directly.
  * Move PageWrapper.qml to C++ for 1.3.
  * Add Ubuntu toolkit shared library
  * Move ColorUtils to UbuntuToolkit.
  * Fixes LP: #1540642
  * Make sure objects are initialized with extra properties before they are
instantiated in the QML engine.
  * Use QQmlProperty::write() instead of QObject::writeProperty()

  [ Zsombor Egri ]
  * Update Palette values for Ubuntu.Components 1.3 and apply the palette on
components. First set of visual updates including ListItem, Text inputs,
CheckBox, Swi

[Touch-packages] [Bug 1549256] Re: UbuntuTestCase's flick() function is unreliable, does not always flick a Flickable

2016-02-29 Thread Pat McGowan
** No longer affects: canonical-devices-system-image

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to ubuntu-ui-toolkit in
Ubuntu.
https://bugs.launchpad.net/bugs/1549256

Title:
  UbuntuTestCase's flick() function is unreliable, does not always flick
  a Flickable

Status in ubuntu-ui-toolkit package in Ubuntu:
  Fix Committed

Bug description:
  revision 1864

  System setup: Vivid + Overlay PPA (i.e. same as phones/tablets)

  libqt5qml5:
    Installed: 5.4.1-1ubuntu11~overlay3
  libqt5core5a:
    Installed: 5.4.1+dfsg-2ubuntu11~vivid4

  UbuntuTestCase provides a flick() function whose main purpose is to
  produce a flick event when executed on Flickable.

  I noticed that this does not always happen, causing flakiness of some
  of the UITK tests (in my case, it's the Scrollbar/ScrollView tests I'm
  working on)

  Here is a test case that reproduces the issue, once every 10-200 runs,
  depending on the configuration (I use a simple script to run it until
  it fails)

  Please note that uncommenting the debug lines such as onMovingChanged
  onFlickingChanged will make it harder to reproduce the bug.

  Enabling QT_LOGGING_RULES="qt.quick.mouse.debug=true" or
  onContentYChanged will make it even harder.

  Since I already went through the effort, I'm posting here the debug log 
coming from the failed and successful runs:
  - Typical failed run ---> http://pastebin.ubuntu.com/15186789/ Note how 
"flicking" never becomes true
  - Typical successful run ---> http://pastebin.ubuntu.com/15186784/

  - Failed test with qt.quick.mouse.debug=true  --> 
http://pastebin.ubuntu.com/15186851/
  - Successful test with qt.quick.mouse.debug=true -> 
http://pastebin.ubuntu.com/15186853/

  Here's the code I used to reproduce the bug:

  import QtQuick 2.4
  import QtTest 1.0
  import Ubuntu.Test 1.0
  import Ubuntu.Components 1.3
  import Ubuntu.Components.Styles 1.3
  import QtQml.Models 2.1

  Item {
  id: main
  width: units.gu(50)
  height: units.gu(100)

  SignalSpy {
  id: signalSpy
  }
  SignalSpy {
  id: anotherSignalSpy
  }

  Item {
  anchors.fill: parent
  Item {
  width: units.gu(20)
  height: units.gu(30)
  property alias flickable: freshFlickable
  Flickable {
  id: freshFlickable
  anchors.fill: parent
  contentHeight: content.height
  contentWidth: content.width
  clip: true
  //onContentYChanged: console.log(contentY)
  //onMovingChanged: console.log("MOVING", moving)
  //onFlickingChanged: console.log("FLICKING", flicking)
  Rectangle {
  id: content
  width: units.gu(40)
  height: units.gu(200)
  color: "blue"
  }
  }
  }
  }

  UbuntuTestCase {
  name: "FlickBug"
  when: windowShown

  function setupSignalSpy(spy, target, signalName) {
  spy.clear()
  //reset signalName otherwise it will look for the old signalName 
in the new target
  spy.signalName = ""
  spy.target = target
  spy.signalName = signalName
  }

  function test_flickUbuntuTestCase() {
  setupSignalSpy(signalSpy, freshFlickable, "movingChanged")
  flick(freshFlickable, 50, 50, -units.gu(10), -units.gu(10))
  signalSpy.wait()
  compare(signalSpy.count, 1, "No movingChanged signal after 
simulating a flick.")
  }
  }
  }

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/ubuntu-ui-toolkit/+bug/1549256/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp


[Touch-packages] [Bug 1549256] Re: UbuntuTestCase's flick() function is unreliable, does not always flick a Flickable

2016-02-26 Thread Andrea Bernabei
** Also affects: canonical-devices-system-image
   Importance: Undecided
   Status: New

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to ubuntu-ui-toolkit in
Ubuntu.
https://bugs.launchpad.net/bugs/1549256

Title:
  UbuntuTestCase's flick() function is unreliable, does not always flick
  a Flickable

Status in Canonical System Image:
  New
Status in ubuntu-ui-toolkit package in Ubuntu:
  Fix Committed

Bug description:
  revision 1864

  System setup: Vivid + Overlay PPA (i.e. same as phones/tablets)

  libqt5qml5:
    Installed: 5.4.1-1ubuntu11~overlay3
  libqt5core5a:
    Installed: 5.4.1+dfsg-2ubuntu11~vivid4

  UbuntuTestCase provides a flick() function whose main purpose is to
  produce a flick event when executed on Flickable.

  I noticed that this does not always happen, causing flakiness of some
  of the UITK tests (in my case, it's the Scrollbar/ScrollView tests I'm
  working on)

  Here is a test case that reproduces the issue, once every 10-200 runs,
  depending on the configuration (I use a simple script to run it until
  it fails)

  Please note that uncommenting the debug lines such as onMovingChanged
  onFlickingChanged will make it harder to reproduce the bug.

  Enabling QT_LOGGING_RULES="qt.quick.mouse.debug=true" or
  onContentYChanged will make it even harder.

  Since I already went through the effort, I'm posting here the debug log 
coming from the failed and successful runs:
  - Typical failed run ---> http://pastebin.ubuntu.com/15186789/ Note how 
"flicking" never becomes true
  - Typical successful run ---> http://pastebin.ubuntu.com/15186784/

  - Failed test with qt.quick.mouse.debug=true  --> 
http://pastebin.ubuntu.com/15186851/
  - Successful test with qt.quick.mouse.debug=true -> 
http://pastebin.ubuntu.com/15186853/

  Here's the code I used to reproduce the bug:

  import QtQuick 2.4
  import QtTest 1.0
  import Ubuntu.Test 1.0
  import Ubuntu.Components 1.3
  import Ubuntu.Components.Styles 1.3
  import QtQml.Models 2.1

  Item {
  id: main
  width: units.gu(50)
  height: units.gu(100)

  SignalSpy {
  id: signalSpy
  }
  SignalSpy {
  id: anotherSignalSpy
  }

  Item {
  anchors.fill: parent
  Item {
  width: units.gu(20)
  height: units.gu(30)
  property alias flickable: freshFlickable
  Flickable {
  id: freshFlickable
  anchors.fill: parent
  contentHeight: content.height
  contentWidth: content.width
  clip: true
  //onContentYChanged: console.log(contentY)
  //onMovingChanged: console.log("MOVING", moving)
  //onFlickingChanged: console.log("FLICKING", flicking)
  Rectangle {
  id: content
  width: units.gu(40)
  height: units.gu(200)
  color: "blue"
  }
  }
  }
  }

  UbuntuTestCase {
  name: "FlickBug"
  when: windowShown

  function setupSignalSpy(spy, target, signalName) {
  spy.clear()
  //reset signalName otherwise it will look for the old signalName 
in the new target
  spy.signalName = ""
  spy.target = target
  spy.signalName = signalName
  }

  function test_flickUbuntuTestCase() {
  setupSignalSpy(signalSpy, freshFlickable, "movingChanged")
  flick(freshFlickable, 50, 50, -units.gu(10), -units.gu(10))
  signalSpy.wait()
  compare(signalSpy.count, 1, "No movingChanged signal after 
simulating a flick.")
  }
  }
  }

To manage notifications about this bug go to:
https://bugs.launchpad.net/canonical-devices-system-image/+bug/1549256/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp


[Touch-packages] [Bug 1549256] Re: UbuntuTestCase's flick() function is unreliable, does not always flick a Flickable

2016-02-26 Thread Andrea Bernabei
** Changed in: ubuntu-ui-toolkit (Ubuntu)
 Assignee: (unassigned) => Andrea Bernabei (faenil)

** Changed in: ubuntu-ui-toolkit (Ubuntu)
   Status: In Progress => Fix Committed

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to ubuntu-ui-toolkit in
Ubuntu.
https://bugs.launchpad.net/bugs/1549256

Title:
  UbuntuTestCase's flick() function is unreliable, does not always flick
  a Flickable

Status in ubuntu-ui-toolkit package in Ubuntu:
  Fix Committed

Bug description:
  revision 1864

  System setup: Vivid + Overlay PPA (i.e. same as phones/tablets)

  libqt5qml5:
    Installed: 5.4.1-1ubuntu11~overlay3
  libqt5core5a:
    Installed: 5.4.1+dfsg-2ubuntu11~vivid4

  UbuntuTestCase provides a flick() function whose main purpose is to
  produce a flick event when executed on Flickable.

  I noticed that this does not always happen, causing flakiness of some
  of the UITK tests (in my case, it's the Scrollbar/ScrollView tests I'm
  working on)

  Here is a test case that reproduces the issue, once every 10-200 runs,
  depending on the configuration (I use a simple script to run it until
  it fails)

  Please note that uncommenting the debug lines such as onMovingChanged
  onFlickingChanged will make it harder to reproduce the bug.

  Enabling QT_LOGGING_RULES="qt.quick.mouse.debug=true" or
  onContentYChanged will make it even harder.

  Since I already went through the effort, I'm posting here the debug log 
coming from the failed and successful runs:
  - Typical failed run ---> http://pastebin.ubuntu.com/15186789/ Note how 
"flicking" never becomes true
  - Typical successful run ---> http://pastebin.ubuntu.com/15186784/

  - Failed test with qt.quick.mouse.debug=true  --> 
http://pastebin.ubuntu.com/15186851/
  - Successful test with qt.quick.mouse.debug=true -> 
http://pastebin.ubuntu.com/15186853/

  Here's the code I used to reproduce the bug:

  import QtQuick 2.4
  import QtTest 1.0
  import Ubuntu.Test 1.0
  import Ubuntu.Components 1.3
  import Ubuntu.Components.Styles 1.3
  import QtQml.Models 2.1

  Item {
  id: main
  width: units.gu(50)
  height: units.gu(100)

  SignalSpy {
  id: signalSpy
  }
  SignalSpy {
  id: anotherSignalSpy
  }

  Item {
  anchors.fill: parent
  Item {
  width: units.gu(20)
  height: units.gu(30)
  property alias flickable: freshFlickable
  Flickable {
  id: freshFlickable
  anchors.fill: parent
  contentHeight: content.height
  contentWidth: content.width
  clip: true
  //onContentYChanged: console.log(contentY)
  //onMovingChanged: console.log("MOVING", moving)
  //onFlickingChanged: console.log("FLICKING", flicking)
  Rectangle {
  id: content
  width: units.gu(40)
  height: units.gu(200)
  color: "blue"
  }
  }
  }
  }

  UbuntuTestCase {
  name: "FlickBug"
  when: windowShown

  function setupSignalSpy(spy, target, signalName) {
  spy.clear()
  //reset signalName otherwise it will look for the old signalName 
in the new target
  spy.signalName = ""
  spy.target = target
  spy.signalName = signalName
  }

  function test_flickUbuntuTestCase() {
  setupSignalSpy(signalSpy, freshFlickable, "movingChanged")
  flick(freshFlickable, 50, 50, -units.gu(10), -units.gu(10))
  signalSpy.wait()
  compare(signalSpy.count, 1, "No movingChanged signal after 
simulating a flick.")
  }
  }
  }

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/ubuntu-ui-toolkit/+bug/1549256/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp


[Touch-packages] [Bug 1549256] Re: UbuntuTestCase's flick() function is unreliable, does not always flick a Flickable

2016-02-26 Thread Christian Dywan
** Changed in: ubuntu-ui-toolkit (Ubuntu)
   Status: New => In Progress

** Changed in: ubuntu-ui-toolkit (Ubuntu)
   Importance: Undecided => High

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to ubuntu-ui-toolkit in
Ubuntu.
https://bugs.launchpad.net/bugs/1549256

Title:
  UbuntuTestCase's flick() function is unreliable, does not always flick
  a Flickable

Status in ubuntu-ui-toolkit package in Ubuntu:
  In Progress

Bug description:
  revision 1864

  System setup: Vivid + Overlay PPA (i.e. same as phones/tablets)

  libqt5qml5:
    Installed: 5.4.1-1ubuntu11~overlay3
  libqt5core5a:
    Installed: 5.4.1+dfsg-2ubuntu11~vivid4

  UbuntuTestCase provides a flick() function whose main purpose is to
  produce a flick event when executed on Flickable.

  I noticed that this does not always happen, causing flakiness of some
  of the UITK tests (in my case, it's the Scrollbar/ScrollView tests I'm
  working on)

  Here is a test case that reproduces the issue, once every 10-200 runs,
  depending on the configuration (I use a simple script to run it until
  it fails)

  Please note that uncommenting the debug lines such as onMovingChanged
  onFlickingChanged will make it harder to reproduce the bug.

  Enabling QT_LOGGING_RULES="qt.quick.mouse.debug=true" or
  onContentYChanged will make it even harder.

  Since I already went through the effort, I'm posting here the debug log 
coming from the failed and successful runs:
  - Typical failed run ---> http://pastebin.ubuntu.com/15186789/ Note how 
"flicking" never becomes true
  - Typical successful run ---> http://pastebin.ubuntu.com/15186784/

  - Failed test with qt.quick.mouse.debug=true  --> 
http://pastebin.ubuntu.com/15186851/
  - Successful test with qt.quick.mouse.debug=true -> 
http://pastebin.ubuntu.com/15186853/

  Here's the code I used to reproduce the bug:

  import QtQuick 2.4
  import QtTest 1.0
  import Ubuntu.Test 1.0
  import Ubuntu.Components 1.3
  import Ubuntu.Components.Styles 1.3
  import QtQml.Models 2.1

  Item {
  id: main
  width: units.gu(50)
  height: units.gu(100)

  SignalSpy {
  id: signalSpy
  }
  SignalSpy {
  id: anotherSignalSpy
  }

  Item {
  anchors.fill: parent
  Item {
  width: units.gu(20)
  height: units.gu(30)
  property alias flickable: freshFlickable
  Flickable {
  id: freshFlickable
  anchors.fill: parent
  contentHeight: content.height
  contentWidth: content.width
  clip: true
  //onContentYChanged: console.log(contentY)
  //onMovingChanged: console.log("MOVING", moving)
  //onFlickingChanged: console.log("FLICKING", flicking)
  Rectangle {
  id: content
  width: units.gu(40)
  height: units.gu(200)
  color: "blue"
  }
  }
  }
  }

  UbuntuTestCase {
  name: "FlickBug"
  when: windowShown

  function setupSignalSpy(spy, target, signalName) {
  spy.clear()
  //reset signalName otherwise it will look for the old signalName 
in the new target
  spy.signalName = ""
  spy.target = target
  spy.signalName = signalName
  }

  function test_flickUbuntuTestCase() {
  setupSignalSpy(signalSpy, freshFlickable, "movingChanged")
  flick(freshFlickable, 50, 50, -units.gu(10), -units.gu(10))
  signalSpy.wait()
  compare(signalSpy.count, 1, "No movingChanged signal after 
simulating a flick.")
  }
  }
  }

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/ubuntu-ui-toolkit/+bug/1549256/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp


[Touch-packages] [Bug 1549256] Re: UbuntuTestCase's flick() function is unreliable, does not always flick a Flickable

2016-02-26 Thread Andrea Bernabei
** Branch linked: lp:~faenil/ubuntu-ui-
toolkit/UbuntuTestCase_flick_flakiness_fix

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to ubuntu-ui-toolkit in
Ubuntu.
https://bugs.launchpad.net/bugs/1549256

Title:
  UbuntuTestCase's flick() function is unreliable, does not always flick
  a Flickable

Status in ubuntu-ui-toolkit package in Ubuntu:
  In Progress

Bug description:
  revision 1864

  System setup: Vivid + Overlay PPA (i.e. same as phones/tablets)

  libqt5qml5:
    Installed: 5.4.1-1ubuntu11~overlay3
  libqt5core5a:
    Installed: 5.4.1+dfsg-2ubuntu11~vivid4

  UbuntuTestCase provides a flick() function whose main purpose is to
  produce a flick event when executed on Flickable.

  I noticed that this does not always happen, causing flakiness of some
  of the UITK tests (in my case, it's the Scrollbar/ScrollView tests I'm
  working on)

  Here is a test case that reproduces the issue, once every 10-200 runs,
  depending on the configuration (I use a simple script to run it until
  it fails)

  Please note that uncommenting the debug lines such as onMovingChanged
  onFlickingChanged will make it harder to reproduce the bug.

  Enabling QT_LOGGING_RULES="qt.quick.mouse.debug=true" or
  onContentYChanged will make it even harder.

  Since I already went through the effort, I'm posting here the debug log 
coming from the failed and successful runs:
  - Typical failed run ---> http://pastebin.ubuntu.com/15186789/ Note how 
"flicking" never becomes true
  - Typical successful run ---> http://pastebin.ubuntu.com/15186784/

  - Failed test with qt.quick.mouse.debug=true  --> 
http://pastebin.ubuntu.com/15186851/
  - Successful test with qt.quick.mouse.debug=true -> 
http://pastebin.ubuntu.com/15186853/

  Here's the code I used to reproduce the bug:

  import QtQuick 2.4
  import QtTest 1.0
  import Ubuntu.Test 1.0
  import Ubuntu.Components 1.3
  import Ubuntu.Components.Styles 1.3
  import QtQml.Models 2.1

  Item {
  id: main
  width: units.gu(50)
  height: units.gu(100)

  SignalSpy {
  id: signalSpy
  }
  SignalSpy {
  id: anotherSignalSpy
  }

  Item {
  anchors.fill: parent
  Item {
  width: units.gu(20)
  height: units.gu(30)
  property alias flickable: freshFlickable
  Flickable {
  id: freshFlickable
  anchors.fill: parent
  contentHeight: content.height
  contentWidth: content.width
  clip: true
  //onContentYChanged: console.log(contentY)
  //onMovingChanged: console.log("MOVING", moving)
  //onFlickingChanged: console.log("FLICKING", flicking)
  Rectangle {
  id: content
  width: units.gu(40)
  height: units.gu(200)
  color: "blue"
  }
  }
  }
  }

  UbuntuTestCase {
  name: "FlickBug"
  when: windowShown

  function setupSignalSpy(spy, target, signalName) {
  spy.clear()
  //reset signalName otherwise it will look for the old signalName 
in the new target
  spy.signalName = ""
  spy.target = target
  spy.signalName = signalName
  }

  function test_flickUbuntuTestCase() {
  setupSignalSpy(signalSpy, freshFlickable, "movingChanged")
  flick(freshFlickable, 50, 50, -units.gu(10), -units.gu(10))
  signalSpy.wait()
  compare(signalSpy.count, 1, "No movingChanged signal after 
simulating a flick.")
  }
  }
  }

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/ubuntu-ui-toolkit/+bug/1549256/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp


[Touch-packages] [Bug 1549256] Re: UbuntuTestCase's flick() function is unreliable, does not always flick a Flickable

2016-02-25 Thread Andrea Bernabei
Some more info:

After adding a debug line for "event->timestamp()" as well, it turns out
on my machine (this is most likely not only happening on my machine
though) the timestamps for mouse events are always 0 (probably just not
supported by the middleware or something similar). See this log for both
a successful and failing run, the events timestamps are always 0
http://pastebin.ubuntu.com/15196543/

When timestamps are 0, QQuickFlickable uses a QElapsedTimer to check how many 
msecs passed since the press event.
Proof: 
https://github.com/qtproject/qtdeclarative/blob/5.4/src/quick/items/qquickflickable.cpp#L916

On my machine (just like it should be on any other Linux platform)
QElapsedTimer is using the monotonic clock (checked with another debug
line in qquickflickable.cpp).


So, what happens, is probably that the Press -> move -> move -> move -> move -> 
Release events generated by the flick() function are some times all delivered 
in the same batch.

In that case, QElapsedTimer::elapsed() always returns 0, and that causes the 
event to be ignored by the velocity computation logic.
Proof:
https://github.com/qtproject/qtdeclarative/blob/5.4/src/quick/items/qquickflickable.cpp#L1096

As a consequence, when the mouse release happens, the flick is not
started because velocity is believed to be 0.

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to ubuntu-ui-toolkit in
Ubuntu.
https://bugs.launchpad.net/bugs/1549256

Title:
  UbuntuTestCase's flick() function is unreliable, does not always flick
  a Flickable

Status in ubuntu-ui-toolkit package in Ubuntu:
  New

Bug description:
  revision 1864

  System setup: Vivid + Overlay PPA (i.e. same as phones/tablets)

  libqt5qml5:
    Installed: 5.4.1-1ubuntu11~overlay3
  libqt5core5a:
    Installed: 5.4.1+dfsg-2ubuntu11~vivid4

  UbuntuTestCase provides a flick() function whose main purpose is to
  produce a flick event when executed on Flickable.

  I noticed that this does not always happen, causing flakiness of some
  of the UITK tests (in my case, it's the Scrollbar/ScrollView tests I'm
  working on)

  Here is a test case that reproduces the issue, once every 10-200 runs,
  depending on the configuration (I use a simple script to run it until
  it fails)

  Please note that uncommenting the debug lines such as onMovingChanged
  onFlickingChanged will make it harder to reproduce the bug.

  Enabling QT_LOGGING_RULES="qt.quick.mouse.debug=true" or
  onContentYChanged will make it even harder.

  Since I already went through the effort, I'm posting here the debug log 
coming from the failed and successful runs:
  - Typical failed run ---> http://pastebin.ubuntu.com/15186789/ Note how 
"flicking" never becomes true
  - Typical successful run ---> http://pastebin.ubuntu.com/15186784/

  - Failed test with qt.quick.mouse.debug=true  --> 
http://pastebin.ubuntu.com/15186851/
  - Successful test with qt.quick.mouse.debug=true -> 
http://pastebin.ubuntu.com/15186853/

  Here's the code I used to reproduce the bug:

  import QtQuick 2.4
  import QtTest 1.0
  import Ubuntu.Test 1.0
  import Ubuntu.Components 1.3
  import Ubuntu.Components.Styles 1.3
  import QtQml.Models 2.1

  Item {
  id: main
  width: units.gu(50)
  height: units.gu(100)

  SignalSpy {
  id: signalSpy
  }
  SignalSpy {
  id: anotherSignalSpy
  }

  Item {
  anchors.fill: parent
  Item {
  width: units.gu(20)
  height: units.gu(30)
  property alias flickable: freshFlickable
  Flickable {
  id: freshFlickable
  anchors.fill: parent
  contentHeight: content.height
  contentWidth: content.width
  clip: true
  //onContentYChanged: console.log(contentY)
  //onMovingChanged: console.log("MOVING", moving)
  //onFlickingChanged: console.log("FLICKING", flicking)
  Rectangle {
  id: content
  width: units.gu(40)
  height: units.gu(200)
  color: "blue"
  }
  }
  }
  }

  UbuntuTestCase {
  name: "FlickBug"
  when: windowShown

  function setupSignalSpy(spy, target, signalName) {
  spy.clear()
  //reset signalName otherwise it will look for the old signalName 
in the new target
  spy.signalName = ""
  spy.target = target
  spy.signalName = signalName
  }

  function test_flickUbuntuTestCase() {
  setupSignalSpy(signalSpy, freshFlickable, "movingChanged")
  flick(freshFlickable, 50, 50, -units.gu(10), -units.gu(10))
  signalSpy.wait()
  compare(signalSpy.count, 1, "No movingChanged signal after 
simulating a flick.")
    

[Touch-packages] [Bug 1549256] Re: UbuntuTestCase's flick() function is unreliable, does not always flick a Flickable

2016-02-25 Thread Andrea Bernabei
So, what the log I previously posted shows, is that it occasionally happens 
that all events are delivered with 0 time difference between them.
As a consequence, the vertical and horizontal velocity of the Flickable never 
change from 0, and that causes the flick not to start, when the mouse/tap is 
released.

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to ubuntu-ui-toolkit in
Ubuntu.
https://bugs.launchpad.net/bugs/1549256

Title:
  UbuntuTestCase's flick() function is unreliable, does not always flick
  a Flickable

Status in ubuntu-ui-toolkit package in Ubuntu:
  New

Bug description:
  revision 1864

  System setup: Vivid + Overlay PPA (i.e. same as phones/tablets)

  libqt5qml5:
    Installed: 5.4.1-1ubuntu11~overlay3
  libqt5core5a:
    Installed: 5.4.1+dfsg-2ubuntu11~vivid4

  UbuntuTestCase provides a flick() function whose main purpose is to
  produce a flick event when executed on Flickable.

  I noticed that this does not always happen, causing flakiness of some
  of the UITK tests (in my case, it's the Scrollbar/ScrollView tests I'm
  working on)

  Here is a test case that reproduces the issue, once every 10-200 runs,
  depending on the configuration (I use a simple script to run it until
  it fails)

  Please note that uncommenting the debug lines such as onMovingChanged
  onFlickingChanged will make it harder to reproduce the bug.

  Enabling QT_LOGGING_RULES="qt.quick.mouse.debug=true" or
  onContentYChanged will make it even harder.

  Since I already went through the effort, I'm posting here the debug log 
coming from the failed and successful runs:
  - Typical failed run ---> http://pastebin.ubuntu.com/15186789/ Note how 
"flicking" never becomes true
  - Typical successful run ---> http://pastebin.ubuntu.com/15186784/

  - Failed test with qt.quick.mouse.debug=true  --> 
http://pastebin.ubuntu.com/15186851/
  - Successful test with qt.quick.mouse.debug=true -> 
http://pastebin.ubuntu.com/15186853/

  Here's the code I used to reproduce the bug:

  import QtQuick 2.4
  import QtTest 1.0
  import Ubuntu.Test 1.0
  import Ubuntu.Components 1.3
  import Ubuntu.Components.Styles 1.3
  import QtQml.Models 2.1

  Item {
  id: main
  width: units.gu(50)
  height: units.gu(100)

  SignalSpy {
  id: signalSpy
  }
  SignalSpy {
  id: anotherSignalSpy
  }

  Item {
  anchors.fill: parent
  Item {
  width: units.gu(20)
  height: units.gu(30)
  property alias flickable: freshFlickable
  Flickable {
  id: freshFlickable
  anchors.fill: parent
  contentHeight: content.height
  contentWidth: content.width
  clip: true
  //onContentYChanged: console.log(contentY)
  //onMovingChanged: console.log("MOVING", moving)
  //onFlickingChanged: console.log("FLICKING", flicking)
  Rectangle {
  id: content
  width: units.gu(40)
  height: units.gu(200)
  color: "blue"
  }
  }
  }
  }

  UbuntuTestCase {
  name: "FlickBug"
  when: windowShown

  function setupSignalSpy(spy, target, signalName) {
  spy.clear()
  //reset signalName otherwise it will look for the old signalName 
in the new target
  spy.signalName = ""
  spy.target = target
  spy.signalName = signalName
  }

  function test_flickUbuntuTestCase() {
  setupSignalSpy(signalSpy, freshFlickable, "movingChanged")
  flick(freshFlickable, 50, 50, -units.gu(10), -units.gu(10))
  signalSpy.wait()
  compare(signalSpy.count, 1, "No movingChanged signal after 
simulating a flick.")
  }
  }
  }

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/ubuntu-ui-toolkit/+bug/1549256/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp


[Touch-packages] [Bug 1549256] Re: UbuntuTestCase's flick() function is unreliable, does not always flick a Flickable

2016-02-25 Thread Andrea Bernabei
I investigated the issue by recompiling the QtQuick module and adding
some debug info in qquickflickable.cpp

I added some debug in void 
QQuickFlickablePrivate::handleMouseMoveEvent(QMouseEvent *event)
(I only added qDebug, the extra lines are to show the context)

if ((hMoved && !prevHMoved) || (vMoved && !prevVMoved))
q->movementStarting();

qint64 currentTimestamp = computeCurrentTime(event);
qreal elapsed = qreal(currentTimestamp - (lastPos.isNull() ? lastPressTime 
: lastPosTime)) / 1000.;
qDebug() << QString("Elapsed " % QString::number(elapsed) % " 
currentTimestamp " % QString::number(currentTimestamp)
 % " lastPos.isNull " % QString::number(lastPos.isNull()) % " 
lastPressTime " % QString::number(lastPressTime)
 % " lastPosTime " % QString::number(lastPosTime) % " vertical 
velocity " % QString::number(vData.velocity)
 % " horizontal velocity " % QString::number(hData.velocity));
if (elapsed <= 0)
return;





And I added some debug in the handleMouseReleaseEvent as well

qDebug() << QString("Mouse release! Elapsed " % QString::number(elapsed) % 
" vertical velocity " % QString::number(vData.velocity)
% " horizontal velocity " % QString::number(hData.velocity));
qreal vVelocity = 0;
if (elapsed < 100 && vData.velocity != 0.) {
vVelocity = (QGuiApplicationPrivate::mouseEventCaps(event) & 
QTouchDevice::Velocity)
? QGuiApplicationPrivate::mouseEventVelocity(event).y() : 
vData.velocity;
}


The resulting log is at http://pastebin.ubuntu.com/15196346/

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to ubuntu-ui-toolkit in
Ubuntu.
https://bugs.launchpad.net/bugs/1549256

Title:
  UbuntuTestCase's flick() function is unreliable, does not always flick
  a Flickable

Status in ubuntu-ui-toolkit package in Ubuntu:
  New

Bug description:
  revision 1864

  System setup: Vivid + Overlay PPA (i.e. same as phones/tablets)

  libqt5qml5:
    Installed: 5.4.1-1ubuntu11~overlay3
  libqt5core5a:
    Installed: 5.4.1+dfsg-2ubuntu11~vivid4

  UbuntuTestCase provides a flick() function whose main purpose is to
  produce a flick event when executed on Flickable.

  I noticed that this does not always happen, causing flakiness of some
  of the UITK tests (in my case, it's the Scrollbar/ScrollView tests I'm
  working on)

  Here is a test case that reproduces the issue, once every 10-200 runs,
  depending on the configuration (I use a simple script to run it until
  it fails)

  Please note that uncommenting the debug lines such as onMovingChanged
  onFlickingChanged will make it harder to reproduce the bug.

  Enabling QT_LOGGING_RULES="qt.quick.mouse.debug=true" or
  onContentYChanged will make it even harder.

  Since I already went through the effort, I'm posting here the debug log 
coming from the failed and successful runs:
  - Typical failed run ---> http://pastebin.ubuntu.com/15186789/ Note how 
"flicking" never becomes true
  - Typical successful run ---> http://pastebin.ubuntu.com/15186784/

  - Failed test with qt.quick.mouse.debug=true  --> 
http://pastebin.ubuntu.com/15186851/
  - Successful test with qt.quick.mouse.debug=true -> 
http://pastebin.ubuntu.com/15186853/

  Here's the code I used to reproduce the bug:

  import QtQuick 2.4
  import QtTest 1.0
  import Ubuntu.Test 1.0
  import Ubuntu.Components 1.3
  import Ubuntu.Components.Styles 1.3
  import QtQml.Models 2.1

  Item {
  id: main
  width: units.gu(50)
  height: units.gu(100)

  SignalSpy {
  id: signalSpy
  }
  SignalSpy {
  id: anotherSignalSpy
  }

  Item {
  anchors.fill: parent
  Item {
  width: units.gu(20)
  height: units.gu(30)
  property alias flickable: freshFlickable
  Flickable {
  id: freshFlickable
  anchors.fill: parent
  contentHeight: content.height
  contentWidth: content.width
  clip: true
  //onContentYChanged: console.log(contentY)
  //onMovingChanged: console.log("MOVING", moving)
  //onFlickingChanged: console.log("FLICKING", flicking)
  Rectangle {
  id: content
  width: units.gu(40)
  height: units.gu(200)
  color: "blue"
  }
  }
  }
  }

  UbuntuTestCase {
  name: "FlickBug"
  when: windowShown

  function setupSignalSpy(spy, target, signalName) {
  spy.clear()
  //reset signalName otherwise it will look for the old signalName 
in the new target
  spy.signalName = ""
  spy.target = target
  spy.signalName = signalName
  }

  function test_flickUbuntuT

[Touch-packages] [Bug 1549256] Re: UbuntuTestCase's flick() function is unreliable, does not always flick a Flickable

2016-02-24 Thread Andrea Bernabei
** Description changed:

  revision 1864
  
  System setup: Vivid + Overlay PPA (i.e. same as phones/tablets)
  
  libqt5qml5:
    Installed: 5.4.1-1ubuntu11~overlay3
  libqt5core5a:
    Installed: 5.4.1+dfsg-2ubuntu11~vivid4
  
  UbuntuTestCase provides a flick() function whose main purpose is to
  produce a flick event when executed on Flickable.
  
  I noticed that this does not always happen, causing flakiness of some of
  the UITK tests (in my case, it's the Scrollbar/ScrollView tests I'm
  working on)
  
  Here is a test case that reproduces the issue, once every 10-200 runs,
  depending on the configuration (I use a simple script to run it until it
  fails)
  
  Please note that uncommenting the debug lines such as onMovingChanged
  onFlickingChanged will make it harder to reproduce the bug.
  
  Enabling QT_LOGGING_RULES="qt.quick.mouse.debug=true" or
  onContentYChanged will make it even harder. I could not manager to
  reproduce it with both enabled.
  
- Since I already went through the effort, I'm posting here the debug log 
coming from the failed and successful runs (all debug enabled except 
qt.quick.mouse.debug:
+ Since I already went through the effort, I'm posting here the debug log
+ coming from the failed and successful runs (all debug enabled except
+ qt.quick.mouse.debug:
+ 
+ PLEASE NOTE THE ERROR MESSAGE IN THE TEST IS WRONG, SIGNALSPY.COUNT IS 2, 
WHEN THE TEST FAILS.
  - Typical failed run ---> http://pastebin.ubuntu.com/15186789/ Note how 
"flicking" never becomes true
  - Typical successful run ---> http://pastebin.ubuntu.com/15186784/
  
  Here's the code I used to reproduce the bug:
  
  import QtQuick 2.4
  import QtTest 1.0
  import Ubuntu.Test 1.0
  import Ubuntu.Components 1.3
  import Ubuntu.Components.Styles 1.3
  import QtQml.Models 2.1
  
  Item {
  id: main
  width: units.gu(50)
  height: units.gu(100)
  
  SignalSpy {
  id: signalSpy
  }
  SignalSpy {
  id: anotherSignalSpy
  }
  
  Item {
  anchors.fill: parent
  Item {
  width: units.gu(20)
  height: units.gu(30)
  property alias flickable: freshFlickable
  Flickable {
  id: freshFlickable
  anchors.fill: parent
  contentHeight: content.height
  contentWidth: content.width
  clip: true
  //onContentYChanged: console.log(contentY)
  //onMovingChanged: console.log("MOVING", moving)
  //onFlickingChanged: console.log("FLICKING", flicking)
  Rectangle {
  id: content
  width: units.gu(40)
  height: units.gu(200)
  color: "blue"
  }
  }
  }
  }
  
  UbuntuTestCase {
  name: "FlickBug"
  when: windowShown
  
  function setupSignalSpy(spy, target, signalName) {
  spy.clear()
  spy.signalName = ""
  spy.target = target
  spy.signalName = signalName
  }
  
  function test_flickUbuntuTestCase() {
  setupSignalSpy(signalSpy, freshFlickable, "movingChanged")
  flick(freshFlickable, 50, 50, -units.gu(10), -units.gu(10))
  signalSpy.wait()
  compare(signalSpy.count, 1, "Wrong number of movingChanged 
signals.")
  }
  }
  }

** Description changed:

  revision 1864
  
  System setup: Vivid + Overlay PPA (i.e. same as phones/tablets)
  
  libqt5qml5:
    Installed: 5.4.1-1ubuntu11~overlay3
  libqt5core5a:
    Installed: 5.4.1+dfsg-2ubuntu11~vivid4
  
  UbuntuTestCase provides a flick() function whose main purpose is to
  produce a flick event when executed on Flickable.
  
  I noticed that this does not always happen, causing flakiness of some of
  the UITK tests (in my case, it's the Scrollbar/ScrollView tests I'm
  working on)
  
  Here is a test case that reproduces the issue, once every 10-200 runs,
  depending on the configuration (I use a simple script to run it until it
  fails)
  
  Please note that uncommenting the debug lines such as onMovingChanged
  onFlickingChanged will make it harder to reproduce the bug.
  
  Enabling QT_LOGGING_RULES="qt.quick.mouse.debug=true" or
- onContentYChanged will make it even harder. I could not manager to
- reproduce it with both enabled.
+ onContentYChanged will make it even harder.
  
- Since I already went through the effort, I'm posting here the debug log
- coming from the failed and successful runs (all debug enabled except
- qt.quick.mouse.debug:
- 
- PLEASE NOTE THE ERROR MESSAGE IN THE TEST IS WRONG, SIGNALSPY.COUNT IS 2, 
WHEN THE TEST FAILS.
+ Since I already went through the effort, I'm posting here the debug log 
coming from the failed and successful runs:
  - Typical failed run ---> http://pastebin.ubuntu.com/15186789/ Note how 
"flicking" never becomes true