Intermittent failures in tst_WebView_executeEditingCommands.qml

Bug #1596897 reported by Chris Coulson
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Oxide
Triaged
High
Chris Coulson

Bug Description

I've always seen this fail very occasionally, but it got much worse with the latest Chromium version for some reason. I'm seeing regular fails like this:

PASS : qml-api-test::WebView_executeEditingCommand::initTestCase()
127.0.0.1 - - [27/Jun/2016 21:14:54] "GET /tst_WebView_executeEditingCommand.html HTTP/1.1" 200 -
PASS : qml-api-test::WebView_executeEditingCommand::test_WebView_executeEditingCommand_copy()
127.0.0.1 - - [27/Jun/2016 21:14:54] "GET /tst_WebView_executeEditingCommand.html HTTP/1.1" 200 -
FAIL! : qml-api-test::WebView_executeEditingCommand::test_WebView_executeEditingCommand_cut() Compared values are not the same
   Actual (): lorem ipsum
   Expected ():
   Loc: [/home/chr1s/src/oxide/master/src/oxide/qt/tests/qmltests/api/tst_WebView_executeEditingCommand.qml(17)]
127.0.0.1 - - [27/Jun/2016 21:14:54] "GET /tst_WebView_executeEditingCommand.html HTTP/1.1" 200 -
FAIL! : qml-api-test::WebView_executeEditingCommand::test_WebView_executeEditingCommand_erase() Compared values are not the same
   Actual (): lorem ipsum
   Expected ():
   Loc: [/home/chr1s/src/oxide/master/src/oxide/qt/tests/qmltests/api/tst_WebView_executeEditingCommand.qml(17)]
127.0.0.1 - - [27/Jun/2016 21:14:55] "GET /tst_WebView_executeEditingCommand.html HTTP/1.1" 200 -
FAIL! : qml-api-test::WebView_executeEditingCommand::test_WebView_executeEditingCommand_paste() Compared values are not the same
   Actual (): lorem ipsum
   Expected (): foo bar baz
   Loc: [/home/chr1s/src/oxide/master/src/oxide/qt/tests/qmltests/api/tst_WebView_executeEditingCommand.qml(17)]
127.0.0.1 - - [27/Jun/2016 21:14:55] "GET /tst_WebView_executeEditingCommand.html HTTP/1.1" 200 -
PASS : qml-api-test::WebView_executeEditingCommand::test_WebView_executeEditingCommand_selectAll()
127.0.0.1 - - [27/Jun/2016 21:14:55] "GET /tst_WebView_executeEditingCommand.html HTTP/1.1" 200 -
FAIL! : qml-api-test::WebView_executeEditingCommand::test_WebView_executeEditingCommand_undo_redo() Compared values are not the same
   Actual ():
   Expected (): lorem ipsum
   Loc: [/home/chr1s/src/oxide/master/src/oxide/qt/tests/qmltests/api/tst_WebView_executeEditingCommand.qml(17)]
PASS : qml-api-test::WebView_executeEditingCommand::cleanupTestCase()
Totals: 4 passed, 4 failed, 0 skipped, 0 blacklisted

This is actually a race condition in the test. Basically, the failing tests do this:

- execute an editing command.
- read back the text area contents.

Both steps result in an IPC message being sent. However, the IPC message sent as a result of the first step goes through the input pipeline - this means that it gets bounced to the compositor thread and then back to the render thread so that it is delivered in order with input events.

This can result in the 2 IPC messages being delivered to the render thread out of order, and the test failing.

Changed in oxide:
importance: Undecided → High
status: New → Triaged
milestone: none → branch-1.17
Changed in oxide:
assignee: nobody → Chris Coulson (chrisccoulson)
Changed in oxide:
milestone: branch-1.17 → branch-1.18
Changed in oxide:
milestone: branch-1.18 → branch-1.19
Changed in oxide:
milestone: branch-1.19 → branch-1.20
Changed in oxide:
milestone: branch-1.20 → branch-1.21
Changed in oxide:
milestone: branch-1.21 → branch-1.22
Changed in oxide:
milestone: branch-1.22 → branch-1.23
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.