ceedling 1.1.0 → 1.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/GIT_COMMIT_SHA +1 -1
- data/README.md +7 -4
- data/docs/Changelog.md +66 -38
- data/docs/KnownIssues.md +9 -0
- data/docs/ReleaseNotes.md +5 -1
- data/docs/mkdocs/getting-started/installation.md +8 -1
- data/docs/mkdocs/getting-started/quick-start.md +20 -2
- data/docs/mkdocs/help.md +2 -2
- data/docs/mkdocs/index.md +13 -6
- data/docs/mkdocs/overview/build-system.md +4 -4
- data/docs/mkdocs/plugins/bullseye.md +6 -0
- data/docs/mkdocs/plugins/command-hooks.md +20 -15
- data/docs/mkdocs/plugins/gcov/gcovr.md +130 -109
- data/docs/mkdocs/plugins/gcov/index.md +6 -0
- data/docs/mkdocs/plugins/index.md +40 -0
- data/docs/mkdocs/plugins/valgrind.md +6 -0
- data/docs/mkdocs/testing-guide/partials/index.md +22 -13
- data/lib/ceedling/config/configurator.rb +2 -1
- data/lib/ceedling/preprocess/preprocessinator.rb +3 -2
- data/lib/ceedling/preprocess/preprocessinator_file_assembler.rb +27 -13
- data/lib/ceedling/test_invoker/test_build_executor.rb +3 -4
- data/lib/ceedling/test_invoker/test_build_planner.rb +0 -2
- data/lib/ceedling/test_invoker/test_invoker_types.rb +1 -1
- data/lib/ceedling/tool_executor.rb +5 -0
- data/lib/version.rb +1 -1
- data/plugins/command_hooks/lib/command_hooks.rb +4 -0
- data/plugins/gcov/lib/console_reportinator.rb +3 -1
- data/plugins/gcov/lib/gcov.rb +3 -3
- data/plugins/gcov/lib/gcov_reportinator.rb +4 -0
- data/plugins/gcov/lib/gcovr_reportinator.rb +61 -14
- data/plugins/gcov/lib/reportgenerator_reportinator.rb +3 -1
- data/site-local/404.html +3 -3
- data/site-local/assets/javascripts/{bundle.79ae519e.min.js → bundle.d7400e89.min.js} +2 -2
- data/site-local/assets/javascripts/{bundle.79ae519e.min.js.map → bundle.d7400e89.min.js.map} +2 -2
- data/site-local/assets/stylesheets/main.ec1eaa64.min.css +1 -0
- data/site-local/assets/stylesheets/{main.484c7ddc.min.css.map → main.ec1eaa64.min.css.map} +1 -1
- data/site-local/configuration/environment-vars.html +3 -3
- data/site-local/configuration/global-collections.html +3 -3
- data/site-local/configuration/index.html +3 -3
- data/site-local/configuration/loading.html +3 -3
- data/site-local/configuration/mixins.html +3 -3
- data/site-local/configuration/parallel-builds.html +3 -3
- data/site-local/configuration/project-file.html +3 -3
- data/site-local/configuration/reference/cexception.html +3 -3
- data/site-local/configuration/reference/cmock.html +3 -3
- data/site-local/configuration/reference/defines.html +3 -3
- data/site-local/configuration/reference/environment.html +3 -3
- data/site-local/configuration/reference/extension.html +3 -3
- data/site-local/configuration/reference/files.html +3 -3
- data/site-local/configuration/reference/flags.html +3 -3
- data/site-local/configuration/reference/index.html +3 -3
- data/site-local/configuration/reference/libraries.html +3 -3
- data/site-local/configuration/reference/mixins.html +3 -3
- data/site-local/configuration/reference/paths.html +3 -3
- data/site-local/configuration/reference/plugins.html +3 -3
- data/site-local/configuration/reference/project.html +3 -3
- data/site-local/configuration/reference/release-build.html +3 -3
- data/site-local/configuration/reference/test-build.html +3 -3
- data/site-local/configuration/reference/test-runner.html +3 -3
- data/site-local/configuration/reference/tools.html +3 -3
- data/site-local/configuration/reference/unity.html +3 -3
- data/site-local/configuration/which-ceedling.html +3 -3
- data/site-local/development/index.html +3 -3
- data/site-local/development/plugins/configuration.html +3 -3
- data/site-local/development/plugins/index.html +3 -3
- data/site-local/development/plugins/plugin-subclass.html +3 -3
- data/site-local/development/plugins/rake-tasks.html +3 -3
- data/site-local/development/workflow.html +3 -3
- data/site-local/getting-started/command-line.html +3 -3
- data/site-local/getting-started/example-projects/cipher-quest.html +3 -3
- data/site-local/getting-started/example-projects/index.html +3 -3
- data/site-local/getting-started/example-projects/temp-sensor.html +3 -3
- data/site-local/getting-started/example-projects/wondrous-forest.html +3 -3
- data/site-local/getting-started/index.html +3 -3
- data/site-local/getting-started/installation.html +12 -4
- data/site-local/getting-started/quick-start.html +18 -4
- data/site-local/help.html +4 -4
- data/site-local/index.html +13 -8
- data/site-local/overview/build-system.html +6 -6
- data/site-local/overview/index.html +3 -3
- data/site-local/overview/test-environments.html +3 -3
- data/site-local/overview/tools-and-frameworks.html +3 -3
- data/site-local/plugins/beep.html +3 -3
- data/site-local/plugins/bullseye.html +9 -3
- data/site-local/plugins/command-hooks.html +42 -38
- data/site-local/plugins/compile-commands-json-db.html +3 -3
- data/site-local/plugins/cppcheck.html +3 -3
- data/site-local/plugins/dependencies.html +3 -3
- data/site-local/plugins/fff.html +3 -3
- data/site-local/plugins/gcov/examples.html +3 -3
- data/site-local/plugins/gcov/gcovr.html +325 -227
- data/site-local/plugins/gcov/index.html +9 -3
- data/site-local/plugins/gcov/overview.html +3 -3
- data/site-local/plugins/gcov/reportgenerator.html +3 -3
- data/site-local/plugins/gcov/reporting.html +3 -3
- data/site-local/plugins/gcov/setup.html +3 -3
- data/site-local/plugins/gcov/tool-versions.html +3 -3
- data/site-local/plugins/gcov/troubleshooting.html +3 -3
- data/site-local/plugins/index.html +79 -15
- data/site-local/plugins/module-generator.html +3 -3
- data/site-local/plugins/report-build-warnings-log.html +3 -3
- data/site-local/plugins/report-tests-gtestlike-stdout.html +3 -3
- data/site-local/plugins/report-tests-ide-stdout.html +3 -3
- data/site-local/plugins/report-tests-log-factory.html +3 -3
- data/site-local/plugins/report-tests-pretty-stdout.html +3 -3
- data/site-local/plugins/report-tests-raw-output-log.html +3 -3
- data/site-local/plugins/report-tests-teamcity-stdout.html +3 -3
- data/site-local/plugins/valgrind.html +9 -3
- data/site-local/project/release-history.html +3 -3
- data/site-local/project/upgrade.html +3 -3
- data/site-local/reference/build-directives.html +3 -3
- data/site-local/reference/command-line.html +3 -3
- data/site-local/reference/environment-vars.html +3 -3
- data/site-local/reference/gcov-plugin.html +3 -3
- data/site-local/reference/global-collections.html +3 -3
- data/site-local/reference/index.html +3 -3
- data/site-local/reference/partials-macros.html +3 -3
- data/site-local/reference/project-configuration.html +3 -3
- data/site-local/sitemap.xml.gz +0 -0
- data/site-local/snapshot/examples/cipher_quest/index.html +3 -3
- data/site-local/snapshot/examples/temp_sensor/index.html +3 -3
- data/site-local/snapshot/examples/wondrous_forest/index.html +3 -3
- data/site-local/testing-guide/build-directives.html +3 -3
- data/site-local/testing-guide/conventions.html +3 -3
- data/site-local/testing-guide/frameworks.html +3 -3
- data/site-local/testing-guide/index.html +3 -3
- data/site-local/testing-guide/partials/configuration.html +3 -3
- data/site-local/testing-guide/partials/conventions.html +3 -3
- data/site-local/testing-guide/partials/directives.html +3 -3
- data/site-local/testing-guide/partials/example.html +3 -3
- data/site-local/testing-guide/partials/index.html +25 -16
- data/site-local/testing-guide/partials/overview.html +3 -3
- data/site-local/testing-guide/partials/variables.html +3 -3
- data/site-local/testing-guide/test-cases.html +3 -3
- data/site-local/testing-guide/test-sample.html +3 -3
- data/site-local/testing-guide/test-suite-anatomy.html +3 -3
- data/spec/support/system/system_context.rb +3 -1
- data/spec/system/support/gcov_common_test_cases.rb +4 -1
- data/spec/units/preprocess/preprocessinator_file_assembler_spec.rb +155 -0
- data/spec/units/test_build_executor_spec.rb +114 -0
- data/vendor/unity/auto/generate_test_runner.rb +55 -5
- data/vendor/unity/src/unity.h +1 -1
- data/vendor/unity/test/testdata/testRunnerGeneratorEmpty.c +13 -0
- data/vendor/unity/test/tests/test_generate_test_runner.rb +11 -0
- metadata +9 -7
- data/site-local/assets/stylesheets/main.484c7ddc.min.css +0 -1
- data/vendor/unity/auto/run_test.erb +0 -37
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 56f073ff96051065c1f390744785a8e933cbfa700d81a585495b49d44b318f1c
|
|
4
|
+
data.tar.gz: 3d9567c9ebb1477eb215fb9cb8cdfd42f76b7b8c5cdfd9cce1010eff89e49ea3
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 3e108e84bc09d28d53ca336b49cea22e970d6319810b8b68dab3f1dadb9793eb40948589fb771f8f1d6f731ce2319f9ee32b9cc8a12a8f54d32061e4a052c948
|
|
7
|
+
data.tar.gz: 6e21e05a55622e2836e52feccd2db2c99a2827db4c6b1179f6ed30c702db8a59dc888fd460d23976d07b3c36237e400b0e553ee9493b3f287456bd10099eae29
|
data/GIT_COMMIT_SHA
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
e7770cc
|
data/README.md
CHANGED
|
@@ -16,6 +16,8 @@ from the same source module in a single test file and enables testing of
|
|
|
16
16
|
* Ceedling is now complemented by a full, searchable [documentation site][ceedling-docs-site]
|
|
17
17
|
available both online and as a local bundle exported from Ceedling’s
|
|
18
18
|
command line.
|
|
19
|
+
* A new [Discourse community forum](https://throwtheswitch.discourse.group) to
|
|
20
|
+
supersede the old, spammy Google Group and handful of disparate support channels.
|
|
19
21
|
* More and expanded [example projects][example-projects].
|
|
20
22
|
* New stock plugins for [Valgrind memory checking][valgrind-plugin] and
|
|
21
23
|
[Cppcheck static analysis][cppcheck-plugin].
|
|
@@ -23,7 +25,8 @@ from the same source module in a single test file and enables testing of
|
|
|
23
25
|
* _Finally_ supports coverage reports for all sources.
|
|
24
26
|
* Adds support for Modified Condition / Decision Coverage.
|
|
25
27
|
* Mixins improvements including an option for [inline YAML at the command line][mixins-inline-yaml].
|
|
26
|
-
* Ceedling’s test preprocessing is once again compatible with Unity’s
|
|
28
|
+
* Ceedling’s test preprocessing is once again compatible with Unity’s
|
|
29
|
+
parameterized test cases (support was temporarily removed with 1.0.0).
|
|
27
30
|
* Incorporates the latest updates to [CMock] and [Unity].
|
|
28
31
|
|
|
29
32
|
[partials-docs]: https://throwtheswitch.github.io/Ceedling/1.1.0/testing-guide/partials/
|
|
@@ -136,7 +139,7 @@ Releases have a version number `#.#.#` (`<major>.<minor>.<patch>`). Production s
|
|
|
136
139
|
|
|
137
140
|
Official releases are available as:
|
|
138
141
|
|
|
139
|
-
1. A prepackaged Ruby Gem available through the public [RubyGems repository](https://rubygems.org/gems/ceedling) (installable with `gem install ceedling` at the command line).
|
|
142
|
+
1. A prepackaged Ruby Gem available through the public [RubyGems repository](https://rubygems.org/gems/ceedling) (installable with `gem install ceedling --no-document` at the command line).
|
|
140
143
|
1. Ready-to-run [Docker images](https://hub.docker.com/u/throwtheswitch).
|
|
141
144
|
|
|
142
145
|
The latest `<major>.<minor>` version is supported with limited support for earlier minor releases.
|
|
@@ -161,7 +164,7 @@ Prereleases are not officially supported, but feedback through submitting issues
|
|
|
161
164
|
* Found a bug or want to suggest a feature?
|
|
162
165
|
**[Submit an issue][ceedling-issues]** at this repo.
|
|
163
166
|
* Trying to understand features or solve a testing problem? Hit the
|
|
164
|
-
**[
|
|
167
|
+
**[Discourse forums][forums]**.
|
|
165
168
|
* Paid training, customizations, and support contracts are available through
|
|
166
169
|
**[Ceedling Assist][ceedling-assist]**.
|
|
167
170
|
|
|
@@ -172,7 +175,7 @@ Please familiarize yourself with our guidelines for **[contributing](docs/CONTRI
|
|
|
172
175
|
Yes, work has begun on **[Ceedling Certified][ceedling-certified]**, a validated version of Ceedling to meet the needs of industry software certification.
|
|
173
176
|
|
|
174
177
|
[ceedling-issues]: https://github.com/ThrowTheSwitch/Ceedling/issues
|
|
175
|
-
[forums]: https://
|
|
178
|
+
[forums]: https://throwtheswitch.discourse.group
|
|
176
179
|
[ceedling-certified]: https://www.thingamabyte.com/ceedlingcertified
|
|
177
180
|
|
|
178
181
|
<br/>
|
data/docs/Changelog.md
CHANGED
|
@@ -10,6 +10,32 @@ This changelog is complemented by three other documents:
|
|
|
10
10
|
|
|
11
11
|
---
|
|
12
12
|
|
|
13
|
+
# [1.1.1] — 2026-07-23
|
|
14
|
+
|
|
15
|
+
## 🌟 Added
|
|
16
|
+
|
|
17
|
+
- Gcov plugin ➡️ Warning logging for disallowed Gcovr configuration values set at the same time as a Gcovr configuration file (`:config_file`) is in use. Disallowed values are ignored. See clarified discussion of [Gcovr options](https://throwtheswitch.github.io/Ceedling/1.1.0/plugins/gcov/gcovr/#gcovr-options) for more.
|
|
18
|
+
|
|
19
|
+
## 💪 Fixed
|
|
20
|
+
|
|
21
|
+
New since 1.1.0:
|
|
22
|
+
|
|
23
|
+
- [#1180](https://github.com/ThrowTheSwitch/Ceedling/issues/1180) Fixed `gcovr` illegal `--exclude` flag when Gcovr configuration file in use.
|
|
24
|
+
- [#1181](https://github.com/ThrowTheSwitch/Ceedling/issues/1181) Fixed linker error when test files contain no test cases (fix was implemented in Unity and vendored into Ceedling).
|
|
25
|
+
|
|
26
|
+
Backlog bug fixes predating 1.1.0:
|
|
27
|
+
|
|
28
|
+
- [#1064](https://github.com/ThrowTheSwitch/Ceedling/issues/1064) Fixed include guard handling that in a certain combination of preprocessing and CMock options led to duplicated symbols breaking a test build.
|
|
29
|
+
- [#1098](https://github.com/ThrowTheSwitch/Ceedling/issues/1098) Fixed :test_compiler used instead of :test_assembler for assembly file.
|
|
30
|
+
- [#1009](https://github.com/ThrowTheSwitch/Ceedling/issues/1009) Fixed tool name handling for `command_hooks` plugin.
|
|
31
|
+
|
|
32
|
+
## ⚠️ Changed
|
|
33
|
+
|
|
34
|
+
- Clarified and reorganized [Gcovr configuration documentation](https://throwtheswitch.github.io/Ceedling/1.1.0/plugins/gcov/gcovr/) for the Gcov plugin.
|
|
35
|
+
- Added to plugin documentation explanation of necessary plugin task separation (e.g. why `gcov:` is a separate set of tasks that largely duplicates `test:` builds).
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
13
39
|
# [1.1.0] — 2026-07-16
|
|
14
40
|
|
|
15
41
|
## 🌟 Added
|
|
@@ -18,7 +44,7 @@ This changelog is complemented by three other documents:
|
|
|
18
44
|
|
|
19
45
|
[A Partial](https://throwtheswitch.github.io/Ceedling/1.1.0/testing-guide/partials/) is a new feature that allows a test author to work with portions of the same C module under test differently from within the same test file.
|
|
20
46
|
|
|
21
|
-
With Partials, a test can now cause some functions in the source module under test to be mocked while other source functions are executed against assertions (see #936). Partials also allow testing of `static` and `inline` functions with no modification of your source code under test.
|
|
47
|
+
With Partials, a test can now cause some functions in the source module under test to be mocked while other source functions are executed against assertions (see [#936](https://github.com/ThrowTheSwitch/Ceedling/issues/936)). Partials also allow testing of `static` and `inline` functions with no modification of your source code under test.
|
|
22
48
|
|
|
23
49
|
💲 The Partials feature made possible thanks to a generous corporate sponsor via a [Ceedling Assist](https://www.thingamabyte.com/ceedling) engagement.
|
|
24
50
|
|
|
@@ -67,7 +93,7 @@ _NOTE:_ The `ReportGenerator` tool does not support extracting MC/DC even if tho
|
|
|
67
93
|
|
|
68
94
|
#### Code coverage for all source files, not just those under test
|
|
69
95
|
|
|
70
|
-
This feature addition resolves a longstanding feature request for coverage reporting (#329 and others).
|
|
96
|
+
This feature addition resolves a longstanding feature request for coverage reporting ([#329](https://github.com/ThrowTheSwitch/Ceedling/issues/329) and others).
|
|
71
97
|
|
|
72
98
|
The Gcov plugin now includes an `:untested_sources` option that controls how source files not exercised by any test are handled in coverage reporting — from full omission (`:ignore`), to a warning-level filepath listing of files not present in the coverage report (`:list`), to full compile-for-0%-coverage (`:compile`). The default is `:list`.
|
|
73
99
|
|
|
@@ -96,41 +122,43 @@ When test preprocessing is enabled, Ceedling discovers whether your toolchain su
|
|
|
96
122
|
|
|
97
123
|
## 💪 Fixed
|
|
98
124
|
|
|
99
|
-
- #1011 Performance Improvements.
|
|
100
|
-
- #1014 Line Continuations not working in test name.
|
|
101
|
-
- #1024 Fixed bug in options-handling for warnings log report.
|
|
125
|
+
- [#1011](https://github.com/ThrowTheSwitch/Ceedling/issues/1011) Performance Improvements.
|
|
126
|
+
- [#1014](https://github.com/ThrowTheSwitch/Ceedling/issues/1014) Line Continuations not working in test name.
|
|
127
|
+
- [#1024](https://github.com/ThrowTheSwitch/Ceedling/issues/1024) Fixed bug in options-handling for warnings log report.
|
|
102
128
|
- Now properly reports timing for single-batch builds (i.e. non-parallel builds).
|
|
103
129
|
- Type handling in example `temp_sensor` project compatible with C23 (and previous C standards).
|
|
104
|
-
- #1120 Fixed (by removal) an overly “helpful” holdover from Ceedling’s earliest days causing certain temporary and backup files to be cleaned that were needed by the user’s IDE and text editing tooling.
|
|
105
|
-
- #1162 Fixes to Partials handling for file encoding / multi-byte characters (e.g. ©) in comment blocks.
|
|
106
|
-
- #1160 Proper handling of locales and file encoding.
|
|
107
|
-
- #1135 Fixed test fixture results handling to properly process Unity’s colored output when enabled.
|
|
108
|
-
- #1114 Fixed `:default_tasks` handling.
|
|
109
|
-
- #1144 Fixed flags for release build linking.
|
|
110
|
-
- #1169 Fixed linking with :libraries ↳ :release.
|
|
111
|
-
- #1112 Fixed (via PR #1171) test failures incorrectly returning exit code 0 when the stdout pretty printer plugin is disabled ([Cory Todd](https://github.com/corytodd)).
|
|
130
|
+
- [#1120](https://github.com/ThrowTheSwitch/Ceedling/issues/1120) Fixed (by removal) an overly “helpful” holdover from Ceedling’s earliest days causing certain temporary and backup files to be cleaned that were needed by the user’s IDE and text editing tooling.
|
|
131
|
+
- [#1162](https://github.com/ThrowTheSwitch/Ceedling/issues/1162) Fixes to Partials handling for file encoding / multi-byte characters (e.g. ©) in comment blocks.
|
|
132
|
+
- [#1160](https://github.com/ThrowTheSwitch/Ceedling/issues/1160) Proper handling of locales and file encoding.
|
|
133
|
+
- [#1135](https://github.com/ThrowTheSwitch/Ceedling/issues/1135) Fixed test fixture results handling to properly process Unity’s colored output when enabled.
|
|
134
|
+
- [#1114](https://github.com/ThrowTheSwitch/Ceedling/issues/1114) Fixed `:default_tasks` handling.
|
|
135
|
+
- [#1144](https://github.com/ThrowTheSwitch/Ceedling/issues/1144) Fixed flags for release build linking.
|
|
136
|
+
- [#1169](https://github.com/ThrowTheSwitch/Ceedling/issues/1169) Fixed linking with :libraries ↳ :release.
|
|
137
|
+
- [#1112](https://github.com/ThrowTheSwitch/Ceedling/issues/1112) Fixed (via [PR #1171](https://github.com/ThrowTheSwitch/Ceedling/pull/1171)) test failures incorrectly returning exit code 0 when the stdout pretty printer plugin is disabled ([Cory Todd](https://github.com/corytodd)).
|
|
138
|
+
- [#1102](https://github.com/ThrowTheSwitch/Ceedling/issues/1102) Removing a test file using `:files` section causes crash.
|
|
112
139
|
- Restored build failure registration and final build failure summary. Replaced test build failures by exception with build failure registration.
|
|
113
140
|
|
|
114
141
|
### Mixins
|
|
115
|
-
- #1128
|
|
142
|
+
- [#984](https://github.com/ThrowTheSwitch/Ceedling/issues/1128) Resolve differing "shapes" of `:defines` when Mixins in use.
|
|
143
|
+
- [#1128](https://github.com/ThrowTheSwitch/Ceedling/issues/1128) Command line mixin precedence.
|
|
116
144
|
- Revisions to [Mixin documentation](https://throwtheswitch.github.io/Ceedling/latest/configuration/mixins) to correct merge order explanations and clarify Mixins generally.
|
|
117
145
|
|
|
118
146
|
### `#include`s handling and preprocessing
|
|
119
147
|
- Extensive improvements throughout.
|
|
120
|
-
- PR #1126 Fix for race condition in cache handling of `#include` listings in YAML files.
|
|
121
|
-
- #1015 Probing toolchain for presence of preprocessor directives-only ability.
|
|
122
|
-
- #1085 Fix relative `#include` path handling that broke test build convention.
|
|
123
|
-
- #358 Mocks with relative path in `#include` directive.
|
|
124
|
-
- PR #1056 Fix for extracting `#include` directive filenames that contain dashes.
|
|
125
|
-
- #1127 Fixes to path handling in `#include` directives.
|
|
126
|
-
- #1158 Fixes for `#include` filtering in test runner generation.
|
|
148
|
+
- [PR #1126](https://github.com/ThrowTheSwitch/Ceedling/pull/1126) Fix for race condition in cache handling of `#include` listings in YAML files.
|
|
149
|
+
- [PR #1015](https://github.com/ThrowTheSwitch/Ceedling/pull/1015) Probing toolchain for presence of preprocessor directives-only ability.
|
|
150
|
+
- [#1085](https://github.com/ThrowTheSwitch/Ceedling/issues/1085) Fix relative `#include` path handling that broke test build convention.
|
|
151
|
+
- [#358](https://github.com/ThrowTheSwitch/Ceedling/issues/358) Mocks with relative path in `#include` directive.
|
|
152
|
+
- [PR #1056](https://github.com/ThrowTheSwitch/Ceedling/pull/1056) Fix for extracting `#include` directive filenames that contain dashes.
|
|
153
|
+
- [#1127](https://github.com/ThrowTheSwitch/Ceedling/issues/1127) Fixes to path handling in `#include` directives.
|
|
154
|
+
- [#1158](https://github.com/ThrowTheSwitch/Ceedling/issues/1158) Fixes for `#include` filtering in test runner generation.
|
|
127
155
|
|
|
128
156
|
### GCov plugin
|
|
129
157
|
- `:gcov` section of `:flags` is able to use filename matchers again (like `:test` section).
|
|
130
|
-
- #1115 Fixed Gcov plugin for Gcovr configuration file handling.
|
|
131
|
-
- #1161 Fixed “Found no coverage results” when system headers are processed by coverage.
|
|
132
|
-
- #1170 GCovr summary not passed through to NORMAL logging at end of a GCov plugin build.
|
|
133
|
-
- #1081 Fixes for Gcovr summary cooperating with coverage threshold failures.
|
|
158
|
+
- [#1115](https://github.com/ThrowTheSwitch/Ceedling/issues/1115) Fixed Gcov plugin for Gcovr configuration file handling.
|
|
159
|
+
- [#1161](https://github.com/ThrowTheSwitch/Ceedling/issues/1161) Fixed “Found no coverage results” when system headers are processed by coverage.
|
|
160
|
+
- [#1170](https://github.com/ThrowTheSwitch/Ceedling/issues/1170) GCovr summary not passed through to NORMAL logging at end of a GCov plugin build.
|
|
161
|
+
- [#1081](https://github.com/ThrowTheSwitch/Ceedling/issues/1081) Fixes for Gcovr summary cooperating with coverage threshold failures.
|
|
134
162
|
- Prevention of coverage corruption during `ReportGenerator` reporting runs.
|
|
135
163
|
|
|
136
164
|
## ⚠️ Changed
|
|
@@ -140,7 +168,7 @@ When test preprocessing is enabled, Ceedling discovers whether your toolchain su
|
|
|
140
168
|
- Resolved ambiguity in updated `ceedling new` handling from 0.31.1 to 1.0.0.
|
|
141
169
|
- Release build logging now matches test build logging.
|
|
142
170
|
- Fixes for typos and grammar in documentation and logging.
|
|
143
|
-
- Added documentation / commented sample in example _project.yml_ for CMock `:treat_inlines` inline function patterns option (PR #1096).
|
|
171
|
+
- Added documentation / commented sample in example _project.yml_ for CMock `:treat_inlines` inline function patterns option ([PR #1096](https://github.com/ThrowTheSwitch/Ceedling/pull/1096)).
|
|
144
172
|
- Integrates latest [Unity](https://github.com/ThrowTheSwitch/Unity) ([2.7.0](https://github.com/ThrowTheSwitch/Unity/blob/master/docs/UnityChangeLog.md)).
|
|
145
173
|
- Integrates latest [CMock](https://github.com/ThrowTheSwitch/CMock) ([2.7.0](https://github.com/ThrowTheSwitch/CMock/blob/master/docs/CMockChangeLog.md)).
|
|
146
174
|
|
|
@@ -149,7 +177,7 @@ When test preprocessing is enabled, Ceedling discovers whether your toolchain su
|
|
|
149
177
|
- `:gdb` option captures a full log file from `gdb` output and provides that filepath in the test case crash report.
|
|
150
178
|
|
|
151
179
|
### Mixins
|
|
152
|
-
- PR #1003 improvements for Mixin merges — clearer logging and edge case handling.
|
|
180
|
+
- [PR #1003](https://github.com/ThrowTheSwitch/Ceedling/pull/1003) improvements for Mixin merges — clearer logging and edge case handling.
|
|
153
181
|
- Added warning logging if a Mixin contains mixins (nesting is not supported).
|
|
154
182
|
- Mixins now merge list content according to mixin priority. In all cases but one, a higher priority mixin inserts its list content before the content of the existing list to which it is merging. In the case of `:tools` `:arguments` lists, insertion occurs at the end of the arguments list to enable the typical CLI convention of rightmost argument having the highest priority.
|
|
155
183
|
|
|
@@ -182,17 +210,17 @@ When test preprocessing is enabled, Ceedling discovers whether your toolchain su
|
|
|
182
210
|
|
|
183
211
|
## 💪 Fixed
|
|
184
212
|
|
|
185
|
-
-
|
|
186
|
-
-
|
|
187
|
-
-
|
|
188
|
-
-
|
|
189
|
-
-
|
|
190
|
-
-
|
|
191
|
-
-
|
|
192
|
-
-
|
|
193
|
-
-
|
|
194
|
-
-
|
|
195
|
-
-
|
|
213
|
+
- [#978](https://github.com/ThrowTheSwitch/Ceedling/issues/978) -- Ceedling attempts to link source files that are commented out and/or removed by preprocessor directives
|
|
214
|
+
- [#979](https://github.com/ThrowTheSwitch/Ceedling/issues/979) -- FFF plugin generates "warning: already initialized constant CMock" on some platforms
|
|
215
|
+
- [#980](https://github.com/ThrowTheSwitch/Ceedling/issues/980) -- FFF original plugin should not be part of release build (le sigh)
|
|
216
|
+
- [#981](https://github.com/ThrowTheSwitch/Ceedling/issues/981) -- Ceedling could not find header file to mock when using preprocessor
|
|
217
|
+
- [#982](https://github.com/ThrowTheSwitch/Ceedling/issues/982) -- Ceedling did not inject required header file into mock when using preprocessor
|
|
218
|
+
- [#985](https://github.com/ThrowTheSwitch/Ceedling/issues/985) -- Macros not being properly hidden from CMock’s parser when using preprocessor
|
|
219
|
+
- [#988](https://github.com/ThrowTheSwitch/Ceedling/issues/988) -- Parsing of `TEST_SOURCE_FILE` did not support special characters (like `.`) in filenames
|
|
220
|
+
- [#888](https://github.com/ThrowTheSwitch/Ceedling/issues/888) & [#977](https://github.com/ThrowTheSwitch/Ceedling/issues/977) -- Unicode characters produce crashes in various places
|
|
221
|
+
- [#996](https://github.com/ThrowTheSwitch/Ceedling/issues/996) -- Improved handling and documentation of module generator path options
|
|
222
|
+
- [#998](https://github.com/ThrowTheSwitch/Ceedling/issues/998) -- FFF plugin missing required stringio
|
|
223
|
+
- [PR #1005](https://github.com/ThrowTheSwitch/Ceedling/pull/1005) -- Additional handling of preprocessing extraction improvements
|
|
196
224
|
- Restored `:use_mocks` default to `true` in Ceedling defaults to match documentation and other mocking defaults in template projects.
|
|
197
225
|
- Resolved a preprocessing issue that could cause the content of a file having a similar filename to that of the file `#include`ing it to become mixed with that file.
|
|
198
226
|
- additional documentation improvements
|
data/docs/KnownIssues.md
CHANGED
|
@@ -8,10 +8,17 @@ Known issues are complemented by three other documents:
|
|
|
8
8
|
|
|
9
9
|
---
|
|
10
10
|
|
|
11
|
+
## All versions
|
|
12
|
+
|
|
13
|
+
- Ceedling installation as a gem (variations of `gem install ceedling`) can fail if installation is allowed to run the default step of RDoc scanning. **Always use `--no-document` to opt out of the RDoc tool’s code scanning during Ceedling installation.** This documentation step is not needed by a user, and, more importantly, RDoc can cause installation failures due to bugs or language incompatibilities in RDoc’s custom language parser. The prepackaged _MadScienceLab_ Docker images avoid this issue entirely.
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
11
17
|
## 1.1.0 — 2026-07-16
|
|
12
18
|
|
|
13
19
|
1. The new internal pipeline as of 1.0.0 that allows builds to be parallelized and configured per-test-executable can mean a fair amount of duplication of steps. A header file may be mocked identically multiple times. The same source file may be compiled identically multiple times. The speed gains due to parallelization help make up for this. Future releases will concentrate on optimizing away duplication of build steps.
|
|
14
20
|
1. While header file search paths are now customizable per executable, this currently only applies to the search paths the compiler uses. Distinguishing test files or header files of the same name in different directories for test runner and mock generation respectively continues to rely on educated guesses in Ceedling code.
|
|
21
|
+
1. All header files needed for test compilation must be within the `:includes` path collection. Relative paths in include directives that extend outside the path collection will cause build problems.
|
|
15
22
|
1. Any path for a C file specified with `TEST_SOURCE_FILE(...)` is in relation to **_project root_** — that is, from where you execute `ceedling` at the command line. If you move source files or change your directory structure, many of your `TEST_SOURCE_FILE(...)` calls may need to be updated. A more flexible and dynamic approach to path handling will come in a future update.
|
|
16
23
|
1. The Bullseye code coverage plugin has been temporarily disabled as of 1.0.0. The makers of Bullseye have generously provided a license for development, and the plugin will be available in the next minor release.
|
|
17
24
|
|
|
@@ -21,6 +28,8 @@ Known issues are complemented by three other documents:
|
|
|
21
28
|
|
|
22
29
|
1. The new internal pipeline that allows builds to be parallelized and configured per-test-executable can mean a fair amount of duplication of steps. A header file may be mocked identically multiple times. The same source file may be compiled identically multiple times. The speed gains due to parallelization help make up for this. Future releases will concentrate on optimizing away duplication of build steps.
|
|
23
30
|
1. While header file search paths are now customizable per executable, this currently only applies to the search paths the compiler uses. Distinguishing test files or header files of the same name in different directories for test runner and mock generation respectively continues to rely on educated guesses in Ceedling code.
|
|
31
|
+
1. All header files needed for test compilation must be within the `:includes` path collection. Relative paths in include directives that extend outside the path collection will cause build problems.
|
|
32
|
+
1. System header includes `#include <system.h>` may not be properly distinguished from user includes `#include "user.h"` in many test preprocessing scenarios.
|
|
24
33
|
1. Any path for a C file specified with `TEST_SOURCE_FILE(...)` is in relation to **_project root_** — that is, from where you execute `ceedling` at the command line. If you move source files or change your directory structure, many of your `TEST_SOURCE_FILE(...)` calls may need to be updated. A more flexible and dynamic approach to path handling will come in a future update.
|
|
25
34
|
1. Ceedling’s many test preprocessing improvements are not presently able to preserve Unity’s special `TEST_CASE()` and `TEST_RANGE()` features. However, preprocessing of test files is much less frequently needed than preprocessing of mockable header files. Test preprocessing can now be configured to enable only one or the other. As such, these advanced Unity features can still be used in even sophisticated projects.
|
|
26
35
|
1. The Bullseye code coverage plugin has been temporarily disabled until a license can be procured that will allow updates and improvements.
|
data/docs/ReleaseNotes.md
CHANGED
|
@@ -24,7 +24,7 @@ The incomplete list of goodies:
|
|
|
24
24
|
* _Finally_ supports coverage reports for all sources.
|
|
25
25
|
* Adds support for Modified Condition / Decision Coverage.
|
|
26
26
|
* Mixins improvements including an option for [inline YAML at the command line][mixins-inline-yaml].
|
|
27
|
-
* Test preprocessing has undergone significant improvements (again) and is
|
|
27
|
+
* Test preprocessing has undergone significant improvements (again) and is both more robust and handles more testing needs.
|
|
28
28
|
* Ceedling’s test preprocessing is once again compatible with Unity’s parameterized test cases (support was temporarily removed with 1.0.0).
|
|
29
29
|
* Helpful logging at start up flagging automatic configuration changes or problematic combinations of settings.
|
|
30
30
|
* Integrates latest [Unity](https://github.com/ThrowTheSwitch/Unity) ([2.7.0](https://github.com/ThrowTheSwitch/Unity/blob/master/docs/UnityChangeLog.md)).
|
|
@@ -52,6 +52,10 @@ The following is not a complete project configuration. But, for those already fa
|
|
|
52
52
|
|
|
53
53
|
```yaml
|
|
54
54
|
:project:
|
|
55
|
+
# Optional field that when set with a non-blank string adds a banner with project name
|
|
56
|
+
# to build logging and to plugin report fields that make use of it.
|
|
57
|
+
:name: "Q-36 Space Modulator"
|
|
58
|
+
|
|
55
59
|
# When TRUE enables a significant new set of testing abilities (see Partials documentation).
|
|
56
60
|
# Because this feature depends on test preprocessing and uses mocking, it automatically
|
|
57
61
|
# enables those settings, overriding any user settings disabling them.
|
|
@@ -30,9 +30,16 @@ tools lickety split. Install Docker, pull down one of the
|
|
|
30
30
|
|
|
31
31
|
## Installation as a [Ruby Gem][ruby-gem]
|
|
32
32
|
|
|
33
|
+
!!! warning "Use `--no-document` for gem installation"
|
|
34
|
+
`--no-document` opts out of the RDoc tool’s automatic scanning of
|
|
35
|
+
Ceedling source code during installation. This documentation step is not
|
|
36
|
+
needed by a user, and, more importantly, RDoc can cause installation
|
|
37
|
+
failures due to bugs or language incompatibilities in RDoc’s custom
|
|
38
|
+
language parser.
|
|
39
|
+
|
|
33
40
|
1. [Download and install Ruby][ruby-install]. Ruby 3 is required.
|
|
34
41
|
1. Use Ruby‘s command line gem package manager to install Ceedling from
|
|
35
|
-
the public [RubyGems repository][rubygems-repo]: `gem install ceedling`.
|
|
42
|
+
the public [RubyGems repository][rubygems-repo]: `gem install ceedling --no-document`.
|
|
36
43
|
* Unity and CMock come along with Ceedling at no extra charge.
|
|
37
44
|
* Installing from the official RubyGems repository will automatically
|
|
38
45
|
install Ceedling‘s dependencies.
|
|
@@ -1,5 +1,25 @@
|
|
|
1
1
|
# Quick Start
|
|
2
2
|
|
|
3
|
+
For a test suite project using the default toolchain `gcc`, Ceedling’s
|
|
4
|
+
configuration file could be as simple as this:
|
|
5
|
+
|
|
6
|
+
```yaml
|
|
7
|
+
:project:
|
|
8
|
+
:build_root: project/build/
|
|
9
|
+
|
|
10
|
+
:paths:
|
|
11
|
+
:test:
|
|
12
|
+
- tests/**
|
|
13
|
+
:source:
|
|
14
|
+
- source/**
|
|
15
|
+
:include:
|
|
16
|
+
- inc/**
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
To execute all your unit tests, you would run `ceedling test:all`.
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
3
23
|
## Handy Documentation
|
|
4
24
|
|
|
5
25
|
* [Installation](installation.md)
|
|
@@ -9,8 +29,6 @@
|
|
|
9
29
|
* [Ceedling at the command line](command-line.md)
|
|
10
30
|
* [All your project configuration file options](../configuration/index.md)
|
|
11
31
|
|
|
12
|
-
---
|
|
13
|
-
|
|
14
32
|
## Quick Start Steps
|
|
15
33
|
|
|
16
34
|
Below is a quick overview of how to get started from Ceedling installation
|
data/docs/mkdocs/help.md
CHANGED
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
Found a bug or want to suggest a feature? Open an issue in the Ceedling
|
|
16
16
|
GitHub repository.
|
|
17
17
|
|
|
18
|
-
- :material-forum: **[
|
|
18
|
+
- :material-forum: **[Discourse Forums][forums]**
|
|
19
19
|
|
|
20
20
|
---
|
|
21
21
|
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
</div>
|
|
41
41
|
|
|
42
42
|
[ceedling-issues]: https://github.com/ThrowTheSwitch/Ceedling/issues
|
|
43
|
-
[forums]: https://
|
|
43
|
+
[forums]: https://throwtheswitch.discourse.group
|
|
44
44
|
[ceedling-assist]: https://www.thingamabyte.com/ceedlingassist
|
|
45
45
|
[ThingamaByte]: https://www.thingamabyte.com/
|
|
46
46
|
[thingamabyte-ceedling]: https://www.thingamabyte.com/ceedling
|
data/docs/mkdocs/index.md
CHANGED
|
@@ -1,19 +1,24 @@
|
|
|
1
1
|
# Ceedling Packet
|
|
2
2
|
|
|
3
3
|
Ceedling is a fancypants build system that greatly simplifies building
|
|
4
|
-
C projects. While it can certainly build release targets, it
|
|
4
|
+
C projects. While it can certainly build release targets, it
|
|
5
5
|
shines at running unit test suites.
|
|
6
6
|
|
|
7
|
-
Ceedling and its suite of frameworks, including Unity and CMock, were developed
|
|
8
|
-
for use on platforms from heavy duty workstations to teeny tiny microcontrollers.
|
|
9
|
-
Features handy for low-level development have made these tools popular with
|
|
10
|
-
embedded systems developers.
|
|
11
|
-
|
|
12
7
|
!!! tip "New to Ceedling?"
|
|
13
8
|
<img src="assets/images/ceedling.svg" width="130"><br/>
|
|
14
9
|
Jump straight to the [Quick Start][quick-start] — installation,
|
|
15
10
|
project set up, and your first build tasks all in one place.
|
|
16
11
|
|
|
12
|
+
In essence, Ceedling is a project configuration in YAML and a command line
|
|
13
|
+
tool that executes from it. Code conventions and supporting features produce
|
|
14
|
+
executable test suites and/or release artifacts.
|
|
15
|
+
Plugins provide reporting, code coverage, static analysis, and more.
|
|
16
|
+
|
|
17
|
+
Ceedling and its suite of frameworks, including Unity and CMock, were developed
|
|
18
|
+
for use on platforms from heavy duty workstations to teeny tiny microcontrollers.
|
|
19
|
+
Features handy for low-level development have made these tools popular with
|
|
20
|
+
embedded systems developers.
|
|
21
|
+
|
|
17
22
|
!!! feature "New in Ceedling 1.1.0 — Partials"
|
|
18
23
|
A [_Partial_](testing-guide/partials/index.md) is your C code sliced and diced
|
|
19
24
|
to expose functional elements for testing that you could not otherwise
|
|
@@ -23,6 +28,8 @@ embedded systems developers.
|
|
|
23
28
|
👀 See the [Changelog](https://github.com/ThrowTheSwitch/Ceedling/blob/master/docs/Changelog.md)
|
|
24
29
|
for all the new goodness in 1.1.0.
|
|
25
30
|
|
|
31
|
+
---
|
|
32
|
+
|
|
26
33
|
## Overview
|
|
27
34
|
|
|
28
35
|
<div class="grid cards" markdown>
|
|
@@ -36,15 +36,15 @@ toolchain `gcc`, the configuration file could be as simple as this:
|
|
|
36
36
|
- inc/**
|
|
37
37
|
```
|
|
38
38
|
|
|
39
|
+
From the command line, to run all your unit tests, you would run
|
|
40
|
+
`ceedling test:all`. To build the release version of your project,
|
|
41
|
+
you would simply run `ceedling release`. That's it!
|
|
42
|
+
|
|
39
43
|
!!! tip "Want to see a real world project configuration?"
|
|
40
44
|
See this [commented project file][example-config-file]
|
|
41
45
|
for a much more complete and sophisticated example of a project
|
|
42
46
|
configuration.
|
|
43
47
|
|
|
44
|
-
From the command line, to run all your unit tests, you would run
|
|
45
|
-
`ceedling test:all`. To build the release version of your project,
|
|
46
|
-
you would simply run `ceedling release`. That's it!
|
|
47
|
-
|
|
48
48
|
Of course, many more advanced options allow you to configure
|
|
49
49
|
your project with a variety of features to meet a variety of needs.
|
|
50
50
|
Ceedling can work with practically any command line toolchain
|
|
@@ -9,6 +9,12 @@ project configuration.
|
|
|
9
9
|
[June 1, 2024] Until the Bullseye Plugin can be updated for compatibility
|
|
10
10
|
with Ceedling >= 1.0.0, it has been disabled.
|
|
11
11
|
|
|
12
|
+
!!! note
|
|
13
|
+
The Bullseye plugin creates a duplicate test build with `bullseye:`
|
|
14
|
+
command line plugin tasks. [This is intentional and needed](index.md#understanding-plugin-build-duplication).
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
12
18
|
## Configuration
|
|
13
19
|
|
|
14
20
|
The bullseye plugin supports configuration options via your `project.yml` provided
|
|
@@ -4,7 +4,7 @@ Easily run command line tools and scripts at various points in a Ceedling build.
|
|
|
4
4
|
|
|
5
5
|
## Plugin Overview
|
|
6
6
|
|
|
7
|
-
This plugin allows you to skip creating a full Ceedling plugin for many common use cases. It links Ceedling
|
|
7
|
+
This plugin allows you to skip creating a full Ceedling plugin for many common use cases. It links Ceedling’s programmatic `Plugin` code hooks to easily managed tool definitions.
|
|
8
8
|
|
|
9
9
|
## Setup
|
|
10
10
|
|
|
@@ -40,7 +40,9 @@ See the commented examples below.
|
|
|
40
40
|
|
|
41
41
|
Each Ceedling tool requires an `:executable` string and an optional `:arguments` list. See the [`:tools` configuration reference][tools-doc] to understand how to craft your argument list and other tool options.
|
|
42
42
|
|
|
43
|
-
This plugin passes one or two runtime parameters for use in a hook
|
|
43
|
+
This plugin passes one or two runtime parameters for use in a hook’s tool argument list depending on the hook. These parameters are referenced with Ceedling tool argument expansion identifiers `${1}`, `${2}`, etc. Wherever you place `${1}` or `${2}` in your tool argument list, they expand in the command line Ceedling constructs with the parameters this plugin provides for that build step hook. The list of build step hooks below documents which parameters are available for each hook.
|
|
44
|
+
|
|
45
|
+
Each tool may optionally include a `:name` — a simple nickname used in log and error messages. If omitted, the plugin forms a default name from the hook’s key (e.g. `pre_mock_generate`). For a hook configured with a list of tools, the default name additionally includes the tool’s position in the list (e.g. `post_link_execute_0`, `post_link_execute_1`). See the commented examples below.
|
|
44
46
|
|
|
45
47
|
[tools-doc]: ../configuration/reference/tools.md
|
|
46
48
|
|
|
@@ -65,6 +67,7 @@ When logging is enabled and logging conditions are appropriate, any output from
|
|
|
65
67
|
:pre_mock_generate:
|
|
66
68
|
# This tool is organized as a sub-hash beneath the command hook key
|
|
67
69
|
:executable: python
|
|
70
|
+
:name: 'mock prep script' # Explicit nickname used in log/error messages
|
|
68
71
|
:arguments:
|
|
69
72
|
- my_script.py
|
|
70
73
|
- --some-arg
|
|
@@ -74,18 +77,20 @@ When logging is enabled and logging conditions are appropriate, any output from
|
|
|
74
77
|
# Hook called for each linking operation
|
|
75
78
|
# Here, we are performing two tasks for the same build step hook, converting a
|
|
76
79
|
# binary executable to S-record format and, then, archiving with other artifacts.
|
|
80
|
+
# Neither tool below is given a :name -- the plugin defaults them to
|
|
81
|
+
# "post_link_execute_0" and "post_link_execute_1"
|
|
77
82
|
:post_link_execute:
|
|
78
83
|
# These tools are organized in a YAML list beneath the command hook key
|
|
79
84
|
- :executable: objcopy.exe
|
|
80
85
|
:arguments:
|
|
81
|
-
- ${1} # Replaced with the filepath to the linker
|
|
86
|
+
- ${1} # Replaced with the filepath to the linker’s binary artifact output
|
|
82
87
|
- output.srec
|
|
83
88
|
- --strip-all
|
|
84
89
|
- :executable:
|
|
85
90
|
:arguments: tar.exe
|
|
86
91
|
- -acf
|
|
87
92
|
- awesome_build.zip
|
|
88
|
-
- ${1} # Replaced with the filepath to the linker
|
|
93
|
+
- ${1} # Replaced with the filepath to the linker’s binary artifact output
|
|
89
94
|
- memory_report.txt
|
|
90
95
|
```
|
|
91
96
|
|
|
@@ -102,7 +107,7 @@ As an example, consider a Ceedling project with ten test files and seventeen moc
|
|
|
102
107
|
* 10 occurrences of the `:pre_test` and `:post_test` hooks.
|
|
103
108
|
* 17 occurrences of the `:pre_mock_generate` and `:post_mock_generate` hooks.
|
|
104
109
|
* 10 occurrences of the `:pre_test_runner_generate` and `:post_test_runner_generate` hooks.
|
|
105
|
-
* 27(+) occurrences of the `:pre_compile` and `:post_compile` hooks. These hooks would be called 27 times for test file and mock file compilation. A test suite build will also include compilation of the source files under tests, Unity
|
|
110
|
+
* 27(+) occurrences of the `:pre_compile` and `:post_compile` hooks. These hooks would be called 27 times for test file and mock file compilation. A test suite build will also include compilation of the source files under tests, Unity’s source, CMock’s source, and generated test runner C files -- easily more than another two dozen compilation hook calls.
|
|
106
111
|
* 10 occurrences of the `:pre_link` and `:post_link` hooks for test executable creation.
|
|
107
112
|
* 10 occurrences of the `:pre_test_fixture_execute` and `:post_test_fixture_execute` hooks for running test executables and gathering the results of the tests cases they contain.
|
|
108
113
|
* 1 occurrence of the `:post_test_build` hook.
|
|
@@ -130,17 +135,17 @@ The parameter available to a tool (`${1}`) when the hook is called is a floating
|
|
|
130
135
|
|
|
131
136
|
Called just before each test begins its build pipeline and just after all context for that build has been gathered.
|
|
132
137
|
|
|
133
|
-
The parameter available to a tool (`${1}`) when the hook is called is the test
|
|
138
|
+
The parameter available to a tool (`${1}`) when the hook is called is the test’s filepath.
|
|
134
139
|
|
|
135
140
|
### `:post_test`
|
|
136
141
|
|
|
137
142
|
Called just after each test completes its build and execution.
|
|
138
143
|
|
|
139
|
-
The parameter available to a tool (`${1}`) when the hook is called is the test
|
|
144
|
+
The parameter available to a tool (`${1}`) when the hook is called is the test’s filepath.
|
|
140
145
|
|
|
141
146
|
### `:pre_test_build`
|
|
142
147
|
|
|
143
|
-
Called once just before the full test build pipeline begins (before any individual test
|
|
148
|
+
Called once just before the full test build pipeline begins (before any individual test’s configure, preprocess, compile, link, or execute steps).
|
|
144
149
|
|
|
145
150
|
Two parameters are available to a tool when the hook is called:
|
|
146
151
|
|
|
@@ -200,7 +205,7 @@ The parameter available to a tool (`${1}`) when the hook is called is the filepa
|
|
|
200
205
|
|
|
201
206
|
If preprocessing is in use, this is called just before each test file is preprocessed before runner generation.
|
|
202
207
|
|
|
203
|
-
The parameter available to a tool (`${1}`) when the hook is called is the test
|
|
208
|
+
The parameter available to a tool (`${1}`) when the hook is called is the test’s filepath.
|
|
204
209
|
|
|
205
210
|
See [_Conventions & Behaviors_][preprocessing] for details on how Ceedling preprocessing operates.
|
|
206
211
|
|
|
@@ -208,7 +213,7 @@ See [_Conventions & Behaviors_][preprocessing] for details on how Ceedling prepr
|
|
|
208
213
|
|
|
209
214
|
If preprocessing is in use, this is called just after each test file is preprocessed.
|
|
210
215
|
|
|
211
|
-
The parameter available to a tool (`${1}`) when the hook is called is the test
|
|
216
|
+
The parameter available to a tool (`${1}`) when the hook is called is the test’s filepath.
|
|
212
217
|
|
|
213
218
|
See [_Conventions & Behaviors_][preprocessing] for details on how Ceedling preprocessing operates.
|
|
214
219
|
|
|
@@ -216,13 +221,13 @@ See [_Conventions & Behaviors_][preprocessing] for details on how Ceedling prepr
|
|
|
216
221
|
|
|
217
222
|
Called just before each test file is processed by test runner generation.
|
|
218
223
|
|
|
219
|
-
The parameter available to a tool (`${1}`) when the hook is called is the test
|
|
224
|
+
The parameter available to a tool (`${1}`) when the hook is called is the test’s filepath.
|
|
220
225
|
|
|
221
226
|
### `:post_runner_generate`
|
|
222
227
|
|
|
223
228
|
Called just after each test runner is generated.
|
|
224
229
|
|
|
225
|
-
The parameter available to a tool (`${1}`) when the hook is called is the test
|
|
230
|
+
The parameter available to a tool (`${1}`) when the hook is called is the test’s filepath.
|
|
226
231
|
|
|
227
232
|
### `:pre_compile_execute`
|
|
228
233
|
|
|
@@ -240,13 +245,13 @@ The parameter available to a tool (`${1}`) when the hook is called is the filepa
|
|
|
240
245
|
|
|
241
246
|
Called just before any binary artifact—test or release—is linked.
|
|
242
247
|
|
|
243
|
-
The parameter available to a tool (`${1}`) when the hook is called is the binary output artifact
|
|
248
|
+
The parameter available to a tool (`${1}`) when the hook is called is the binary output artifact’s filepath.
|
|
244
249
|
|
|
245
250
|
### `:post_link_execute`
|
|
246
251
|
|
|
247
252
|
Called just after a binary artifact is linked.
|
|
248
253
|
|
|
249
|
-
The parameter available to a tool (`${1}`) when the hook is called is the binary output artifact
|
|
254
|
+
The parameter available to a tool (`${1}`) when the hook is called is the binary output artifact’s filepath.
|
|
250
255
|
|
|
251
256
|
### `:pre_test_fixture_execute`
|
|
252
257
|
|
|
@@ -256,7 +261,7 @@ The parameter available to a tool (`${1}`) when the hook is called is the filepa
|
|
|
256
261
|
|
|
257
262
|
### `:post_test_fixture_execute`
|
|
258
263
|
|
|
259
|
-
Called just after each test
|
|
264
|
+
Called just after each test’s fixture is executed and test results are collected.
|
|
260
265
|
|
|
261
266
|
The parameter available to a tool (`${1}`) when the hook is called is the filepath of the binary artifact that was executed by the fixture.
|
|
262
267
|
|