Skip to content

Releases: dangmoody/Temper

v2.0.1

12 Jun 22:04
Compare
Choose a tag to compare
  • Rename __temper_test_info_fetcher_ struct prefix to TEMPERDEV_TEST_INFO_FETCHER to avoid triggering compiler warnings on the user's end.
  • Rename all macros to no longer include double underscores anywhere. For example, TEMPERDEV__COLOR_YELLOW is now called TEMPERDEV_COLOR_YELLOW.
  • Replaced certain overridable #defines with function pointers for better ease-of-use.
  • Ignore additional bogus warning for Clang 14.

v2.0.0

02 Apr 21:40
Compare
Choose a tag to compare

v2.0.0!

  • Nearly everything has been completely re-written from scratch.
  • Tests are now self-registering. All you need to do now is write the test code and the tests will get called automatically for you (unless the test is marked as skipped).
    • Because of this, the functions TEMPER_RUN_TEST and TEMPER_SKIP_TEST have been removed.
    • If you want to skip a test now you must now do so by setting the test flag.
    • Due to how tests are now registered, TEMPER_SUITE has also been removed.
      • Suite names are now specified per-test, to allow for being able to specify tests in the same suite across multiple source files.
  • Added parametric testing.
  • Added tests that have OnBeforeTest() and OnAfterTest() callbacks.
  • Added partial filtering for tests and suites.
    • When enabled, will search for suites/tests that only contain the filter given instead of searching for an exact match.
    • Disabled by default. Use -p command line argument to enable.
  • Added some more check functions to make it nicer when writing tests:
    • TEMPER_CHECK_EQUAL
    • TEMPER_CHECK_FLOAT_EQUAL
    • TEMPER_CHECK_ALMOST_EQUAL
    • TEMPER_CHECK_NOT_ALMOST_EQUAL
  • Added self-testing functionality (useful only for Temper developers).
  • Removed TEMPER_DEFS in favour of TEMPER_RUN( argc, argv ) which you call inside main().
  • Including Temper now requires defining TEMPER_IMPLEMENTATION (same as stb).
  • Each test now runs in its own thread.
    • This allows tests to always exit even if a test is aborted when running code not directly inside the test function.
  • Made nearly all of the internal API extendable/overridable to help hook Temper into your codebase.
  • Removed the -a command line argument since this is now configured per check per test.
  • The default console output is no longer on one line to be more accomodating of test suites that have console output.
  • Tests that fail will no longer exit on the first failure, they will report all failures before exiting.
    • If you want a test to exit if it fails use the _A suffix on your test function.
  • Colored text console output is now always on.
    • Therefore the command line argument -c has been removed.
  • Removed TEMPER_SUITE_EXTERN and TEMPER_TEST_EXTERN since there is now no need for them.