libmirclient exports symbols only needed by the test framework

Bug #1349788 reported by Alan Griffiths
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Mir
Triaged
Low
Chris Halse Rogers
mir (Ubuntu)
Triaged
Low
Unassigned

Bug Description

The acceptance tests ought to work through APIs exposed to users of Mir and not use backdoors. (They are about behaviour the users require.)

This is mostly true, but the test framework used for the tests needs access to some otherwise internal symbols of libmirclient vis:

   MirConnection::MirConnection*;
   MirConnection::connect*;
   MirConnection::disconnect*;
   mir::client::DefaultConnectionConfiguration::*;
   vtable?for?mir::client::DefaultConnectionConfiguration;
   typeinfo?for?mir::client::DefaultConnectionConfiguration;

These are to support stubbing the client graphics. (See UsingStubClientPlatform and StubConnectionConfiguration.)

That's a lot of internals exposed that ought to be hidden.

Tags: clientapi
Revision history for this message
Chris Halse Rogers (raof) wrote :

I've already got part of a stub client platform in the privatise-all-the-things branch. It should be reasonable to get it usable for all the acceptance tests.

Changed in mir:
assignee: nobody → Chris Halse Rogers (raof)
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Oh how nice it would be for our tests to not copy in the individual object files of libmirclient :)

Changed in mir:
status: New → In Progress
milestone: none → 0.7.0
Changed in mir:
milestone: 0.7.0 → 0.8.0
Changed in mir:
milestone: 0.8.0 → 0.9.0
Changed in mir:
milestone: 0.9.0 → 0.8.0
Changed in mir:
milestone: 0.8.0 → 0.9.0
Changed in mir:
milestone: 0.9.0 → 0.10.0
Changed in mir:
milestone: 0.10.0 → 0.11.0
Changed in mir:
status: In Progress → Triaged
milestone: 0.11.0 → none
Revision history for this message
Michał Sawicz (saviq) wrote :

Syncing task from Mir.

Changed in mir (Ubuntu):
importance: Undecided → Low
status: New → Triaged
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.