Skip to content

Releases: rollbear/trompeloeil

v29

23 Oct 16:52
Compare
Choose a tag to compare
v29
  • Fix Issue #54: Exception thrown exit - fixed static dtor fiasco
  • Fix Issue #48: Move "re" in lambda capture list in "regex_check".
  • Fix Issue #55: Restore warnings for Clang builds.
  • Fix Issue #57: Avoid uneeded-member-function warning from Clang.
  • Lightly edited documentation.

v28

24 Jul 10:31
Compare
Choose a tag to compare
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 add target_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 add target_link_libraries(<test_program> trompeloeil) for your test target
        • cmake -DBUILD_TYPE=Debug <trompeloeil-dir> enables the test targets self_test and thread_terror
          • -DSANITIZE=true enables ASAN and UBSAN for self_test, and TSAN and UBSAN for thread_terror

v27

27 Jun 18:09
Compare
Choose a tag to compare
v27
  • Fixed a regression where NAMED_REQUIRE_DESTRUCTION(obj) accidentally
    resulted in a std::unique_ptr<trompeloeil::expectation> instead
    of std::unique_ptr<trompeloeil::lifetime_monitor> as documented.

  • Added a rudimentary CMakeLists.txt file. Thanks @a4z.

v26

12 Jun 17:47
Compare
Choose a tag to compare
v26

v25

17 Apr 13:40
Compare
Choose a tag to compare
v25
  • Changed the expectation macros such that you can now have a
    macro that expands into several REQUIRE_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

10 Mar 16:22
Compare
Choose a tag to compare
v24
  • Worked around VisualStudio 2017 bug

v23

29 Jan 16:41
Compare
Choose a tag to compare
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

13 Dec 18:12
Compare
Choose a tag to compare
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 -Wshadow warnings from gcc

v21

13 Nov 14:15
Compare
Choose a tag to compare
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.

v20

05 Oct 04:39
Compare
Choose a tag to compare
v20
  • Fixed harmless but very very annoying warning from clang++