However rare, this update covers real-world use cases where:
- Unity is used to provide the assertion macros only, and an external
test harness/runner is used for test orchestration/reporting.
- Calling longjmp on a given platform is possible, but has a
platform-specific (or implementation-specific) set of prerequisites,
e.g. privileged access level.
Enable project-specific customisation of TEST_PROTECT and TEST_ABORT
macros.
- Use the user-defined UNITY_TEST_ABORT if available; fall back to
default behaviour otherwise.
- Use the user-defined UNITY_TEST_PROTECT if available; fall back to
default behaviour otherwise.
- These may be defined independently.
* Fixed a broken markdown bulleted list
* Replaced a missing document link (from the original source of this documentation) with a full sentence explaining the relation of `assert()` to static analysis.
* Typographic fixes
* Replaced single and double straight quotes with smart quotes where appropriate
* Replaced three periods with ellipses where appropriate
When enabling the command line option the file name added to the runner
did not escape the slashes on windows in the same way other paths where
sanitized. Copied the sanitization from the other filename uses.
When a project is consuming unity as as subproject, unity headers,
static library and pkg config files are installed by `meson install`.
This can be fixed by using `meson install --skip-subprojects`, but this
must be repeated in all the distros packaging a project.
Fixed by disabling install when building as a subproject.
Fixes: #661
1. Call the version extraction script directly instead
of through a Python returned from `find_program()`.
2. We don't need to use `meson.project_source_root()` as
`find_program()` will search relative to the current meson.build
script.
3. Lower the required version back to `>= 0.37.0`, and modify
some things to get rid of warnings with this version selected.
The use of `summary()`, `dict`, and positional arguments in
`pkgconfig.generate()` generate warnings with this version so
remove `summary()` and dict()`, also pass keyword arguments to
`pkgconfig.generate()`.
The following features from the CMake build have been implemented:
* Library version retrieved from unity.h.
* Extension support.
* Library, header, and package configuration file installation.
This commit is entirely based on existing work by Owen Torres.
1. Use cross-platform `/` operator for path construction.
2. Use `meson.project_source_root()` for correct path resolution of
generate_test_runner.rb path when used as a subproject.
3. Bump the minimum required Meson version to '0.56.0' as this is
needed for the above changes.