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

« back to all changes in this revision

Viewing changes to include/test/mir_test_doubles/fd_matcher.h

  • Committer: Package Import Robot
  • Author(s): Ubuntu daily release, Daniel van Vugt, Ubuntu daily release
  • Date: 2014-08-29 16:12:54 UTC
  • mfrom: (1.1.73)
  • Revision ID: package-import@ubuntu.com-20140829161254-wfnunk4fw3msth3c
Tags: 0.7.0+14.10.20140829-0ubuntu1
[ Daniel van Vugt ]
* New upstream release 0.7.0 (https://launchpad.net/mir/+milestone/0.7.0)
  - Enhancements:
    . Test suite: Reworked mechanism to override Mir client functions
    . Demo shell: Detect custom rendering (decorations) to make it
      compatible with overlay optimizations
    . Make sure to preserve fd resources until the end of the sending
      of the message
    . Add test cases and script for tracking changes to the new ABIs:
      libmircommon, libmirplatform
    . Symbols file for libmirplatform
    . Symbols file for libmircommon
    . Symbols file for libmirserver
    . Various improvements to the SessionMediator test
    . Various build related improvements
    . Print testcase output during package build
    . Abort test when InProcessServer startup fails
    . Link the integration and unit tests against the server objects
    . Add a document detailing the useful tests to run and the useful
      logs to collect when troubleshooting a new android chipset
    . Enable motion event resampling and prediction for a more responsive
      touch experience.
  - ABI summary: Servers need rebuilding, but clients do not
    . Mirclient ABI unchanged at 8
    . Mircommon ABI bumped to 1
    . Mirplatform ABI bumped to 2
    . Mirserver ABI bumped to 25
  - API changes
    . Deleted function - frontend::Shell::create_surface_for(). If you have
      the std::shared_ptr<frontend::Session> session, you can just do
      session->create_surface(params) instead to get a SurfaceId
  - Bug fixes:
    . Ensure we process lifecycle events before the nested server is torn
      down (LP: #1353465)
    . Fix race in InputTestingServerConfiguration (LP: #1354446)
    . Fix fd leaks in prompt session frontend code and tests (LP: #1353461)
    . Detect the additional things the demo shell draws on the renderable
      list and avoid calling the optimized post function if they are being
      drawn (LP: #1348330)
    . Client: Fix SIGTERM dispatch in our default lifecycle event handler
      (LP: #1353867)
    . DemoRenderer: Don't try to create a texture of width zero. 
      (LP: #1358210)
    . Fix CI failures (LP: #1358698)
    . Fix build failure: "variable ‘rc’ set but not used" which happens in
      release mode when NDEBUG is set (LP: #1358625)
    . Only enumerate exposed input surfaces to avoid delivering events to
      occluded surfaces (LP: #1359264)
    . Android: do not post driver cancelled buffers (LP: #1359406)
    . Client: Ensure our platform library stays loaded for as long as it is
      needed by other objects (LP: #1358191)
    . Examples: Register the DemoCompositor with the Scene to properly
      process visibility events (LP: #1359487)
    . Mir_demo_client_basic: Don't assert on user errors like failing to
      connect to a Mir server (LP: #1331958)
    . Tests: Explicitly depend on GMock target to avoid build races
      (LP: #1362646)

[ Ubuntu daily release ]
* New rebuild forced

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 * Copyright © 2014 Canonical Ltd.
 
3
 *
 
4
 * This program is free software: you can redistribute it and/or modify it
 
5
 * under the terms of the GNU General Public License version 3,
 
6
 * as published by the Free Software Foundation.
 
7
 *
 
8
 * This program is distributed in the hope that it will be useful,
 
9
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 
10
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
11
 * GNU General Public License for more details.
 
12
 *
 
13
 * You should have received a copy of the GNU General Public License
 
14
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
15
 *
 
16
 * Authored by: Kevin DuBois <kevin.dubois@canonical.com>
 
17
 */
 
18
 
 
19
#ifndef MIR_TEST_DOUBLES_FD_MATCHER_H_
 
20
#define MIR_TEST_DOUBLES_FD_MATCHER_H_
 
21
 
 
22
#include "mir/fd.h"
 
23
#include <unistd.h>
 
24
#include <fcntl.h>
 
25
#include <gmock/gmock.h>
 
26
 
 
27
namespace mir
 
28
{
 
29
namespace test
 
30
{
 
31
namespace doubles
 
32
{
 
33
MATCHER_P(RawFdMatcher, value, std::string("raw_fd does not match mir::Fd"))
 
34
{
 
35
    return value == arg; 
 
36
}
 
37
MATCHER(RawFdIsValid, std::string("raw_fd is not valid"))
 
38
{
 
39
    return (fcntl(arg, F_GETFD) != -1);
 
40
}
 
41
}
 
42
}
 
43
}
 
44
 
 
45
#endif /* MIR_TEST_DOUBLES_FD_MATCHER_H_ */