Download News Support Project




Released 17 July 2016

  • Fixed MOCK_FUNCTOR compilation with VS2015
  • Removed round parenthesis in signature support for compilers without variadic macros

Released 8 February 2016

  • Fixed missing thread synchronization in mock::sequence
  • Fixed build errors with Boost 1.59
  • Fixed multiply defined symbol definition for MOCK_FUNCTION included from several translation units
  • Fixed extra semicolon warning with BOOST_GLOBAL_FIXTURE prior to Boost 1.59
  • Added logging support for boost::optional

Released 25 April 2015

  • Dropped support for obsolete Boost.Phoenix V2
  • Added support for multiple parameters constraints
  • Added inline to generated MOCK_FUNCTION
  • Documented limitation concerning MOCK_METHOD_TPL
  • Fixed mocking protected member function
  • Document how actions store data by copy

Released 24 May 2014

  • Added MOCK_THREAD_SAFE to enable thread safety

Released 10 February 2014

  • Added workaround for when msvc defines small and near macros
  • Added support for using non default calling conventions
  • Changed MOCK_DESTRUCTOR which now requires '~' to preceed the class name
  • Changed MOCK_*CONVERSION_OPERATOR* which now require an extra first argument 'operator'
  • Added version.hpp with the library version number

Released 14 August 2013

  • Reworked MOCK_CONSTRAINT to be able to provide names to parameters
  • Added MOCK_NO_VARIADIC_MACROS to deactivate variadic macros support
  • Added support for movable only types as parameters
  • Added logging support for std::unique_ptr, std::shared_ptr and std::weak_ptr
  • Added move support in actions

Released 20 May 2013

  • Added support for C++11 lambdas as constraints
  • Return actions now accept by copy types derived from abstract base types
  • Added MOCK_CONSTRAINT helper macro
  • Added support for several sequences in 'in'
  • Added support for nullptr as constraint
  • Added mock::close, mock::close_fraction, mock::small and mock::near constraints

Released 9 March 2013

  • Added variadic macro support for MOCK_BASE_CLASS
  • Added variadic macro support for MOCK_FUNCTION, MOCK_FUNCTOR and the MOCK_METHOD family
  • Added round parenthesis support for signatures for MOCK_FUNCTION, MOCK_FUNCTOR and the MOCK_METHOD family

Released 24 January 2013

  • Fixed boost::lambda_functor forward declaration
  • Added test for whether BOOST_RESULT_OF_NUM_ARGS is large enough
  • Removed default error policy keeping only Boost.Test integration
  • Refactored error policy to simplify test frameworks integration
  • Changed C-string constraint short-cut behaviour to compare strings instead of pointers
  • Fixed potential conflict with macro max
  • Fixed missing file name and line number in logs
  • Moved mock::exception in its own header so that it can be included without the error policy
  • Fixed type name extraction involving template classes

Released 25 May 2012

  • Changed MOCK_FUNCTOR syntax to MOCK_FUNCTOR( functor, signature )
  • Changed MOCK_EXPECT syntax to MOCK_EXPECT( object.tag ) and MOCK_EXPECT( functor )
  • Changed MOCK_RESET syntax to MOCK_RESET( object.tag ) and MOCK_RESET( functor )
  • Changed MOCK_VERIFY syntax to MOCK_VERIFY( object.tag ) and MOCK_VERIFY( functor )
  • Replaced object.verify() with mock::verify( object )
  • Replaced object.reset() with mock::reset( object )
  • Removed all std::string to spare unnecessary memory allocations
  • Wrapped constraints parameters with boost::addressof where needed in order to support types with overloaded operator &
  • Fixed limitation on operator() of a custom constraint which is no longer required to be const
  • Added support for mock::reset( functor ) and mock::verify( functor )
  • Renamed basic_error_policy to default_error_policy
  • Added checkpoint notification to error policy
  • Added specialization to log unsigned chars as integers
  • Fixed a bug that caused an object to remain invalid forever after being invalid and verified once
  • Added support for mocking constructors
  • Fixed phoenix and lambda functors logging in the presence of their operators & and <<
  • Fixed a crash when resetting self-referenced object

Released 10 July 2011

  • Added support for boost::cref and boost::ref in built-in constraints and mock::format
  • Removed MOCK_METHOD_TPL for using non compliant code
  • Added a mock::affirm constraint as evaluating ''actual'' as a boolean
  • Fixed a bug preventing non-const pointers to be logged properly
  • Added support for logging std::auto_ptr, boost::shared_ptr and boost::weak_ptr
  • Added missing check for BOOST_FT_MAX_ARITY when MOCK_MAX_ARGS was set to 21 or higher
  • Fixed a bug with const smart pointers as first argument to MOCK_EXPECT being invalid
  • Fixed a crash with Boost.Test when destroying failed static mock objects

Released 23 March 2011

  • Added Boost.Test log info when an expectation is fulfilled
  • Fixed a bug preventing to increase the maximum number of arguments of a mocked method using MOCK_MAX_ARGS
  • Changed the default value for MOCK_MAX_ARGS to 9 instead of 10
  • Renamed mock::constraint to mock::call
  • Added custom constraints logging customization in the same way as parameters
  • Changed the way the default logging of constraints and parameters can be overridden to use a serialization operator to a mock::stream
  • Enhanced logging by lazily serializing constraints and parameters
  • Added the possibility to perform conversions when logging constraints and parameters by defining MOCK_USE_CONVERSIONS

Released 16 June 2010

  • Destroying a sequence does not remove the associated order call enforcement any more
  • Added detection for a pointer in mock::assign to dereference it before performing the assignment
  • Renamed error policies no_match method to unexpected_call
  • Made boost_test_error_policy throw a mock::exception extending boost::execution_aborted (helpful in order to filter on exceptions)
  • Fully qualified function calls to prevent unwanted ADL
  • Added extra namespace level to protect from unwanted ADL with operator<<
  • Fixed a crash due to static initialization order fiasco on some platforms
  • Added support for mocking conversion operators
  • Added concept checks for better diagnostic upon compilation error
  • Made template parameter names more user friendly for better diagnostic upon compilation error
  • Fixed expectation argument types to match signature
  • Shared parent names among their expectations when a mock::object is used as a base class
  • Fixed maximum number of mocked methods arguments
  • Prevented a crash when mocking a destructor and throwing out of the object scope