Merge lp:~robertcarr/mir/session-transactions into lp:~mir-team/mir/trunk
Status: | Rejected | ||||
---|---|---|---|---|---|
Rejected by: | Robert Carr | ||||
Proposed branch: | lp:~robertcarr/mir/session-transactions | ||||
Merge into: | lp:~mir-team/mir/trunk | ||||
Diff against target: |
214 lines (+51/-17) 6 files modified
include/server/mir/shell/application_session.h (+3/-1) include/server/mir/shell/session.h (+7/-0) include/test/mir_test_doubles/mock_session.h (+1/-1) src/server/shell/application_session.cpp (+15/-9) src/server/shell/single_visibility_focus_mechanism.cpp (+11/-6) tests/unit-tests/shell/test_single_visibility_focus_mechanism.cpp (+14/-0) |
||||
To merge this branch: | bzr merge lp:~robertcarr/mir/session-transactions | ||||
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Alan Griffiths | Needs Fixing | ||
PS Jenkins bot (community) | continuous-integration | Approve | |
Robert Ancell | Approve | ||
Review via email: mp+175669@code.launchpad.net |
Commit message
Perform focus setting transactionally, enabling the stress test suite to run.
Description of the change
This branch is a stab at fixing:
https:/
First the back story:
The way the crash from mir_stress presented itself from me was a throw in SessionManager:
I tried logging this exception, and found that all the exceptions which could be thrown originated from setting the focus when closing a surface. I found the following two:
1. SingleVisibilit
2. Things start the same way, but the surface is destroyed later, say after we enter AndroidInputTar
In order to solve this, I've introduced an API, msh::Session:
TEST(Session, create_
Unfortunately this test is quite difficult to write deterministic-ally so the function is essentially untested. I came up with one solution using real-time scheduling attributes (SCHED_FIFO), but this requires running the tests as root or using root to set a system capability on the test binary. If we want to do this/can think of a good way I can write the test.
With this branch I was able to run the stress test for several minutes and drag the cursor around. Eventually I got bored.
Unmerged revisions
- 858. By Robert Carr
-
Remove secret emacs signet ring
- 857. By Robert Carr
-
Set focus transactionally
- 856. By Robert Carr
-
Hack
- 855. By Daniel van Vugt
-
buffer_
swapper_ spin.h: Remove dead code: initialize_queues. Approved by PS Jenkins bot, Alan Griffiths.
- 854. By Stephen M. Webb
-
disable running the integration test suite on arm architecture during the packaging builds (lp: #1195265). Fixes: https:/
/bugs.launchpad .net/bugs/ 1195260, https:/ /bugs.launchpad .net/bugs/ 1195265. Approved by PS Jenkins bot, Kevin DuBois.
- 853. By Alan Griffiths
-
doc: use house font and colors for coding guidelines.
Approved by PS Jenkins bot, Kevin DuBois, Alexandros Frantzis.
- 852. By Robert Carr
-
Implement a connection authorization mechanism.
Approved by Gerry Boland, Alan Griffiths, Robert Ancell, PS Jenkins bot.
- 851. By Robert Ancell
-
Releasing 0.0.7
- 850. By Robert Carr
-
Extract DefaultServerCo
nfiguration: :the_cursor_ listener from DefaultServerCo nfiguration: :the_input_ configuration. Fixes: https:/ /bugs.launchpad .net/bugs/ 1192916. Approved by PS Jenkins bot, Alan Griffiths, Alexandros Frantzis, Robert Ancell.
- 849. By Alan Griffiths
-
geometry: make geometry compound types easier to construct. Fixes: https:/
/bugs.launchpad .net/bugs/ 1199756. Approved by PS Jenkins bot, Alexandros Frantzis.
PASSED: Continuous integration, rev:857 jenkins. qa.ubuntu. com/job/ mir-ci/ 1056/ jenkins. qa.ubuntu. com/job/ mir-android- saucy-i386- build/1373 jenkins. qa.ubuntu. com/job/ mir-clang- saucy-amd64- build/1258 jenkins. qa.ubuntu. com/job/ mir-saucy- amd64-ci/ 294 jenkins. qa.ubuntu. com/job/ mir-saucy- amd64-ci/ 294/artifact/ work/output/ *zip*/output. zip jenkins. qa.ubuntu. com/job/ mir-vm- ci-build/ ./distribution= quantal, flavor= amd64/680
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
Click here to trigger a rebuild: s-jenkins: 8080/job/ mir-ci/ 1056/rebuild
http://