Releases: rollbear/trompeloeil
v39
-
Fix issue 204: ALLOW_CALL was not respected in sequences.
Now ALLOW_CALL in sequence may be skipped, but making a
call out of sequence is a violation. NOTE! This fix is likely
to break some existing test code! -
Fix issue 211: #include <QtCore/QChar> before #include <trompeloeil.hpp>
caused compilation failure for all expectations. -
Fix minor spelling errors and markdownlint warnings.
-
Issue 207: Extend cmake script to allow use of libc++ with g++
-
Fix issue 129: Wildcard _ does not match pass-by-value tuple
of only one type. -
Fix issue 197: Add override to virtual destructors
to avoid -Wsuggest-destructor-override warnings.
v38
-
Fixed bug where ALLOW_CALL only worked with sequences
if called at least once -
Fixed bug to support IMPLEMENT_MOCKx and IMPLEMENT_CONST_MOCKx
constexpr -
More fixes to Conan packaging. Thank you Kai Bernhard.
-
Support OK-reporters from the runtime reporter registration
API. Thank you Moritz Haase. -
Rewrites to not trigger deprecation warnings in C++17 builds.
Thank you Kasper Laudrup.
v37
-
Added adapter for the Criterion unit testing framework. Thank you
Etienne Barbier [email protected]
-
Fixes to Conan packaging. Thank you kert
-
Fix issue 180 for GCC and MSVC, where the presence of a type
like Qt5/QChar broke compilation of unrelated mock signatures. -
Fix TROMPELOEIL_CONCAT macro issue to restore compiling with MSVC
when traditional preprocessor is enabled. -
Fix issue 173 for GCC 4.x by performing testing to confirm
correctness of existing code.
v36
-
Status reporting of passed expectation calls as sucessful assertions in
DOCTEST and Catch2. Thanks to:@ToreMartinHagen Catch2
@reddwarf69 for DOCTESTYou get the support via the provided headers
#include <catch2/trompeloeil.hpp>
#include <doctest/trompeloeil.hpp>
See the CookBook for information about adding such hooks for other unit
testing frame works. -
Fixed issue #172 where
THROW()
would not compile if the function returns
a type that is not default constructible. -
Partially fixed issue #173, where an object constructible from
nullptr
but not comparable withnullptr
, would be constructed when printed
(for example when an expectation failed.)Unfortunately this fix does not work for gcc versions 4.x or MSVC 14.
v35
-
Improvements to documentation. Thanks to:
Robert Dailey [email protected]
Yuri Timenkov [email protected]
Viatorus [email protected] -
Improved DocTest integration. Thanks to:
Cristian Morales Vega [email protected]
-
CMakeLists.txt honours CMAKE_INSTALL_LIBDIR. Thanks to:
Cristian Morales Vega [email protected]
-
Partially fixed issue 155, where an unfulfilled expectation, when
built with the default throwing reporter, terminated without a
message when compiled with gcc and optimization. With the partial
fix the program still terminates, but with the correct violation
message displayed. -
Fixed issue 157 where it was impossible to place an expectation on a
reference to a non-copyable type. This fix also resolved a number of
problems with older compilers. See docs/Backward.md for details. -
Fixed clang-tidy warning, misc-non-private-member-variables-in-classes
that leaks into application code from the Trompeloeil header.
v34
-
Rearranged include directory structure to make it easier to use, and
to write, adapters for unit test frame works. Now, if you want to
use Trompeloeil with, for example, the 'doctest' unit testing frame
work, you include#include <doctest.h> #include <doctest/trompeloeil.hpp>
The old adaptation mechanisms still work. See issue #118
-
Support compilation without RTTI support. This makes error reporting
fromdeathwatched<>
violations less informative (it cannot mention
the name of the type of the object) but has no other impact on
functionality. -
Silenced g++-4.9 -Wmissing-field-initializers warning with libc++.
-
Fixed issue #121 where mutexes were created in each translation unit
-
Fixed issue #124 where sequence objects were not properly protected
against access from several threads. -
Silenced several warnings in the Trompeloeil self test programs.
v33
-
Silenced noisy g++-7
-Wuseless-cast
warning -
Fixed a bug where a mocked function would not compile if a parameter
had anoperator==(nullptr_t)
returning a type that is not convertible
to bool. -
Fixed a bug where a mocked function would not compile if a parameter
was a range with iterators to rvalue proxy objects, likevector<bool>
. -
Mock objects can be move constructed if they have a
static constexpr bool
member
trompeloeil_movable_mock = true
. -
ANY()
matcher gives a short descriptive compilation error message
when the type is an array type (it would silently decay into a
pointer type, which can be very confusing.) -
When compiled with preprocessor macro
TROMPELOEIL_USER_DEFINED_COMPILE_TIME_REPORTER
, an
extern
trompeloeil::reporter
is declared fromtrompeloeil.hpp
.
Thanks @rcdailey -
Minor documentation updates.
-
Update pattern in expectation_with_wrong_type.cpp to match
new error message from GCC '9' at svn revision 264700.
v32
-
Fix issue #95: check_errors.sh typo and detect failure in Travis
-
Update unit test framework to Catch 2.2.3.
-
Fix documentation of sanitize flags
-
Enable destructor override warning in self_test build for Clang 5.0 or later
-
Update unit test framework to Catch 2.2.1.
-
Worked around clang++-6 bugs 38010 and 38033
-
Improve support for compiler modes:
GCC and Clang: -std=c++17; MSVC: /std:c++17
GCC and Clang: -std=c++2a; MSVC: /std:c++latest -
Fix issue #87: C4355 warning from VS Release builds. Thanks @Neargye
-
Fix issue #69: work around C4702 warning from VS Release builds.
-
Fix issue #88: work around C2066 error from VS 2017 15.7.1.
v31
v30
-
mock_interface<T>
provides a convenient short cut when implementing
mocks from interfaces. It is used together with the macros
IMPLEMENT_MOCKn(func_name)
andIMPLEMENT_CONST_MOCKn(func_name)
.
The signature of the function is deduced. It is not possible to use
mock_interface<T>
with multiple inheritance, and it is not possible
to mock overloads withIMPLEMENT_MOCKn(func_name)
or
IMPLEMENT_CONST_MOCKn(func_name)
-
Used markdownlint to make documentation more consistent. Thanks @AndrewPaxie
-
Silenced 2 clang++-5 warnings about missing "override"
-
Back ported Trompeloeil to C++11. Thanks @AndrewPaxie! Changes by file and directory:
- Cleaned up
.travis.yml
- Cleaned up
CMakeLists.txt
and bumped kcov for travis builds README.md
- Updated supported compiler list.
- Added link to
docs/Backward.md
. - Added link to
docs/PlatformAndLibraries.md
. check_errors.sh
requireCXXFLAGS
with either-std=c++11
or-std=c++14
.docs/FAQ.md
- Updated supported compilers list.
- Updated answer regarding C++11 support.
docs/
- New: "Backward compatibility with earlier versions of C++".
- New: "Platform and library support for Trompeloeil".
compilation_errors/
- Support for C++11 expectation syntax in test cases.
test/
- Split
compiling_tests.cpp
into separately compilable files,
for Catch main, C++11 test cases and C++14 test cases.
- Split
- Cleaned up
-
Fixed whitespace and a minor spelling error in trompeloeil.hpp.
-
Tidy up test cases in compilation_errors.