Permalink
Commits on Jun 15, 2018
  1. Replaced use of std::rand with std::mt19937

    philsquared committed Jun 15, 2018
    This uses a global instance of the RNG
Commits on Jun 12, 2018
  1. Reverted removal of #ifdef for chrono converters, and fixed in OC pro…

    philsquared committed Jun 12, 2018
    …ject a different way
    
    - seems the #ifdef was necessary after all, because of the difference in the way the cpp files are included in the full project vs the single include
    - in the OC project I moved the #include of catch_tostring.cpp first. That solves the project for now, but is a brittle solution
  2. Moved inline functions in cpp files into anon namespaces

    philsquared committed Jun 12, 2018
  3. Updated XCode build settings

    philsquared committed Jun 12, 2018
Commits on Jun 11, 2018
  1. Updated release process documentation to reflect vcpkg autoupdate

    horenmar committed Jun 11, 2018
Commits on Jun 6, 2018
  1. v2.2.3

    horenmar committed Jun 6, 2018
  2. Fix ambiguity in stringification

    Julien Nitard authored and horenmar committed May 31, 2018
    Happening when using clang and templated operators, clang cannot decide
    between the operator provided by ReusableStringStream and the one provided
    by the value value as both are templates. This is easily solved by calling
    the operator<< through the member syntax.
    
    Fixes #1285
Commits on Jun 4, 2018
  1. Finish fixing invalid compilation using MinGW

    Good-Pudge authored and horenmar committed May 1, 2018
  2. Add missing catch_platform include to compiler capabilities

    horenmar committed Jun 4, 2018
    This was removed in 64be2ad, to fix OS X approval tests. At the time
    I couldn't investigate because I didn't have access to OS X, but this
    fixed it (and since we don't have MinGW in CI, the breakage went
    unnoticed).
    
    As it turns out, piece-wise compilation of the Compact
    reporter had broken OS X detection for a long time, and fixing it
    was what broke the approvals. After the approval scripts were
    changed to compensate, this change passes approval tests and fixes
  3. Normalize OS X specific pass/fail strings in approvals

    horenmar committed Jun 4, 2018
Commits on Jun 1, 2018
  1. Fix minor typo in the documentation

    RedDwarf69 authored and horenmar committed May 31, 2018
Commits on May 29, 2018
  1. Ensure stack size for POSIX signal handling is sufficient

    BiCapitalization authored and horenmar committed May 27, 2018
    Until now, the stack size for POSIX signal handling was determined by
    the implementation defined limit `STKSZ`, which in some cases turned out
    to be insufficient, leading to stack overflow inside the signal handler.
    The new size, which was determined experimentally, is the larger of 32kb
    or `MINSTKSZ`.
    
    Fixes #1225
Commits on May 14, 2018
  1. Make FALLBACK_STRINGIFIER documentation more explicit

    horenmar committed May 14, 2018
    Related to #1024
  2. Move FALLBACK_STRINGIFIER to before the enum and range fallbacks

    horenmar committed May 14, 2018
    This should align more closely with the intended semantics, where
    types without `StringMaker` specialization or `operator<<` overload
    are passed down to the user defined fallback stringifier.
    
    Related to #1024
  3. Enable console colour in the approval tests on windows.

    rupertsteel authored and horenmar committed May 2, 2018
Commits on May 12, 2018
  1. Ensure platform-independent output from SpecialException::what

    horenmar committed May 12, 2018
  2. Add stringification support to std::exception and deriving classes

    horenmar committed May 12, 2018
    This support is based on overriden `std::exception::what` method, so
    if an exception does not do so meaningfully, the message is still
    pointless.
    
    This is only used as a fallback, both `StringMaker` specialization and
    `operator<<` overload have priority..
Commits on May 10, 2018
  1. Fix broken YAML in a way that codecov understands

    horenmar committed May 10, 2018
    Theoretically the previous was not a valid YAML at all, but it is
    fairly common for parsers to accept it, just in a wrong way. This
    results in a configuration where only the last value for duplicate
    keys is taken, instead of a hard error.
Commits on May 9, 2018
  1. Split list of examples into "done" and "planned".

    horenmar committed May 9, 2018
    Closes #1282
  2. Provide a polyfill over `std::to_string`

    horenmar committed May 9, 2018
    Android apparently does not support `std::to_string`, so we add a
    small polyfill over it. Right now only the ULP matcher uses it,
    but we have had plans to use it in `StringMaker<int>` and friends,
    as it performs a lot better than `std::stringstream` based
    stringification on MSVC.
    
    See #1280 for more details
  3. do not strip spaces from cmake discovered test names

    Markus Reitboeck authored and horenmar committed May 7, 2018
    this fixes #1265
  4. Add gdbinit and lldbinit files with commands to skip stepping into Ca…

    Markus Reitboeck authored and horenmar committed May 8, 2018
    …tch code during debugging
    
    The commands provided have to be executed in the current gdb/lldb session or copied
    into the users ~/.gdbinit ~/.lldbinit files to permanently skip debugging Catch code.
    
    Fixes #904
Commits on May 6, 2018
  1. Added GCC 8 to Travis. Updated test so that it warning isn't triggered.

    cjdb authored and horenmar committed May 5, 2018
  2. Updated Travis for LLVM 6.0

    cjdb authored and horenmar committed May 5, 2018
  3. Add documentation for `--use-colour`

    palotasb authored and horenmar committed Apr 25, 2018
    The documentation added is based on output from `-?` (help),
    and comments to #590.
Commits on Apr 30, 2018
  1. Only use tmpfile workaround for MSVC and not MinGW and friends

    horenmar committed Apr 30, 2018
    Fixes #1270
  2. Suggestion for adding libcluon that is also using Catch2 for testing

    chrberger authored and horenmar committed Apr 30, 2018
  3. Fix missing include and wrong comment format

    horenmar committed Apr 30, 2018
    While the comment format was valid C++, it breaks our tooling badly.
    I opened up a github issue for our tooling, because unexpected
    formatting of a block comment should not silently generate invalid
    single header file, see #1269.
Commits on Apr 29, 2018
  1. Add an experimental new way of capturing stdout/stderr

    horenmar committed Apr 29, 2018
    Unlike the relatively non-invasive old way of capturing stdout/stderr,
    this new way is also able to capture output from C's stdlib functions
    such as `printf`. This is done by redirecting stdout and stderr file
    descriptors to a file, and then reading this file back.
    
    This approach has two sizeable drawbacks:
    1) Performance, obviously. Previously an installed capture made the
    program run faster (as long as it was then discarded), because a call
    to `std::cout` did not result in text output to the console. This new
    capture method in fact forces disk IO. While it is likely that any
    modern OS will keep this file in memory-cache and might never actually
    issue the IO to the backing storage, it is still a possibility and
    calls to the file system are not free.
    
    2) Nonportability. While POSIX is usually assumed portable, and this
    implementation relies only on a very common parts of it, it is no
    longer standard C++ (or just plain C) and thus might not be available
    on some obscure platforms. Different C libs might also implement the
    relevant functions in a less-than-useful ways (e.g. MS's `tmpfile`
    generates a temp file inside system folder, so it will not work
    without elevated privileges and thus is useless).
    
    These two drawbacks mean that, at least for now, the new capture is
    opt-in. To opt-in, `CATCH_CONFIG_EXPERIMENTAL_REDIRECT` needs to be
    defined in the implementation file.
    
    Closes #1243
  2. Cast to unsigned char when using std::isalnum

    ianhattendorf authored and horenmar committed Apr 29, 2018
    std::isalnum expects an int in the range of unsigned char or -1 (EOF),
    otherwise it exhibits undefined behavior. Casting from char to unsigned
    char avoids this.
    
    MSVC warns about this when compiling with /analyze.
Commits on Apr 27, 2018
  1. Minor fixes to python scripts by pycodestyle

    marcusnaslund authored and horenmar committed Apr 19, 2018
Commits on Apr 26, 2018
  1. Remove superfluous include and fix comment

    horenmar committed Apr 24, 2018
Commits on Apr 22, 2018
  1. Detect MinGW as Windows platform w/o SEH

    horenmar committed Apr 22, 2018
    Fixes #1257
Commits on Apr 21, 2018
  1. Changed to c++ style includes

    marcusnaslund authored and horenmar committed Apr 18, 2018