Skip to content

Releases: rollbear/trompeloeil

v39

31 Oct 11:22
Compare
Choose a tag to compare
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

08 Jun 14:34
Compare
Choose a tag to compare
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

09 Feb 13:35
Compare
Choose a tag to compare
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

29 Dec 11:00
Compare
Choose a tag to compare
v36
  • Status reporting of passed expectation calls as sucessful assertions in
    DOCTEST and Catch2. Thanks to:

    @ToreMartinHagen Catch2
    @reddwarf69 for DOCTEST

    You 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 with nullptr, 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

24 Sep 14:24
Compare
Choose a tag to compare
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

01 Apr 07:47
Compare
Choose a tag to compare
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
    from deathwatched<> 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

21 Jan 17:58
Compare
Choose a tag to compare
v33
  • Silenced noisy g++-7 -Wuseless-cast warning

  • Fixed a bug where a mocked function would not compile if a parameter
    had an operator==(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, like vector<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 from trompeloeil.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

23 Jul 16:57
Compare
Choose a tag to compare
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

11 May 07:31
Compare
Choose a tag to compare
v31
  • Issue #83: Add AppVeyor support for VS 2015 and VS 2017
  • Fix issue #82: restore compilation with VS 2015.

v30

02 Apr 13:02
Compare
Choose a tag to compare
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) and IMPLEMENT_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 with IMPLEMENT_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 require CXXFLAGS 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.
  • Fixed whitespace and a minor spelling error in trompeloeil.hpp.

  • Tidy up test cases in compilation_errors.