Releases: threeal/assertion-cmake
Releases · threeal/assertion-cmake
Version 2.0.0
What's Changed
- Modified the add test function as follows:
- Renamed
asertion_add_test
toadd_cmake_script_test
. - Added a new
DEFINITIONS
option to specify predefined variables for the test scripts. - Modified the created test to process the given script directly, without using the
Assertion.cmake
module. This effectively removes support for theAssertion.cmake
module to include other modules when executed in script mode. - Allowed the test file to be specified using an absolute path.
- Asserted that the test file exists before adding the test.
- Prevented the function from being executed in script mode.
- Renamed
- Removed the
assert_fatal_error
function and replaced it with a newassert_call
function, which behaves similarly but also supports asserting warnings. - Modified the
assert_execute_process
function as follows:- Renamed the
OUTPUT
option toEXPECT_OUTPUT
. - Renamed the
ERROR
option toEXPECT_ERROR
. - Added support to specify a comparator when asserting output and error.
- Added a new
EXPECT_FAIL
option to assert whether the executed process failed, without asserting the error message.
- Renamed the
- Removed automatic policy settings from the
assert
function, requiring policies or the CMake version to be specified prior to including the module. - Added a new
ASSERTION_VERSION
variable, which contains the version of the includedAssertion.cmake
module. - Removed the
ASSERTION_LIST_DIR
variable; this can now be obtained using theRESULT
option in theinclude
function instead. - Code improvements and other bug fixes.
- Updated function documentation and usage guide.
- Development changes:
- Utilized CMake presets and updated build rules.
- Added support for packaging the project using CPack.
- Organized and refactored unit tests.
- Updated GitHub Actions workflow configuration.
- Updated development dependencies.
Full Changelog: v1.0.0...v2.0.0
Version 1.0.0
What's Changed
New Features
- Modify Fatal Error Assertion to Match the Expected Error by @threeal in #113
- Allow Stacking Sections by @threeal in #117
- Allow Execute Process Assertion to Accept Output and Error as Multiple Values by @threeal in #119
- Allow Section to Accept Name as Multiple Values by @threeal in #123
- Allow Module to Optionally Include Other Modules by @threeal in #121 and #156
- Add
ASSERTION_LIST_FILE
Variable by @threeal in #125 - Modify Format Message Function Value Determination Behavior by @threeal in #129
- Add Fail Macro by @threeal in #131
- Assert Fatal Error Message Outside the Mocked Message by @threeal in #135
- Add Test Creation Function by @threeal in #127
- Modify Fail Macro to Auto Insert Colon by @threeal in #141
- Modify Name to Be Optional When Adding CMake Test by @threeal in #143
- Modify Section to Print Once by @threeal in #147
- Add Support for Formatting Command Existence Assertion Errors by @threeal in #160
- Add Support for Formatting Executable Path Assertion Errors by @threeal in #165
- Add Support for Formatting Policy Existence Assertion Errors by @threeal in #169
- Add Support for Formatting Target Existence Assertion Errors by @threeal in #173
- Add Support for Formatting Test Existence Assertion Errors by @threeal in #175
- Add Support for Formatting List Element Existence Assertion Errors by @threeal in #177
- Add Support for Formatting Path Readability Assertion Errors by @threeal in #179
- Add Support for Formatting Path Writability Assertion Errors by @threeal in #181
- Add Support for Formatting Symbolic Link Path Assertion Errors by @threeal in #183
- Add Support for Formatting Absolute Path Assertion Errors by @threeal in #185
- Allow Fail Function to Handle Consecutive Variables by @threeal in #193
- Allow Fail Function to Expand Twice by @threeal in #191
- Add Support for Formatting Path Equality Assertion Errors by @threeal in #198
- Add Support for Formatting File Recency Assertion Errors by @threeal in #200
- Improve Support for Formatting String Equality Assertion Errors by @threeal in #196
- Add Support for Formatting Number Equality Assertion Errors by @threeal in #207 and #211
- Add Support for Formatting Version Equality Assertion Errors by @threeal in #209
Bug Fixes
- Fix Assert Fatal Error if No Fatal Error Received by @threeal in #133
- Fix Assert Fatal Error if Message Has Multiple Arguments by @threeal in #137
- Ensure Functions Return After Fail by @threeal in #158
- Use Quotation Marks for String Equality Check by @threeal in #162
- Handle CMake Policy in Each Function by @threeal in #202
Documentation Changes
- Audit CMake Module Documentation and Comments by @threeal in #151
- Add Documentation Section in Readme by @threeal in #149
- Add Example For API Reference in Readme by @threeal in #171
- Improve Project Description and Key Features by @threeal in #167
- Improve Usage Guide in Readme by @threeal in #189
- Explain Assert Function Internally Uses If Function in Documentation by @threeal in #194
Development Changes
- Remove Module Deployment to GitHub Pages by @threeal in #110
- Run Test Verbosely in Workflow by @threeal in #139
- Organize Tests by @threeal in #145
- Bump threeal/ctest-action from 1.0.0 to 1.1.0 by @dependabot in #152
- Rename CMake Options by @threeal in #154
- Bump actions/upload-artifact from 4.3.3 to 4.3.4 by @dependabot in #190
- Fix Assert Test Order by @threeal in #195
- Minimize Condition Assertion Test Cases Given Variables by @threeal in #206
- Organize String and Number Equality Condition Tests by @threeal in #210
- Bump Project Version to 1.0.0 by @threeal in #212
Full Changelog: v0.3.0...v1.0.0
Version 0.3.0
What's Changed
New Features
- Refactor Assertion Condition to Use Else by @threeal in #60, #62, #66, and #68
- Improve Assertion Message by @threeal in #64
- Modify Message Assertion to Only Assert Fatal Errors by @threeal in #71
- Modify Assert Fatal Error Behavior by @threeal in #72
- Adjust Assertion Message When Inputs Are Variables by @threeal in #80
- Add Section Functions by @threeal in #84
- Merge Mock Message Function into Fatal Error Assertion by @threeal in #76 amd #88
- Show Error in Execute Process Assertion by @threeal in #90
- Assert Fatal Error Message within Mocked Message by @threeal in #94
- Automatically Include Module When Including Project by @threeal in #97 and #106
- Allow Execute Process Assertion to Be Called Without
COMMAND
Option by @threeal in #82 - Allow Fatal Error Assertions to Accept Expected Message as Multiple Values by @threeal in #101
Bug Fixes
- Improve Function Arguments Handling by @threeal in #58
- Fix Mock Message Level by @threeal in #74
- Fix Argument Requirements for Mocked Message Function by @threeal in #92
Documentation Changes
Development Changes
- Simplify Test Files Organization by @threeal in #78
- Bump actions/checkout from 4.1.6 to 4.1.7 by @dependabot in #95
- Utilize
PROJECT_IS_TOP_LEVEL
Variable by @threeal in #99 - Add Option to Enable Install Targets by @threeal in #103
- Add Option to Enable Test Targets by @threeal in #105
- Format Angle Brackets and Arguments in CMake Code by @threeal in #107
Full Changelog: v0.2.0...v0.3.0
Version 0.2.0
What's Changed
Module Changes
- Add Regular Expression Match Assertion Function by @threeal in #35
- Add Execute Process Assertion Functions by @threeal in #37
- Add Expected Output Option to Execute Process Assertion Function by @threeal in #40
- Merge All Assertion Functions Into One Function by @threeal in #42 and #43
- Handle String Assertion if Given Variable Instead of String by @threeal in #45
- Separate Message and Execute Process Assertions by @threeal in #47, #49, and #51
- Modify Execute Process Result Assertion by @threeal in #53
Documentation Changes
Development Changes
- Trigger Deploy Workflow on Push Tag Events by @threeal in #33
- Bump actions/checkout from 4.1.5 to 4.1.6 by @dependabot in #38
Full Changelog: v0.1.0...v0.2.0
Version 0.1.0
What's Changed
Module Changes
- Add Boolean Assertion Functions by @threeal in #4
- Add Variable Defined Assertion Functions by @threeal in #10
- Add String Equality Assertion Functions by @threeal in #12
- Add Mock Message Function by @threeal in #8
- Add Message Assertion Function by @threeal in #14
- Add Path Exists Assertion Function by @threeal in #18
- Add Path Is Directory Assertion Functions by @threeal in #20
- Convert Mock Message Function to Behave Within a Scope by @threeal in #22
- Prepend New Entry of CMake Module Path by @threeal in #28
Documentation Changes
- Fill Project Information From Template by @threeal in #2
- Expand Readme File by @threeal in #24
- Fix Typo in the Example Usage by @threeal in #30
Development Changes
- Host Modules on GitHub Pages by @threeal in #6
- Cover Failed Assertion in Testing by @threeal in #16
- Bump actions/checkout from 4.1.4 to 4.1.5 by @dependabot in #29
- Allow Spaces in Test Function Names by @threeal in #26
New Contributors
- @threeal made their first contribution in #2
- @dependabot made their first contribution in #29
Full Changelog: https://github.com/threeal/assertion-cmake/commits/v0.1.0