@brarcher brarcher released this Oct 20, 2017 · 27 commits to master since this release

Assets 3

This release of Check adds or improves support for a few Windows compilers as well as adding a new API for configuring the maximum error message size.


  • Fix out-of-tree builds with CMake.
    Issue #86

  • Fix issue found with Clang regarding invalid suffix on a literal
    Issue #110

  • Check now responds to a few errors in a more clear way when it cannot run tests.
    PR #122, #123

  • Fix missing pid_t definition in check.h on Windows
    Issue #78

  • The maximum message size of check assertions is now configurable.
    Issue #127

  • Check support added for Visual Studios 2010, 2012, 2013, 2015, and 2017 both for x86/64 and ARM.
    PR #129, Issue #125

  • Changed license of example CMake files to BSD (was previously LGPL).
    Issue #131

  • Fix issue with floating point macros on MinGW
    Issue #101


@brarcher brarcher released this Dec 17, 2016 · 125 commits to master since this release

Assets 3

This release of Check adds several new macros for comparing different types of data, as well as bug fixes and other improvements.


  • Avoid issue in unit test output checking where a shell's built-in printf
    command does not work properly, but the printf program itself is correct.
  • Emit only valid XML characters in XML logging (assumes ASCII encoding).
    Bug #103
  • Add LGPL header to files where it was missing; update FSF address in LGPL headers
    Bug #110
  • Strip timestamps from examples using filterdiff if available. This
    allow build output to be reproducible.
    Bug #112
  • Use double slash for regular expressions in checkmk for better Solaris support.
  • Improve CMake build files for better Visual Studio 2015 support.
    Pull Request #19
  • Fix potential SIGSEGV in Check related to the disk filling up during a test.
    Pull Request #21
  • Support added for applying tags to test cases and selectively running
    test cases based on tags.
    Pull Request #44
  • Macros for comparing memory regions (ck_assert_mem_eq, ck_assert_mem_ne)
    have been added.
    Pull Request #64
  • Macros for comparing floating point numbers have been added.
    Pull Request #69
  • Macros for comparing string, but allowing for NULL (ck_assert_pstr_eq,
    ck_assert_pstr_ne) have been added.
    Pull Request #80
  • Macros for checking if a pointer is NULL or not have been added.
    Pull Request #87
Assets 3

In addition to a few bug fixes and improvements, the handing of Check when compiled without fork() has changed slightly. Several API calls in the past would intentionally result in errors when they required fork() to make sense. However this has been changed to instead ignore the call. This should help improve unit test interoperability between *nix and Windows.


  • CMake on MinGW and MSVC was unable to find time related types because
    time.h was not included. This header is now included for the checks.
  • If the test runner process catches a SIGTERM or SIGINT signal the running
    tests are now also killed.
  • If Check is compiled without support for fork(), the behavior of
    functions which require fork() to be useful have been changed.
    Functions that attempt to set CK_FORK mode are no-ops,
    check_fork() returns in failure, and check_waitpid_and_exit()
    exits in failure.
  • Add space around operators in assert messages for readability.
  • Use mkstemp() if available instead of tmpfile() or tempnam().
  • Fix issue with string formatting in ck_assert(), where using
    the % operator would be interpreted as a string formatter
  • In nofork mode, the location of a failed assertion within a test
    case was lost if that test case has a checked teardown fixture
    (even if that fixture function is empty). This is now fixed.