Skip to content

v2.0.0-beta

Choose a tag to compare

@gnilk gnilk released this 23 May 13:44
· 394 commits to master since this release

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)