touch-packages team mailing list archive
-
touch-packages team
-
Mailing list archive
-
Message #47136
[Bug 1362646] Re: Build race between gtest/gmock and tests can cause build to fail
This bug was fixed in the package mir - 0.8.1+15.04.20150112.2~rtm-
0ubuntu1
---------------
mir (0.8.1+15.04.20150112.2~rtm-0ubuntu1) 14.09; urgency=medium
[ Daniel van Vugt ]
* Bug fix release 0.8.1 (https://launchpad.net/mir/+milestone/0.8.1)
- ABI summary: Servers need rebuilding, but clients do not;
. Mirclient ABI unchanged at 8
. Mircommon ABI unchanged at 2
. Mirplatform ABI unchanged to 3
. Mirserver ABI bumped to 26.1 (due to breakage in LP: #1355173)
- Fixes bugs:
. Switching windows with a Trusted Prompt Session active loses the
trusted prompt session (LP: #1355173)
. a prompt session with an invalid application pid should be an error
(LP: #1377968)
* mir_demo_client_basic: Don't assert on user errors like failing to
connect to a Mir server. It's much more useful to tell the user what
they did wrong than to automatically generate error reports and
duplicate apport bugs. (LP: #1331958) . (LP: #1331958)
* Enable "Project Butter" motion event resampling and prediction for a
more responsive touch experience. .
* When the server disconnects unexpectedly, give the client SIGHUP
instead of the present SIGTERM. The former is more appropriate
because it indicates: "Hangup detected on controlling terminal or
death of controlling process" [signal(7)] whereas SIGTERM is
reserved for more polite user-requested shutdowns. .
* Fix the common/shared source tree layout inconsistency. If it goes
in libmircommon then it should be called "common" and not "shared":
* Move mir::time::*Clock out of libmirserver and into libmircommon. It
will soon be used by libmirclient.
* Bump version to 0.8.0 as Mir 0.7.0 was released today.
* Remove dead code "kill_client_processes()" from mir_test_framework.
* Work around spurious SIGKILL delivered to clients by Valgrind during
tests. This is why CI is failing randomly (LP: #1364772) Actually
this workaround is nothing new. A quick grep shows we already use
the same hack in 13 other locations under tests/. . (LP: #1364772)
* Privatise (don't install) headers that are unused by clients, QtMir
or USC. This reduces the size of the public include/ tree from 377
to 121 files, and reduces the number of those that get installed
from 208 to 121.
* Bump the mircommon ABI to 2. We actually broke it in the Mir 0.7.0
release with symbols.map and didn't notice in time (LP: #1364890)
(LP: #1364890)
* Restore support for gcc-4.8/trusty (LP: #1366134) (LP: #1366134)
* Publish an internal header that QtMir recently started using:
mir/input/input_channel.h (LP: #1365934) . (LP: #1365934)
* Relax dependencies on libmirplatform2. Any binary package that uses
libmirplatform2 should already be ABI compatible with any version of
libmirplatform2. Assuming we maintain our ABIs correctly...
Minimising exact version requirements should minimise future package
upgrade problems. .
* Privatise more headers -- these are the ones unused by any external
projects but are used internally by the server code in examples/
only.
* Introducing a generic client performance report. Just turn it on:
env MIR_CLIENT_PERF_REPORT=log yourclient and you will get nice
useful performance information: [1409905806.508895] (II) perf:
eglappsurface: 60.21 FPS, render time 0.62ms, buffer lag 47.64ms (3
buffers) [1409905807.510868] (II) perf: eglappsurface: 59.94 FPS,
render time 0.13ms, buffer lag 49.96ms (3 buffers)
[1409905808.513115] (II) perf: eglappsurface: 59.88 FPS, render time
0.12ms, buffer lag 49.98ms (3 buffers) .
* Remove FPS output from examples/*. A more accurate and useful
measure of FPS is now available to all clients by: env
MIR_CLIENT_PERF_REPORT=log anyclient.
* Privatise shared_library_prober*.h until such time that some
external project needs them.
* examples: Restore the -q (quiet mode) option to eglapps and flicker.
It got deleted a little to hastily in r1906 when really it's still
useful and worth keeping. .
* Fix constructor syntax errors, which only just today g++ has decided
are fatal (LP: #1369389) (LP: #1369389)
* Introduce explicit driver ABI levels: libmirplatformNdriver,
libmirclientMdriver
* Bump the server ABI to 26. We broke it in r1924.
* Build all platforms by default. No just Mesa. It's safe to do so,
and in fact we already do so in our Deb builds :) This way no one
can forget to fix Android build issues when working on desktop. .
* Fix jerky/stuttering event delivery that could happen inside nested
servers sometimes (LP: #1372300) (LP: #1372300)
* Reduced visible input lag by approx one frame (on 59-60Hz displays)*
* Avoid polling in a loop with timeout zero most of the time. That
will only waste CPU. (LP: #1373809) (LP: #1373809)
* demo shell: Keep colours consistent, regardless of the physical
pixel format of your framebuffer (LP: #1375660). (LP: #1375660)
* Fix executable bit on tools/*.sh (LP: #1376547). (LP: #1376547)
* Update ABI sha1sums. We re-exposed a bunch of headers in r1952 and
forgot to update the checksums. .
* Fix input receiver tests with mocked clocks accidentally taking real
time (not mocked time) to complete (LP: #1375211) . (LP: #1375211)
* integration-tests: Backport test enhancements from the "double"
branch that allow the tests to work in the presence of either triple
or double buffering. No ETA on when we might enable double
buffering, but it's good to have the tests ready.
[ Cemil Azizoglu ]
* Remove file accidentally checked in
* Merge mir/ubuntu back to devel to resolve conflicts.
* Fix for LP: #1304873 (mir_unit_tests.MesaBufferAllocatorTest.* test
fails under sbuild chroot env). (LP: #1304873)
* Revert r1942.
* Revert r1955 which was failing jenkins.
[ Alexandros Frantzis ]
* client: Ensure our platform library stays loaded for as long as it
is needed by other objects. This avoids crashes observed on
mir_connect failure (LP: #1358191) (LP: #1358191)
* examples: Register the DemoCompositor with the Scene to properly
process visibility events (LP: #1359487). (LP: #1359487)
* tests: Ensure that the server has really and fully started after
calling ServerRunner::start_mir_server().
* tests: Explicitly depend on GMock target to avoid build races (LP:
#1362646). (LP: #1362646)
* scene: Throw when inactive compositor ids are passed to the
rendering tracker
* tests: Fix races in TestClientInput (LP: #1361757). (LP: #1361757)
* tests: Refactor the TestClientCursorAPI tests to simplify them and
fix races (LP: #1342567). (LP: #1342567)
* tests: Fix intermittent failure of
DemoPrivateProtobuf.client_calls_server (LP: #1367353). (LP:
#1367353)
* tests: Use perfect forwarding in AutoUnblockThread and
AutoJoinThread (LP: #1369389). (LP: #1369389)
* server: Work around unresponsive clients causing the server to hang
(LP: #1350207). (LP: #1350207)
* tests: Use precompiled headers for gtest/gmock and some common
system headers.
* nested: Ensure that the nested Platform object stays alive for at
least as long as the nested Display object needs it (LP: #1372276).
(LP: #1372276)
* tests: Fix SharedLibraryProber test runs on i386. (LP: #1375829)
* mesa: Use mir::Fd instead of custom fd handle type.
* cmake: Allow dumping the ABI using prebuilt libraries.
[ Alberto Aguirre ]
* Recycle compositor threads by using a thread pool (LP: #1362841).
(LP: #1362841)
* Fix license of basic_thread_pool.h header.
* Add a playground folder for demos that use private mir
functionality. Rename include.private to src/include Scrub examples
to remove some private header dependencies. .
* Add make targets to check abi compatibility against the last
official release.
[ Kevin DuBois ]
* docs: add a document detailing the useful tests to run and the
useful logs to collect when troubleshooting a new android chipset.
* correct the texture cache to not rely on 'invalid' buffer id's.
* frontend: Add ability to associate SurfaceId's with BufferId's. This
is in preparation for rpc (Buffer) exchange_buffer(Buffer) so the
frontend can correctly return the exchanged buffer to the
appropriate surface.
* android: preserve the registered callback hooks until the hwc device
has been closed. lp: #1364637. (LP: #1364637)
* frontend: add the stubs for the exchange_buffer rpc call
* reintroduce the headers needed by platform-api
* make the mir default for overlay match the USC default by turning on
the android overlay optimization by default. Also add a simple
overlay integration test.
* frontend: hook up the exchange_buffer message in the protobuf
message processor. Also include an integration test that has been
driving the server side of the exchange buffer work.
* frontend: log the exchange_buffer messages in the session-mediator-
report.
* Make the fd-sending code common so that it is accessible from the
client code.
* android: rename a few classes that were
mir::graphics::android::Android* to just be
mir::graphics::android::*.
* android: add a quirk that will prevent a device from opening the
gralloc device after it has been closed.
* frontend: platform: provide a way for the frontend to perform
platform specific actions upon receipt of buffer from the client.
Split out the 3 platform ipc operations into its own interface.
* Allow the platform to read the fd's and data from the buffer message
abstraction. This will let the platform to read from the buffer
messages coming back from the client.
* make the Fd reception code common to the server and the client (as
the server will need to receive code soon).
* fix arm64 package by adding arm64 to the shared library prober test
fixes: lp: #1379478 (LP: #1379478)
[ Andreas Pokorny ]
* Replace checks for MESA_drm_image with KHR_image_pixmap and disables
the checks
* Update cmake scripts to current version of gcovr We used to call
gcovr with -c 'some string' and -r source_dir, both parameter cause
trouble with gcovr 3.0 and later. -r source_dir means that gcovr
will not find any coverage files written through the test run. The
purpose of -c 'some string' seems to be rather descriptive. Older CI
results indicated that we were using gcovr-2.5-prerelease before and
gcovr 3.1 now. .
[ Robert Carr ]
* Add touchspot visualizations toggleable with --enable-touchspots.
(LP: #1323522)
* Ensure touchspots do not update the scene when disabled
[ Alan Griffiths ]
* tests: link the integration and unit tests against the server
objects.
* libmirserver: initial cut at symbol map for libmirserver.
* client, platform: ensure that plugins can resolve symbols in these
libraries
* client, platform: ensure that plugins can resolve symbols in these
libraries.
* tools: Provide some help text for process_doygen_xml.py.
* common: correct usage of compare_exchange_weak().
* Acceptance tests only use published headers as user code needs the
headers to use these features. (LP: #1375301)
* examples, playground: republish the "playground" examples that only
depend on features used in the acceptance tests.
* trusted prompt sessions: starting a prompt session with an invalid
application pid reports an error (LP: #1377968) (LP: #1377968)
[ Christopher James Halse Rogers ]
* Use std::system_error in preference to std::runtime_error for system
errors.
* Remove an obsolete workaround for a clang bug with the lttng
headers. Fixes LP: #1348472. (LP: #1348472)
* Add a helper to load all the shared libraries in a directory.
* Add versioned symbol loading support to SharedLibrary.
* Add the first cut of a guide for developers to the ELF symbol
versioning used in Mir DSOs.
* Use mir::Fd in client RPC code.
-- Ubuntu daily release <ps-jenkins@xxxxxxxxxxxxxxxxxxx> Mon, 12 Jan 2015 16:07:38 +0000
** Changed in: mir (Ubuntu RTM)
Status: New => 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/1362646
Title:
Build race between gtest/gmock and tests can cause build to fail
Status in Mir:
Fix Released
Status in Mir 0.7 series:
Fix Released
Status in mir package in Ubuntu:
Fix Released
Status in mir package in Ubuntu RTM:
Fix Released
Bug description:
Steps to reproduce:
1. make -j4
2. In build directory do "rm -rf gmock/"
3. make -j4
Expected result: Second build succeeds
Actual result: Second build fails with "make[2]: *** No rule to make target 'gmock/libs/gtest/libgtest.a', needed by 'bin/mir_unit_tests'. Stop." (or similar)
The problem is that there is no explicit dependency between
gmock/gtest and our tests. Linking with the gtest/gmock libraries is
not enough, since GMock is an external CMake project, and CMake
doesn't seem to track such cross-project dependencies.
Also seen in https://jenkins.qa.ubuntu.com/job/mir-android-
utopic-i386-build/1505/console
To manage notifications about this bug go to:
https://bugs.launchpad.net/mir/+bug/1362646/+subscriptions