acceptance test failures (android)

Bug #1220443 reported by Kevin DuBois
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Fix Released
Kevin DuBois
mir (Ubuntu)

Bug Description

multiple failures on nexus4 acceptance tests (mir rev 1050) seems to be ok on desktop

root@ubuntu-phablet:/root# [ RUN ] DefaultDisplayServerTestFixture.client_library_connects_and_disconnects
./acceptance-tests | grep FAIL
[ FAILED ] DefaultDisplayServerTestFixture.client_library_creates_surface (31 ms)
[ FAILED ] DefaultDisplayServerTestFixture.surface_types (29 ms)
[ FAILED ] DefaultDisplayServerTestFixture.client_can_set_surface_state (43 ms)
[ FAILED ] DefaultDisplayServerTestFixture.client_receives_surface_state_events (51 ms)
[ FAILED ] DefaultDisplayServerTestFixture.client_library_creates_multiple_surfaces (46 ms)
[ FAILED ] DefaultDisplayServerTestFixture.client_library_accesses_and_advances_buffers (25 ms)
[ FAILED ] DefaultDisplayServerTestFixture.fully_synchronous_client (25 ms)
[ FAILED ] DefaultDisplayServerTestFixture.highly_threaded_client (26 ms)
[ FAILED ] DefaultDisplayServerTestFixture.ClientLibraryThreadsHandleNoSignals (27 ms)
[ FAILED ] DefaultDisplayServerTestFixture.MultiSurfaceClientTracksBufferFdsCorrectly (31 ms)


Related branches

Revision history for this message
Kevin DuBois (kdub) wrote :

this is due to the hardware HAL mocks being loaded incorrectly in the acceptance tests. tests pass (with the exception of the nested display tests) if we load the real HAL.

should not affect real server

Revision history for this message
Kevin DuBois (kdub) wrote :

I have a temporary fix here: lp:~kdub/mir/fix-1220443 (manipulating mock hal object's linking), however, a proper solution would be for the client side to stub out its graphics platforms in acceptance/integration tests by default

Changed in mir:
status: New → Triaged
Revision history for this message
Kevin DuBois (kdub) wrote :

What was happening was that (under android only) the test framework was being started with a stubbed graphics platform server side, but the client side was attempting to use the actual android drivers. When it went to apply the fake data from the server to the drivers, this generated a lot of errors.

The correction (in lp:~kdub/mir/fix-1220443 ) lets us put a stub client platform into our tests that run under our framework.

Why was this not seen previously?

The linking structure for these two tests was fragile. Prior to some CMakeList changes, this was not a problem because the mock android HAL was linked into the tests. Something in the link structure changed, and the linker started picking up the links to the actual drivers, causing problems. The solution should be more robust because it puts stubs in on the client side

Changed in mir:
importance: Critical → High
Changed in mir:
status: Triaged → In Progress
assignee: nobody → Kevin DuBois (kdub)
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

Fix committed into lp:~mir-team/mir/development-branch at revision 1093, scheduled for release in mir, milestone Unknown

Changed in mir:
status: In Progress → Fix Committed
Changed in mir:
milestone: none → phone-v1-freeze
tags: added: testsfail
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Fix released in:
mir (0.0.14+13.10.20131009.4-0ubuntu1) saucy; urgency=low

Changed in mir (Ubuntu):
status: New → Fix Released
importance: Undecided → High
Changed in mir:
milestone: phone-v1-freeze → 0.0.13
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers