Commit graph

39 commits

Author SHA1 Message Date
Flamefire
c71fe6c912 Undef small and near if defined
Not only happens on MSVC but also on MinGW (and probably all windows builds)
2019-01-01 19:36:31 +01:00
Alexander Grund
45574d708b Add comma to MOCK_VARIADIC_ELEM_N calls
Avoids warning "must specify at least one argument for '...' parameter of
variadic macro" on e.g. Clang
2018-12-11 16:39:36 +01:00
Alexander Grund
f0fb2a1d02 Use BOOST_PP_VARIADIC_ELEM 2018-12-11 13:35:13 +01:00
Flamefire
30d756d120 Fix unused variable warning in non-threadsafe builds
Make lock/scoped_lock (dummy) RAII classes which avoids warnings in clang
Make lock and wrapper moveable as they should
Make wrapper return itself as reference not copy
2018-11-29 08:43:49 +01:00
Alexander Grund
72e0daae5c Implement and use simple singleton
Based on old boost::unit_test::singleton
2018-11-22 14:41:11 +01:00
Alexander Grund
f402c6161e Fix C++98 compatibility 2018-11-22 10:12:00 +01:00
Jeppe Frandsen
016455ca40
Corrected catch.hpp 2018-05-27 13:50:33 +02:00
Mathieu Champlon
cd5f911f6d Fixed parameter forwarding bug in mock functions 2018-04-08 17:48:14 +02:00
Mathieu Champlon
4455222a62 Removed support for directly mocking a protected member function
Taking a function pointer on a base member protected function is actually invalid.
This could work with a pointer on the derived class member function, that is &derived::method instead of &base::method however there is no way to pass the derived class from MOCK_BASE_CLASS to the mock::detail::base helper if template classes are to be supported.

Anyway the now documented workaround is simple enough and the same as for private member functions.

As a side note the changes from ed36823235 might not be needed any more…
2018-04-08 15:16:49 +02:00
Mathieu Champlon
caef00d2e3 Fixed move in actions for gcc 2018-04-08 15:16:49 +02:00
Mathieu Champlon
35b4f570ae Fixed clang warning 2018-04-08 15:16:48 +02:00
Mathieu Champlon
b8e8b6ffbf Fixed uncaught_exceptions usage with clang
For some reason clang seems so believe uncaught_exceptions does not belong to the std namespace:

no member named 'uncaught_exceptions' in namespace 'std'; did you mean
      simply 'uncaught_exceptions'?

I haven't found any indication confirming this, but let's just support both…
2018-04-08 15:16:48 +02:00
Mathieu Champlon
c42b708950 Fixed deprecation warning about std::uncaught_exception in c++17 for msvc 2018-03-25 09:46:40 +02:00
Mathieu Champlon
860e072439 Fixed perfect forwarding bug 2018-03-17 22:20:04 +01:00
Mathieu Champlon
bccd3ff303 Added support for move only types to constraints
Therefore mock::retrieve now supports std::unique_ptr.
2018-03-12 08:34:28 +01:00
Mathieu Champlon
5d11db0f52 Added support for dereferencing in mock::equal 2018-03-12 08:33:53 +01:00
Mathieu Champlon
a2d36e961a Fixed move-only type support in constraints 2018-03-12 08:11:33 +01:00
Mathieu Champlon
d3a5d3010c Fixed move-only type argument in actions
Because boost::function does not move the parameters it receives we need to use std::function instead.
2018-03-12 08:11:33 +01:00
Mathieu Champlon
15285a22ec Cleaned code 2018-01-15 05:23:15 +01:00
Mathieu Champlon
6daff2167c Added Catch integration 2017-05-29 09:12:03 +02:00
Mathieu Champlon
a22ca57253 Added MOCK_NO_AUTO_PTR to deactivate std::auto_ptr support 2017-03-20 11:43:18 +01:00
Mathieu Champlon
c847c85a77 Fixed mocking of a function returning a reference for gcc 4.1 2017-01-15 12:50:11 +01:00
Mathieu Champlon
779d695490 Fixed line length greater than 80 characters 2016-07-17 23:28:05 +02:00
Mathieu Champlon
94bedbd653 Removed round parenthesis in signature support for compilers without variadic macros
VS2015 has fixed the double parenthesis trick which was allowed in function signatures.
2016-07-16 13:46:17 +02:00
Mathieu Champlon
506e10f76a Added logging support for boost::optional 2016-02-08 11:25:17 +01:00
Mathieu Champlon
c35b76c8f0 Removed unneeded inline 2016-02-08 10:02:10 +01:00
Mathieu Champlon
ffcb366633 Fixed extra semicolon warning with BOOST_GLOBAL_FIXTURE prior to Boost 1.59 2016-02-07 18:34:23 +01:00
Mathieu Champlon
4f0431842f Documented how to manage static objects 2015-10-09 22:38:37 +02:00
Mathieu Champlon
86371b5695 Fixed multiply defined symbol definition for MOCK_FUNCTION included from several translation units 2015-09-08 09:22:50 +02:00
Mathieu Champlon
1ab35d8912 Fixed build errors with Boost 1.59 2015-09-08 06:41:39 +02:00
Mathieu Champlon
1a18870056 Removed unnecessary backslashes 2015-09-04 22:33:48 +02:00
Mathieu Champlon
6750b6cbd6 Changed macro parameter case to show that it expects an object and not a type 2015-08-09 10:25:56 +02:00
Mathieu Champlon
45dd0f025e Cleaned code 2015-05-23 22:22:23 +02:00
robwiss
3e79bae0b7 fixes for build errors 2015-05-22 20:46:53 -04:00
robwiss
767310fa38 added locking to sequence_impl 2015-05-22 20:18:50 -04:00
Mathieu Champlon
ed36823235 Added support for mocking protected member function 2015-04-08 21:54:46 +02:00
Mathieu Champlon
712653eb99 Added inline to generated MOCK_FUNCTION 2015-04-08 21:29:49 +02:00
Mathieu Champlon
d424d4ee7f Fixed support for compilers without r-value references
boost::make_shared is limited to 9 arguments for such compilers.
2015-03-11 22:01:20 +01:00
Mathieu Champlon
c950c24f52 Changed layout to match boost 2015-03-06 06:41:12 +01:00