Tags: matitaceepp/Criterion
Tags
Version 2.3.1 Fix: correctly handle malformed --debug parameter Fix: replaced the cryptic message when the debugger is not present with a more explicit one. Fix: cache section limits on report hooks for significantly better performance. Fix: don't report passing assertions by default for significantly better performance. Addition: added --full-stats CLI switch to report passing assertions for compatibility purposes.
Version 2.3.0-1 This is a re-release of v2.3.0. There are no substantial changes in the release, only fixes in the build system. If you are not building criterion from source, you can ignore this changelog. * Fix: Updated version strings in messages * Fix: The build system now searches for local installations of non-criterion-specific dependencies.
Version 2.3.0
* Addition: added German translation files (Matthias "ailu" Günzel).
* Addition: added a pkg-config file.
* Addition: allow tests to be skipped with cr_skip_test() (Matthias "ailu" Günzel).
* Addition: assertions on wide-strings are now available (Kevin "kevinoid" Locke).
* Addition: crash-mode with --crash to raise a trap when an assertion fails for debugging purposes (Matthias "ailu" Günzel).
* Addition: debugging mode with --debug.
* Addition: global test timeout with --timeout.
* Addition: header files in the public API now have doxygen documentation (Matthias "ailu" Günzel).
* Addition: test filtering now works on windows.
* Addition: user logging API with cr_log, cr_log_info, cr_log_warning, and cr_log_error.
* Breaking: dropped support for MinGW, use MinGW-w64.
* Breaking: dropped support for Windows XP, use Windows 7 and later.
* Breaking: log_pre_init and log_pre_test in the internal logger API now takes an additional parameter.
* Breaking: the SOVERSION now follows the SONAME major independently of the project version.
* Change: --pattern has been renamed to --filter.
* Change: removed dependency on PCRE for filtering (Matthias "ailu" Günzel).
* Change: sections of all loaded shared modules are now inspected for tests and hooks.
* Change: setting .exit_code = 0 now enforces the exit code of the test to be 0.
* Change: string assertions now print the contents of string parameters ("kaidowei").
* Change: xml reports now includes elapsed times ("kaidowei").
* Deprecation: --no-early-exit is now a no-op and should no longer be used.
* Deprecation: internal logging API is no longer public, fallbacks to the new logging API.
* Fix: fail-fast now works correctly.
* Fix: fixed FindCriterion.cmake with the correct package name (László "MrAnno" Várady).
* Fix: position-independent executables now work.
* Fix: string assertions no longer crash with a NULL parameter ("kaidowei").
* Fix: the data pipe no longer gets corrupted when running a large quantity of assertions in parallel.
* Fix: using dmalloc on tests now works.
* Fix: using the GOLD linker rather than BFD now works.
* Fix: using the musl C library now works.
Changes since 2.3.0-rc2:
* Fix: --debug=idle no longer hangs forever when debugging with visual studio.
* Fix: Criterion no longer crashes when trying to instanciate a worker arena on 32-bit processes.
* Fix: Theories no longer crash when an assert fails on windows.
* Fix: Workers no longer crash randomly due to bad address denormalization.
* Fix: Workers no longer crash randomly when run in parallel on windows.
Version 2.3.0-rc2
Changes since 2.3.0-rc1:
* Fix: --crash works again.
* Fix: Unknown options no longer crash the runner.
* Fix: --no-early-exit no longer fallthrough to --use-ascii.
* Fix: Create unix domain sockets in /tmp rather than the current directory (Steffen "stv0g" Vogel).
* Fix: Fixed a data race in the I/O layer. Tests on windows can be parallelized again, and threads now work inside test functions.
* Fix: The runner now correctly handles EINTR in the I/O layer. Profiling the tests works again.
* Fix: The runner no longer hangs when the address space is tiny
* Fix: The runner no longer crashes on systems (like FreeBSD) where elf symbol offsets for the current module are in fact addresses
* Fix: Gmon files are now created with a unique name per test
2.3.0 Changelog:
* Addition: added German translation files (Matthias "ailu" Günzel).
* Addition: added a pkg-config file.
* Addition: allow tests to be skipped with cr_skip_test() (Matthias "ailu" Günzel).
* Addition: assertions on wide-strings are now available (Kevin "kevinoid" Locke).
* Addition: crash-mode with --crash to raise a trap when an assertion fails for debugging purposes (Matthias "ailu" Günzel).
* Addition: debugging mode with --debug.
* Addition: global test timeout with --timeout.
* Addition: header files in the public API now have doxygen documentation (Matthias "ailu" Günzel).
* Addition: test filtering now works on windows.
* Addition: user logging API with cr_log, cr_log_info, cr_log_warning, and cr_log_error.
* Breaking: dropped support for MinGW, use MinGW-w64.
* Breaking: dropped support for Windows XP, use Windows 7 and later.
* Breaking: log_pre_init and log_pre_test in the internal logger API now takes an additional parameter.
* Breaking: the SOVERSION now follows the SONAME major independently of the project version.
* Change: --pattern has been renamed to --filter.
* Change: removed dependency on PCRE for filtering (Matthias "ailu" Günzel).
* Change: sections of all loaded shared modules are now inspected for tests and hooks.
* Change: setting .exit_code = 0 now enforces the exit code of the test to be 0.
* Change: string assertions now print the contents of string parameters ("kaidowei").
* Change: xml reports now includes elapsed times ("kaidowei").
* Deprecation: --no-early-exit is now a no-op and should no longer be used.
* Deprecation: internal logging API is no longer public, fallbacks to the new logging API.
* Fix: fail-fast now works correctly.
* Fix: fixed FindCriterion.cmake with the correct package name (László "MrAnno" Várady).
* Fix: position-independent executables now work.
* Fix: string assertions no longer crash with a NULL parameter ("kaidowei").
* Fix: the data pipe no longer gets corrupted when running a large quantity of assertions in parallel.
* Fix: using dmalloc on tests now works.
* Fix: using the GOLD linker rather than BFD now works.
* Fix: using the musl C library now works.
Version 2.3.0-rc1
* Addition: added German translation files (Matthias "ailu" Günzel).
* Addition: added a pkg-config file.
* Addition: allow tests to be skipped with cr_skip_test() (Matthias "ailu" Günzel).
* Addition: assertions on wide-strings are now available (Kevin "kevinoid" Locke).
* Addition: crash-mode with --crash to raise a trap when an assertion fails for debugging purposes (Matthias "ailu" Günzel).
* Addition: debugging mode with --debug.
* Addition: global test timeout with --timeout.
* Addition: header files in the public API now have doxygen documentation (Matthias "ailu" Günzel).
* Addition: test filtering now works on windows.
* Addition: user logging API with cr_log, cr_log_info, cr_log_warning, and cr_log_error.
* Breaking: dropped support for MinGW, use MinGW-w64.
* Breaking: dropped support for Windows XP, use Windows 7 and later.
* Breaking: the SOVERSION now follows the SONAME major independently of the project version.
* Change: --pattern has been renamed to --filter.
* Change: removed dependency on PCRE for filtering (Matthias "ailu" Günzel).
* Change: sections of all loaded shared modules are now inspected for tests and hooks.
* Change: setting .exit_code = 0 now enforces the exit code of the test to be 0.
* Change: string assertions now print the contents of string parameters ("kaidowei").
* Change: tests are no longer executed in parallel on windows by default to mitigate a nanomsg bug (see Snaipe#118).
* Change: xml reports now includes elapsed times ("kaidowei").
* Deprecation: --no-early-exit is now a no-op and should no longer be used.
* Deprecation: internal logging API is no longer public, fallbacks to the new logging API.
* Fix: fail-fast now works correctly.
* Fix: fixed FindCriterion.cmake with the correct package name (László "MrAnno" Várady).
* Fix: position-independent executables now work.
* Fix: string assertions no longer crash with a NULL parameter ("kaidowei").
* Fix: the data pipe no longer gets corrupted when running a large quantity of assertions in parallel.
* Fix: using dmalloc on tests now works.
* Fix: using the GOLD linker rather than BFD now works.
* Fix: using the musl C library now works.
Version 2.2.1 * Fix: fixed criterion not being embeddable with CMake's `add_directory` * Fix: fixed resource leaks in the child pump thread * Fix: fixed redirected standard streams being leaked by cr_(assert|expect)_std(out|err) * Fix: fixed out of bounds during assert message sending * Fix: fixed naming convention conflicts for internal variables used by the implementation of cr_assert * Fix: fixed empty format string warning with GCC 4.8 * Fix: fixed file-to-file comparison assert message being corrupted
Version 2.2.0 * Breaking: Renamed all unprefixed internal macros and functions that were exposed in the API, and moved them to criterion/internal. This shouldn't break your code if you did not use these in the first place. * Change: Added language-specific wrapping logic to decouple the language the tests are written in from the test runner. * Change: Rewrote the reporting logic to allow multiple test reports to be written using any format. * Addition: Added parallel jobs for the test runner. * Addition: Added C++ allocator for STL collections based on cr_malloc/cr_free. * Addition: Added criterion::parameters in C++ for simpler parameter list generation. * Addition: Added saner defaults when the tests detect they run under valgrind. * Addition: Added basic Objective-C language support. * Addition: Added JUnit XML reporting. * Addition: Added JSON reporting. * Addition: Added dynamic reporter registration. * Addition: Added back support for GCC 4.6 when compiling C tests. * Addition: Added single test execution mode. * Removal: Removed all deprecated 1.x unprefixed assertion macros. * Fix: Fixed some memory corruption happening on rare occasions on assert messages. * Fix: Fixed deadlocks happening at random when a large quantity of assert is present. * Fix: Fixed the library not compiling with the intel compiler collection. * Deprecation: All cr_assume_strings_* macros are deprecated in favor of cr_assume_str_*. * Deprecation: All cr_assume_arrays_* macros are deprecated in favor of cr_assume_arr_*.
PreviousNext