Skip to content

Releases: rollbear/trompeloeil

v9

29 Nov 20:21
Compare
Choose a tag to compare
v9
  • Fixed bug with mock functions accepting std::unique_ptr<> by value.
  • signed/unsigned compilation warnings in expectations are attributed to correct file/line with clang++ and VisualStudio 2015
  • Complete documentation overhaul. Now with:
    • Cook book
    • FAQ
    • reference manual
  • Better compilation error message when illegal argument is used in expectation.
  • Addressed clang++ and VisualStudio warnings

v8

30 Oct 07:02
Compare
Choose a tag to compare
v8
  • Fixed bug when mock object was destroyed with a saturated expectation in scope.
  • Further improved compilation error messages.

v7

24 Oct 09:02
Compare
Choose a tag to compare
v7
  • Report error if live expectations remain when a mock object is destroyed

  • Reduced clutter in compilation errors

  • Allow mock objects to be templates. E.g.

    template <typename T>
    struct mock
    {
      MAKE_MOCK1(func, void(T));
    };
    
    ...
    
    mock<int> m;
    REQUIRE_CALL(m, func(3));

    Note that member function templates are still not supported.

v6

22 Sep 15:42
Compare
Choose a tag to compare
v6
  • Verified support for Visual Studio 2015
  • trompeloeil::ne(nullptr) works for all pointer types
  • Fixed a few issues reported by clang 3.7 sanitizers
  • line number in reporter_func is unsigned long to match type of LINE

v5

19 Jun 17:08
Compare
Choose a tag to compare
v5
  • Support for Visual Studio 2015 RC

  • 5 parameter value matchers are included. These are (in namespace trompeloeil):

    • ne(x) - not equal to x
    • lt(x) - less than x
    • le(x) - less than or equal to x
    • gt(x) - greater than x
    • ge(x) - greater than or equal to x

    These are used in expectations as e.g.:

      REQUIRE_CALL(obj, foo(ne(5)));

    which matches calls to foo with a value not equal to 5.

  • Support and documenation for how to write custom matchers.

  • The function registered to set_reporter() now must accept
    the source location as file, line instead of location as
    a combined string. Apologies for breaking existing code,
    but since this is more in line with how other frame works
    refers to source code locations, it improves compatibility.

v4

01 May 08:38
Compare
Choose a tag to compare
v4
  • Expectations of death do not follow move-constructed and copy-constructed deathwatched objects.
  • Internal rewrites to reduce compilation times

compile time improvements and tracing and minor bugfix

02 Apr 13:44
Compare
Choose a tag to compare
  • Some compilations of g++ and clang++ gave undefined reference to
    SFINAE value of is_equal_comparable<>. v3 does away with that.

  • Improved compilation time performance. 20% drop in compilation time
    has been seen in some test programs.

  • Improved the compiler's chance to provide good warning messages
    when values in expectations don't quite the types used in the
    function signature (for example signed/unsigned mismatch.)

  • Added support for tracing matching calls. This is an aid when
    doing exploratory tests of legacy code. A trace can often
    drastically reduce the time required to understand how the legacy
    code works.

    To use it, create an object of a tracer type, for example:

    TEST(atest)
    {
      trompeloeil::stream_tracer trace(std::cout);
      // normal test code follows
    }
    

compile time improvements and tracing

02 Apr 09:12
Compare
Choose a tag to compare
  • Improved compilation time performance. 20% drop in compilation time
    has been seen in some test programs.

  • Improved the compiler's chance to provide good warning messages
    when values in expectations don't quite the types used in the
    function signature (for example signed/unsigned mismatch.)

  • Added support for tracing matching calls. This is an aid when
    doing exploratory tests of legacy code. A trace can often
    drastically reduce the time required to understand how the legacy
    code works.

    To use it, create an object of a tracer type, for example:

    TEST(atest)
    {
      trompeloeil::stream_tracer trace(std::cout);
      // normal test code follows
    }
    

v1

22 Jan 18:25
Compare
Choose a tag to compare
v1

First official release. Nothing exciting has happened for some time, and nothing exciting is planned in the near future. This sounds like a stable situation, hence the release. Share and enjoy!