Skip to content

Releases: gnilk/testrunner

v3.0.3

01 Apr 13:54

Choose a tag to compare

Improved threading and process isolation - now using the existing exception handling instead of pthread_exit to abort a test.
Hence, the exception handling and stack unwinding got an overhaul as well.
Also fixed a performance stupidity in the logger library.

In summary:

  • Exception handling
  • Thread termination on assert/error/fatal
  • gnklog has been upgraded and improved (speed and alike)

v3.0.2

30 Mar 16:08

Choose a tag to compare

Minor bug-fixing:

  • Fixes a few cases in the logger which could lead to deadlocks.
  • C++17 compile issues for embedded
  • New command line parser for trun

v3.0.1

28 Mar 14:34

Choose a tag to compare

Bug fix for macOS.
After installation the R_PATH was not resolved properly and LLDB could not be found.
Also a lot of 'private' paths were used on macOS for LLDB - these are not properly resolved.

v3.0.0

26 Mar 14:13

Choose a tag to compare

Testrunner v3.0.0

  • Includes new test coverage tool (tcov), can be used to compute coverage in various ways. Not limited to trun
  • Bug fixes for trun, had problems with test cases written in pure C

See the readme for more information about tcov.

This release is only available for macOS and Linux.
Windows can still use the 'trun' tool from v1.6.x

v2.1.3

24 Feb 09:27

Choose a tag to compare

Just a fix to the external header allowing unit tests to be written in C

v2.1.2

20 Nov 15:52

Choose a tag to compare

Main thing is support for exceptions. Ability to continue even though the test have assert problems (optional via '--continue_on_assert') - you may break this by using the feature macro 'TR_REQUIRES' which stops the function under test.

Also removed the support for x86 builds - you can enable them in the CMakeList if required.

Fixes since v2.0.0-beta

  • Support for exceptions, i.e. won't crash
  • Support for continue on assert error (--continue_on_assert)
  • Added new 'TR_REQUIRES' which will always break a test-case
  • Fixed embedded version (exceptions, version handling, pre-c++ 17, etc..)
  • Fixed a bug when using V1 causing asserts to continue even if they should exit
  • When dumping config also write out continue on assert setting

v2.0.0-beta

23 May 13:44

Choose a tag to compare

This the beta release of V2.0.

Major features include parallel module execution. New versioned test-interface. Ability to return error codes from pre/post hooks. And much more.

Parallel execution can bring a significant boost to larger projects, depending on modules. I have seen a 10x speed increase (from 60+ seconds to 6+ seconds) for a project with about ~90 modules and ~500 test cases.

  • Pre/Post now returns test-result (kTR_xyz), this will cause any previous unit-tests to break compile.
  • Extensions are now supported through function QueryInterface in ITesting
  • Modules are executed in parallel as default (--sequential to disable)
  • You can specify --module-timeout (in seconds) to kill long-running/hanging modules (default is 30sec)
  • Threads don't terminate on ASSERT/ERROR/FATAL, specify --allow-thread-exit to enable
  • More stringent, no global test functions except test_main and test_exit (module main are still test_)
  • Two external dependencies added
    • gnklog has replaced the old debug logging library - this is interface compatible with embedded
    • fmtlib is being used, as this is a requirement for gnklog
    • Both libraries are fetched and added to the local source directory by the build script (cmake)

v1.6.4

23 May 10:52

Choose a tag to compare

This marks the final release of V1 before V2 is merged to main.
Mainly cosmetic changes in this release compared to previous.

v1.6.2

28 Feb 14:37

Choose a tag to compare

Found another bug after refactoring - not properly filtering of '-t '

v1.6.1

28 Feb 09:54

Choose a tag to compare

Fixed macOS compile issue.
Bumped version in man page.