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.
Files changed (148) hide show
  1. checksums.yaml +4 -4
  2. data/GIT_COMMIT_SHA +1 -1
  3. data/README.md +7 -4
  4. data/docs/Changelog.md +66 -38
  5. data/docs/KnownIssues.md +9 -0
  6. data/docs/ReleaseNotes.md +5 -1
  7. data/docs/mkdocs/getting-started/installation.md +8 -1
  8. data/docs/mkdocs/getting-started/quick-start.md +20 -2
  9. data/docs/mkdocs/help.md +2 -2
  10. data/docs/mkdocs/index.md +13 -6
  11. data/docs/mkdocs/overview/build-system.md +4 -4
  12. data/docs/mkdocs/plugins/bullseye.md +6 -0
  13. data/docs/mkdocs/plugins/command-hooks.md +20 -15
  14. data/docs/mkdocs/plugins/gcov/gcovr.md +130 -109
  15. data/docs/mkdocs/plugins/gcov/index.md +6 -0
  16. data/docs/mkdocs/plugins/index.md +40 -0
  17. data/docs/mkdocs/plugins/valgrind.md +6 -0
  18. data/docs/mkdocs/testing-guide/partials/index.md +22 -13
  19. data/lib/ceedling/config/configurator.rb +2 -1
  20. data/lib/ceedling/preprocess/preprocessinator.rb +3 -2
  21. data/lib/ceedling/preprocess/preprocessinator_file_assembler.rb +27 -13
  22. data/lib/ceedling/test_invoker/test_build_executor.rb +3 -4
  23. data/lib/ceedling/test_invoker/test_build_planner.rb +0 -2
  24. data/lib/ceedling/test_invoker/test_invoker_types.rb +1 -1
  25. data/lib/ceedling/tool_executor.rb +5 -0
  26. data/lib/version.rb +1 -1
  27. data/plugins/command_hooks/lib/command_hooks.rb +4 -0
  28. data/plugins/gcov/lib/console_reportinator.rb +3 -1
  29. data/plugins/gcov/lib/gcov.rb +3 -3
  30. data/plugins/gcov/lib/gcov_reportinator.rb +4 -0
  31. data/plugins/gcov/lib/gcovr_reportinator.rb +61 -14
  32. data/plugins/gcov/lib/reportgenerator_reportinator.rb +3 -1
  33. data/site-local/404.html +3 -3
  34. data/site-local/assets/javascripts/{bundle.79ae519e.min.js → bundle.d7400e89.min.js} +2 -2
  35. data/site-local/assets/javascripts/{bundle.79ae519e.min.js.map → bundle.d7400e89.min.js.map} +2 -2
  36. data/site-local/assets/stylesheets/main.ec1eaa64.min.css +1 -0
  37. data/site-local/assets/stylesheets/{main.484c7ddc.min.css.map → main.ec1eaa64.min.css.map} +1 -1
  38. data/site-local/configuration/environment-vars.html +3 -3
  39. data/site-local/configuration/global-collections.html +3 -3
  40. data/site-local/configuration/index.html +3 -3
  41. data/site-local/configuration/loading.html +3 -3
  42. data/site-local/configuration/mixins.html +3 -3
  43. data/site-local/configuration/parallel-builds.html +3 -3
  44. data/site-local/configuration/project-file.html +3 -3
  45. data/site-local/configuration/reference/cexception.html +3 -3
  46. data/site-local/configuration/reference/cmock.html +3 -3
  47. data/site-local/configuration/reference/defines.html +3 -3
  48. data/site-local/configuration/reference/environment.html +3 -3
  49. data/site-local/configuration/reference/extension.html +3 -3
  50. data/site-local/configuration/reference/files.html +3 -3
  51. data/site-local/configuration/reference/flags.html +3 -3
  52. data/site-local/configuration/reference/index.html +3 -3
  53. data/site-local/configuration/reference/libraries.html +3 -3
  54. data/site-local/configuration/reference/mixins.html +3 -3
  55. data/site-local/configuration/reference/paths.html +3 -3
  56. data/site-local/configuration/reference/plugins.html +3 -3
  57. data/site-local/configuration/reference/project.html +3 -3
  58. data/site-local/configuration/reference/release-build.html +3 -3
  59. data/site-local/configuration/reference/test-build.html +3 -3
  60. data/site-local/configuration/reference/test-runner.html +3 -3
  61. data/site-local/configuration/reference/tools.html +3 -3
  62. data/site-local/configuration/reference/unity.html +3 -3
  63. data/site-local/configuration/which-ceedling.html +3 -3
  64. data/site-local/development/index.html +3 -3
  65. data/site-local/development/plugins/configuration.html +3 -3
  66. data/site-local/development/plugins/index.html +3 -3
  67. data/site-local/development/plugins/plugin-subclass.html +3 -3
  68. data/site-local/development/plugins/rake-tasks.html +3 -3
  69. data/site-local/development/workflow.html +3 -3
  70. data/site-local/getting-started/command-line.html +3 -3
  71. data/site-local/getting-started/example-projects/cipher-quest.html +3 -3
  72. data/site-local/getting-started/example-projects/index.html +3 -3
  73. data/site-local/getting-started/example-projects/temp-sensor.html +3 -3
  74. data/site-local/getting-started/example-projects/wondrous-forest.html +3 -3
  75. data/site-local/getting-started/index.html +3 -3
  76. data/site-local/getting-started/installation.html +12 -4
  77. data/site-local/getting-started/quick-start.html +18 -4
  78. data/site-local/help.html +4 -4
  79. data/site-local/index.html +13 -8
  80. data/site-local/overview/build-system.html +6 -6
  81. data/site-local/overview/index.html +3 -3
  82. data/site-local/overview/test-environments.html +3 -3
  83. data/site-local/overview/tools-and-frameworks.html +3 -3
  84. data/site-local/plugins/beep.html +3 -3
  85. data/site-local/plugins/bullseye.html +9 -3
  86. data/site-local/plugins/command-hooks.html +42 -38
  87. data/site-local/plugins/compile-commands-json-db.html +3 -3
  88. data/site-local/plugins/cppcheck.html +3 -3
  89. data/site-local/plugins/dependencies.html +3 -3
  90. data/site-local/plugins/fff.html +3 -3
  91. data/site-local/plugins/gcov/examples.html +3 -3
  92. data/site-local/plugins/gcov/gcovr.html +325 -227
  93. data/site-local/plugins/gcov/index.html +9 -3
  94. data/site-local/plugins/gcov/overview.html +3 -3
  95. data/site-local/plugins/gcov/reportgenerator.html +3 -3
  96. data/site-local/plugins/gcov/reporting.html +3 -3
  97. data/site-local/plugins/gcov/setup.html +3 -3
  98. data/site-local/plugins/gcov/tool-versions.html +3 -3
  99. data/site-local/plugins/gcov/troubleshooting.html +3 -3
  100. data/site-local/plugins/index.html +79 -15
  101. data/site-local/plugins/module-generator.html +3 -3
  102. data/site-local/plugins/report-build-warnings-log.html +3 -3
  103. data/site-local/plugins/report-tests-gtestlike-stdout.html +3 -3
  104. data/site-local/plugins/report-tests-ide-stdout.html +3 -3
  105. data/site-local/plugins/report-tests-log-factory.html +3 -3
  106. data/site-local/plugins/report-tests-pretty-stdout.html +3 -3
  107. data/site-local/plugins/report-tests-raw-output-log.html +3 -3
  108. data/site-local/plugins/report-tests-teamcity-stdout.html +3 -3
  109. data/site-local/plugins/valgrind.html +9 -3
  110. data/site-local/project/release-history.html +3 -3
  111. data/site-local/project/upgrade.html +3 -3
  112. data/site-local/reference/build-directives.html +3 -3
  113. data/site-local/reference/command-line.html +3 -3
  114. data/site-local/reference/environment-vars.html +3 -3
  115. data/site-local/reference/gcov-plugin.html +3 -3
  116. data/site-local/reference/global-collections.html +3 -3
  117. data/site-local/reference/index.html +3 -3
  118. data/site-local/reference/partials-macros.html +3 -3
  119. data/site-local/reference/project-configuration.html +3 -3
  120. data/site-local/sitemap.xml.gz +0 -0
  121. data/site-local/snapshot/examples/cipher_quest/index.html +3 -3
  122. data/site-local/snapshot/examples/temp_sensor/index.html +3 -3
  123. data/site-local/snapshot/examples/wondrous_forest/index.html +3 -3
  124. data/site-local/testing-guide/build-directives.html +3 -3
  125. data/site-local/testing-guide/conventions.html +3 -3
  126. data/site-local/testing-guide/frameworks.html +3 -3
  127. data/site-local/testing-guide/index.html +3 -3
  128. data/site-local/testing-guide/partials/configuration.html +3 -3
  129. data/site-local/testing-guide/partials/conventions.html +3 -3
  130. data/site-local/testing-guide/partials/directives.html +3 -3
  131. data/site-local/testing-guide/partials/example.html +3 -3
  132. data/site-local/testing-guide/partials/index.html +25 -16
  133. data/site-local/testing-guide/partials/overview.html +3 -3
  134. data/site-local/testing-guide/partials/variables.html +3 -3
  135. data/site-local/testing-guide/test-cases.html +3 -3
  136. data/site-local/testing-guide/test-sample.html +3 -3
  137. data/site-local/testing-guide/test-suite-anatomy.html +3 -3
  138. data/spec/support/system/system_context.rb +3 -1
  139. data/spec/system/support/gcov_common_test_cases.rb +4 -1
  140. data/spec/units/preprocess/preprocessinator_file_assembler_spec.rb +155 -0
  141. data/spec/units/test_build_executor_spec.rb +114 -0
  142. data/vendor/unity/auto/generate_test_runner.rb +55 -5
  143. data/vendor/unity/src/unity.h +1 -1
  144. data/vendor/unity/test/testdata/testRunnerGeneratorEmpty.c +13 -0
  145. data/vendor/unity/test/tests/test_generate_test_runner.rb +11 -0
  146. metadata +9 -7
  147. data/site-local/assets/stylesheets/main.484c7ddc.min.css +0 -1
  148. data/vendor/unity/auto/run_test.erb +0 -37
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 93ed7bddc71b165a08a89d3367cfcd2ca2ec906950d29af5f39d9bd273b1ab14
4
- data.tar.gz: a65452f847a9303a3162cdd24da3b9872c4273f3acb47caf2536e86f0728b04e
3
+ metadata.gz: 56f073ff96051065c1f390744785a8e933cbfa700d81a585495b49d44b318f1c
4
+ data.tar.gz: 3d9567c9ebb1477eb215fb9cb8cdfd42f76b7b8c5cdfd9cce1010eff89e49ea3
5
5
  SHA512:
6
- metadata.gz: 5d58a6e9a68dfd282531091e73fad76fa4ffaa3ad4c3394a7a709cbdf3fceaea90309d7895a4682d038a64bd86b3fdbb755a00c6966b82fa956ed96ddada6953
7
- data.tar.gz: 11a0af1b9cfcc95848ea25c50f78693c3486c97f3537b59282e766beb204c72ebcf8c561fb46b85c216030f70bb5d215abe6e5c84ba43f032a6ea508fd57f312
6
+ metadata.gz: 3e108e84bc09d28d53ca336b49cea22e970d6319810b8b68dab3f1dadb9793eb40948589fb771f8f1d6f731ce2319f9ee32b9cc8a12a8f54d32061e4a052c948
7
+ data.tar.gz: 6e21e05a55622e2836e52feccd2db2c99a2827db4c6b1179f6ed30c702db8a59dc888fd460d23976d07b3c36237e400b0e553ee9493b3f287456bd10099eae29
data/GIT_COMMIT_SHA CHANGED
@@ -1 +1 @@
1
- 5bbbc8f
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 parameterized test cases (support was temporarily removed with 1.0.0).
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
- **[discussion forums][forums]**.
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://www.throwtheswitch.org/forums
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 Command line mixin precedence.
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
- - `#978` -- Ceedling attempts to link source files that are commented out and/or removed by preprocessor directives
186
- - `#979` -- FFF plugin generates "warning: already initialized constant CMock" on some platforms
187
- - `#980` -- FFF original plugin should not be part of release build (le sigh)
188
- - `#981` -- Ceedling could not find header file to mock when using preprocessor
189
- - `#982` -- Ceedling did not inject required header file into mock when using preprocessor
190
- - `#985` -- Macros not being properly hidden from CMock’s parser when using preprocessor
191
- - `#988` -- Parsing of `TEST_SOURCE_FILE` did not support special characters (like `.`) in filenames
192
- - `#888` & `#977` -- Unicode characters produce crashes in various places
193
- - `#996` -- Improved handling and documentation of module generator path options
194
- - `#998` -- FFF plugin missing required stringio
195
- - `#1005` -- Additional handling of preprocessing extraction improvements
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 faster, more robust, and handles more testing needs.
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: **[Discussion Forums][forums]**
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://www.throwtheswitch.org/forums
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 absolutely
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's programmatic `Plugin` code hooks to easily managed tool definitions.
7
+ This plugin allows you to skip creating a full Ceedling plugin for many common use cases. It links Ceedlings 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'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.
43
+ This plugin passes one or two runtime parameters for use in a hooks 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's binary artifact output
86
+ - ${1} # Replaced with the filepath to the linkers 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's binary artifact output
93
+ - ${1} # Replaced with the filepath to the linkers 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's source, CMock's source, and generated test runner C files -- easily more than another two dozen compilation hook calls.
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, Unitys source, CMocks 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's filepath.
138
+ The parameter available to a tool (`${1}`) when the hook is called is the tests 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's filepath.
144
+ The parameter available to a tool (`${1}`) when the hook is called is the tests 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's configure, preprocess, compile, link, or execute steps).
148
+ Called once just before the full test build pipeline begins (before any individual tests 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's filepath.
208
+ The parameter available to a tool (`${1}`) when the hook is called is the tests 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's filepath.
216
+ The parameter available to a tool (`${1}`) when the hook is called is the tests 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's filepath.
224
+ The parameter available to a tool (`${1}`) when the hook is called is the tests 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's filepath.
230
+ The parameter available to a tool (`${1}`) when the hook is called is the tests 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's filepath.
248
+ The parameter available to a tool (`${1}`) when the hook is called is the binary output artifacts 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's filepath.
254
+ The parameter available to a tool (`${1}`) when the hook is called is the binary output artifacts 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's fixture is executed and test results are collected.
264
+ Called just after each tests 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