Releases: rollbear/trompeloeil
v29
v28
-
You can place expectations on types multiply inheriting several mock types.
-
Changed directory structure. "trompeloeil.hpp" now resides in directory "include". Self test programs "compiling_tests.cpp" and "thread_terror.cpp" resides in directory "test".
-
Major work on CMake support
make install- works as before and also includes a package.- For CMake based project you can use
find_package(trompeloeil 28 REQUIRED)and addtarget_link_libraries(<test_program> trompeloeil)for your test target- use
add_subdirectory(trompeloeil)if you prefer to track the trompeloeil git repository and also here addtarget_link_libraries(<test_program> trompeloeil)for your test targetcmake -DBUILD_TYPE=Debug <trompeloeil-dir>enables the test targetsself_testandthread_terror-DSANITIZE=trueenables ASAN and UBSAN forself_test, and TSAN and UBSAN forthread_terror
v27
v26
-
Support for threaded semi-integration tests by allowing
queries if a sequence objectis_completed(), if an
expectation objectis_satisfied()or
is_saturated(). -
Internal restructuring for reduced code size.
v25
-
Changed the expectation macros such that you can now have a
macro that expands into severalREQUIRE_CALL()(and the likes) -
Fixed macro expansion bugs causing name clashes.
-
Documented clang++ 4 compatibility
-
Sequence objects are now movable and can, for example, be
returned from functions.
v24
v23
-
Matchers can be negated using the logical not operator !.
Example:
struct Mock { MAKE_MOCK1(func, void(const std::string&)); }; TEST(...) { using trompeloeil::re; // match regular expressions Mock m; REQUIRE_CALL(m, func(!re("^foo"))); // calls to func with strings not matching the regex /^foo/ ... }
-
Made sequence and its dependencies moveable. (mlimber)
This means it's now possible to use tha Almost Always Auto
style for sequence objects:auto seq = trompeloeil::sequence{}; -
Internal refactoring for substantially reduced compilation time.
v22
- Messages from violations of expectations now print collections member wise. This goes for
std::pair<>,
std::tuple<>and any data type for which a range based for loop is possible. This is done recursively for
the contents of the collections. - Worked around gcc bug 78446
- Cleaned up
-Wshadowwarnings from gcc
v21
- Tracing now includes return values and exceptions thrown.
For exception types inherited from std::exception, the
what()string is printed. - Fixed a bug when a member function in a mocked class calls
a mocked function. This is now explicitly allowed, even
when an expectation recursively calls the same function
as a side effect. - Worked around VisualStudio 2015 update 3 issue where trailing
return type for lambdas is not respected in template deduction
context. This caused compilation errors when using matchers
in expectations to overloaded functions. - Worked around VisualStudio 2015 update 3 issue with evaluating
regex_search()in trailing return type spec for auto deduced
string type.