Releases: gnilk/testrunner
v3.0.3
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
v3.0.1
v3.0.0
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
v2.1.2
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
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)