~ubuntu-branches/ubuntu/vivid/mir/vivid-proposed

« back to all changes in this revision

Viewing changes to tests/unit-tests/client/test_mir_screencast.cpp

  • Committer: Package Import Robot
  • Author(s): Ubuntu daily release, Daniel van Vugt, std::exception::what: Invalid or inconsistent display configuration, Ubuntu daily release
  • Date: 2015-01-07 23:50:16 UTC
  • mfrom: (1.1.81)
  • Revision ID: package-import@ubuntu.com-20150107235016-lg89f9zrh5qa92s0
Tags: 0.10.0+15.04.20150107.2-0ubuntu1
[ Daniel van Vugt ]
* New upstream release 0.10.0 (https://launchpad.net/mir/+milestone/0.10.0)
  - Enhancements:
    . Added support for Android HWC 1.3 devices.
    . Plumbing/preparation to support external displays on Android devices.
    . Reduced build dependencies.
    . Client API: Added version macros.
    . Began work on automatic driver probing, to intelligently choose the
      best driver for you.
    . Demo shell (mir_proving_server): Added desktop zoom feature using
      Super + mouse wheel.
    . Demo renamed: mir_demo_server_shell -> mir_proving_server
    . Other demo servers merged into -> mir_demo_server
    . Wider support for display buffer pixel formats in the mesa driver, for
      wider hardware support.
    . Performance: On mesa/desktop at least; only hold compositor buffers
      for the duration of the render, instead of the duration of the frame.
      Following this change the compositor report can now finally report
      render time instead of frame time.
    . Mir now starts reliably when a TV is connected by HDMI, and up to
      4K resolution (2160p) is known to work.
    . Plenty more enhancements logged in the bugs list below.
  - ABI summary: Servers need rebuilding, but clients do not;
    . Mirclient ABI unchanged at 8
    . Mircommon ABI unchanged at 3
    . Mirplatform ABI bumped to 5 
    . Mirserver ABI bumped to 28
  - Bug fixes:
    . [regression] Mir servers (since 0.9) randomly crash in malloc due to
      heap corruption (LP: #1401488)
    . USC - mouse cursor on AMD graphics is drawing incorrectly
      (LP: #1391975)
    . Mir fails to start when a TV is connected by HDMI
      [std::exception::what: Invalid or inconsistent display configuration]
      (LP: #1395405)
    . Input/event driven clients may freeze indefinitely (LP: #1396006)
    . Mir server crashes with "std::exception::what: Failed to get front
      buffer object" when trying to fullscreen a surface (LP: #1398296)
    . Switching windows with a Trusted Prompt Session active loses the
      trusted prompt session (LP: #1355173)
    . CI test failure in multiple tests (LP: #1401364)
    . dh_install: usr/bin/mir_demo_server exists in debian/tmp but is not
      installed to anywhere (LP: #1401365)
    . [regression] demo-shell: Instead of moving surfaces they now fly
      off-screen (LP: #1403702)
    . [regression] Binaries are no longer runnable on other machines (or in
      other directories) (LP: #1406073)
    . [i865] unity-system-compositor fails to start: Failed to choose ARGB
      EGL config (LP: #1212753)
    . Mir's compositor holds buffers (blocking clients) for the duration of
      the frame, even when not necessary. (LP: #1264934)
    . Screen goes blank (black) briefly during display config changes which
      don't affect the display mode (LP: #1274359)
    . [enhancement] There should be a quit signal sent to sessions instead
      of killing them directly (LP: #1304257)
    . MirMotionEvent.action needs stronger typing (to MirMotionAction etc)
      (LP: #1311699)
    . CompositorReport as used by DefaultDisplayBufferCompositor can't
      measure render time (LP: #1350716)
    . Full screen (bypassed) surfaces (e.g. GLMark2Test) are missing frames
      and appear to freeze or judder with swap interval 0 (LP: #1379685)
    . Trusted prompts need to be part of the lifecycle (LP: #1384950)
    . [testfail] BasicThreadPool.recycles_threads in CI (LP: #1391488)
    . acceptance_tests are too chatty (LP: #1394221)
    . mir_connection_create_surface callback is sometimes called twice on
      error (LP: #1394873)
    . File descriptor leaks in tests using UsingStubClientPlatform
      (LP: #1395762)
    . DisplayLayout resizes a surface to 1x1 if you ask it to fullscreen a
      surface that's partially offscreen (LP: #1398294)
    . Surfaces can consume input events before they're visible.
      (LP: #1400218)
    . dpkg-shlibdeps: Lots of warnings about libmirplatformstub.so
      (LP: #1401373)
    . Leaks in death tests can cause subsequent tests in the same process to
      fail (LP: #1402160)
    . [regression] lintian: E: mir-demos: binary-or-shlib-defines-rpath ...
      (LP: #1406098)
    . [regression] Mir utils can't run from the build tree any more
      (LP: #1407557)
    . fd reception code is not exeception-safe when unexpected numbers of
      fds are received (LP: #1394362)
    . Mir reports vertical refresh rates slightly inaccurately (LP: #1407558)
    . [Enhancement] Add an API to lock surface orientation (LP: #1382209)
    . Bootloop with system language Turkish on the Nexus 4 (LP: #1398984)
    . Remove the implicit assumption that there every surface can be mapped
      to an input handle. (LP: #1216727)
    . When revealing hidden surfaces wait for them to become exposed before
      sending events which we expect them to receive (LP: #1407783)

[ Ubuntu daily release ]
* New rebuild forced

Show diffs side-by-side

added added

removed removed

Lines of Context:
21
21
#include "src/client/client_platform.h"
22
22
 
23
23
#include "mir_test_doubles/null_client_buffer.h"
 
24
#include "mir_test_doubles/stub_client_buffer_factory.h"
24
25
 
25
26
#include <gtest/gtest.h>
26
27
#include <gmock/gmock.h>
126
127
EGLNativeWindowType StubEGLNativeWindowFactory::egl_native_window{
127
128
    reinterpret_cast<EGLNativeWindowType>(&StubEGLNativeWindowFactory::egl_native_window)};
128
129
 
129
 
class StubClientBufferFactory : public mcl::ClientBufferFactory
130
 
{
131
 
    std::shared_ptr<mcl::ClientBuffer> create_buffer(
132
 
        std::shared_ptr<MirBufferPackage> const& /*package*/,
133
 
        mir::geometry::Size /*size*/, MirPixelFormat /*pf*/)
134
 
    {
135
 
        return std::make_shared<mtd::NullClientBuffer>();
136
 
    }
137
 
};
138
 
 
139
130
struct MockClientBufferFactory : mcl::ClientBufferFactory
140
131
{
141
132
    MOCK_METHOD3(create_buffer,
244
235
          default_region{{0, 0}, {1, 1}},
245
236
          default_pixel_format{mir_pixel_format_xbgr_8888},
246
237
          stub_egl_native_window_factory{std::make_shared<StubEGLNativeWindowFactory>()},
247
 
          stub_client_buffer_factory{std::make_shared<StubClientBufferFactory>()},
 
238
          stub_client_buffer_factory{std::make_shared<mtd::StubClientBufferFactory>()},
248
239
          mock_client_buffer_factory{std::make_shared<MockClientBufferFactory>()}
249
240
    {
250
241
    }
255
246
    mir::geometry::Rectangle default_region;
256
247
    MirPixelFormat default_pixel_format;
257
248
    std::shared_ptr<StubEGLNativeWindowFactory> const stub_egl_native_window_factory;
258
 
    std::shared_ptr<StubClientBufferFactory> const stub_client_buffer_factory;
 
249
    std::shared_ptr<mtd::StubClientBufferFactory> const stub_client_buffer_factory;
259
250
    std::shared_ptr<MockClientBufferFactory> const mock_client_buffer_factory;
260
251
};
261
252