← Back to team overview

touch-packages team mailing list archive

[Bug 1445473] Re: Acceptance tests link with static versions of client library and server components

 

** Changed in: mir
       Status: Fix Committed => Fix Released

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

Title:
  Acceptance tests link with static versions of client library and
  server components

Status in Mir:
  Fix Released
Status in mir package in Ubuntu:
  New

Bug description:
  Acceptance tests link with static versions of client library and
  server components [1]. This is bad because:

  1. mir_acceptance_tests ends up with multiples versions of static symbols, which can lead to strange errors
  2. We can inadvertently use private symbols, so the acceptance tests won't fail if we forget to make a symbol public

  The tests failures seen in https://code.launchpad.net/~afrantzis/mir/client-surface-buffering-mode/+merge/256455, are
  a result of (1). What happens is that we register valid surfaces with the built-in (picked up from mirclient-static) version of the MirSurface::is_valid() symbol (and therefore the corresponding valid_surfaces static container), but subsequently end up using the libmirclient.so.8 version of MirSurface::is_valid() symbol (and therefore the corresponding different and empty valid_surfaces static container).

  The aforementioned MP also suffers from (2), since although I forgot
  to expose the new client library symbol, the tests work fine.
  Depending on the particular case, we may only find out about the
  problem after the release, when a user tries to use the symbol and
  fail.

  [1] libmirclient-static.a, lib3rd_party.a, libmirclientrpc.a,
  libmirclientlttngstatic.a, libxcursorloader.a

To manage notifications about this bug go to:
https://bugs.launchpad.net/mir/+bug/1445473/+subscriptions