Releases: snitch-org/snitch
Releases · snitch-org/snitch
v1.3.2
Small changes and bug fixes:
- [Build] Implement #175: build artifacts are now automatically uploaded to the GitHub release.
- [Build] Implement #201: allow using a version of doctest already installed on the system (used for testing snitch).
- [Build] The license file
LICENSEis now installed by CMake indoc/snitch/LICENSE, and also uses this location in the release packages (instead of the root of the zip).
v1.3.1
v1.3.0
Main changes:
- [API] It is now possible to completely disable snitch at compile-time, for example so the test code can be placed alongside the application code (#186). Thank you @NicoMuleo for contributing the feature!
Small changes and bug fixes:
- [Reporter] Fixed #167:
--list-testoutput format with default reporter was not compatible with Catch2 (prevented some IDE integrations to work, e.g. CLion). - [Reporter] Fixed #170: Catch2 XML reporter would not report sections properly, and use an old format (v2). Thanks @CrustyAuklet!
- [Internal] Fixed #171: Reporters would require shared global state.
- [Reporter] Fixed #177: Capture and section information was not always reported correctly with unhandled exceptions.
- [Build] Fixed #185: Reporters were not disabled when requested in build options.
- [Build] Fixed #190: Build failures in tests when disabling reporters.
- [Reporter] Fixed #193: Double numbers with exponents between
1e-86and1e-99contained a null character when converted to string. - [Build] Fixes #196: Install prefix was incorrect when using
cmake --install ... --prefix ...instead of setting-DCMAKE_INSTALL_PREFIXat configure time.
v1.2.5
Small changes and bug fixes:
- Fixed #158: Add option to disable multi-threading support for embedded use.
- Fixed #158: Compilation would fail if
SNITCH_MAX_MESSAGE_LENGTHandSNITCH_MAX_EXPR_LENGTHwere not the same. - Fixed #158 and #18: Use
std::to_charsto avoid usingstd::snprintfwhich is not always fully implemented. Ifstd::to_charsisn't available, fallback to our own (slower but portable) implementation. - Fixed #164: Escaped characters could sometimes be truncated incorrectly if hitting the max message length.
v1.2.4
Small changes and bug fixes:
- Fixed #143: Extraneous failures were reported for
REQUIRE_THROWS_*macros in case no exception is thrown. - Fixed #145:
CONSTEVAL_*macros were evaluating their expressions at runtime if the expression was not decomposable. - Fixed #147: color codes were used in the console output in some cases even when
--color neverwas specified. - Fixed #149: following sections were sometimes executed after an uncaught exception.
- [Reporter] When an exception is thrown unexpectedly in the test code, the resulting assertion now reports the file/line of the
CHECK*orREQUIRE*call that triggered the exception. If the exception is not triggered inside a check macro, then the file/line of the enclosingSECTIONis used instead. If no section is used, then the assertion reverts to the previous behavior (file/line of the test case). See #141. - [Build] Meson scripts now properly set the default symbol visibility with GCC/clang (thanks @topazus)
- [Internal] Renamed
small_functionintofunction_ref(thanks @tocic)
v1.2.3
v1.2.2
v1.2.1
Small changes and bug fixes:
- [Build] Reverted the change to the CMake target name for the header-only build. It is now back to
snitch::snitch-header-only. - [Build] Lowered the minimum CMake version to what is strictly needed (3.14 instead of 3.19).
- [Build] Fixed #120: CMake error when enabling
--warn-uninitialized -Werror=dev.
v1.2.0
Main changes:
- [API] Added
REQUIRE_NOTHROW(EXPR)andCHECK_NOTHROW(EXPR). - [API] Added
SUCCEED(MESSAGE). - [API] Added
REGISTER_REPORTER(...)(from Catch2) for registering multiple reporters that can be selected from the command line. - [CLI] Added support for
--outto save test report to a file. - [CLI] Added support for filtering the output of
--list-tests(#114). - [Reporter] Added the Catch2 XML reporter (#100).
- [Reporter] Added file/line information for test cases and sections.
- [Reporter] Added fixture class name information for test cases ("method" test cases only).
- [Reporter] Added test filtering criteria to the
test_run_startedevent. - [Reporter] Expression data is no longer concatenated into a single message when sent to the reporter.
- [Reporter] Added events for listing tests (listing started, ended, and test case listed).
As a result, the following Catch2 IDE integrations now work with snitch:
- Visual Studio Code & C++ TestMate
- Visual Studio 2022 & Catch2 Test Adapter
- CLion Catch2 configuration
Small changes and bug fixes:
- [API] Fixed #105:
small_functioncopy construction from a non-const object was ambiguous. - [API] Fixed #107: crash when evaluating a check containing a
const char*equal tonullptr. - [Reporter] Fixed: the Teamcity reporter was reporting failures in
[!mayfail]and[!shouldfail]as actual failures. - [Reporter] Fixed: long outputs in
registry::printand all reporters was too easily truncated; the risk of this is now largely reduced. - [CLI] Fixed: unsupported Catch2 command line parameters were not parsed correctly.
- [CLI] Fixed #110: the output of
--list-testsdid not contain the full test name. - [CLI] Fixed #113: the test filtering algorithm did not match Catch2 v3.
- [Build] snitch can now build as a shared library.
- [Build] The CMake scripts will now build either a compiled library or a header-only library, but not both.
- [Docs] Fixed #108: clarify how to write your own
append()function for serialisation - [Internal] Fixed:
small_vector_span<const T>was unsafe when not initialized with a valid backingsmall_vector. - [Internal] Fixed:
small_functioncompilation error when assigning a member function (or stateful lambda) when the function parameters contain l-value references. - [Internal] Added
file_writer. - [Tests] Added approval tests for all reporters.
- [Tests] Reduced memory usage of
mock_frameworkin tests by ~x3. - [Tests] Reduced stack usage in tests by allocating large data on the heap (reduce risk of stack overflow).
- [Tests] Fixed stack size for tests not set correctly on Windows.