Releases: dangmoody/Temper
Releases · dangmoody/Temper
v2.0.1
- Rename
__temper_test_info_fetcher_
struct prefix toTEMPERDEV_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 calledTEMPERDEV_COLOR_YELLOW
. - Replaced certain overridable
#define
s with function pointers for better ease-of-use. - Ignore additional bogus warning for Clang 14.
v2.0.0
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
andTEMPER_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.
- Because of this, the functions
- 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 ofTEMPER_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.
- If you want a test to exit if it fails use the
- Colored text console output is now always on.
- Therefore the command line argument
-c
has been removed.
- Therefore the command line argument
- Removed
TEMPER_SUITE_EXTERN
andTEMPER_TEST_EXTERN
since there is now no need for them.