Skip to content

Releases: Snaipe/Criterion

v2.4.2

13 May 21:48
v2.4.2
Compare
Choose a tag to compare

Version 2.4.2

  • Fix: fixed crash in assert failure reporting when there was no diff.
    If the user-provided function to stringify an object was bugged and
    produced equal output for non-equal objects, thus producing an empty
    diff, Criterion crashed trying to access an unset parameter list.
  • Fix: fixed crashing tests when Criterion was compiled with nanopb>=0.4.7
    (Balazs Scheidler).
  • Fix: fixed deadlock when test timeout was specified and the system was
    overloaded.
  • Fix: fixed segfault if map_shdr fails (David Gloe).
  • Fix: fixed memory leak on test failure (Jookia).
  • Fix: fixed gt() and ge().
  • Fix: escape XML/JSON reports.
  • Misc: converted klib and debugbreak submodules to subprojects
    (Cristian Prieto).
  • Misc: various documentation fixes (Yuri Victorovich, Jonas Schulze).
  • Misc: various updates to dependencies.

v2.4.2-rc-4-g9c01cbe

13 May 16:08
Compare
Choose a tag to compare
v2.4.2-rc-4-g9c01cbe Pre-release
Pre-release
build: omit subproject .git directories from dist tarball

v2.4.2-rc-3-gd7d373d

30 Apr 00:10
Compare
Choose a tag to compare
v2.4.2-rc-3-gd7d373d Pre-release
Pre-release

Version 2.4.2, release candidate

  • Fix: fixed crash in assert failure reporting when there was no diff.
    If the user-provided function to stringify an object was bugged and
    produced equal output for non-equal objects, thus producing an empty
    diff, Criterion crashed trying to access an unset parameter list.
  • Fix: fixed crashing tests when Criterion was compiled with nanopb>=0.4.7
    (Balazs Scheidler).
  • Fix: fixed deadlock when test timeout was specified and the system was
    overloaded.
  • Fix: fixed segfault if map_shdr fails (David Gloe).
  • Fix: fixed memory leak on test failure (Jookia).
  • Fix: fixed gt() and ge().
  • Fix: escape XML/JSON reports.
  • Misc: converted klib and debugbreak submodules to subprojects
    (Cristian Prieto).
  • Misc: various documentation fixes (Yuri Victorovich, Jonas Schulze).
  • Misc: various updates to dependencies.

v2.4.1

26 Apr 07:22
v2.4.1
Compare
Choose a tag to compare
Version 2.4.1

* Fix: compiling tests with link-time-optimization no longer causes
  the tests to not get detected and run.
* Fix: theories now correctly iterate through the argument matrix. This
  manifested as theories running the expected number of times, but
  always using the first possible combination of parameters.
* Fix: fixed leak due to not calling git_libgit2_shutdown. This should
  appease valgrind and the address sanitizer.
* Misc: added suggestion to run ldconfig in installation documentation
  (Gerald Senarclens de Grancy).

v2.4.1-rc-0-g3543417

13 Apr 18:45
v2.4.1-rc
Compare
Choose a tag to compare
v2.4.1-rc-0-g3543417 Pre-release
Pre-release
Version 2.4.1, release candidate

* Fix: compiling tests with link-time-optimization no longer causes
  the tests to not get detected and run.
* Fix: theories now correctly iterate through the argument matrix. This
  manifested as theories running the expected number of times, but
  always using the first possible combination of parameters.
* Fix: fixed leak due to not calling git_libgit2_shutdown. This should
  appease valgrind and the address sanitizer.

v2.4.0

21 Feb 14:39
v2.4.0
Compare
Choose a tag to compare
Version 2.4.0

* Addition: added new experimental assertion API. The API brings a more
  generic approach for comparing values of arbitrary types, alongside
  value diffing on error.
* Addition: added --color=<always|never|auto> CLI switch to explicitly
  add or strip colors from the test runner output.
* Addition: added --encoding CLI switch to control the use of unicode
  in the test runner output.
* Addition: added ARM (v6/v7) and ARM64 support. Huge kudos to László
  Várady (MrAnno) for fixing most of the issues and testing on real
  hardware.
* Addition: added directory support to write test reports via --output.
  If the provided path is an existing directory, the report will be
  created in that directory, and the report file is named after the
  binary (László Várady).
* Addition: added support for setting RPATH for pkg-config users
  (-Drpath-in-pkgconfig=enabled).
* Breaking: the runner now exits with a non-zero exit status on warning
  by default. --ignore-warnings has been added to restore the old behaviour.
* Breaking: changed '-' to mean stdout rather than stderr.
  /dev/stderr can instead be used to signify stderr, even on Windows.
* Breaking: switched build system from CMake to Meson.
* Deprecation: --ascii and CRITERION_USE_ASCII are deprecated in favor of
  passing --encoding=C or setting LC_ALL=C.
* Fix: fixed c++ allocator to work with older compiler versions.
* Fix: fixed CRITERION_DISABLE_TIME_MEASUREMENTS=1 not being picked up.
* Fix: allow log functions to be called from runner-side report hooks.
* Fix: allow assertions to execute in fixtures (init/fini).
* Fix: test std{out,err} is now discarded when operating in quiet mode.
  They are also discarded when the runner output is redirected via
  --output.
* Fix: cr_file_match_str now fails if the input is longer than the
  expected value (Ethiraric).
* Fix: cr_file_match_str passes when both the input and expected value
  are empty (Ethiraric).
* Fix: fixed throw assertion not failing when nothing throws.
* Fix: fixed major slowdowns from running criterion in container
  environments with a high open file descriptor limit.
* Fix: fixed libcriterion.so not being loadable on WSL due to the stack
  not being executable.
* Fix: worked around msync not properly working on WSL and causing the
  runner to break.
* Fix: fixed use-after-free in fprintf_locale.
* Fix: fixed cr_file_match_file matching only the last block (Ethiraric).
* Fix: fixed TAP test description format. TAP mandates that details must
  use a YAML format, while Criterion directly dumped the description
  string in the detail section.
* Fix: fixed TAP output to comment out blank lines, since the TAP spec
  doesn't say anything about blank lines, and some parsers have trouble
  with them.
* Fix: fixed c++20 incompatibility with the criterion allocator (Ersikan).
* Fix: fixed escape of special characters in XML output (Paul Khuat-Duy).
* Fix: fixed crash when passing an empty string to cr_log_info (Ersikan).
* Fix: fixed compilation errors on macOS (Kare Nuorteva, László Várady).
* Fix: fixed --debug flag aborting runner with gdbserver >= 8.3.
* Fix: fixed gdb stepping issue with '--debug' on macOS (Apple silicon).
* Misc: various documentation fixes (Oleksii Vilchanskyi, Sam Zaydel, Karim
  Dridi, Florent Poinsard, Tim Gates, László Várady, Japroz Saini).
* Misc: various updates to dependencies (László Várady).
* Misc: various build system fixes (Tomasz Sieprawski, László Várady).
* Misc: various fixes to the autotools example (Bruno Belany).
* Misc: from now on, --debug will fall back to the idle method in case no
  debugger can be found.

v2.4.0-rc-18-g1cc3911

12 Feb 15:42
Compare
Choose a tag to compare
v2.4.0-rc-18-g1cc3911 Pre-release
Pre-release

Version 2.4.0, release candidate

This release candidate adds no new notable feature compared to v2.4.0-rc-12-g4cccb18.

  • Fix: fixed gdb stepping issue with --debug on macOS (Apple silicon).
  • Misc: from now on, --debug will fall back to the idle method in case no debugger can be found.

v2.4.0-rc-12-g4cccb18

07 Feb 14:25
Compare
Choose a tag to compare
v2.4.0-rc-12-g4cccb18 Pre-release
Pre-release

Version 2.4.0, release candidate

This release candidate adds no new notable feature or fixes compared to v2.4.0-rc-0-gbc3b265.

  • Misc: fixes to compiler warnings introduced by v2.4.0 (László Várady).
  • Misc: build system fixes and release automation (László Várady).
  • Misc: fix typo in readme (Japroz Saini)

v2.4.0-rc-0-gbc3b265

03 Jan 20:13
Compare
Choose a tag to compare
v2.4.0-rc-0-gbc3b265 Pre-release
Pre-release
Version 2.4.0, release candidate

* Addition: added new experimental assertion API. The API brings a more
  generic approach for comparing values of arbitrary types, alongside
  value diffing on error.
* Addition: added --color=<always|never|auto> CLI switch to explicitly
  add or strip colors from the test runner output.
* Addition: added --encoding CLI switch to control the use of unicode
  in the test runner output.
* Addition: added ARM (v6/v7) and ARM64 support. Huge kudos to László
  Várady (MrAnno) for fixing most of the issues and testing on real
  hardware.
* Addition: added directory support to write test reports via --output.
  If the provided path is an existing directory, the report will be
  created in that directory, and the report file is named after the
  binary (László Várady).
* Breaking: the runner now exits with a non-zero exit status on warning
  by default. --ignore-warnings has been added to restore the old behaviour.
* Breaking: changed '-' to mean stdout rather than stderr.
  /dev/stderr can instead be used to signify stderr, even on Windows.
* Breaking: switched build system from CMake to Meson.
* Deprecation: --ascii and CRITERION_USE_ASCII are deprecated in favor of
  passing --encoding=C or setting LC_ALL=C.
* Fix: fixed c++ allocator to work with older compiler versions.
* Fix: fixed CRITERION_DISABLE_TIME_MEASUREMENTS=1 not being picked up.
* Fix: allow log functions to be called from runner-side report hooks.
* Fix: allow assertions to execute in fixtures (init/fini).
* Fix: test std{out,err} is now discarded when operating in quiet mode.
  They are also discarded when the runner output is redirected via
  --output.
* Fix: cr_file_match_str now fails if the input is longer than the
  expected value (Ethiraric).
* Fix: cr_file_match_str passes when both the input and expected value
  are empty (Ethiraric).
* Fix: fixed throw assertion not failing when nothing throws.
* Fix: fixed major slowdowns from running criterion in container
  environments with a high open file descriptor limit.
* Fix: fixed libcriterion.so not being loadable on WSL due to the stack
  not being executable.
* Fix: worked around msync not properly working on WSL and causing the
  runner to break.
* Fix: fixed use-after-free in fprintf_locale.
* Fix: fixed cr_file_match_file matching only the last block (Ethiraric).
* Fix: fixed TAP test description format. TAP mandates that details must
  use a YAML format, while Criterion directly dumped the description
  string in the detail section.
* Fix: fixed TAP output to comment out blank lines, since the TAP spec
  doesn't say anything about blank lines, and some parsers have trouble
  with them.
* Fix: fixed c++20 incompatibility with the criterion allocator (Ersikan).
* Fix: fixed escape of special characters in XML output (Paul Khuat-Duy).
* Fix: fixed crash when passing an empty string to cr_log_info (Ersikan).
* Fix: fixed compilation errors on macOS (Kare Nuorteva, László Várady).
* Fix: fixed --debug flag aborting runner with gdbserver >= 8.3.
* Misc: various documentation fixes (Oleksii Vilchanskyi, Sam Zaydel, Karim
  Dridi, Florent Poinsard, Tim Gates, László Várady).
* Misc: various updates to dependencies (László Várady).
* Misc: various build system fixes (Tomasz Sieprawski, László Várady).
* Misc: various fixes to the autotools example (Bruno Belany).

v2.3.3

05 Nov 01:18
v2.3.3
Compare
Choose a tag to compare
Version 2.3.3

* Fix: Clang 5.0.x was producing test executables that caused Criterion to
  fork-bomb the host system. The issue has been fixed, and Criterion
  now pro-actively aborts itself if it detects a fork-bomb loop to avoid
  similar issues in the future.