ceedling 1.0.1 → 1.1.0

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 (1263) hide show
  1. checksums.yaml +4 -4
  2. data/GIT_COMMIT_SHA +1 -1
  3. data/Gemfile +7 -1
  4. data/Gemfile.lock +19 -12
  5. data/README.md +140 -156
  6. data/Rakefile +189 -9
  7. data/assets/example_file.c +1 -1
  8. data/assets/example_file.h +1 -1
  9. data/assets/example_file_call.c +1 -1
  10. data/assets/example_file_call.h +1 -1
  11. data/assets/example_file_with_statics.c +10 -0
  12. data/assets/example_file_with_stdio.c +13 -0
  13. data/assets/example_file_with_stdio.h +15 -0
  14. data/assets/project.yml +20 -18
  15. data/assets/test_example_file.c +1 -1
  16. data/assets/test_example_file_boom.c +1 -1
  17. data/assets/test_example_file_crash_assert.c +25 -0
  18. data/assets/{test_example_file_crash.c → test_example_file_crash_sigsegv.c} +4 -3
  19. data/assets/test_example_file_source_include.c +17 -0
  20. data/assets/test_example_file_success.c +1 -1
  21. data/assets/test_example_file_unity_printf.c +1 -1
  22. data/assets/test_example_file_verbose.c +1 -1
  23. data/assets/test_example_file_with_mock.c +1 -1
  24. data/assets/test_example_file_with_stdio.c +18 -0
  25. data/assets/test_example_with_parameterized_tests.c +1 -1
  26. data/assets/tests_with_defines/src/adc_hardware.c +1 -1
  27. data/assets/tests_with_defines/src/adc_hardware.h +1 -1
  28. data/assets/tests_with_defines/src/adc_hardware_configurator.c +1 -1
  29. data/assets/tests_with_defines/src/adc_hardware_configurator.h +1 -1
  30. data/assets/tests_with_defines/test/test_adc_hardware.c +1 -1
  31. data/assets/tests_with_defines/test/test_adc_hardware_special.c +1 -1
  32. data/assets/tests_with_encoding/src/unicoder.c +12 -0
  33. data/assets/tests_with_encoding/src/unicoder.h +14 -0
  34. data/assets/tests_with_encoding/test/test_unicoder.c +15 -0
  35. data/assets/tests_with_encoding/test/test_unicoder_partial.c +17 -0
  36. data/assets/tests_with_fallback_conditionals/src/conditional_module.c +18 -0
  37. data/assets/tests_with_fallback_conditionals/src/conditional_module.h +13 -0
  38. data/assets/tests_with_fallback_conditionals/src/optional_dep.h +12 -0
  39. data/assets/tests_with_fallback_conditionals/test/test_conditionals.c +49 -0
  40. data/assets/tests_with_preprocessing/src/adc_hardwareA.c +1 -1
  41. data/assets/tests_with_preprocessing/src/adc_hardwareA.h +1 -1
  42. data/assets/tests_with_preprocessing/src/adc_hardwareB.c +1 -1
  43. data/assets/tests_with_preprocessing/src/adc_hardwareB.h +1 -1
  44. data/assets/tests_with_preprocessing/src/adc_hardwareC.c +1 -1
  45. data/assets/tests_with_preprocessing/src/adc_hardwareC.h +1 -1
  46. data/assets/tests_with_preprocessing/src/adc_hardware_configuratorA.h +1 -1
  47. data/assets/tests_with_preprocessing/src/adc_hardware_configuratorB.h +1 -1
  48. data/assets/tests_with_preprocessing/src/adc_hardware_configuratorC.h +1 -1
  49. data/assets/tests_with_preprocessing/test/test_adc_hardwareA.c +1 -1
  50. data/assets/tests_with_preprocessing/test/test_adc_hardwareB.c +1 -1
  51. data/assets/tests_with_preprocessing/test/test_adc_hardwareC.c +1 -1
  52. data/assets/uncovered_example_file.c +1 -1
  53. data/bin/actions_wrapper.rb +1 -1
  54. data/bin/app_cfg.rb +1 -1
  55. data/bin/ceedling +14 -3
  56. data/bin/cli.rb +110 -38
  57. data/bin/cli_handler.rb +167 -68
  58. data/bin/cli_helper.rb +179 -55
  59. data/bin/configinator.rb +71 -12
  60. data/bin/merginator.rb +82 -0
  61. data/bin/mixin_standardizer.rb +127 -0
  62. data/bin/mixinator.rb +199 -33
  63. data/bin/mixins.rb +4 -2
  64. data/bin/objects.yml +22 -1
  65. data/bin/path_validator.rb +1 -1
  66. data/bin/projectinator.rb +29 -20
  67. data/bin/rake_patches.rb +31 -0
  68. data/bin/recursive_merger.rb +128 -0
  69. data/bin/versionator.rb +2 -2
  70. data/ceedling.gemspec +31 -14
  71. data/config/test_environment.rb +1 -1
  72. data/docs/BreakingChanges.md +16 -3
  73. data/docs/Changelog.md +177 -6
  74. data/docs/KnownIssues.md +26 -0
  75. data/docs/ReleaseNotes.md +133 -19
  76. data/docs/mkdocs/assets/images/ceedling-logo-circle.png +0 -0
  77. data/docs/mkdocs/assets/images/ceedling.svg +90 -0
  78. data/docs/mkdocs/assets/images/favicon.png +0 -0
  79. data/docs/mkdocs/assets/stylesheets/admonitions.css +152 -0
  80. data/docs/mkdocs/assets/stylesheets/fixes-local.css +15 -0
  81. data/docs/mkdocs/assets/stylesheets/styling.css +102 -0
  82. data/docs/mkdocs/configuration/environment-vars.md +14 -0
  83. data/docs/mkdocs/configuration/global-collections.md +156 -0
  84. data/docs/mkdocs/configuration/index.md +75 -0
  85. data/docs/mkdocs/configuration/loading.md +89 -0
  86. data/docs/mkdocs/configuration/mixins.md +607 -0
  87. data/docs/mkdocs/configuration/parallel-builds.md +97 -0
  88. data/docs/mkdocs/configuration/project-file.md +198 -0
  89. data/docs/mkdocs/configuration/reference/cexception.md +35 -0
  90. data/docs/mkdocs/configuration/reference/cmock.md +106 -0
  91. data/docs/mkdocs/configuration/reference/defines.md +352 -0
  92. data/docs/mkdocs/configuration/reference/environment.md +55 -0
  93. data/docs/mkdocs/configuration/reference/extension.md +63 -0
  94. data/docs/mkdocs/configuration/reference/files.md +154 -0
  95. data/docs/mkdocs/configuration/reference/flags.md +296 -0
  96. data/docs/mkdocs/configuration/reference/index.md +168 -0
  97. data/docs/mkdocs/configuration/reference/libraries.md +82 -0
  98. data/docs/mkdocs/configuration/reference/mixins.md +24 -0
  99. data/docs/mkdocs/configuration/reference/paths.md +276 -0
  100. data/docs/mkdocs/configuration/reference/plugins.md +60 -0
  101. data/docs/mkdocs/configuration/reference/project.md +333 -0
  102. data/docs/mkdocs/configuration/reference/release-build.md +62 -0
  103. data/docs/mkdocs/configuration/reference/test-build.md +55 -0
  104. data/docs/mkdocs/configuration/reference/test-runner.md +61 -0
  105. data/docs/mkdocs/configuration/reference/tools.md +457 -0
  106. data/docs/mkdocs/configuration/reference/unity.md +49 -0
  107. data/docs/mkdocs/configuration/which-ceedling.md +77 -0
  108. data/docs/mkdocs/development/index.md +50 -0
  109. data/docs/mkdocs/development/plugins/configuration.md +164 -0
  110. data/docs/mkdocs/development/plugins/index.md +84 -0
  111. data/docs/{PluginDevelopmentGuide.md → mkdocs/development/plugins/plugin-subclass.md} +61 -312
  112. data/docs/mkdocs/development/plugins/rake-tasks.md +54 -0
  113. data/docs/mkdocs/development/workflow.md +284 -0
  114. data/docs/mkdocs/getting-started/command-line.md +477 -0
  115. data/docs/mkdocs/getting-started/example-projects/cipher-quest.md +65 -0
  116. data/docs/mkdocs/getting-started/example-projects/index.md +49 -0
  117. data/docs/mkdocs/getting-started/example-projects/temp-sensor.md +60 -0
  118. data/docs/mkdocs/getting-started/example-projects/wondrous-forest.md +45 -0
  119. data/docs/mkdocs/getting-started/index.md +41 -0
  120. data/docs/mkdocs/getting-started/installation.md +172 -0
  121. data/docs/mkdocs/getting-started/quick-start.md +65 -0
  122. data/docs/mkdocs/help.md +49 -0
  123. data/docs/mkdocs/index.md +215 -0
  124. data/docs/mkdocs/overview/build-system.md +115 -0
  125. data/docs/mkdocs/overview/index.md +29 -0
  126. data/docs/mkdocs/overview/test-environments.md +33 -0
  127. data/docs/mkdocs/overview/tools-and-frameworks.md +115 -0
  128. data/{plugins/beep/README.md → docs/mkdocs/plugins/beep.md} +10 -9
  129. data/{plugins/bullseye/README.md → docs/mkdocs/plugins/bullseye.md} +8 -12
  130. data/{plugins/command_hooks/README.md → docs/mkdocs/plugins/command-hooks.md} +69 -47
  131. data/{plugins/compile_commands_json_db/README.md → docs/mkdocs/plugins/compile-commands-json-db.md} +7 -5
  132. data/docs/mkdocs/plugins/cppcheck.md +377 -0
  133. data/{plugins/dependencies/README.md → docs/mkdocs/plugins/dependencies.md} +39 -50
  134. data/{plugins/fff/README.md → docs/mkdocs/plugins/fff.md} +42 -37
  135. data/docs/mkdocs/plugins/gcov/examples.md +92 -0
  136. data/docs/mkdocs/plugins/gcov/gcovr.md +251 -0
  137. data/docs/mkdocs/plugins/gcov/index.md +68 -0
  138. data/docs/mkdocs/plugins/gcov/overview.md +145 -0
  139. data/docs/mkdocs/plugins/gcov/reportgenerator.md +58 -0
  140. data/docs/mkdocs/plugins/gcov/reporting.md +147 -0
  141. data/docs/mkdocs/plugins/gcov/setup.md +232 -0
  142. data/docs/mkdocs/plugins/gcov/tool-versions.md +60 -0
  143. data/docs/mkdocs/plugins/gcov/troubleshooting.md +78 -0
  144. data/docs/mkdocs/plugins/index.md +221 -0
  145. data/{plugins/module_generator/README.md → docs/mkdocs/plugins/module-generator.md} +44 -44
  146. data/{plugins/report_build_warnings_log/README.md → docs/mkdocs/plugins/report-build-warnings-log.md} +6 -4
  147. data/{plugins/report_tests_gtestlike_stdout/README.md → docs/mkdocs/plugins/report-tests-gtestlike-stdout.md} +9 -7
  148. data/{plugins/report_tests_ide_stdout/README.md → docs/mkdocs/plugins/report-tests-ide-stdout.md} +8 -7
  149. data/{plugins/report_tests_log_factory/README.md → docs/mkdocs/plugins/report-tests-log-factory.md} +44 -36
  150. data/{plugins/report_tests_pretty_stdout/README.md → docs/mkdocs/plugins/report-tests-pretty-stdout.md} +8 -6
  151. data/{plugins/report_tests_raw_output_log/README.md → docs/mkdocs/plugins/report-tests-raw-output-log.md} +9 -7
  152. data/{plugins/report_tests_teamcity_stdout/README.md → docs/mkdocs/plugins/report-tests-teamcity-stdout.md} +8 -6
  153. data/docs/mkdocs/plugins/sample_html_report.png +0 -0
  154. data/docs/mkdocs/plugins/valgrind.md +192 -0
  155. data/docs/mkdocs/project/release-history.md +61 -0
  156. data/docs/{CeedlingUpgrade.md → mkdocs/project/upgrade.md} +9 -7
  157. data/docs/mkdocs/reference/build-directives.md +37 -0
  158. data/docs/mkdocs/reference/command-line.md +323 -0
  159. data/docs/mkdocs/reference/environment-vars.md +60 -0
  160. data/docs/mkdocs/reference/gcov-plugin.md +577 -0
  161. data/docs/mkdocs/reference/global-collections.md +160 -0
  162. data/docs/mkdocs/reference/index.md +65 -0
  163. data/docs/mkdocs/reference/partials-macros.md +79 -0
  164. data/docs/mkdocs/reference/project-configuration.md +46 -0
  165. data/docs/mkdocs/snapshot/assets/project.yml +404 -0
  166. data/docs/mkdocs/snapshot/examples/cipher_quest/README.md +210 -0
  167. data/docs/mkdocs/snapshot/examples/temp_sensor/README.md +283 -0
  168. data/docs/mkdocs/snapshot/examples/wondrous_forest/README.md +92 -0
  169. data/docs/mkdocs/snapshot/plugins/gcov/config/defaults.yml +33 -0
  170. data/docs/mkdocs/snapshot/plugins/gcov/config/defaults_gcov.rb +136 -0
  171. data/docs/mkdocs/snapshot.yml +20 -0
  172. data/docs/mkdocs/testing-guide/build-directives.md +153 -0
  173. data/docs/mkdocs/testing-guide/conventions.md +616 -0
  174. data/docs/mkdocs/testing-guide/frameworks.md +192 -0
  175. data/docs/mkdocs/testing-guide/index.md +80 -0
  176. data/docs/mkdocs/testing-guide/partials/configuration.md +67 -0
  177. data/docs/mkdocs/testing-guide/partials/conventions.md +68 -0
  178. data/docs/mkdocs/testing-guide/partials/directives.md +212 -0
  179. data/docs/mkdocs/testing-guide/partials/example.md +149 -0
  180. data/docs/mkdocs/testing-guide/partials/index.md +79 -0
  181. data/docs/mkdocs/testing-guide/partials/overview.md +81 -0
  182. data/docs/mkdocs/testing-guide/partials/variables.md +244 -0
  183. data/docs/mkdocs/testing-guide/test-cases.md +194 -0
  184. data/docs/mkdocs/testing-guide/test-sample.md +94 -0
  185. data/docs/mkdocs/testing-guide/test-suite-anatomy.md +58 -0
  186. data/examples/cipher_quest/README.md +210 -0
  187. data/examples/cipher_quest/mixin/release_analyze.yml +28 -0
  188. data/examples/cipher_quest/mixin/release_caesar.yml +28 -0
  189. data/examples/cipher_quest/mixin/release_full.yml +30 -0
  190. data/examples/cipher_quest/mixin/release_rot13.yml +28 -0
  191. data/examples/cipher_quest/project.yml +108 -0
  192. data/examples/cipher_quest/src/analyzer.c +83 -0
  193. data/examples/cipher_quest/src/analyzer.h +29 -0
  194. data/examples/cipher_quest/src/cipher.c +59 -0
  195. data/examples/cipher_quest/src/cipher.h +27 -0
  196. data/examples/cipher_quest/src/main.c +151 -0
  197. data/examples/cipher_quest/src/text_utils.c +119 -0
  198. data/examples/cipher_quest/src/text_utils.h +23 -0
  199. data/examples/cipher_quest/test/TestAnalyzer.c +133 -0
  200. data/examples/cipher_quest/test/TestCipherCaesar.c +81 -0
  201. data/examples/cipher_quest/test/TestCipherRot13.c +74 -0
  202. data/examples/cipher_quest/test/TestTextUtils.c +184 -0
  203. data/examples/temp_sensor/README.md +279 -14
  204. data/examples/temp_sensor/mixin/add_gcov.yml +1 -1
  205. data/examples/temp_sensor/mixin/add_unity_helper.yml +1 -1
  206. data/examples/temp_sensor/project.yml +4 -15
  207. data/examples/temp_sensor/src/AdcConductor.c +5 -1
  208. data/examples/temp_sensor/src/AdcConductor.h +1 -1
  209. data/examples/temp_sensor/src/AdcHardware.c +1 -1
  210. data/examples/temp_sensor/src/AdcHardware.h +1 -1
  211. data/examples/temp_sensor/src/AdcHardwareConfigurator.c +2 -1
  212. data/examples/temp_sensor/src/AdcHardwareConfigurator.h +1 -1
  213. data/examples/temp_sensor/src/AdcModel.c +2 -2
  214. data/examples/temp_sensor/src/AdcModel.h +1 -1
  215. data/examples/temp_sensor/src/AdcTemperatureSensor.c +2 -1
  216. data/examples/temp_sensor/src/AdcTemperatureSensor.h +1 -1
  217. data/examples/temp_sensor/src/Executor.c +1 -1
  218. data/examples/temp_sensor/src/Executor.h +1 -1
  219. data/examples/temp_sensor/src/IntrinsicsWrapper.c +1 -1
  220. data/examples/temp_sensor/src/IntrinsicsWrapper.h +1 -1
  221. data/examples/temp_sensor/src/Main.c +3 -3
  222. data/examples/temp_sensor/src/Main.h +1 -1
  223. data/examples/temp_sensor/src/Model.c +1 -1
  224. data/examples/temp_sensor/src/Model.h +1 -1
  225. data/examples/temp_sensor/src/ModelConfig.h +1 -1
  226. data/examples/temp_sensor/src/TaskScheduler.c +1 -1
  227. data/examples/temp_sensor/src/TaskScheduler.h +1 -1
  228. data/examples/temp_sensor/src/TemperatureFilter.c +1 -1
  229. data/examples/temp_sensor/src/TemperatureFilter.h +1 -1
  230. data/examples/temp_sensor/src/TimerConductor.c +1 -1
  231. data/examples/temp_sensor/src/TimerConductor.h +1 -1
  232. data/examples/temp_sensor/src/TimerConfigurator.c +2 -1
  233. data/examples/temp_sensor/src/TimerConfigurator.h +1 -1
  234. data/examples/temp_sensor/src/TimerHardware.c +1 -1
  235. data/examples/temp_sensor/src/TimerHardware.h +1 -1
  236. data/examples/temp_sensor/src/TimerInterruptConfigurator.c +2 -1
  237. data/examples/temp_sensor/src/TimerInterruptConfigurator.h +1 -1
  238. data/examples/temp_sensor/src/TimerInterruptHandler.c +2 -1
  239. data/examples/temp_sensor/src/TimerInterruptHandler.h +1 -1
  240. data/examples/temp_sensor/src/TimerModel.c +1 -1
  241. data/examples/temp_sensor/src/TimerModel.h +1 -1
  242. data/examples/temp_sensor/src/Types.h +5 -2
  243. data/examples/temp_sensor/src/UsartConductor.c +1 -1
  244. data/examples/temp_sensor/src/UsartConductor.h +1 -1
  245. data/examples/temp_sensor/src/UsartConfigurator.c +2 -1
  246. data/examples/temp_sensor/src/UsartConfigurator.h +1 -1
  247. data/examples/temp_sensor/src/UsartHardware.c +1 -1
  248. data/examples/temp_sensor/src/UsartHardware.h +1 -1
  249. data/examples/temp_sensor/src/UsartModel.c +2 -2
  250. data/examples/temp_sensor/src/UsartModel.h +1 -1
  251. data/examples/temp_sensor/src/UsartPutChar.c +2 -1
  252. data/examples/temp_sensor/src/UsartPutChar.h +1 -1
  253. data/examples/temp_sensor/src/UsartTransmitBufferStatus.c +2 -1
  254. data/examples/temp_sensor/src/UsartTransmitBufferStatus.h +1 -1
  255. data/examples/temp_sensor/src/{TemperatureCalculator.c → calculators/TemperatureCalculator.c} +1 -1
  256. data/examples/temp_sensor/src/{TemperatureCalculator.h → calculators/TemperatureCalculator.h} +1 -1
  257. data/examples/temp_sensor/src/{UsartBaudRateRegisterCalculator.c → calculators/UsartBaudRateRegisterCalculator.c} +1 -1
  258. data/examples/temp_sensor/src/{UsartBaudRateRegisterCalculator.h → calculators/UsartBaudRateRegisterCalculator.h} +1 -1
  259. data/examples/temp_sensor/test/TestExecutor.c +1 -1
  260. data/examples/temp_sensor/test/TestMain.c +5 -1
  261. data/examples/temp_sensor/test/TestModel.c +1 -1
  262. data/examples/temp_sensor/test/TestTaskScheduler.c +1 -1
  263. data/examples/temp_sensor/test/TestTemperatureCalculator.c +2 -2
  264. data/examples/temp_sensor/test/TestTemperatureFilter.c +5 -2
  265. data/examples/temp_sensor/test/TestTimerConductor.c +1 -1
  266. data/examples/temp_sensor/test/TestTimerHardware.c +1 -1
  267. data/examples/temp_sensor/test/TestTimerIntegrated.c +8 -4
  268. data/examples/temp_sensor/test/TestTimerModel.c +1 -1
  269. data/examples/temp_sensor/test/TestTimerPlatformStandin.c +154 -0
  270. data/examples/temp_sensor/test/TestUsartBaudRateRegisterCalculator.c +1 -1
  271. data/examples/temp_sensor/test/TestUsartConductor.c +1 -1
  272. data/examples/temp_sensor/test/TestUsartHardware.c +1 -1
  273. data/examples/temp_sensor/test/TestUsartIntegrated.c +9 -5
  274. data/examples/temp_sensor/test/TestUsartModel.c +2 -2
  275. data/examples/temp_sensor/test/TestUsartPlatformStandin.c +145 -0
  276. data/examples/temp_sensor/test/adc/TestAdcConductor.c +1 -1
  277. data/examples/temp_sensor/test/adc/TestAdcHardware.c +1 -1
  278. data/examples/temp_sensor/test/adc/TestAdcModel.c +1 -1
  279. data/examples/temp_sensor/test/adc/TestAdcPlatformStandin.c +100 -0
  280. data/examples/temp_sensor/test/platform/at91sam7s256.c +25 -0
  281. data/examples/temp_sensor/test/platform/at91sam7s256.h +183 -0
  282. data/examples/temp_sensor/test/support/UnityHelper.c +1 -1
  283. data/examples/temp_sensor/test/support/UnityHelper.h +1 -1
  284. data/examples/wondrous_forest/README.md +92 -0
  285. data/{lib/ceedling/release_invoker_helper.rb → examples/wondrous_forest/mixin/add_gcov.yml} +14 -4
  286. data/examples/wondrous_forest/project.yml +86 -0
  287. data/examples/wondrous_forest/src/AlertManager.c +125 -0
  288. data/examples/wondrous_forest/src/AlertManager.h +30 -0
  289. data/examples/wondrous_forest/src/EventQueue.c +73 -0
  290. data/examples/wondrous_forest/src/EventQueue.h +22 -0
  291. data/examples/wondrous_forest/src/ForestMonitor.c +88 -0
  292. data/examples/wondrous_forest/src/ForestMonitor.h +18 -0
  293. data/examples/wondrous_forest/src/HumiditySensor.c +57 -0
  294. data/examples/wondrous_forest/src/HumiditySensor.h +17 -0
  295. data/examples/wondrous_forest/src/LightSensor.c +51 -0
  296. data/examples/wondrous_forest/src/LightSensor.h +18 -0
  297. data/examples/wondrous_forest/src/SensorHal.c +62 -0
  298. data/examples/wondrous_forest/src/SensorHal.h +19 -0
  299. data/examples/wondrous_forest/src/SoilMoisture.c +61 -0
  300. data/examples/wondrous_forest/src/SoilMoisture.h +19 -0
  301. data/examples/wondrous_forest/src/TemperatureSensor.c +67 -0
  302. data/examples/wondrous_forest/src/TemperatureSensor.h +18 -0
  303. data/examples/wondrous_forest/src/Types.h +84 -0
  304. data/examples/wondrous_forest/src/UartDriver.c +55 -0
  305. data/examples/wondrous_forest/src/UartDriver.h +18 -0
  306. data/examples/wondrous_forest/test/TestAlertManager.c +105 -0
  307. data/examples/wondrous_forest/test/TestEventQueue.c +117 -0
  308. data/examples/wondrous_forest/test/TestForestMonitor.c +118 -0
  309. data/examples/wondrous_forest/test/TestHumiditySensor.c +85 -0
  310. data/examples/wondrous_forest/test/TestLightSensor.c +79 -0
  311. data/examples/wondrous_forest/test/TestSensorHal.c +58 -0
  312. data/examples/wondrous_forest/test/TestSoilMoisture.c +96 -0
  313. data/examples/wondrous_forest/test/TestTemperatureSensor.c +100 -0
  314. data/examples/wondrous_forest/test/TestUartDriver.c +55 -0
  315. data/lib/ceedling/application.rb +1 -1
  316. data/lib/ceedling/array_patches.rb +28 -0
  317. data/lib/ceedling/batchinator.rb +76 -0
  318. data/lib/ceedling/c_extractor/c_extractor.rb +340 -0
  319. data/lib/ceedling/c_extractor/c_extractor_code_text.rb +283 -0
  320. data/lib/ceedling/c_extractor/c_extractor_constants.rb +38 -0
  321. data/lib/ceedling/c_extractor/c_extractor_declarations.rb +415 -0
  322. data/lib/ceedling/c_extractor/c_extractor_definitions.rb +157 -0
  323. data/lib/ceedling/c_extractor/c_extractor_functions.rb +402 -0
  324. data/lib/ceedling/c_extractor/c_extractor_preprocessing.rb +262 -0
  325. data/lib/ceedling/c_extractor/c_extractor_types.rb +122 -0
  326. data/lib/ceedling/cacheinator.rb +1 -1
  327. data/lib/ceedling/cacheinator_helper.rb +23 -4
  328. data/lib/ceedling/ceedling.h +40 -0
  329. data/lib/ceedling/{config_matchinator.rb → config/config_matchinator.rb} +67 -5
  330. data/lib/ceedling/{config_walkinator.rb → config/config_walkinator.rb} +1 -1
  331. data/lib/ceedling/{configurator.rb → config/configurator.rb} +269 -107
  332. data/lib/ceedling/{configurator_builder.rb → config/configurator_builder.rb} +25 -6
  333. data/lib/ceedling/{configurator_plugins.rb → config/configurator_plugins.rb} +2 -4
  334. data/lib/ceedling/{configurator_setup.rb → config/configurator_setup.rb} +39 -71
  335. data/lib/ceedling/{configurator_validator.rb → config/configurator_validator.rb} +1 -1
  336. data/lib/ceedling/constants.rb +59 -18
  337. data/lib/ceedling/defaults.rb +31 -44
  338. data/lib/ceedling/defineinator.rb +2 -2
  339. data/lib/ceedling/dependinator.rb +1 -1
  340. data/lib/ceedling/encodinator.rb +1 -1
  341. data/lib/ceedling/erb_wrapper.rb +1 -1
  342. data/lib/ceedling/exceptions.rb +23 -3
  343. data/lib/ceedling/file_finder.rb +39 -10
  344. data/lib/ceedling/file_finder_helper.rb +2 -2
  345. data/lib/ceedling/file_path_collection_utils.rb +37 -23
  346. data/lib/ceedling/file_path_utils.rb +183 -26
  347. data/lib/ceedling/file_system_wrapper.rb +1 -1
  348. data/lib/ceedling/file_wrapper.rb +14 -1
  349. data/lib/ceedling/flaginator.rb +1 -1
  350. data/lib/ceedling/{generator.rb → generators/generator.rb} +86 -23
  351. data/lib/ceedling/{generator_helper.rb → generators/generator_helper.rb} +17 -11
  352. data/lib/ceedling/{generator_mocks.rb → generators/generator_mocks.rb} +1 -1
  353. data/lib/ceedling/generators/generator_partials.rb +177 -0
  354. data/lib/ceedling/{generator_test_results.rb → generators/generator_test_results.rb} +43 -17
  355. data/lib/ceedling/generators/generator_test_results_backtrace.rb +290 -0
  356. data/lib/ceedling/{generator_test_results_sanity_checker.rb → generators/generator_test_results_sanity_checker.rb} +1 -1
  357. data/lib/ceedling/generators/generator_test_runner.rb +97 -0
  358. data/lib/ceedling/includes/include_factory.rb +43 -0
  359. data/lib/ceedling/{include_pathinator.rb → includes/include_pathinator.rb} +1 -1
  360. data/lib/ceedling/includes/includes.rb +341 -0
  361. data/lib/ceedling/loginator.rb +115 -12
  362. data/lib/ceedling/makefile.rb +1 -1
  363. data/lib/ceedling/objects.yml +145 -43
  364. data/lib/ceedling/parsing_parcels.rb +35 -9
  365. data/lib/ceedling/partials/partializer.rb +444 -0
  366. data/lib/ceedling/partials/partializer_config.rb +217 -0
  367. data/lib/ceedling/partials/partializer_helper.rb +344 -0
  368. data/lib/ceedling/partials/partializer_runtime.rb +29 -0
  369. data/lib/ceedling/partials/partializer_utils.rb +222 -0
  370. data/lib/ceedling/partials/partials.rb +82 -0
  371. data/lib/ceedling/{plugin.rb → plugins/plugin.rb} +1 -1
  372. data/lib/ceedling/{plugin_manager.rb → plugins/plugin_manager.rb} +47 -21
  373. data/lib/ceedling/{plugin_manager_helper.rb → plugins/plugin_manager_helper.rb} +1 -1
  374. data/lib/ceedling/{plugin_reportinator.rb → plugins/plugin_reportinator.rb} +10 -18
  375. data/lib/ceedling/{plugin_reportinator_helper.rb → plugins/plugin_reportinator_helper.rb} +22 -26
  376. data/lib/ceedling/plugins/report_tests_stdout_plugin.rb +88 -0
  377. data/lib/ceedling/preprocess/README.md +184 -0
  378. data/lib/ceedling/preprocess/c_comment_scanner.rb +194 -0
  379. data/lib/ceedling/preprocess/c_preprocessor_conditionals.rb +170 -0
  380. data/lib/ceedling/preprocess/preprocessinator.rb +605 -0
  381. data/lib/ceedling/preprocess/preprocessinator_bare_includes_extractor.rb +69 -0
  382. data/lib/ceedling/preprocess/preprocessinator_code_finder.rb +150 -0
  383. data/lib/ceedling/preprocess/preprocessinator_comment_stripper.rb +80 -0
  384. data/lib/ceedling/preprocess/preprocessinator_file_assembler.rb +378 -0
  385. data/lib/ceedling/preprocess/preprocessinator_includes_handler.rb +224 -0
  386. data/lib/ceedling/preprocess/preprocessinator_line_marker_includes_extractor.rb +215 -0
  387. data/lib/ceedling/preprocess/preprocessinator_reconstructor.rb +398 -0
  388. data/lib/ceedling/rake_app/rake_invocation_tracker.rb +39 -0
  389. data/lib/ceedling/rake_app/rake_task_registry.rb +210 -0
  390. data/lib/ceedling/{rake_utils.rb → rake_app/rake_utils.rb} +1 -1
  391. data/lib/ceedling/{rake_wrapper.rb → rake_app/rake_wrapper.rb} +1 -1
  392. data/lib/ceedling/rake_app/rakefile_component_resolver.rb +77 -0
  393. data/lib/ceedling/rakefile.rb +16 -8
  394. data/lib/ceedling/release_invoker.rb +48 -4
  395. data/lib/ceedling/reportinator.rb +39 -18
  396. data/lib/ceedling/ruby_expandinator.rb +61 -0
  397. data/lib/ceedling/rules_release.rake +4 -2
  398. data/lib/ceedling/rules_tests.rake +1 -23
  399. data/lib/ceedling/setupinator.rb +23 -11
  400. data/lib/ceedling/stream_wrapper.rb +1 -1
  401. data/lib/ceedling/system_utils.rb +1 -1
  402. data/lib/ceedling/system_wrapper.rb +18 -21
  403. data/lib/ceedling/tasks_base.rake +3 -3
  404. data/lib/ceedling/tasks_filesystem.rake +22 -12
  405. data/lib/ceedling/tasks_release.rake +11 -18
  406. data/lib/ceedling/tasks_tests.rake +1 -1
  407. data/lib/ceedling/test_context_extractor.rb +178 -109
  408. data/lib/ceedling/test_invoker/test_build_executor.rb +661 -0
  409. data/lib/ceedling/test_invoker/test_build_planner.rb +277 -0
  410. data/lib/ceedling/test_invoker/test_build_setup.rb +441 -0
  411. data/lib/ceedling/test_invoker/test_invoker.rb +251 -0
  412. data/lib/ceedling/test_invoker/test_invoker_types.rb +56 -0
  413. data/lib/ceedling/test_runner_manager.rb +1 -1
  414. data/lib/ceedling/tool_executor.rb +29 -19
  415. data/lib/ceedling/tool_executor_helper.rb +7 -15
  416. data/lib/ceedling/tool_validator.rb +24 -8
  417. data/lib/ceedling/verbosinator.rb +1 -1
  418. data/lib/ceedling/yaml_wrapper.rb +72 -12
  419. data/lib/ceedling.rb +1 -1
  420. data/lib/snapshot.rb +43 -0
  421. data/lib/version.rb +2 -2
  422. data/license.txt +1 -1
  423. data/mkdocs.local.yml +45 -0
  424. data/mkdocs.yml +202 -0
  425. data/plugins/beep/config/defaults.yml +1 -1
  426. data/plugins/beep/config/defaults_beep.rb +1 -1
  427. data/plugins/beep/lib/beep.rb +7 -5
  428. data/plugins/bullseye/assets/template.erb +1 -1
  429. data/plugins/bullseye/bullseye.rake +1 -1
  430. data/plugins/bullseye/config/defaults.yml +1 -1
  431. data/plugins/bullseye/lib/bullseye.rb +9 -9
  432. data/plugins/command_hooks/lib/command_hooks.rb +43 -38
  433. data/plugins/compile_commands_json_db/lib/compile_commands_json_db.rb +2 -2
  434. data/plugins/cppcheck/AUTHORS.md +8 -0
  435. data/plugins/cppcheck/config/defaults.yml +44 -0
  436. data/plugins/cppcheck/config/defaults_cppcheck.rb +32 -0
  437. data/plugins/cppcheck/cppcheck.rake +54 -0
  438. data/plugins/cppcheck/lib/cppcheck.rb +247 -0
  439. data/plugins/cppcheck/lib/cppcheck_constants.rb +20 -0
  440. data/plugins/cppcheck/lib/cppcheck_reports.rb +160 -0
  441. data/plugins/dependencies/Rakefile +1 -1
  442. data/plugins/dependencies/config/defaults.yml +1 -1
  443. data/plugins/dependencies/dependencies.rake +3 -3
  444. data/plugins/dependencies/example/boss/project.yml +1 -3
  445. data/plugins/dependencies/example/boss/src/boss.c +1 -1
  446. data/plugins/dependencies/example/boss/src/boss.h +1 -1
  447. data/plugins/dependencies/example/boss/src/main.c +1 -1
  448. data/plugins/dependencies/example/boss/test/test_boss.c +1 -1
  449. data/plugins/dependencies/example/supervisor/project.yml +1 -3
  450. data/plugins/dependencies/example/supervisor/src/supervisor.c +1 -1
  451. data/plugins/dependencies/example/supervisor/src/supervisor.h +1 -1
  452. data/plugins/dependencies/example/supervisor/test/test_supervisor.c +1 -1
  453. data/plugins/dependencies/lib/dependencies.rb +14 -2
  454. data/plugins/fff/Rakefile +1 -1
  455. data/plugins/fff/config/fff.yml +1 -1
  456. data/plugins/fff/examples/fff_example/project.yml +2 -2
  457. data/plugins/fff/examples/fff_example/src/bar.c +1 -1
  458. data/plugins/fff/examples/fff_example/src/bar.h +1 -1
  459. data/plugins/fff/examples/fff_example/src/custom_types.h +1 -1
  460. data/plugins/fff/examples/fff_example/src/display.c +1 -1
  461. data/plugins/fff/examples/fff_example/src/display.h +1 -1
  462. data/plugins/fff/examples/fff_example/src/event_processor.c +1 -1
  463. data/plugins/fff/examples/fff_example/src/event_processor.h +1 -1
  464. data/plugins/fff/examples/fff_example/src/foo.c +1 -1
  465. data/plugins/fff/examples/fff_example/src/foo.h +1 -1
  466. data/plugins/fff/examples/fff_example/src/subfolder/zzz.c +1 -1
  467. data/plugins/fff/examples/fff_example/src/subfolder/zzz.h +1 -1
  468. data/plugins/fff/examples/fff_example/test/test_event_processor.c +1 -1
  469. data/plugins/fff/examples/fff_example/test/test_foo.c +1 -1
  470. data/plugins/fff/lib/fff.rb +10 -5
  471. data/plugins/fff/lib/fff_mock_generator.rb +1 -1
  472. data/plugins/fff/spec/fff_mock_header_generator_spec.rb +1 -1
  473. data/plugins/fff/spec/fff_mock_source_generator_spec.rb +1 -1
  474. data/plugins/fff/spec/header_generator.rb +1 -1
  475. data/plugins/fff/spec/spec_helper.rb +1 -1
  476. data/plugins/fff/src/fff_unity_helper.h +1 -1
  477. data/plugins/gcov/config/defaults.yml +4 -1
  478. data/plugins/gcov/config/defaults_gcov.rb +40 -13
  479. data/plugins/gcov/gcov.rake +31 -1
  480. data/plugins/gcov/lib/console_reportinator.rb +180 -0
  481. data/plugins/gcov/lib/gcov.rb +189 -103
  482. data/plugins/gcov/lib/gcov_constants.rb +16 -4
  483. data/plugins/gcov/lib/gcov_reportinator.rb +63 -0
  484. data/{spec/configurator_helper_spec.rb → plugins/gcov/lib/gcov_types.rb} +2 -6
  485. data/plugins/gcov/lib/gcovr_reportinator.rb +237 -136
  486. data/plugins/gcov/lib/reportgenerator_reportinator.rb +242 -116
  487. data/plugins/module_generator/Rakefile +1 -1
  488. data/plugins/module_generator/assets/stubby1.h +1 -1
  489. data/plugins/module_generator/assets/stubby2.h +1 -1
  490. data/plugins/module_generator/config/module_generator.yml +1 -1
  491. data/plugins/module_generator/example/project.yml +1 -3
  492. data/plugins/module_generator/lib/module_generator.rb +2 -2
  493. data/plugins/module_generator/module_generator.rake +1 -1
  494. data/plugins/report_build_warnings_log/lib/report_build_warnings_log.rb +14 -20
  495. data/plugins/report_tests_gtestlike_stdout/assets/template.erb +3 -3
  496. data/plugins/report_tests_gtestlike_stdout/config/report_tests_gtestlike_stdout.yml +1 -1
  497. data/plugins/report_tests_gtestlike_stdout/lib/report_tests_gtestlike_stdout.rb +4 -61
  498. data/plugins/report_tests_ide_stdout/config/report_tests_ide_stdout.yml +1 -1
  499. data/plugins/report_tests_ide_stdout/lib/report_tests_ide_stdout.rb +7 -60
  500. data/plugins/report_tests_log_factory/config/defaults.yml +1 -1
  501. data/plugins/report_tests_log_factory/lib/cppunit_tests_reporter.rb +5 -5
  502. data/plugins/report_tests_log_factory/lib/html_tests_reporter.rb +302 -133
  503. data/plugins/report_tests_log_factory/lib/json_tests_reporter.rb +9 -7
  504. data/plugins/report_tests_log_factory/lib/junit_tests_reporter.rb +6 -5
  505. data/plugins/report_tests_log_factory/lib/report_tests_log_factory.rb +72 -36
  506. data/plugins/report_tests_log_factory/lib/tests_reporter.rb +8 -8
  507. data/plugins/report_tests_pretty_stdout/assets/template.erb +1 -2
  508. data/plugins/report_tests_pretty_stdout/config/report_tests_pretty_stdout.yml +1 -1
  509. data/plugins/report_tests_pretty_stdout/lib/report_tests_pretty_stdout.rb +4 -65
  510. data/plugins/report_tests_raw_output_log/lib/report_tests_raw_output_log.rb +4 -4
  511. data/plugins/report_tests_teamcity_stdout/config/defaults.yml +1 -1
  512. data/plugins/report_tests_teamcity_stdout/config/report_tests_teamcity_stdout.yml +1 -1
  513. data/plugins/report_tests_teamcity_stdout/lib/report_tests_teamcity_stdout.rb +2 -2
  514. data/plugins/valgrind/config/defaults.yml +19 -0
  515. data/plugins/valgrind/config/defaults_valgrind.rb +20 -0
  516. data/plugins/valgrind/lib/valgrind.rb +132 -0
  517. data/plugins/valgrind/lib/valgrind_constants.rb +13 -0
  518. data/plugins/valgrind/valgrind.rake +87 -0
  519. data/site-local/404.html +4002 -0
  520. data/site-local/assets/images/ceedling-logo-circle.png +0 -0
  521. data/site-local/assets/images/ceedling.svg +90 -0
  522. data/site-local/assets/images/favicon.png +0 -0
  523. data/site-local/assets/javascripts/bundle.79ae519e.min.js +16 -0
  524. data/site-local/assets/javascripts/bundle.79ae519e.min.js.map +7 -0
  525. data/site-local/assets/javascripts/lunr/min/lunr.ar.min.js +1 -0
  526. data/site-local/assets/javascripts/lunr/min/lunr.da.min.js +18 -0
  527. data/site-local/assets/javascripts/lunr/min/lunr.de.min.js +18 -0
  528. data/site-local/assets/javascripts/lunr/min/lunr.du.min.js +18 -0
  529. data/site-local/assets/javascripts/lunr/min/lunr.el.min.js +1 -0
  530. data/site-local/assets/javascripts/lunr/min/lunr.es.min.js +18 -0
  531. data/site-local/assets/javascripts/lunr/min/lunr.fi.min.js +18 -0
  532. data/site-local/assets/javascripts/lunr/min/lunr.fr.min.js +18 -0
  533. data/site-local/assets/javascripts/lunr/min/lunr.he.min.js +1 -0
  534. data/site-local/assets/javascripts/lunr/min/lunr.hi.min.js +1 -0
  535. data/site-local/assets/javascripts/lunr/min/lunr.hu.min.js +18 -0
  536. data/site-local/assets/javascripts/lunr/min/lunr.hy.min.js +1 -0
  537. data/site-local/assets/javascripts/lunr/min/lunr.it.min.js +18 -0
  538. data/site-local/assets/javascripts/lunr/min/lunr.ja.min.js +1 -0
  539. data/site-local/assets/javascripts/lunr/min/lunr.jp.min.js +1 -0
  540. data/site-local/assets/javascripts/lunr/min/lunr.kn.min.js +1 -0
  541. data/site-local/assets/javascripts/lunr/min/lunr.ko.min.js +1 -0
  542. data/site-local/assets/javascripts/lunr/min/lunr.multi.min.js +1 -0
  543. data/site-local/assets/javascripts/lunr/min/lunr.nl.min.js +18 -0
  544. data/site-local/assets/javascripts/lunr/min/lunr.no.min.js +18 -0
  545. data/site-local/assets/javascripts/lunr/min/lunr.pt.min.js +18 -0
  546. data/site-local/assets/javascripts/lunr/min/lunr.ro.min.js +18 -0
  547. data/site-local/assets/javascripts/lunr/min/lunr.ru.min.js +18 -0
  548. data/site-local/assets/javascripts/lunr/min/lunr.sa.min.js +1 -0
  549. data/site-local/assets/javascripts/lunr/min/lunr.stemmer.support.min.js +1 -0
  550. data/site-local/assets/javascripts/lunr/min/lunr.sv.min.js +18 -0
  551. data/site-local/assets/javascripts/lunr/min/lunr.ta.min.js +1 -0
  552. data/site-local/assets/javascripts/lunr/min/lunr.te.min.js +1 -0
  553. data/site-local/assets/javascripts/lunr/min/lunr.th.min.js +1 -0
  554. data/site-local/assets/javascripts/lunr/min/lunr.tr.min.js +18 -0
  555. data/site-local/assets/javascripts/lunr/min/lunr.vi.min.js +1 -0
  556. data/site-local/assets/javascripts/lunr/min/lunr.zh.min.js +1 -0
  557. data/site-local/assets/javascripts/lunr/tinyseg.js +206 -0
  558. data/site-local/assets/javascripts/lunr/wordcut.js +6708 -0
  559. data/site-local/assets/javascripts/workers/search.2c215733.min.js +42 -0
  560. data/site-local/assets/javascripts/workers/search.2c215733.min.js.map +7 -0
  561. data/site-local/assets/stylesheets/admonitions.css +152 -0
  562. data/site-local/assets/stylesheets/fixes-local.css +15 -0
  563. data/site-local/assets/stylesheets/main.484c7ddc.min.css +1 -0
  564. data/site-local/assets/stylesheets/main.484c7ddc.min.css.map +1 -0
  565. data/site-local/assets/stylesheets/palette.ab4e12ef.min.css +1 -0
  566. data/site-local/assets/stylesheets/palette.ab4e12ef.min.css.map +1 -0
  567. data/site-local/assets/stylesheets/styling.css +102 -0
  568. data/site-local/configuration/environment-vars.html +4102 -0
  569. data/site-local/configuration/global-collections.html +4248 -0
  570. data/site-local/configuration/index.html +4169 -0
  571. data/site-local/configuration/loading.html +4348 -0
  572. data/site-local/configuration/mixins.html +5060 -0
  573. data/site-local/configuration/parallel-builds.html +4347 -0
  574. data/site-local/configuration/project-file.html +4474 -0
  575. data/site-local/configuration/reference/cexception.html +4225 -0
  576. data/site-local/configuration/reference/cmock.html +4401 -0
  577. data/site-local/configuration/reference/defines.html +4734 -0
  578. data/site-local/configuration/reference/environment.html +4242 -0
  579. data/site-local/configuration/reference/extension.html +4387 -0
  580. data/site-local/configuration/reference/files.html +4541 -0
  581. data/site-local/configuration/reference/flags.html +4681 -0
  582. data/site-local/configuration/reference/index.html +4290 -0
  583. data/site-local/configuration/reference/libraries.html +4365 -0
  584. data/site-local/configuration/reference/mixins.html +4195 -0
  585. data/site-local/configuration/reference/paths.html +4714 -0
  586. data/site-local/configuration/reference/plugins.html +4262 -0
  587. data/site-local/configuration/reference/project.html +4777 -0
  588. data/site-local/configuration/reference/release-build.html +4287 -0
  589. data/site-local/configuration/reference/test-build.html +4264 -0
  590. data/site-local/configuration/reference/test-runner.html +4289 -0
  591. data/site-local/configuration/reference/tools.html +5120 -0
  592. data/site-local/configuration/reference/unity.html +4255 -0
  593. data/site-local/configuration/which-ceedling.html +4269 -0
  594. data/site-local/development/index.html +4148 -0
  595. data/site-local/development/plugins/configuration.html +4446 -0
  596. data/site-local/development/plugins/index.html +4212 -0
  597. data/site-local/development/plugins/plugin-subclass.html +5068 -0
  598. data/site-local/development/plugins/rake-tasks.html +4236 -0
  599. data/site-local/development/workflow.html +4664 -0
  600. data/site-local/getting-started/command-line.html +5498 -0
  601. data/site-local/getting-started/example-projects/cipher-quest.html +4272 -0
  602. data/site-local/getting-started/example-projects/index.html +4173 -0
  603. data/site-local/getting-started/example-projects/temp-sensor.html +4322 -0
  604. data/site-local/getting-started/example-projects/wondrous-forest.html +4290 -0
  605. data/site-local/getting-started/index.html +4116 -0
  606. data/site-local/getting-started/installation.html +4452 -0
  607. data/site-local/getting-started/quick-start.html +4262 -0
  608. data/site-local/help.html +4081 -0
  609. data/site-local/index.html +4364 -0
  610. data/site-local/overview/build-system.html +4288 -0
  611. data/site-local/overview/index.html +4103 -0
  612. data/site-local/overview/test-environments.html +4116 -0
  613. data/site-local/overview/tools-and-frameworks.html +4433 -0
  614. data/site-local/plugins/beep.html +4413 -0
  615. data/site-local/plugins/bullseye.html +4249 -0
  616. data/site-local/plugins/command-hooks.html +5023 -0
  617. data/site-local/plugins/compile-commands-json-db.html +4243 -0
  618. data/site-local/plugins/cppcheck.html +4851 -0
  619. data/site-local/plugins/dependencies.html +4828 -0
  620. data/site-local/plugins/fff.html +4661 -0
  621. data/site-local/plugins/gcov/examples.html +4293 -0
  622. data/site-local/plugins/gcov/gcovr.html +4512 -0
  623. data/site-local/plugins/gcov/index.html +4150 -0
  624. data/site-local/plugins/gcov/overview.html +4410 -0
  625. data/site-local/plugins/gcov/reportgenerator.html +4164 -0
  626. data/site-local/plugins/gcov/reporting.html +4336 -0
  627. data/site-local/plugins/gcov/setup.html +4597 -0
  628. data/site-local/plugins/gcov/tool-versions.html +4269 -0
  629. data/site-local/plugins/gcov/troubleshooting.html +4313 -0
  630. data/site-local/plugins/index.html +4348 -0
  631. data/site-local/plugins/module-generator.html +4588 -0
  632. data/site-local/plugins/report-build-warnings-log.html +4229 -0
  633. data/site-local/plugins/report-tests-gtestlike-stdout.html +4357 -0
  634. data/site-local/plugins/report-tests-ide-stdout.html +4270 -0
  635. data/site-local/plugins/report-tests-log-factory.html +4792 -0
  636. data/site-local/plugins/report-tests-pretty-stdout.html +4265 -0
  637. data/site-local/plugins/report-tests-raw-output-log.html +4292 -0
  638. data/site-local/plugins/report-tests-teamcity-stdout.html +4291 -0
  639. data/site-local/plugins/sample_html_report.png +0 -0
  640. data/site-local/plugins/valgrind.html +4605 -0
  641. data/site-local/project/release-history.html +4225 -0
  642. data/site-local/project/upgrade.html +4314 -0
  643. data/site-local/reference/build-directives.html +4210 -0
  644. data/site-local/reference/command-line.html +4989 -0
  645. data/site-local/reference/environment-vars.html +4278 -0
  646. data/site-local/reference/gcov-plugin.html +5886 -0
  647. data/site-local/reference/global-collections.html +4385 -0
  648. data/site-local/reference/index.html +4126 -0
  649. data/site-local/reference/partials-macros.html +4326 -0
  650. data/site-local/reference/project-configuration.html +4253 -0
  651. data/site-local/sitemap.xml +3 -0
  652. data/site-local/sitemap.xml.gz +0 -0
  653. data/site-local/snapshot/assets/project.yml +404 -0
  654. data/site-local/snapshot/examples/cipher_quest/index.html +4292 -0
  655. data/site-local/snapshot/examples/temp_sensor/index.html +4416 -0
  656. data/site-local/snapshot/examples/wondrous_forest/index.html +4200 -0
  657. data/site-local/snapshot/plugins/gcov/config/defaults.yml +33 -0
  658. data/site-local/snapshot/plugins/gcov/config/defaults_gcov.rb +136 -0
  659. data/site-local/testing-guide/build-directives.html +4481 -0
  660. data/site-local/testing-guide/conventions.html +5233 -0
  661. data/site-local/testing-guide/frameworks.html +4488 -0
  662. data/site-local/testing-guide/index.html +4174 -0
  663. data/site-local/testing-guide/partials/configuration.html +4347 -0
  664. data/site-local/testing-guide/partials/conventions.html +4327 -0
  665. data/site-local/testing-guide/partials/directives.html +4680 -0
  666. data/site-local/testing-guide/partials/example.html +4448 -0
  667. data/site-local/testing-guide/partials/index.html +4167 -0
  668. data/site-local/testing-guide/partials/overview.html +4322 -0
  669. data/site-local/testing-guide/partials/variables.html +4548 -0
  670. data/site-local/testing-guide/test-cases.html +4436 -0
  671. data/site-local/testing-guide/test-sample.html +4265 -0
  672. data/site-local/testing-guide/test-suite-anatomy.html +4249 -0
  673. data/spec/manual/stress_test.rb +1 -1
  674. data/spec/support/other_target.yml +1 -1
  675. data/spec/support/spec_helper.rb +20 -0
  676. data/spec/support/system/gem_dir_layout.rb +20 -0
  677. data/spec/support/system/spec_system_helper.rb +206 -0
  678. data/spec/support/system/system_context.rb +310 -0
  679. data/spec/support/system/system_test_output.rb +28 -0
  680. data/spec/support/target.yml +1 -1
  681. data/spec/system/cppcheck_deployment_spec.rb +49 -0
  682. data/spec/system/deployment_as_gem_spec.rb +86 -48
  683. data/spec/system/deployment_as_vendor_spec.rb +141 -79
  684. data/spec/system/encoding_stress_spec.rb +153 -0
  685. data/spec/system/example_cipher_quest_spec.rb +186 -0
  686. data/spec/system/example_temp_sensor_spec.rb +41 -35
  687. data/spec/system/example_wondrous_forest_spec.rb +117 -0
  688. data/spec/{gcov → system}/gcov_deployment_spec.rb +55 -26
  689. data/spec/system/mixin_ordering_spec.rb +548 -0
  690. data/spec/system/preprocessing_encoding_spec.rb +114 -0
  691. data/spec/system/preprocessing_fallback_conditionals_spec.rb +166 -0
  692. data/spec/system/preprocessing_locale_spec.rb +153 -0
  693. data/spec/system/preprocessing_parameterized_tests_spec.rb +183 -0
  694. data/spec/system/ruby_replacement_spec.rb +141 -0
  695. data/spec/{spec_system_helper.rb → system/support/common_test_cases.rb} +301 -350
  696. data/spec/system/support/cppcheck_common_test_cases.rb +98 -0
  697. data/spec/system/support/cppcheck_helpers.rb +27 -0
  698. data/spec/{gcov/gcov_test_cases_spec.rb → system/support/gcov_common_test_cases.rb} +224 -111
  699. data/spec/system/support/gcov_helpers.rb +81 -0
  700. data/spec/system/support/valgrind_common_test_cases.rb +120 -0
  701. data/spec/system/support/valgrind_helpers.rb +21 -0
  702. data/spec/system/upgrade_as_vendor_spec.rb +74 -39
  703. data/spec/system/valgrind_deployment_spec.rb +53 -0
  704. data/spec/units/bin/cli_helper_spec.rb +69 -0
  705. data/spec/units/bin/merginator_spec.rb +279 -0
  706. data/spec/units/bin/mixin_standardizer_spec.rb +231 -0
  707. data/spec/units/bin/mixinator_spec.rb +583 -0
  708. data/spec/units/bin/projectinator_mixin_spec.rb +362 -0
  709. data/spec/units/bin/recursive_merger_spec.rb +241 -0
  710. data/spec/units/c_extractor/c_extractor_code_text_spec.rb +2091 -0
  711. data/spec/units/c_extractor/c_extractor_declarations_spec.rb +746 -0
  712. data/spec/units/c_extractor/c_extractor_definitions_spec.rb +417 -0
  713. data/spec/units/c_extractor/c_extractor_functions_spec.rb +2742 -0
  714. data/spec/units/c_extractor/c_extractor_integration_spec.rb +935 -0
  715. data/spec/units/c_extractor/c_extractor_preprocessing_spec.rb +497 -0
  716. data/spec/units/c_extractor/c_extractor_spec.rb +356 -0
  717. data/spec/units/config_matchinator_spec.rb +401 -0
  718. data/spec/{config_walkinator_spec.rb → units/config_walkinator_spec.rb} +2 -2
  719. data/spec/{configurator_builder_spec.rb → units/configurator_builder_spec.rb} +1 -1
  720. data/spec/units/configurator_spec.rb +187 -0
  721. data/spec/{file_finder_helper_spec.rb → units/file_finder_helper_spec.rb} +1 -1
  722. data/spec/units/file_path_collection_utils_spec.rb +222 -0
  723. data/spec/units/file_path_utils_spec.rb +274 -0
  724. data/spec/units/generators/generator_helper_spec.rb +112 -0
  725. data/spec/units/generators/generator_partials_spec.rb +795 -0
  726. data/spec/units/generators/generator_test_results_backtrace_spec.rb +492 -0
  727. data/spec/{generator_test_results_sanity_checker_spec.rb → units/generators/generator_test_results_sanity_checker_spec.rb} +5 -4
  728. data/spec/units/generators/generator_test_results_spec.rb +412 -0
  729. data/spec/units/generators/generator_test_runner_spec.rb +120 -0
  730. data/spec/units/includes/include_spec.rb +716 -0
  731. data/spec/units/includes/includes_spec.rb +1069 -0
  732. data/spec/units/parsing_parcels_spec.rb +139 -0
  733. data/spec/units/partials/partializer_config_spec.rb +388 -0
  734. data/spec/units/partials/partializer_helper_spec.rb +992 -0
  735. data/spec/units/partials/partializer_spec.rb +1629 -0
  736. data/spec/units/partials/partializer_utils_spec.rb +587 -0
  737. data/spec/units/plugin_manager_spec.rb +48 -0
  738. data/spec/units/plugins/cppcheck_spec.rb +557 -0
  739. data/spec/units/preprocess/c_comment_scanner_spec.rb +409 -0
  740. data/spec/units/preprocess/c_preprocessor_conditionals_spec.rb +396 -0
  741. data/spec/units/preprocess/preprocessinator_code_finder_spec.rb +361 -0
  742. data/spec/units/preprocess/preprocessinator_comment_stripper_spec.rb +580 -0
  743. data/spec/units/preprocess/preprocessinator_file_assembler_spec.rb +263 -0
  744. data/spec/units/preprocess/preprocessinator_includes_handler_spec.rb +337 -0
  745. data/spec/{preprocessinator_extractor_spec.rb → units/preprocess/preprocessinator_reconstructor_spec.rb} +297 -5
  746. data/spec/units/reportinator_spec.rb +251 -0
  747. data/spec/units/ruby_expandinator_spec.rb +91 -0
  748. data/spec/{system_utils_spec.rb → units/system_utils_spec.rb} +4 -4
  749. data/spec/units/test_context_extractor_spec.rb +437 -0
  750. data/spec/{tool_executor_helper_spec.rb → units/tool_executor_helper_spec.rb} +19 -33
  751. data/spec/units/tool_executor_spec.rb +83 -0
  752. data/spec/units/tool_validator_spec.rb +60 -0
  753. data/spec/units/yaml_wrapper_spec.rb +108 -0
  754. data/vendor/cmock/Gemfile +4 -1
  755. data/vendor/cmock/LICENSE.txt +1 -1
  756. data/vendor/cmock/config/production_environment.rb +1 -1
  757. data/vendor/cmock/config/test_environment.rb +1 -1
  758. data/vendor/cmock/docs/CMockChangeLog.md +47 -0
  759. data/vendor/cmock/docs/CMockKnownIssues.md +0 -1
  760. data/vendor/cmock/docs/CMock_ArgumentValidation.md +180 -25
  761. data/vendor/cmock/docs/CMock_Summary.md +158 -16
  762. data/vendor/cmock/examples/make_example/Makefile +1 -1
  763. data/vendor/cmock/examples/make_example/src/foo.c +1 -1
  764. data/vendor/cmock/examples/make_example/src/foo.h +1 -1
  765. data/vendor/cmock/examples/make_example/src/main.c +1 -1
  766. data/vendor/cmock/examples/make_example/test/test_foo.c +1 -1
  767. data/vendor/cmock/examples/make_example/test/test_main.c +2 -2
  768. data/vendor/cmock/examples/temp_sensor/project.yml +75 -0
  769. data/vendor/cmock/examples/temp_sensor/rakefile.rb +3 -3
  770. data/vendor/cmock/examples/temp_sensor/rakefile_helper.rb +163 -119
  771. data/vendor/cmock/examples/temp_sensor/src/AT91SAM7X256.h +1 -1
  772. data/vendor/cmock/examples/temp_sensor/src/AdcConductor.c +1 -1
  773. data/vendor/cmock/examples/temp_sensor/src/AdcConductor.h +1 -1
  774. data/vendor/cmock/examples/temp_sensor/src/AdcHardware.c +1 -1
  775. data/vendor/cmock/examples/temp_sensor/src/AdcHardware.h +1 -1
  776. data/vendor/cmock/examples/temp_sensor/src/AdcHardwareConfigurator.c +1 -1
  777. data/vendor/cmock/examples/temp_sensor/src/AdcHardwareConfigurator.h +1 -1
  778. data/vendor/cmock/examples/temp_sensor/src/AdcModel.c +3 -1
  779. data/vendor/cmock/examples/temp_sensor/src/AdcModel.h +1 -1
  780. data/vendor/cmock/examples/temp_sensor/src/AdcTemperatureSensor.c +1 -1
  781. data/vendor/cmock/examples/temp_sensor/src/AdcTemperatureSensor.h +1 -1
  782. data/vendor/cmock/examples/temp_sensor/src/Executor.c +1 -1
  783. data/vendor/cmock/examples/temp_sensor/src/Executor.h +1 -1
  784. data/vendor/cmock/examples/temp_sensor/src/IntrinsicsWrapper.c +1 -1
  785. data/vendor/cmock/examples/temp_sensor/src/IntrinsicsWrapper.h +1 -1
  786. data/vendor/cmock/examples/temp_sensor/src/Main.c +1 -1
  787. data/vendor/cmock/examples/temp_sensor/src/Main.h +1 -1
  788. data/vendor/cmock/examples/temp_sensor/src/Model.c +1 -1
  789. data/vendor/cmock/examples/temp_sensor/src/Model.h +1 -1
  790. data/vendor/cmock/examples/temp_sensor/src/ModelConfig.h +1 -1
  791. data/vendor/cmock/examples/temp_sensor/src/TaskScheduler.c +1 -1
  792. data/vendor/cmock/examples/temp_sensor/src/TaskScheduler.h +1 -1
  793. data/vendor/cmock/examples/temp_sensor/src/TemperatureCalculator.c +1 -1
  794. data/vendor/cmock/examples/temp_sensor/src/TemperatureCalculator.h +1 -1
  795. data/vendor/cmock/examples/temp_sensor/src/TemperatureFilter.c +2 -2
  796. data/vendor/cmock/examples/temp_sensor/src/TemperatureFilter.h +1 -1
  797. data/vendor/cmock/examples/temp_sensor/src/TimerConductor.c +1 -1
  798. data/vendor/cmock/examples/temp_sensor/src/TimerConductor.h +1 -1
  799. data/vendor/cmock/examples/temp_sensor/src/TimerConfigurator.c +2 -2
  800. data/vendor/cmock/examples/temp_sensor/src/TimerConfigurator.h +1 -1
  801. data/vendor/cmock/examples/temp_sensor/src/TimerHardware.c +1 -1
  802. data/vendor/cmock/examples/temp_sensor/src/TimerHardware.h +1 -1
  803. data/vendor/cmock/examples/temp_sensor/src/TimerInterruptConfigurator.c +10 -1
  804. data/vendor/cmock/examples/temp_sensor/src/TimerInterruptConfigurator.h +1 -1
  805. data/vendor/cmock/examples/temp_sensor/src/TimerInterruptHandler.c +1 -1
  806. data/vendor/cmock/examples/temp_sensor/src/TimerInterruptHandler.h +1 -1
  807. data/vendor/cmock/examples/temp_sensor/src/TimerModel.c +1 -1
  808. data/vendor/cmock/examples/temp_sensor/src/TimerModel.h +1 -1
  809. data/vendor/cmock/examples/temp_sensor/src/Types.h +1 -1
  810. data/vendor/cmock/examples/temp_sensor/src/UsartBaudRateRegisterCalculator.c +1 -1
  811. data/vendor/cmock/examples/temp_sensor/src/UsartBaudRateRegisterCalculator.h +1 -1
  812. data/vendor/cmock/examples/temp_sensor/src/UsartConductor.c +1 -1
  813. data/vendor/cmock/examples/temp_sensor/src/UsartConductor.h +1 -1
  814. data/vendor/cmock/examples/temp_sensor/src/UsartConfigurator.c +1 -1
  815. data/vendor/cmock/examples/temp_sensor/src/UsartConfigurator.h +1 -1
  816. data/vendor/cmock/examples/temp_sensor/src/UsartHardware.c +1 -1
  817. data/vendor/cmock/examples/temp_sensor/src/UsartHardware.h +1 -1
  818. data/vendor/cmock/examples/temp_sensor/src/UsartModel.c +2 -2
  819. data/vendor/cmock/examples/temp_sensor/src/UsartModel.h +1 -1
  820. data/vendor/cmock/examples/temp_sensor/src/UsartPutChar.c +2 -2
  821. data/vendor/cmock/examples/temp_sensor/src/UsartPutChar.h +1 -1
  822. data/vendor/cmock/examples/temp_sensor/src/UsartTransmitBufferStatus.c +1 -1
  823. data/vendor/cmock/examples/temp_sensor/src/UsartTransmitBufferStatus.h +1 -1
  824. data/vendor/cmock/examples/temp_sensor/test/TestAdcConductor.c +1 -1
  825. data/vendor/cmock/examples/temp_sensor/test/TestAdcHardware.c +1 -1
  826. data/vendor/cmock/examples/temp_sensor/test/TestAdcHardwareConfigurator.c +1 -1
  827. data/vendor/cmock/examples/temp_sensor/test/TestAdcModel.c +1 -1
  828. data/vendor/cmock/examples/temp_sensor/test/TestAdcTemperatureSensor.c +1 -1
  829. data/vendor/cmock/examples/temp_sensor/test/TestExecutor.c +1 -1
  830. data/vendor/cmock/examples/temp_sensor/test/TestMain.c +1 -1
  831. data/vendor/cmock/examples/temp_sensor/test/TestModel.c +1 -1
  832. data/vendor/cmock/examples/temp_sensor/test/TestTaskScheduler.c +1 -1
  833. data/vendor/cmock/examples/temp_sensor/test/TestTemperatureCalculator.c +1 -1
  834. data/vendor/cmock/examples/temp_sensor/test/TestTemperatureFilter.c +2 -2
  835. data/vendor/cmock/examples/temp_sensor/test/TestTimerConductor.c +1 -1
  836. data/vendor/cmock/examples/temp_sensor/test/TestTimerConfigurator.c +1 -1
  837. data/vendor/cmock/examples/temp_sensor/test/TestTimerHardware.c +1 -1
  838. data/vendor/cmock/examples/temp_sensor/test/TestTimerInterruptConfigurator.c +1 -1
  839. data/vendor/cmock/examples/temp_sensor/test/TestTimerInterruptHandler.c +1 -1
  840. data/vendor/cmock/examples/temp_sensor/test/TestTimerModel.c +1 -1
  841. data/vendor/cmock/examples/temp_sensor/test/TestUsartBaudRateRegisterCalculator.c +1 -1
  842. data/vendor/cmock/examples/temp_sensor/test/TestUsartConductor.c +7 -5
  843. data/vendor/cmock/examples/temp_sensor/test/TestUsartConfigurator.c +1 -1
  844. data/vendor/cmock/examples/temp_sensor/test/TestUsartHardware.c +3 -2
  845. data/vendor/cmock/examples/temp_sensor/test/TestUsartModel.c +1 -1
  846. data/vendor/cmock/examples/temp_sensor/test/TestUsartPutChar.c +1 -1
  847. data/vendor/cmock/examples/temp_sensor/test/TestUsartTransmitBufferStatus.c +1 -1
  848. data/vendor/cmock/lib/cmock.rb +1 -1
  849. data/vendor/cmock/lib/cmock_config.rb +8 -2
  850. data/vendor/cmock/lib/cmock_file_writer.rb +38 -1
  851. data/vendor/cmock/lib/cmock_generator.rb +44 -27
  852. data/vendor/cmock/lib/cmock_generator_plugin_array.rb +68 -15
  853. data/vendor/cmock/lib/cmock_generator_plugin_callback.rb +13 -3
  854. data/vendor/cmock/lib/cmock_generator_plugin_cexception.rb +12 -3
  855. data/vendor/cmock/lib/cmock_generator_plugin_expect.rb +33 -15
  856. data/vendor/cmock/lib/cmock_generator_plugin_expect_any_args.rb +13 -8
  857. data/vendor/cmock/lib/cmock_generator_plugin_ignore.rb +15 -10
  858. data/vendor/cmock/lib/cmock_generator_plugin_ignore_arg.rb +4 -2
  859. data/vendor/cmock/lib/cmock_generator_plugin_ignore_stateless.rb +15 -10
  860. data/vendor/cmock/lib/cmock_generator_plugin_return_thru_ptr.rb +53 -3
  861. data/vendor/cmock/lib/cmock_generator_utils.rb +159 -43
  862. data/vendor/cmock/lib/cmock_header_parser.rb +217 -26
  863. data/vendor/cmock/lib/cmock_plugin_manager.rb +1 -1
  864. data/vendor/cmock/lib/cmock_unityhelper_parser.rb +7 -2
  865. data/vendor/cmock/lib/cmock_version.rb +1 -1
  866. data/vendor/cmock/scripts/create_makefile.rb +7 -5
  867. data/vendor/cmock/src/cmock.c +132 -129
  868. data/vendor/cmock/src/cmock.h +7 -13
  869. data/vendor/cmock/src/cmock_internals.h +73 -39
  870. data/vendor/cmock/test/c/TestCMockC.c +1 -7
  871. data/vendor/cmock/test/c/TestCMockC.yml +1 -1
  872. data/vendor/cmock/test/c/TestCMockCDynamic.c +1 -7
  873. data/vendor/cmock/test/c/TestCMockCDynamic.yml +1 -1
  874. data/vendor/cmock/test/c/TestCMockCDynamic_Runner.c +1 -7
  875. data/vendor/cmock/test/c/TestCMockC_Runner.c +1 -7
  876. data/vendor/cmock/{vendor/unity/test/targets/gcc_manual_math.yml → test/gcc_64_valgrind.yml} +8 -17
  877. data/vendor/cmock/test/iar/iar_v4/incIAR/AT91SAM7X-EK.h +1 -1
  878. data/vendor/cmock/test/iar/iar_v4/incIAR/AT91SAM7X256_inc.h +1 -1
  879. data/vendor/cmock/test/iar/iar_v4/incIAR/ioat91sam7x256.h +1 -1
  880. data/vendor/cmock/test/iar/iar_v4/srcIAR/Cstartup_SAM7.c +1 -1
  881. data/vendor/cmock/test/iar/iar_v5/incIAR/AT91SAM7X-EK.h +1 -1
  882. data/vendor/cmock/test/iar/iar_v5/incIAR/AT91SAM7X256_inc.h +1 -1
  883. data/vendor/cmock/test/iar/iar_v5/incIAR/project.h +1 -1
  884. data/vendor/cmock/test/iar/iar_v5/srcIAR/Cstartup_SAM7.c +1 -1
  885. data/vendor/cmock/test/project.yml +32 -0
  886. data/vendor/cmock/test/rakefile +74 -58
  887. data/vendor/cmock/test/rakefile_helper.rb +359 -152
  888. data/vendor/cmock/test/system/systest_generator.rb +2 -2
  889. data/vendor/cmock/test/system/test_compilation/callingconv.h +1 -7
  890. data/vendor/cmock/test/system/test_compilation/config.yml +10 -1
  891. data/vendor/cmock/test/system/test_compilation/const.h +7 -13
  892. data/vendor/cmock/test/system/test_compilation/inline.h +1 -2
  893. data/vendor/cmock/test/system/test_compilation/osek.h +1 -7
  894. data/vendor/cmock/test/system/test_compilation/parsing.h +37 -7
  895. data/vendor/cmock/test/system/test_interactions/all_plugins_but_other_limits.yml +5 -13
  896. data/vendor/cmock/test/system/test_interactions/all_plugins_coexist.yml +5 -5
  897. data/vendor/cmock/test/system/test_interactions/array_handling.yml +758 -0
  898. data/vendor/cmock/test/system/test_interactions/basic_expect_and_return.yml +2 -2
  899. data/vendor/cmock/test/system/test_interactions/char_string_array_plugin.yml +113 -0
  900. data/vendor/cmock/test/system/test_interactions/const_custom_type.yml +68 -0
  901. data/vendor/cmock/test/system/test_interactions/const_primitives_handling.yml +4 -3
  902. data/vendor/cmock/test/system/test_interactions/const_ptr_return_and_arg.yml +89 -0
  903. data/vendor/cmock/test/system/test_interactions/debug_output.yml +235 -0
  904. data/vendor/cmock/test/system/test_interactions/doesnt_leave_details_behind.yml +16 -16
  905. data/vendor/cmock/test/system/test_interactions/enforce_strict_ordering.yml +1 -1
  906. data/vendor/cmock/test/system/test_interactions/expect_and_return_custom_types.yml +1 -1
  907. data/vendor/cmock/test/system/test_interactions/expect_and_return_treat_as.yml +3 -3
  908. data/vendor/cmock/test/system/test_interactions/expect_and_throw.yml +1 -1
  909. data/vendor/cmock/test/system/test_interactions/expect_any_args.yml +1 -1
  910. data/vendor/cmock/test/system/test_interactions/fancy_pointer_handling.yml +3 -3
  911. data/vendor/cmock/test/system/test_interactions/function_pointer_handling.yml +1 -1
  912. data/vendor/cmock/test/system/test_interactions/ignore_and_return.yml +1 -1
  913. data/vendor/cmock/test/system/test_interactions/ignore_and_return_stateless.yml +1 -1
  914. data/vendor/cmock/test/system/test_interactions/ignore_strict_mock_calling.yml +1 -1
  915. data/vendor/cmock/test/system/test_interactions/newer_standards_stuff1.yml +1 -1
  916. data/vendor/cmock/test/system/test_interactions/nonstandard_parsed_stuff_1.yml +2 -2
  917. data/vendor/cmock/test/system/test_interactions/nonstandard_parsed_stuff_2.yml +7 -4
  918. data/vendor/cmock/test/system/test_interactions/out_of_memory.yml +65 -8
  919. data/vendor/cmock/test/system/test_interactions/parsing_challenges.yml +1 -1
  920. data/vendor/cmock/test/system/test_interactions/parsing_challenges_with_func_pointers.yml +88 -0
  921. data/vendor/cmock/test/system/test_interactions/pointer_handling.yml +465 -0
  922. data/vendor/cmock/test/system/test_interactions/{return_thru_ptr_and_expect_any_args.yml → return_thru_ptr_expect_any_args.yml} +9 -13
  923. data/vendor/cmock/test/system/test_interactions/return_thru_ptr_ignore.yml +142 -0
  924. data/vendor/cmock/test/system/test_interactions/return_thru_ptr_ignore_arg.yml +13 -9
  925. data/vendor/cmock/test/system/test_interactions/skeleton.yml +1 -1
  926. data/vendor/cmock/test/system/test_interactions/skeleton_update.yml +1 -1
  927. data/vendor/cmock/test/system/test_interactions/struct_union_enum_expect_and_return.yml +1 -1
  928. data/vendor/cmock/test/system/test_interactions/struct_union_enum_expect_and_return_with_plugins.yml +1 -1
  929. data/vendor/cmock/test/system/test_interactions/stubs_with_callbacks.yml +14 -2
  930. data/vendor/cmock/test/system/test_interactions/teardown_mock_calls.yml +57 -0
  931. data/vendor/cmock/test/system/test_interactions/teardown_mock_expectations.yml +59 -0
  932. data/vendor/cmock/test/system/test_interactions/unity_64bit_support.yml +1 -1
  933. data/vendor/cmock/test/system/test_interactions/unity_ignores.yml +1 -1
  934. data/vendor/cmock/test/system/test_interactions/unity_void_pointer_compare.yml +9 -9
  935. data/vendor/cmock/test/system/test_interactions/void_pointer_no_array_plugin.yml +133 -0
  936. data/vendor/cmock/test/system/test_interactions/void_pointer_treat_as_void_array_plugin.yml +102 -0
  937. data/vendor/cmock/test/system/test_interactions/volatile_pointer_handling.yml +291 -0
  938. data/vendor/cmock/test/system/test_interactions/wrong_expect_and_return.yml +9 -1
  939. data/vendor/cmock/test/targets/iar_arm.yml +14 -0
  940. data/vendor/cmock/test/targets/tiny.yml +36 -0
  941. data/vendor/cmock/test/test_helper.rb +1 -2
  942. data/vendor/cmock/test/unit/cmock_config_test.rb +1 -2
  943. data/vendor/cmock/test/unit/cmock_config_test.yml +1 -1
  944. data/vendor/cmock/test/unit/cmock_file_writer_test.rb +1 -1
  945. data/vendor/cmock/test/unit/cmock_generator_main_test.rb +6 -0
  946. data/vendor/cmock/test/unit/cmock_generator_no_error_stubs_plugin_array_test.rb +90 -0
  947. data/vendor/cmock/test/unit/cmock_generator_no_error_stubs_plugin_expect_any_args_test.rb +38 -0
  948. data/vendor/cmock/test/unit/cmock_generator_no_error_stubs_plugin_expect_test.rb +55 -0
  949. data/vendor/cmock/test/unit/cmock_generator_no_error_stubs_plugin_ignore_stateless_test.rb +42 -0
  950. data/vendor/cmock/test/unit/cmock_generator_no_error_stubs_plugin_ignore_test.rb +42 -0
  951. data/vendor/cmock/test/unit/cmock_generator_plugin_array_test.rb +63 -2
  952. data/vendor/cmock/test/unit/cmock_generator_plugin_callback_test.rb +24 -6
  953. data/vendor/cmock/test/unit/cmock_generator_plugin_cexception_test.rb +1 -1
  954. data/vendor/cmock/test/unit/cmock_generator_plugin_expect_a_test.rb +118 -2
  955. data/vendor/cmock/test/unit/cmock_generator_plugin_expect_any_args_test.rb +2 -2
  956. data/vendor/cmock/test/unit/cmock_generator_plugin_expect_b_test.rb +4 -2
  957. data/vendor/cmock/test/unit/cmock_generator_plugin_ignore_arg_test.rb +2 -1
  958. data/vendor/cmock/test/unit/cmock_generator_plugin_ignore_stateless_test.rb +2 -2
  959. data/vendor/cmock/test/unit/cmock_generator_plugin_ignore_test.rb +2 -2
  960. data/vendor/cmock/test/unit/cmock_generator_plugin_return_thru_ptr_test.rb +135 -3
  961. data/vendor/cmock/test/unit/cmock_generator_utils_test.rb +177 -9
  962. data/vendor/cmock/test/unit/cmock_header_parser_test.rb +705 -109
  963. data/vendor/cmock/test/unit/cmock_plugin_manager_test.rb +4 -2
  964. data/vendor/cmock/test/unit/cmock_unityhelper_parser_test.rb +1 -1
  965. data/vendor/cmock/vendor/unity/CMakeLists.txt +10 -0
  966. data/vendor/cmock/vendor/unity/LICENSE.txt +1 -1
  967. data/vendor/cmock/vendor/unity/README.md +2 -2
  968. data/vendor/cmock/vendor/unity/auto/__init__.py +1 -1
  969. data/vendor/cmock/vendor/unity/auto/colour_prompt.rb +1 -1
  970. data/vendor/cmock/vendor/unity/auto/colour_reporter.rb +7 -1
  971. data/vendor/cmock/vendor/unity/auto/extract_version.py +1 -1
  972. data/vendor/cmock/vendor/unity/auto/generate_config.yml +1 -1
  973. data/vendor/cmock/vendor/unity/auto/generate_module.rb +6 -6
  974. data/vendor/cmock/vendor/unity/auto/generate_test_runner.rb +95 -14
  975. data/vendor/cmock/vendor/unity/auto/parse_output.rb +10 -7
  976. data/vendor/cmock/vendor/unity/auto/stylize_as_junit.py +4 -3
  977. data/vendor/cmock/vendor/unity/auto/stylize_as_junit.rb +4 -2
  978. data/vendor/cmock/vendor/unity/auto/test_file_filter.rb +1 -1
  979. data/vendor/cmock/vendor/unity/auto/type_sanitizer.rb +1 -1
  980. data/vendor/cmock/vendor/unity/auto/unity_test_summary.py +2 -2
  981. data/vendor/cmock/vendor/unity/auto/unity_test_summary.rb +5 -2
  982. data/vendor/cmock/vendor/unity/auto/yaml_helper.rb +1 -1
  983. data/vendor/cmock/vendor/unity/docs/ThrowTheSwitchCodingStandard.md +2 -2
  984. data/vendor/cmock/vendor/unity/docs/UnityAssertionsReference.md +66 -1
  985. data/vendor/cmock/vendor/unity/docs/UnityChangeLog.md +41 -0
  986. data/vendor/cmock/vendor/unity/docs/UnityConfigurationGuide.md +2 -2
  987. data/vendor/cmock/vendor/unity/docs/UnityHelperScriptsGuide.md +28 -12
  988. data/vendor/cmock/vendor/unity/examples/example_1/makefile +1 -1
  989. data/vendor/cmock/vendor/unity/examples/example_1/src/ProductionCode.c +1 -1
  990. data/vendor/cmock/vendor/unity/examples/example_1/src/ProductionCode.h +1 -1
  991. data/vendor/cmock/vendor/unity/examples/example_1/src/ProductionCode2.c +1 -1
  992. data/vendor/cmock/vendor/unity/examples/example_1/src/ProductionCode2.h +1 -1
  993. data/vendor/cmock/vendor/unity/examples/example_1/test/TestProductionCode.c +1 -1
  994. data/vendor/cmock/vendor/unity/examples/example_1/test/TestProductionCode2.c +1 -1
  995. data/vendor/cmock/vendor/unity/examples/example_2/makefile +1 -1
  996. data/vendor/cmock/vendor/unity/examples/example_2/src/ProductionCode.c +1 -1
  997. data/vendor/cmock/vendor/unity/examples/example_2/src/ProductionCode.h +1 -1
  998. data/vendor/cmock/vendor/unity/examples/example_2/src/ProductionCode2.c +1 -1
  999. data/vendor/cmock/vendor/unity/examples/example_2/src/ProductionCode2.h +1 -1
  1000. data/vendor/cmock/vendor/unity/examples/example_2/test/TestProductionCode.c +1 -1
  1001. data/vendor/cmock/vendor/unity/examples/example_2/test/TestProductionCode2.c +1 -1
  1002. data/vendor/cmock/vendor/unity/examples/example_2/test/test_runners/TestProductionCode2_Runner.c +1 -1
  1003. data/vendor/cmock/vendor/unity/examples/example_2/test/test_runners/TestProductionCode_Runner.c +1 -1
  1004. data/vendor/cmock/vendor/unity/examples/example_2/test/test_runners/all_tests.c +1 -1
  1005. data/vendor/cmock/vendor/unity/examples/example_3/helper/UnityHelper.c +1 -1
  1006. data/vendor/cmock/vendor/unity/examples/example_3/helper/UnityHelper.h +1 -1
  1007. data/vendor/cmock/vendor/unity/examples/example_3/project.yml +24 -0
  1008. data/vendor/cmock/vendor/unity/examples/example_3/rakefile.rb +2 -3
  1009. data/vendor/cmock/vendor/unity/examples/example_3/rakefile_helper.rb +107 -153
  1010. data/vendor/cmock/vendor/unity/examples/example_3/src/ProductionCode.c +3 -3
  1011. data/vendor/cmock/vendor/unity/examples/example_3/src/ProductionCode.h +1 -1
  1012. data/vendor/cmock/vendor/unity/examples/example_3/src/ProductionCode2.c +1 -1
  1013. data/vendor/cmock/vendor/unity/examples/example_3/src/ProductionCode2.h +1 -1
  1014. data/vendor/cmock/vendor/unity/examples/example_3/test/TestProductionCode.c +1 -1
  1015. data/vendor/cmock/vendor/unity/examples/example_3/test/TestProductionCode2.c +1 -1
  1016. data/vendor/cmock/vendor/unity/examples/example_4/src/ProductionCode.c +1 -1
  1017. data/vendor/cmock/vendor/unity/examples/example_4/src/ProductionCode.h +1 -1
  1018. data/vendor/cmock/vendor/unity/examples/example_4/src/ProductionCode2.c +1 -1
  1019. data/vendor/cmock/vendor/unity/examples/example_4/src/ProductionCode2.h +1 -1
  1020. data/vendor/cmock/vendor/unity/examples/example_4/test/TestProductionCode.c +1 -1
  1021. data/vendor/cmock/vendor/unity/examples/example_4/test/TestProductionCode2.c +1 -1
  1022. data/vendor/cmock/vendor/unity/examples/example_5/makefile +63 -0
  1023. data/vendor/cmock/vendor/unity/examples/example_5/readme.txt +38 -0
  1024. data/vendor/cmock/vendor/unity/examples/example_5/src/ProductionCode.c +56 -0
  1025. data/vendor/cmock/vendor/unity/examples/example_5/src/ProductionCode.h +16 -0
  1026. data/vendor/cmock/vendor/unity/examples/example_5/subprojects/unity.wrap +3 -0
  1027. data/vendor/cmock/vendor/unity/examples/example_5/test/TestProductionCode.c +45 -0
  1028. data/vendor/cmock/vendor/unity/examples/example_5/test/test_runners/TestProductionCode_Runner.c +48 -0
  1029. data/vendor/cmock/vendor/unity/examples/example_5/test/unity_detail_config.h +25 -0
  1030. data/vendor/cmock/vendor/unity/examples/unity_config.h +5 -3
  1031. data/vendor/cmock/vendor/unity/extras/bdd/src/unity_bdd.h +1 -1
  1032. data/vendor/cmock/vendor/unity/extras/bdd/test/test_bdd.c +1 -1
  1033. data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture.c +59 -15
  1034. data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture.h +1 -1
  1035. data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture_internals.h +4 -1
  1036. data/vendor/cmock/vendor/unity/extras/fixture/test/main/AllTests.c +1 -1
  1037. data/vendor/cmock/vendor/unity/extras/fixture/test/template_fixture_tests.c +1 -1
  1038. data/vendor/cmock/vendor/unity/extras/fixture/test/unity_fixture_Test.c +46 -1
  1039. data/vendor/cmock/vendor/unity/extras/fixture/test/unity_fixture_TestRunner.c +4 -1
  1040. data/vendor/cmock/vendor/unity/extras/memory/src/unity_memory.c +1 -1
  1041. data/vendor/cmock/vendor/unity/extras/memory/src/unity_memory.h +1 -1
  1042. data/vendor/cmock/vendor/unity/extras/memory/test/unity_memory_Test.c +1 -1
  1043. data/vendor/cmock/vendor/unity/extras/memory/test/unity_memory_TestRunner.c +1 -1
  1044. data/vendor/cmock/vendor/unity/extras/memory/test/unity_output_Spy.c +1 -1
  1045. data/vendor/cmock/vendor/unity/extras/memory/test/unity_output_Spy.h +1 -1
  1046. data/vendor/cmock/vendor/unity/library.json +0 -7
  1047. data/vendor/cmock/vendor/unity/meson.build +16 -8
  1048. data/vendor/cmock/vendor/unity/meson_options.txt +5 -3
  1049. data/vendor/cmock/vendor/unity/src/unity.c +480 -141
  1050. data/vendor/cmock/vendor/unity/src/unity.h +16 -4
  1051. data/vendor/cmock/vendor/unity/src/unity_internals.h +291 -148
  1052. data/vendor/cmock/vendor/unity/test/Makefile +4 -6
  1053. data/vendor/cmock/vendor/unity/test/rakefile +42 -21
  1054. data/vendor/cmock/vendor/unity/test/rakefile_helper.rb +154 -15
  1055. data/vendor/cmock/vendor/unity/test/spec/generate_module_existing_file_spec.rb +1 -1
  1056. data/vendor/cmock/vendor/unity/test/targets/clang.yml +157 -0
  1057. data/vendor/cmock/vendor/unity/test/targets/gcc.yml +139 -0
  1058. data/vendor/cmock/vendor/unity/test/targets/hitech_picc18.yml +9 -16
  1059. data/vendor/cmock/vendor/unity/test/targets/iar_arm.yml +88 -0
  1060. data/vendor/cmock/vendor/unity/test/targets/no_stdlib.yml +23 -0
  1061. data/vendor/cmock/vendor/unity/test/testdata/CException.h +1 -1
  1062. data/vendor/cmock/vendor/unity/test/testdata/Defs.h +1 -1
  1063. data/vendor/cmock/vendor/unity/test/testdata/cmock.h +1 -1
  1064. data/vendor/cmock/vendor/unity/test/testdata/mockMock.h +1 -1
  1065. data/vendor/cmock/vendor/unity/test/testdata/testRunnerGenerator.c +1 -1
  1066. data/vendor/cmock/vendor/unity/test/testdata/testRunnerGeneratorSmall.c +1 -1
  1067. data/vendor/cmock/vendor/unity/test/testdata/testRunnerGeneratorWithMocks.c +1 -1
  1068. data/vendor/cmock/vendor/unity/test/tests/self_assessment_utils.h +23 -7
  1069. data/vendor/cmock/vendor/unity/test/tests/test_generate_test_runner.rb +1 -4
  1070. data/vendor/cmock/vendor/unity/test/tests/test_unity_arrays.c +1 -1
  1071. data/vendor/cmock/vendor/unity/test/tests/test_unity_core.c +33 -38
  1072. data/vendor/cmock/vendor/unity/test/tests/test_unity_doubles.c +4 -4
  1073. data/vendor/cmock/vendor/unity/test/tests/test_unity_floats.c +15 -6
  1074. data/vendor/cmock/vendor/unity/test/tests/test_unity_integers.c +35 -1
  1075. data/vendor/cmock/vendor/unity/test/tests/test_unity_integers_64.c +1 -1
  1076. data/vendor/cmock/vendor/unity/test/tests/test_unity_memory.c +69 -1
  1077. data/vendor/cmock/vendor/unity/test/tests/test_unity_parameterized.c +5 -5
  1078. data/vendor/cmock/vendor/unity/test/tests/test_unity_parameterizedDemo.c +1 -1
  1079. data/vendor/cmock/vendor/unity/test/tests/test_unity_strings.c +65 -1
  1080. data/vendor/cmock/vendor/unity/test/tests/types_for_test.h +1 -1
  1081. data/vendor/unity/CMakeLists.txt +10 -0
  1082. data/vendor/unity/LICENSE.txt +1 -1
  1083. data/vendor/unity/README.md +2 -2
  1084. data/vendor/unity/auto/__init__.py +1 -1
  1085. data/vendor/unity/auto/colour_prompt.rb +1 -1
  1086. data/vendor/unity/auto/colour_reporter.rb +7 -1
  1087. data/vendor/unity/auto/extract_version.py +1 -1
  1088. data/vendor/unity/auto/generate_config.yml +1 -1
  1089. data/vendor/unity/auto/generate_module.rb +6 -6
  1090. data/vendor/unity/auto/generate_test_runner.rb +95 -14
  1091. data/vendor/unity/auto/parse_output.rb +10 -7
  1092. data/vendor/unity/auto/stylize_as_junit.py +4 -3
  1093. data/vendor/unity/auto/stylize_as_junit.rb +4 -2
  1094. data/vendor/unity/auto/test_file_filter.rb +1 -1
  1095. data/vendor/unity/auto/type_sanitizer.rb +1 -1
  1096. data/vendor/unity/auto/unity_test_summary.py +2 -2
  1097. data/vendor/unity/auto/unity_test_summary.rb +5 -2
  1098. data/vendor/unity/auto/yaml_helper.rb +1 -1
  1099. data/vendor/unity/docs/ThrowTheSwitchCodingStandard.md +2 -2
  1100. data/vendor/unity/docs/UnityAssertionsReference.md +66 -1
  1101. data/vendor/unity/docs/UnityChangeLog.md +41 -0
  1102. data/vendor/unity/docs/UnityConfigurationGuide.md +2 -2
  1103. data/vendor/unity/docs/UnityHelperScriptsGuide.md +28 -12
  1104. data/vendor/unity/examples/example_1/makefile +1 -1
  1105. data/vendor/unity/examples/example_1/src/ProductionCode.c +1 -1
  1106. data/vendor/unity/examples/example_1/src/ProductionCode.h +1 -1
  1107. data/vendor/unity/examples/example_1/src/ProductionCode2.c +1 -1
  1108. data/vendor/unity/examples/example_1/src/ProductionCode2.h +1 -1
  1109. data/vendor/unity/examples/example_1/test/TestProductionCode.c +1 -1
  1110. data/vendor/unity/examples/example_1/test/TestProductionCode2.c +1 -1
  1111. data/vendor/unity/examples/example_2/makefile +1 -1
  1112. data/vendor/unity/examples/example_2/src/ProductionCode.c +1 -1
  1113. data/vendor/unity/examples/example_2/src/ProductionCode.h +1 -1
  1114. data/vendor/unity/examples/example_2/src/ProductionCode2.c +1 -1
  1115. data/vendor/unity/examples/example_2/src/ProductionCode2.h +1 -1
  1116. data/vendor/unity/examples/example_2/test/TestProductionCode.c +1 -1
  1117. data/vendor/unity/examples/example_2/test/TestProductionCode2.c +1 -1
  1118. data/vendor/unity/examples/example_2/test/test_runners/TestProductionCode2_Runner.c +1 -1
  1119. data/vendor/unity/examples/example_2/test/test_runners/TestProductionCode_Runner.c +1 -1
  1120. data/vendor/unity/examples/example_2/test/test_runners/all_tests.c +1 -1
  1121. data/vendor/unity/examples/example_3/helper/UnityHelper.c +1 -1
  1122. data/vendor/unity/examples/example_3/helper/UnityHelper.h +1 -1
  1123. data/vendor/unity/examples/example_3/project.yml +24 -0
  1124. data/vendor/unity/examples/example_3/rakefile.rb +2 -3
  1125. data/vendor/unity/examples/example_3/rakefile_helper.rb +107 -153
  1126. data/vendor/unity/examples/example_3/src/ProductionCode.c +3 -3
  1127. data/vendor/unity/examples/example_3/src/ProductionCode.h +1 -1
  1128. data/vendor/unity/examples/example_3/src/ProductionCode2.c +1 -1
  1129. data/vendor/unity/examples/example_3/src/ProductionCode2.h +1 -1
  1130. data/vendor/unity/examples/example_3/test/TestProductionCode.c +1 -1
  1131. data/vendor/unity/examples/example_3/test/TestProductionCode2.c +1 -1
  1132. data/vendor/unity/examples/example_4/src/ProductionCode.c +1 -1
  1133. data/vendor/unity/examples/example_4/src/ProductionCode.h +1 -1
  1134. data/vendor/unity/examples/example_4/src/ProductionCode2.c +1 -1
  1135. data/vendor/unity/examples/example_4/src/ProductionCode2.h +1 -1
  1136. data/vendor/unity/examples/example_4/test/TestProductionCode.c +1 -1
  1137. data/vendor/unity/examples/example_4/test/TestProductionCode2.c +1 -1
  1138. data/vendor/unity/examples/example_5/makefile +63 -0
  1139. data/vendor/unity/examples/example_5/readme.txt +38 -0
  1140. data/vendor/unity/examples/example_5/src/ProductionCode.c +56 -0
  1141. data/vendor/unity/examples/example_5/src/ProductionCode.h +16 -0
  1142. data/vendor/unity/examples/example_5/subprojects/unity.wrap +3 -0
  1143. data/vendor/unity/examples/example_5/test/TestProductionCode.c +45 -0
  1144. data/vendor/unity/examples/example_5/test/test_runners/TestProductionCode_Runner.c +48 -0
  1145. data/vendor/unity/examples/example_5/test/unity_detail_config.h +25 -0
  1146. data/vendor/unity/examples/unity_config.h +5 -3
  1147. data/vendor/unity/extras/bdd/src/unity_bdd.h +1 -1
  1148. data/vendor/unity/extras/bdd/test/test_bdd.c +1 -1
  1149. data/vendor/unity/extras/fixture/src/unity_fixture.c +59 -15
  1150. data/vendor/unity/extras/fixture/src/unity_fixture.h +1 -1
  1151. data/vendor/unity/extras/fixture/src/unity_fixture_internals.h +4 -1
  1152. data/vendor/unity/extras/fixture/test/main/AllTests.c +1 -1
  1153. data/vendor/unity/extras/fixture/test/template_fixture_tests.c +1 -1
  1154. data/vendor/unity/extras/fixture/test/unity_fixture_Test.c +46 -1
  1155. data/vendor/unity/extras/fixture/test/unity_fixture_TestRunner.c +4 -1
  1156. data/vendor/unity/extras/memory/src/unity_memory.c +1 -1
  1157. data/vendor/unity/extras/memory/src/unity_memory.h +1 -1
  1158. data/vendor/unity/extras/memory/test/unity_memory_Test.c +1 -1
  1159. data/vendor/unity/extras/memory/test/unity_memory_TestRunner.c +1 -1
  1160. data/vendor/unity/extras/memory/test/unity_output_Spy.c +1 -1
  1161. data/vendor/unity/extras/memory/test/unity_output_Spy.h +1 -1
  1162. data/vendor/unity/library.json +0 -7
  1163. data/vendor/unity/meson.build +16 -8
  1164. data/vendor/unity/meson_options.txt +5 -3
  1165. data/vendor/unity/src/unity.c +480 -141
  1166. data/vendor/unity/src/unity.h +16 -4
  1167. data/vendor/unity/src/unity_internals.h +291 -148
  1168. data/vendor/unity/test/Makefile +4 -6
  1169. data/vendor/unity/test/rakefile +42 -21
  1170. data/vendor/unity/test/rakefile_helper.rb +154 -15
  1171. data/vendor/unity/test/spec/generate_module_existing_file_spec.rb +1 -1
  1172. data/vendor/unity/test/targets/clang.yml +157 -0
  1173. data/vendor/unity/test/targets/gcc.yml +139 -0
  1174. data/vendor/unity/test/targets/hitech_picc18.yml +9 -16
  1175. data/vendor/unity/test/targets/iar_arm.yml +88 -0
  1176. data/vendor/unity/test/targets/no_stdlib.yml +23 -0
  1177. data/vendor/unity/test/testdata/CException.h +1 -1
  1178. data/vendor/unity/test/testdata/Defs.h +1 -1
  1179. data/vendor/unity/test/testdata/cmock.h +1 -1
  1180. data/vendor/unity/test/testdata/mockMock.h +1 -1
  1181. data/vendor/unity/test/testdata/testRunnerGenerator.c +1 -1
  1182. data/vendor/unity/test/testdata/testRunnerGeneratorSmall.c +1 -1
  1183. data/vendor/unity/test/testdata/testRunnerGeneratorWithMocks.c +1 -1
  1184. data/vendor/unity/test/tests/self_assessment_utils.h +23 -7
  1185. data/vendor/unity/test/tests/test_generate_test_runner.rb +1 -4
  1186. data/vendor/unity/test/tests/test_unity_arrays.c +1 -1
  1187. data/vendor/unity/test/tests/test_unity_core.c +33 -38
  1188. data/vendor/unity/test/tests/test_unity_doubles.c +4 -4
  1189. data/vendor/unity/test/tests/test_unity_floats.c +15 -6
  1190. data/vendor/unity/test/tests/test_unity_integers.c +35 -1
  1191. data/vendor/unity/test/tests/test_unity_integers_64.c +1 -1
  1192. data/vendor/unity/test/tests/test_unity_memory.c +69 -1
  1193. data/vendor/unity/test/tests/test_unity_parameterized.c +5 -5
  1194. data/vendor/unity/test/tests/test_unity_parameterizedDemo.c +1 -1
  1195. data/vendor/unity/test/tests/test_unity_strings.c +65 -1
  1196. data/vendor/unity/test/tests/types_for_test.h +1 -1
  1197. metadata +702 -177
  1198. data/docs/CeedlingPacket.md +0 -5651
  1199. data/lib/ceedling/build_batchinator.rb +0 -113
  1200. data/lib/ceedling/generator_test_results_backtrace.rb +0 -215
  1201. data/lib/ceedling/generator_test_runner.rb +0 -84
  1202. data/lib/ceedling/preprocessinator.rb +0 -239
  1203. data/lib/ceedling/preprocessinator_extractor.rb +0 -257
  1204. data/lib/ceedling/preprocessinator_file_handler.rb +0 -229
  1205. data/lib/ceedling/preprocessinator_includes_handler.rb +0 -382
  1206. data/lib/ceedling/task_invoker.rb +0 -70
  1207. data/lib/ceedling/test_invoker.rb +0 -506
  1208. data/lib/ceedling/test_invoker_helper.rb +0 -347
  1209. data/plugins/gcov/README.md +0 -893
  1210. data/plugins/gcov/lib/reportinator_helper.rb +0 -30
  1211. data/plugins/report_tests_log_factory/sample_html_report.png +0 -0
  1212. data/spec/configurator_spec.rb +0 -18
  1213. data/spec/generator_test_results_spec.rb +0 -131
  1214. data/spec/parsing_parcels_spec.rb +0 -66
  1215. data/spec/preprocessinator_includes_handler_spec.rb +0 -289
  1216. data/spec/reportinator_spec.rb +0 -26
  1217. data/spec/spec_helper.rb +0 -31
  1218. data/spec/test_context_extractor_spec.rb +0 -328
  1219. data/spec/uncategorized_specs_spec.rb +0 -15
  1220. data/vendor/cmock/examples/temp_sensor/targets/gcc.yml +0 -97
  1221. data/vendor/cmock/examples/temp_sensor/targets/iar_v4.yml +0 -143
  1222. data/vendor/cmock/examples/temp_sensor/targets/iar_v5.yml +0 -132
  1223. data/vendor/cmock/scripts/create_mock.rb +0 -15
  1224. data/vendor/cmock/scripts/create_runner.rb +0 -25
  1225. data/vendor/cmock/scripts/test_summary.rb +0 -25
  1226. data/vendor/cmock/test/system/test_interactions/array_and_pointer_handling.yml +0 -453
  1227. data/vendor/cmock/test/targets/clang_strict.yml +0 -97
  1228. data/vendor/cmock/test/targets/gcc.yml +0 -65
  1229. data/vendor/cmock/test/targets/gcc_64.yml +0 -65
  1230. data/vendor/cmock/test/targets/gcc_tiny.yml +0 -87
  1231. data/vendor/cmock/test/targets/iar_arm_v4.yml +0 -117
  1232. data/vendor/cmock/test/targets/iar_arm_v5.yml +0 -102
  1233. data/vendor/cmock/vendor/unity/examples/example_3/target_gcc_32.yml +0 -54
  1234. data/vendor/cmock/vendor/unity/test/targets/ansi.yml +0 -51
  1235. data/vendor/cmock/vendor/unity/test/targets/clang_file.yml +0 -79
  1236. data/vendor/cmock/vendor/unity/test/targets/clang_strict.yml +0 -79
  1237. data/vendor/cmock/vendor/unity/test/targets/gcc_32.yml +0 -52
  1238. data/vendor/cmock/vendor/unity/test/targets/gcc_64.yml +0 -53
  1239. data/vendor/cmock/vendor/unity/test/targets/gcc_auto_limits.yml +0 -50
  1240. data/vendor/cmock/vendor/unity/test/targets/gcc_auto_stdint.yml +0 -62
  1241. data/vendor/cmock/vendor/unity/test/targets/iar_arm_v4.yml +0 -105
  1242. data/vendor/cmock/vendor/unity/test/targets/iar_arm_v5.yml +0 -99
  1243. data/vendor/cmock/vendor/unity/test/targets/iar_arm_v5_3.yml +0 -99
  1244. data/vendor/cmock/vendor/unity/test/targets/iar_armcortex_LM3S9B92_v5_4.yml +0 -97
  1245. data/vendor/cmock/vendor/unity/test/targets/iar_cortexm3_v5.yml +0 -101
  1246. data/vendor/cmock/vendor/unity/test/targets/iar_msp430.yml +0 -119
  1247. data/vendor/cmock/vendor/unity/test/targets/iar_sh2a_v6.yml +0 -106
  1248. data/vendor/unity/examples/example_3/target_gcc_32.yml +0 -54
  1249. data/vendor/unity/test/targets/ansi.yml +0 -51
  1250. data/vendor/unity/test/targets/clang_file.yml +0 -79
  1251. data/vendor/unity/test/targets/clang_strict.yml +0 -79
  1252. data/vendor/unity/test/targets/gcc_32.yml +0 -52
  1253. data/vendor/unity/test/targets/gcc_64.yml +0 -53
  1254. data/vendor/unity/test/targets/gcc_auto_limits.yml +0 -50
  1255. data/vendor/unity/test/targets/gcc_auto_stdint.yml +0 -62
  1256. data/vendor/unity/test/targets/gcc_manual_math.yml +0 -50
  1257. data/vendor/unity/test/targets/iar_arm_v4.yml +0 -105
  1258. data/vendor/unity/test/targets/iar_arm_v5.yml +0 -99
  1259. data/vendor/unity/test/targets/iar_arm_v5_3.yml +0 -99
  1260. data/vendor/unity/test/targets/iar_armcortex_LM3S9B92_v5_4.yml +0 -97
  1261. data/vendor/unity/test/targets/iar_cortexm3_v5.yml +0 -101
  1262. data/vendor/unity/test/targets/iar_msp430.yml +0 -119
  1263. data/vendor/unity/test/targets/iar_sh2a_v6.yml +0 -106
@@ -0,0 +1,5023 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en" class="no-js">
4
+ <head>
5
+
6
+ <meta charset="utf-8">
7
+ <meta name="viewport" content="width=device-width,initial-scale=1">
8
+
9
+ <meta name="description" content="Test-Centered Build System for C">
10
+
11
+
12
+
13
+
14
+ <link rel="prev" href="fff.html">
15
+
16
+
17
+ <link rel="next" href="compile-commands-json-db.html">
18
+
19
+
20
+
21
+
22
+
23
+ <link rel="icon" href="../assets/images/favicon.png">
24
+ <meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.7.6">
25
+
26
+
27
+
28
+ <title>Command Hooks - Ceedling</title>
29
+
30
+
31
+
32
+ <link rel="stylesheet" href="../assets/stylesheets/main.484c7ddc.min.css">
33
+
34
+
35
+ <link rel="stylesheet" href="../assets/stylesheets/palette.ab4e12ef.min.css">
36
+
37
+
38
+
39
+
40
+
41
+
42
+
43
+
44
+
45
+
46
+
47
+
48
+ <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
49
+ <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback">
50
+ <style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style>
51
+
52
+
53
+
54
+ <link rel="stylesheet" href="../assets/stylesheets/styling.css">
55
+
56
+ <link rel="stylesheet" href="../assets/stylesheets/admonitions.css">
57
+
58
+ <link rel="stylesheet" href="../assets/stylesheets/fixes-local.css">
59
+
60
+ <script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
61
+
62
+
63
+
64
+
65
+
66
+ </head>
67
+
68
+
69
+
70
+
71
+
72
+
73
+
74
+
75
+
76
+ <body dir="ltr" data-md-color-scheme="default" data-md-color-primary="green" data-md-color-accent="deep_purple">
77
+
78
+
79
+ <input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
80
+ <input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
81
+ <label class="md-overlay" for="__drawer"></label>
82
+ <div data-md-component="skip">
83
+
84
+
85
+ <a href="#command-hooks" class="md-skip">
86
+ Skip to content
87
+ </a>
88
+
89
+ </div>
90
+ <div data-md-component="announce">
91
+
92
+ </div>
93
+
94
+ <div data-md-color-scheme="default" data-md-component="outdated" hidden>
95
+
96
+ </div>
97
+
98
+
99
+
100
+
101
+ <header class="md-header" data-md-component="header">
102
+ <nav class="md-header__inner md-grid" aria-label="Header">
103
+ <a href="../index.html" title="Ceedling" class="md-header__button md-logo" aria-label="Ceedling" data-md-component="logo">
104
+
105
+
106
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg>
107
+
108
+ </a>
109
+ <label class="md-header__button md-icon" for="__drawer">
110
+
111
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg>
112
+ </label>
113
+ <div class="md-header__title" data-md-component="header-title">
114
+ <div class="md-header__ellipsis">
115
+ <div class="md-header__topic">
116
+ <span class="md-ellipsis">
117
+ Ceedling
118
+ </span>
119
+ </div>
120
+ <div class="md-header__topic" data-md-component="header-topic">
121
+ <span class="md-ellipsis">
122
+
123
+ Command Hooks
124
+
125
+ </span>
126
+ </div>
127
+ </div>
128
+ </div>
129
+
130
+
131
+ <form class="md-header__option" data-md-component="palette">
132
+
133
+
134
+
135
+
136
+ <input class="md-option" data-md-color-media="" data-md-color-scheme="default" data-md-color-primary="green" data-md-color-accent="deep_purple" aria-hidden="true" type="radio" name="__palette" id="__palette_0">
137
+
138
+
139
+ </form>
140
+
141
+
142
+
143
+ <script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script>
144
+
145
+
146
+
147
+
148
+ <div class="md-header__source">
149
+ <a href="https://github.com/ThrowTheSwitch/Ceedling" title="Go to repository" class="md-source" data-md-component="source">
150
+ <div class="md-source__icon md-icon">
151
+
152
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M439.6 236.1 244 40.5c-5.4-5.5-12.8-8.5-20.4-8.5s-15 3-20.4 8.4L162.5 81l51.5 51.5c27.1-9.1 52.7 16.8 43.4 43.7l49.7 49.7c34.2-11.8 61.2 31 35.5 56.7-26.5 26.5-70.2-2.9-56-37.3L240.3 199v121.9c25.3 12.5 22.3 41.8 9.1 55-6.4 6.4-15.2 10.1-24.3 10.1s-17.8-3.6-24.3-10.1c-17.6-17.6-11.1-46.9 11.2-56v-123c-20.8-8.5-24.6-30.7-18.6-45L142.6 101 8.5 235.1C3 240.6 0 247.9 0 255.5s3 15 8.5 20.4l195.6 195.7c5.4 5.4 12.7 8.4 20.4 8.4s15-3 20.4-8.4l194.7-194.7c5.4-5.4 8.4-12.8 8.4-20.4s-3-15-8.4-20.4"/></svg>
153
+ </div>
154
+ <div class="md-source__repository">
155
+ ThrowTheSwitch/Ceedling
156
+ </div>
157
+ </a>
158
+ </div>
159
+
160
+ </nav>
161
+
162
+ </header>
163
+
164
+ <div class="md-container" data-md-component="container">
165
+
166
+
167
+
168
+
169
+
170
+ <nav class="md-tabs" aria-label="Tabs" data-md-component="tabs">
171
+ <div class="md-grid">
172
+ <ul class="md-tabs__list">
173
+
174
+
175
+
176
+
177
+
178
+
179
+ <li class="md-tabs__item">
180
+ <a href="../index.html" class="md-tabs__link">
181
+
182
+
183
+
184
+
185
+
186
+ Home
187
+
188
+ </a>
189
+ </li>
190
+
191
+
192
+
193
+
194
+
195
+
196
+
197
+
198
+
199
+
200
+ <li class="md-tabs__item">
201
+ <a href="../overview/index.html" class="md-tabs__link">
202
+
203
+
204
+
205
+
206
+
207
+ Overview
208
+
209
+ </a>
210
+ </li>
211
+
212
+
213
+
214
+
215
+
216
+
217
+
218
+
219
+
220
+
221
+
222
+ <li class="md-tabs__item">
223
+ <a href="../getting-started/index.html" class="md-tabs__link">
224
+
225
+
226
+
227
+
228
+
229
+ Getting Started
230
+
231
+ </a>
232
+ </li>
233
+
234
+
235
+
236
+
237
+
238
+
239
+
240
+
241
+
242
+
243
+
244
+ <li class="md-tabs__item">
245
+ <a href="../testing-guide/index.html" class="md-tabs__link">
246
+
247
+
248
+
249
+
250
+
251
+ Testing Guide
252
+
253
+ </a>
254
+ </li>
255
+
256
+
257
+
258
+
259
+
260
+
261
+
262
+
263
+
264
+
265
+
266
+ <li class="md-tabs__item">
267
+ <a href="../configuration/index.html" class="md-tabs__link">
268
+
269
+
270
+
271
+
272
+
273
+ Configuration
274
+
275
+ </a>
276
+ </li>
277
+
278
+
279
+
280
+
281
+
282
+
283
+
284
+
285
+
286
+
287
+
288
+
289
+
290
+ <li class="md-tabs__item md-tabs__item--active">
291
+ <a href="index.html" class="md-tabs__link">
292
+
293
+
294
+
295
+
296
+
297
+ Plugins
298
+
299
+ </a>
300
+ </li>
301
+
302
+
303
+
304
+
305
+
306
+
307
+
308
+
309
+
310
+
311
+
312
+ <li class="md-tabs__item">
313
+ <a href="../reference/index.html" class="md-tabs__link">
314
+
315
+
316
+
317
+
318
+
319
+ Reference
320
+
321
+ </a>
322
+ </li>
323
+
324
+
325
+
326
+
327
+
328
+
329
+
330
+
331
+
332
+
333
+
334
+ <li class="md-tabs__item">
335
+ <a href="../project/release-history.html" class="md-tabs__link">
336
+
337
+
338
+
339
+
340
+
341
+ Releases
342
+
343
+ </a>
344
+ </li>
345
+
346
+
347
+
348
+
349
+
350
+
351
+
352
+
353
+
354
+ <li class="md-tabs__item">
355
+ <a href="../help.html" class="md-tabs__link">
356
+
357
+
358
+
359
+
360
+
361
+ Help
362
+
363
+ </a>
364
+ </li>
365
+
366
+
367
+
368
+
369
+
370
+
371
+
372
+
373
+
374
+
375
+ <li class="md-tabs__item">
376
+ <a href="../development/index.html" class="md-tabs__link">
377
+
378
+
379
+
380
+
381
+
382
+ Development
383
+
384
+ </a>
385
+ </li>
386
+
387
+
388
+
389
+
390
+ </ul>
391
+ </div>
392
+ </nav>
393
+
394
+
395
+
396
+ <main class="md-main" data-md-component="main">
397
+ <div class="md-main__inner md-grid">
398
+
399
+
400
+
401
+ <div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
402
+ <div class="md-sidebar__scrollwrap">
403
+ <div class="md-sidebar__inner">
404
+
405
+
406
+
407
+
408
+
409
+
410
+ <nav class="md-nav md-nav--primary md-nav--lifted" aria-label="Navigation" data-md-level="0">
411
+ <label class="md-nav__title" for="__drawer">
412
+ <a href="../index.html" title="Ceedling" class="md-nav__button md-logo" aria-label="Ceedling" data-md-component="logo">
413
+
414
+
415
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg>
416
+
417
+ </a>
418
+ Ceedling
419
+ </label>
420
+
421
+ <div class="md-nav__source">
422
+ <a href="https://github.com/ThrowTheSwitch/Ceedling" title="Go to repository" class="md-source" data-md-component="source">
423
+ <div class="md-source__icon md-icon">
424
+
425
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M439.6 236.1 244 40.5c-5.4-5.5-12.8-8.5-20.4-8.5s-15 3-20.4 8.4L162.5 81l51.5 51.5c27.1-9.1 52.7 16.8 43.4 43.7l49.7 49.7c34.2-11.8 61.2 31 35.5 56.7-26.5 26.5-70.2-2.9-56-37.3L240.3 199v121.9c25.3 12.5 22.3 41.8 9.1 55-6.4 6.4-15.2 10.1-24.3 10.1s-17.8-3.6-24.3-10.1c-17.6-17.6-11.1-46.9 11.2-56v-123c-20.8-8.5-24.6-30.7-18.6-45L142.6 101 8.5 235.1C3 240.6 0 247.9 0 255.5s3 15 8.5 20.4l195.6 195.7c5.4 5.4 12.7 8.4 20.4 8.4s15-3 20.4-8.4l194.7-194.7c5.4-5.4 8.4-12.8 8.4-20.4s-3-15-8.4-20.4"/></svg>
426
+ </div>
427
+ <div class="md-source__repository">
428
+ ThrowTheSwitch/Ceedling
429
+ </div>
430
+ </a>
431
+ </div>
432
+
433
+ <ul class="md-nav__list" data-md-scrollfix>
434
+
435
+
436
+
437
+
438
+
439
+
440
+
441
+ <li class="md-nav__item">
442
+ <a href="../index.html" class="md-nav__link">
443
+
444
+
445
+
446
+ <span class="md-ellipsis">
447
+
448
+
449
+ Home
450
+
451
+
452
+
453
+ </span>
454
+
455
+
456
+
457
+ </a>
458
+ </li>
459
+
460
+
461
+
462
+
463
+
464
+
465
+
466
+
467
+
468
+
469
+
470
+
471
+
472
+
473
+
474
+
475
+
476
+
477
+
478
+
479
+
480
+
481
+
482
+
483
+
484
+
485
+
486
+
487
+
488
+
489
+
490
+ <li class="md-nav__item md-nav__item--nested">
491
+
492
+
493
+
494
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2" >
495
+
496
+
497
+ <div class="md-nav__link md-nav__container">
498
+ <a href="../overview/index.html" class="md-nav__link ">
499
+
500
+
501
+
502
+ <span class="md-ellipsis">
503
+
504
+
505
+ Overview
506
+
507
+
508
+
509
+ </span>
510
+
511
+
512
+
513
+ </a>
514
+
515
+
516
+ <label class="md-nav__link " for="__nav_2" id="__nav_2_label" tabindex="0">
517
+ <span class="md-nav__icon md-icon"></span>
518
+ </label>
519
+
520
+ </div>
521
+
522
+ <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_2_label" aria-expanded="false">
523
+ <label class="md-nav__title" for="__nav_2">
524
+ <span class="md-nav__icon md-icon"></span>
525
+
526
+
527
+ Overview
528
+
529
+
530
+ </label>
531
+ <ul class="md-nav__list" data-md-scrollfix>
532
+
533
+
534
+
535
+
536
+
537
+
538
+
539
+
540
+
541
+ <li class="md-nav__item">
542
+ <a href="../overview/build-system.html" class="md-nav__link">
543
+
544
+
545
+
546
+ <span class="md-ellipsis">
547
+
548
+
549
+ Build System
550
+
551
+
552
+
553
+ </span>
554
+
555
+
556
+
557
+ </a>
558
+ </li>
559
+
560
+
561
+
562
+
563
+
564
+
565
+
566
+
567
+
568
+
569
+ <li class="md-nav__item">
570
+ <a href="../overview/tools-and-frameworks.html" class="md-nav__link">
571
+
572
+
573
+
574
+ <span class="md-ellipsis">
575
+
576
+
577
+ Tools & Frameworks
578
+
579
+
580
+
581
+ </span>
582
+
583
+
584
+
585
+ </a>
586
+ </li>
587
+
588
+
589
+
590
+
591
+
592
+
593
+
594
+
595
+
596
+
597
+ <li class="md-nav__item">
598
+ <a href="../overview/test-environments.html" class="md-nav__link">
599
+
600
+
601
+
602
+ <span class="md-ellipsis">
603
+
604
+
605
+ Test Environments
606
+
607
+
608
+
609
+ </span>
610
+
611
+
612
+
613
+ </a>
614
+ </li>
615
+
616
+
617
+
618
+
619
+ </ul>
620
+ </nav>
621
+
622
+ </li>
623
+
624
+
625
+
626
+
627
+
628
+
629
+
630
+
631
+
632
+
633
+
634
+
635
+
636
+
637
+
638
+
639
+
640
+
641
+
642
+
643
+
644
+
645
+
646
+
647
+
648
+
649
+
650
+
651
+
652
+
653
+
654
+
655
+
656
+ <li class="md-nav__item md-nav__item--nested">
657
+
658
+
659
+
660
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3" >
661
+
662
+
663
+ <div class="md-nav__link md-nav__container">
664
+ <a href="../getting-started/index.html" class="md-nav__link ">
665
+
666
+
667
+
668
+ <span class="md-ellipsis">
669
+
670
+
671
+ Getting Started
672
+
673
+
674
+
675
+ </span>
676
+
677
+
678
+
679
+ </a>
680
+
681
+
682
+ <label class="md-nav__link " for="__nav_3" id="__nav_3_label" tabindex="0">
683
+ <span class="md-nav__icon md-icon"></span>
684
+ </label>
685
+
686
+ </div>
687
+
688
+ <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="false">
689
+ <label class="md-nav__title" for="__nav_3">
690
+ <span class="md-nav__icon md-icon"></span>
691
+
692
+
693
+ Getting Started
694
+
695
+
696
+ </label>
697
+ <ul class="md-nav__list" data-md-scrollfix>
698
+
699
+
700
+
701
+
702
+
703
+
704
+
705
+
706
+
707
+ <li class="md-nav__item">
708
+ <a href="../getting-started/quick-start.html" class="md-nav__link">
709
+
710
+
711
+
712
+ <span class="md-ellipsis">
713
+
714
+
715
+ Quick Start
716
+
717
+
718
+
719
+ </span>
720
+
721
+
722
+
723
+ </a>
724
+ </li>
725
+
726
+
727
+
728
+
729
+
730
+
731
+
732
+
733
+
734
+
735
+ <li class="md-nav__item">
736
+ <a href="../getting-started/installation.html" class="md-nav__link">
737
+
738
+
739
+
740
+ <span class="md-ellipsis">
741
+
742
+
743
+ Installation
744
+
745
+
746
+
747
+ </span>
748
+
749
+
750
+
751
+ </a>
752
+ </li>
753
+
754
+
755
+
756
+
757
+
758
+
759
+
760
+
761
+
762
+
763
+ <li class="md-nav__item">
764
+ <a href="../getting-started/command-line.html" class="md-nav__link">
765
+
766
+
767
+
768
+ <span class="md-ellipsis">
769
+
770
+
771
+ Command Line
772
+
773
+
774
+
775
+ </span>
776
+
777
+
778
+
779
+ </a>
780
+ </li>
781
+
782
+
783
+
784
+
785
+
786
+
787
+
788
+
789
+
790
+
791
+
792
+
793
+
794
+
795
+
796
+
797
+
798
+
799
+
800
+
801
+
802
+
803
+
804
+
805
+
806
+
807
+
808
+
809
+
810
+
811
+
812
+
813
+ <li class="md-nav__item md-nav__item--nested">
814
+
815
+
816
+
817
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_5" >
818
+
819
+
820
+ <div class="md-nav__link md-nav__container">
821
+ <a href="../getting-started/example-projects/index.html" class="md-nav__link ">
822
+
823
+
824
+
825
+ <span class="md-ellipsis">
826
+
827
+
828
+ Example Projects
829
+
830
+
831
+
832
+ </span>
833
+
834
+
835
+
836
+ </a>
837
+
838
+
839
+ <label class="md-nav__link " for="__nav_3_5" id="__nav_3_5_label" tabindex="0">
840
+ <span class="md-nav__icon md-icon"></span>
841
+ </label>
842
+
843
+ </div>
844
+
845
+ <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_5_label" aria-expanded="false">
846
+ <label class="md-nav__title" for="__nav_3_5">
847
+ <span class="md-nav__icon md-icon"></span>
848
+
849
+
850
+ Example Projects
851
+
852
+
853
+ </label>
854
+ <ul class="md-nav__list" data-md-scrollfix>
855
+
856
+
857
+
858
+
859
+
860
+
861
+
862
+
863
+
864
+ <li class="md-nav__item">
865
+ <a href="../getting-started/example-projects/temp-sensor.html" class="md-nav__link">
866
+
867
+
868
+
869
+ <span class="md-ellipsis">
870
+
871
+
872
+ Temp Sensor
873
+
874
+
875
+
876
+ </span>
877
+
878
+
879
+
880
+ </a>
881
+ </li>
882
+
883
+
884
+
885
+
886
+
887
+
888
+
889
+
890
+
891
+
892
+ <li class="md-nav__item">
893
+ <a href="../getting-started/example-projects/wondrous-forest.html" class="md-nav__link">
894
+
895
+
896
+
897
+ <span class="md-ellipsis">
898
+
899
+
900
+ Wondrous Forest
901
+
902
+
903
+
904
+ </span>
905
+
906
+
907
+
908
+ </a>
909
+ </li>
910
+
911
+
912
+
913
+
914
+
915
+
916
+
917
+
918
+
919
+
920
+ <li class="md-nav__item">
921
+ <a href="../getting-started/example-projects/cipher-quest.html" class="md-nav__link">
922
+
923
+
924
+
925
+ <span class="md-ellipsis">
926
+
927
+
928
+ Cipher Quest
929
+
930
+
931
+
932
+ </span>
933
+
934
+
935
+
936
+ </a>
937
+ </li>
938
+
939
+
940
+
941
+
942
+ </ul>
943
+ </nav>
944
+
945
+ </li>
946
+
947
+
948
+
949
+
950
+ </ul>
951
+ </nav>
952
+
953
+ </li>
954
+
955
+
956
+
957
+
958
+
959
+
960
+
961
+
962
+
963
+
964
+
965
+
966
+
967
+
968
+
969
+
970
+
971
+
972
+
973
+
974
+
975
+
976
+
977
+
978
+
979
+
980
+
981
+
982
+
983
+
984
+
985
+
986
+
987
+
988
+
989
+
990
+
991
+
992
+
993
+ <li class="md-nav__item md-nav__item--nested">
994
+
995
+
996
+
997
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4" >
998
+
999
+
1000
+ <div class="md-nav__link md-nav__container">
1001
+ <a href="../testing-guide/index.html" class="md-nav__link ">
1002
+
1003
+
1004
+
1005
+ <span class="md-ellipsis">
1006
+
1007
+
1008
+ Testing Guide
1009
+
1010
+
1011
+
1012
+ </span>
1013
+
1014
+
1015
+
1016
+ </a>
1017
+
1018
+
1019
+ <label class="md-nav__link " for="__nav_4" id="__nav_4_label" tabindex="0">
1020
+ <span class="md-nav__icon md-icon"></span>
1021
+ </label>
1022
+
1023
+ </div>
1024
+
1025
+ <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="false">
1026
+ <label class="md-nav__title" for="__nav_4">
1027
+ <span class="md-nav__icon md-icon"></span>
1028
+
1029
+
1030
+ Testing Guide
1031
+
1032
+
1033
+ </label>
1034
+ <ul class="md-nav__list" data-md-scrollfix>
1035
+
1036
+
1037
+
1038
+
1039
+
1040
+
1041
+
1042
+
1043
+
1044
+ <li class="md-nav__item">
1045
+ <a href="../testing-guide/test-cases.html" class="md-nav__link">
1046
+
1047
+
1048
+
1049
+ <span class="md-ellipsis">
1050
+
1051
+
1052
+ How Does a Test Case Work?
1053
+
1054
+
1055
+
1056
+ </span>
1057
+
1058
+
1059
+
1060
+ </a>
1061
+ </li>
1062
+
1063
+
1064
+
1065
+
1066
+
1067
+
1068
+
1069
+
1070
+
1071
+
1072
+ <li class="md-nav__item">
1073
+ <a href="../testing-guide/test-sample.html" class="md-nav__link">
1074
+
1075
+
1076
+
1077
+ <span class="md-ellipsis">
1078
+
1079
+
1080
+ Commented Sample Test File
1081
+
1082
+
1083
+
1084
+ </span>
1085
+
1086
+
1087
+
1088
+ </a>
1089
+ </li>
1090
+
1091
+
1092
+
1093
+
1094
+
1095
+
1096
+
1097
+
1098
+
1099
+
1100
+ <li class="md-nav__item">
1101
+ <a href="../testing-guide/test-suite-anatomy.html" class="md-nav__link">
1102
+
1103
+
1104
+
1105
+ <span class="md-ellipsis">
1106
+
1107
+
1108
+ Anatomy of a Test Suite
1109
+
1110
+
1111
+
1112
+ </span>
1113
+
1114
+
1115
+
1116
+ </a>
1117
+ </li>
1118
+
1119
+
1120
+
1121
+
1122
+
1123
+
1124
+
1125
+
1126
+
1127
+
1128
+ <li class="md-nav__item">
1129
+ <a href="../testing-guide/conventions.html" class="md-nav__link">
1130
+
1131
+
1132
+
1133
+ <span class="md-ellipsis">
1134
+
1135
+
1136
+ Conventions & Behaviors
1137
+
1138
+
1139
+
1140
+ </span>
1141
+
1142
+
1143
+
1144
+ </a>
1145
+ </li>
1146
+
1147
+
1148
+
1149
+
1150
+
1151
+
1152
+
1153
+
1154
+
1155
+
1156
+ <li class="md-nav__item">
1157
+ <a href="../testing-guide/frameworks.html" class="md-nav__link">
1158
+
1159
+
1160
+
1161
+ <span class="md-ellipsis">
1162
+
1163
+
1164
+ Unity, CMock & CException
1165
+
1166
+
1167
+
1168
+ </span>
1169
+
1170
+
1171
+
1172
+ </a>
1173
+ </li>
1174
+
1175
+
1176
+
1177
+
1178
+
1179
+
1180
+
1181
+
1182
+
1183
+
1184
+
1185
+
1186
+
1187
+
1188
+
1189
+
1190
+
1191
+
1192
+
1193
+
1194
+
1195
+
1196
+
1197
+
1198
+
1199
+
1200
+
1201
+
1202
+
1203
+
1204
+
1205
+
1206
+
1207
+
1208
+
1209
+
1210
+
1211
+
1212
+ <li class="md-nav__item md-nav__item--nested">
1213
+
1214
+
1215
+
1216
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_7" >
1217
+
1218
+
1219
+ <div class="md-nav__link md-nav__container">
1220
+ <a href="../testing-guide/partials/index.html" class="md-nav__link ">
1221
+
1222
+
1223
+
1224
+ <span class="md-ellipsis">
1225
+
1226
+
1227
+ Partials
1228
+
1229
+
1230
+
1231
+ </span>
1232
+
1233
+
1234
+
1235
+ </a>
1236
+
1237
+
1238
+ <label class="md-nav__link " for="__nav_4_7" id="__nav_4_7_label" tabindex="0">
1239
+ <span class="md-nav__icon md-icon"></span>
1240
+ </label>
1241
+
1242
+ </div>
1243
+
1244
+ <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_7_label" aria-expanded="false">
1245
+ <label class="md-nav__title" for="__nav_4_7">
1246
+ <span class="md-nav__icon md-icon"></span>
1247
+
1248
+
1249
+ Partials
1250
+
1251
+
1252
+ </label>
1253
+ <ul class="md-nav__list" data-md-scrollfix>
1254
+
1255
+
1256
+
1257
+
1258
+
1259
+
1260
+
1261
+
1262
+
1263
+ <li class="md-nav__item">
1264
+ <a href="../testing-guide/partials/overview.html" class="md-nav__link">
1265
+
1266
+
1267
+
1268
+ <span class="md-ellipsis">
1269
+
1270
+
1271
+ What Is a Partial?
1272
+
1273
+
1274
+
1275
+ </span>
1276
+
1277
+
1278
+
1279
+ </a>
1280
+ </li>
1281
+
1282
+
1283
+
1284
+
1285
+
1286
+
1287
+
1288
+
1289
+
1290
+
1291
+ <li class="md-nav__item">
1292
+ <a href="../testing-guide/partials/configuration.html" class="md-nav__link">
1293
+
1294
+
1295
+
1296
+ <span class="md-ellipsis">
1297
+
1298
+
1299
+ Configuration
1300
+
1301
+
1302
+
1303
+ </span>
1304
+
1305
+
1306
+
1307
+ </a>
1308
+ </li>
1309
+
1310
+
1311
+
1312
+
1313
+
1314
+
1315
+
1316
+
1317
+
1318
+
1319
+ <li class="md-nav__item">
1320
+ <a href="../testing-guide/partials/example.html" class="md-nav__link">
1321
+
1322
+
1323
+
1324
+ <span class="md-ellipsis">
1325
+
1326
+
1327
+ Walk-Through Example
1328
+
1329
+
1330
+
1331
+ </span>
1332
+
1333
+
1334
+
1335
+ </a>
1336
+ </li>
1337
+
1338
+
1339
+
1340
+
1341
+
1342
+
1343
+
1344
+
1345
+
1346
+
1347
+ <li class="md-nav__item">
1348
+ <a href="../testing-guide/partials/conventions.html" class="md-nav__link">
1349
+
1350
+
1351
+
1352
+ <span class="md-ellipsis">
1353
+
1354
+
1355
+ Conventions & Terminology
1356
+
1357
+
1358
+
1359
+ </span>
1360
+
1361
+
1362
+
1363
+ </a>
1364
+ </li>
1365
+
1366
+
1367
+
1368
+
1369
+
1370
+
1371
+
1372
+
1373
+
1374
+
1375
+ <li class="md-nav__item">
1376
+ <a href="../testing-guide/partials/directives.html" class="md-nav__link">
1377
+
1378
+
1379
+
1380
+ <span class="md-ellipsis">
1381
+
1382
+
1383
+ Partial Directive Macros
1384
+
1385
+
1386
+
1387
+ </span>
1388
+
1389
+
1390
+
1391
+ </a>
1392
+ </li>
1393
+
1394
+
1395
+
1396
+
1397
+
1398
+
1399
+
1400
+
1401
+
1402
+
1403
+ <li class="md-nav__item">
1404
+ <a href="../testing-guide/partials/variables.html" class="md-nav__link">
1405
+
1406
+
1407
+
1408
+ <span class="md-ellipsis">
1409
+
1410
+
1411
+ Accessing Static Variables
1412
+
1413
+
1414
+
1415
+ </span>
1416
+
1417
+
1418
+
1419
+ </a>
1420
+ </li>
1421
+
1422
+
1423
+
1424
+
1425
+ </ul>
1426
+ </nav>
1427
+
1428
+ </li>
1429
+
1430
+
1431
+
1432
+
1433
+
1434
+
1435
+
1436
+
1437
+
1438
+
1439
+ <li class="md-nav__item">
1440
+ <a href="../testing-guide/build-directives.html" class="md-nav__link">
1441
+
1442
+
1443
+
1444
+ <span class="md-ellipsis">
1445
+
1446
+
1447
+ Build Directive Macros
1448
+
1449
+
1450
+
1451
+ </span>
1452
+
1453
+
1454
+
1455
+ </a>
1456
+ </li>
1457
+
1458
+
1459
+
1460
+
1461
+ </ul>
1462
+ </nav>
1463
+
1464
+ </li>
1465
+
1466
+
1467
+
1468
+
1469
+
1470
+
1471
+
1472
+
1473
+
1474
+
1475
+
1476
+
1477
+
1478
+
1479
+
1480
+
1481
+
1482
+
1483
+
1484
+
1485
+
1486
+
1487
+
1488
+
1489
+
1490
+
1491
+
1492
+
1493
+
1494
+
1495
+
1496
+
1497
+
1498
+
1499
+
1500
+
1501
+
1502
+
1503
+
1504
+
1505
+
1506
+ <li class="md-nav__item md-nav__item--nested">
1507
+
1508
+
1509
+
1510
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5" >
1511
+
1512
+
1513
+ <div class="md-nav__link md-nav__container">
1514
+ <a href="../configuration/index.html" class="md-nav__link ">
1515
+
1516
+
1517
+
1518
+ <span class="md-ellipsis">
1519
+
1520
+
1521
+ Configuration
1522
+
1523
+
1524
+
1525
+ </span>
1526
+
1527
+
1528
+
1529
+ </a>
1530
+
1531
+
1532
+ <label class="md-nav__link " for="__nav_5" id="__nav_5_label" tabindex="0">
1533
+ <span class="md-nav__icon md-icon"></span>
1534
+ </label>
1535
+
1536
+ </div>
1537
+
1538
+ <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="false">
1539
+ <label class="md-nav__title" for="__nav_5">
1540
+ <span class="md-nav__icon md-icon"></span>
1541
+
1542
+
1543
+ Configuration
1544
+
1545
+
1546
+ </label>
1547
+ <ul class="md-nav__list" data-md-scrollfix>
1548
+
1549
+
1550
+
1551
+
1552
+
1553
+
1554
+
1555
+
1556
+
1557
+ <li class="md-nav__item">
1558
+ <a href="../configuration/loading.html" class="md-nav__link">
1559
+
1560
+
1561
+
1562
+ <span class="md-ellipsis">
1563
+
1564
+
1565
+ Loading Configuration
1566
+
1567
+
1568
+
1569
+ </span>
1570
+
1571
+
1572
+
1573
+ </a>
1574
+ </li>
1575
+
1576
+
1577
+
1578
+
1579
+
1580
+
1581
+
1582
+
1583
+
1584
+
1585
+ <li class="md-nav__item">
1586
+ <a href="../configuration/mixins.html" class="md-nav__link">
1587
+
1588
+
1589
+
1590
+ <span class="md-ellipsis">
1591
+
1592
+
1593
+ Mixins
1594
+
1595
+
1596
+
1597
+ </span>
1598
+
1599
+
1600
+
1601
+ </a>
1602
+ </li>
1603
+
1604
+
1605
+
1606
+
1607
+
1608
+
1609
+
1610
+
1611
+
1612
+
1613
+ <li class="md-nav__item">
1614
+ <a href="../configuration/project-file.html" class="md-nav__link">
1615
+
1616
+
1617
+
1618
+ <span class="md-ellipsis">
1619
+
1620
+
1621
+ Project File Basics
1622
+
1623
+
1624
+
1625
+ </span>
1626
+
1627
+
1628
+
1629
+ </a>
1630
+ </li>
1631
+
1632
+
1633
+
1634
+
1635
+
1636
+
1637
+
1638
+
1639
+
1640
+
1641
+ <li class="md-nav__item">
1642
+ <a href="../configuration/parallel-builds.html" class="md-nav__link">
1643
+
1644
+
1645
+
1646
+ <span class="md-ellipsis">
1647
+
1648
+
1649
+ Parallel Builds
1650
+
1651
+
1652
+
1653
+ </span>
1654
+
1655
+
1656
+
1657
+ </a>
1658
+ </li>
1659
+
1660
+
1661
+
1662
+
1663
+
1664
+
1665
+
1666
+
1667
+
1668
+
1669
+ <li class="md-nav__item">
1670
+ <a href="../configuration/environment-vars.html" class="md-nav__link">
1671
+
1672
+
1673
+
1674
+ <span class="md-ellipsis">
1675
+
1676
+
1677
+ Environment Variables
1678
+
1679
+
1680
+
1681
+ </span>
1682
+
1683
+
1684
+
1685
+ </a>
1686
+ </li>
1687
+
1688
+
1689
+
1690
+
1691
+
1692
+
1693
+
1694
+
1695
+
1696
+
1697
+ <li class="md-nav__item">
1698
+ <a href="../configuration/which-ceedling.html" class="md-nav__link">
1699
+
1700
+
1701
+
1702
+ <span class="md-ellipsis">
1703
+
1704
+
1705
+ Which Ceedling
1706
+
1707
+
1708
+
1709
+ </span>
1710
+
1711
+
1712
+
1713
+ </a>
1714
+ </li>
1715
+
1716
+
1717
+
1718
+
1719
+
1720
+
1721
+
1722
+
1723
+
1724
+
1725
+ <li class="md-nav__item">
1726
+ <a href="../configuration/global-collections.html" class="md-nav__link">
1727
+
1728
+
1729
+
1730
+ <span class="md-ellipsis">
1731
+
1732
+
1733
+ Global Collections
1734
+
1735
+
1736
+
1737
+ </span>
1738
+
1739
+
1740
+
1741
+ </a>
1742
+ </li>
1743
+
1744
+
1745
+
1746
+
1747
+
1748
+
1749
+
1750
+
1751
+
1752
+
1753
+
1754
+
1755
+
1756
+
1757
+
1758
+
1759
+
1760
+
1761
+
1762
+
1763
+
1764
+
1765
+
1766
+
1767
+
1768
+
1769
+
1770
+
1771
+
1772
+
1773
+
1774
+
1775
+
1776
+
1777
+
1778
+
1779
+
1780
+
1781
+
1782
+
1783
+
1784
+
1785
+
1786
+
1787
+
1788
+
1789
+
1790
+
1791
+
1792
+
1793
+
1794
+
1795
+
1796
+
1797
+
1798
+
1799
+
1800
+
1801
+
1802
+
1803
+ <li class="md-nav__item md-nav__item--nested">
1804
+
1805
+
1806
+
1807
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5_9" >
1808
+
1809
+
1810
+ <div class="md-nav__link md-nav__container">
1811
+ <a href="../configuration/reference/index.html" class="md-nav__link ">
1812
+
1813
+
1814
+
1815
+ <span class="md-ellipsis">
1816
+
1817
+
1818
+ Configuration Reference
1819
+
1820
+
1821
+
1822
+ </span>
1823
+
1824
+
1825
+
1826
+ </a>
1827
+
1828
+
1829
+ <label class="md-nav__link " for="__nav_5_9" id="__nav_5_9_label" tabindex="0">
1830
+ <span class="md-nav__icon md-icon"></span>
1831
+ </label>
1832
+
1833
+ </div>
1834
+
1835
+ <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_5_9_label" aria-expanded="false">
1836
+ <label class="md-nav__title" for="__nav_5_9">
1837
+ <span class="md-nav__icon md-icon"></span>
1838
+
1839
+
1840
+ Configuration Reference
1841
+
1842
+
1843
+ </label>
1844
+ <ul class="md-nav__list" data-md-scrollfix>
1845
+
1846
+
1847
+
1848
+
1849
+
1850
+
1851
+
1852
+
1853
+
1854
+ <li class="md-nav__item">
1855
+ <a href="../configuration/reference/project.html" class="md-nav__link">
1856
+
1857
+
1858
+
1859
+ <span class="md-ellipsis">
1860
+
1861
+
1862
+ Global Project Settings
1863
+
1864
+
1865
+
1866
+ </span>
1867
+
1868
+
1869
+
1870
+ </a>
1871
+ </li>
1872
+
1873
+
1874
+
1875
+
1876
+
1877
+
1878
+
1879
+
1880
+
1881
+
1882
+ <li class="md-nav__item">
1883
+ <a href="../configuration/reference/mixins.html" class="md-nav__link">
1884
+
1885
+
1886
+
1887
+ <span class="md-ellipsis">
1888
+
1889
+
1890
+ Mixins
1891
+
1892
+
1893
+
1894
+ </span>
1895
+
1896
+
1897
+
1898
+ </a>
1899
+ </li>
1900
+
1901
+
1902
+
1903
+
1904
+
1905
+
1906
+
1907
+
1908
+
1909
+
1910
+ <li class="md-nav__item">
1911
+ <a href="../configuration/reference/test-build.html" class="md-nav__link">
1912
+
1913
+
1914
+
1915
+ <span class="md-ellipsis">
1916
+
1917
+
1918
+ Test Build Settings
1919
+
1920
+
1921
+
1922
+ </span>
1923
+
1924
+
1925
+
1926
+ </a>
1927
+ </li>
1928
+
1929
+
1930
+
1931
+
1932
+
1933
+
1934
+
1935
+
1936
+
1937
+
1938
+ <li class="md-nav__item">
1939
+ <a href="../configuration/reference/release-build.html" class="md-nav__link">
1940
+
1941
+
1942
+
1943
+ <span class="md-ellipsis">
1944
+
1945
+
1946
+ Release Build Settings
1947
+
1948
+
1949
+
1950
+ </span>
1951
+
1952
+
1953
+
1954
+ </a>
1955
+ </li>
1956
+
1957
+
1958
+
1959
+
1960
+
1961
+
1962
+
1963
+
1964
+
1965
+
1966
+ <li class="md-nav__item">
1967
+ <a href="../configuration/reference/paths.html" class="md-nav__link">
1968
+
1969
+
1970
+
1971
+ <span class="md-ellipsis">
1972
+
1973
+
1974
+ Search Paths
1975
+
1976
+
1977
+
1978
+ </span>
1979
+
1980
+
1981
+
1982
+ </a>
1983
+ </li>
1984
+
1985
+
1986
+
1987
+
1988
+
1989
+
1990
+
1991
+
1992
+
1993
+
1994
+ <li class="md-nav__item">
1995
+ <a href="../configuration/reference/files.html" class="md-nav__link">
1996
+
1997
+
1998
+
1999
+ <span class="md-ellipsis">
2000
+
2001
+
2002
+ File Collections
2003
+
2004
+
2005
+
2006
+ </span>
2007
+
2008
+
2009
+
2010
+ </a>
2011
+ </li>
2012
+
2013
+
2014
+
2015
+
2016
+
2017
+
2018
+
2019
+
2020
+
2021
+
2022
+ <li class="md-nav__item">
2023
+ <a href="../configuration/reference/environment.html" class="md-nav__link">
2024
+
2025
+
2026
+
2027
+ <span class="md-ellipsis">
2028
+
2029
+
2030
+ Environment Variables
2031
+
2032
+
2033
+
2034
+ </span>
2035
+
2036
+
2037
+
2038
+ </a>
2039
+ </li>
2040
+
2041
+
2042
+
2043
+
2044
+
2045
+
2046
+
2047
+
2048
+
2049
+
2050
+ <li class="md-nav__item">
2051
+ <a href="../configuration/reference/extension.html" class="md-nav__link">
2052
+
2053
+
2054
+
2055
+ <span class="md-ellipsis">
2056
+
2057
+
2058
+ File Extensions
2059
+
2060
+
2061
+
2062
+ </span>
2063
+
2064
+
2065
+
2066
+ </a>
2067
+ </li>
2068
+
2069
+
2070
+
2071
+
2072
+
2073
+
2074
+
2075
+
2076
+
2077
+
2078
+ <li class="md-nav__item">
2079
+ <a href="../configuration/reference/defines.html" class="md-nav__link">
2080
+
2081
+
2082
+
2083
+ <span class="md-ellipsis">
2084
+
2085
+
2086
+ Defines
2087
+
2088
+
2089
+
2090
+ </span>
2091
+
2092
+
2093
+
2094
+ </a>
2095
+ </li>
2096
+
2097
+
2098
+
2099
+
2100
+
2101
+
2102
+
2103
+
2104
+
2105
+
2106
+ <li class="md-nav__item">
2107
+ <a href="../configuration/reference/flags.html" class="md-nav__link">
2108
+
2109
+
2110
+
2111
+ <span class="md-ellipsis">
2112
+
2113
+
2114
+ Compilation & Link Flags
2115
+
2116
+
2117
+
2118
+ </span>
2119
+
2120
+
2121
+
2122
+ </a>
2123
+ </li>
2124
+
2125
+
2126
+
2127
+
2128
+
2129
+
2130
+
2131
+
2132
+
2133
+
2134
+ <li class="md-nav__item">
2135
+ <a href="../configuration/reference/libraries.html" class="md-nav__link">
2136
+
2137
+
2138
+
2139
+ <span class="md-ellipsis">
2140
+
2141
+
2142
+ Libraries
2143
+
2144
+
2145
+
2146
+ </span>
2147
+
2148
+
2149
+
2150
+ </a>
2151
+ </li>
2152
+
2153
+
2154
+
2155
+
2156
+
2157
+
2158
+
2159
+
2160
+
2161
+
2162
+ <li class="md-nav__item">
2163
+ <a href="../configuration/reference/unity.html" class="md-nav__link">
2164
+
2165
+
2166
+
2167
+ <span class="md-ellipsis">
2168
+
2169
+
2170
+ Unity
2171
+
2172
+
2173
+
2174
+ </span>
2175
+
2176
+
2177
+
2178
+ </a>
2179
+ </li>
2180
+
2181
+
2182
+
2183
+
2184
+
2185
+
2186
+
2187
+
2188
+
2189
+
2190
+ <li class="md-nav__item">
2191
+ <a href="../configuration/reference/cmock.html" class="md-nav__link">
2192
+
2193
+
2194
+
2195
+ <span class="md-ellipsis">
2196
+
2197
+
2198
+ CMock
2199
+
2200
+
2201
+
2202
+ </span>
2203
+
2204
+
2205
+
2206
+ </a>
2207
+ </li>
2208
+
2209
+
2210
+
2211
+
2212
+
2213
+
2214
+
2215
+
2216
+
2217
+
2218
+ <li class="md-nav__item">
2219
+ <a href="../configuration/reference/test-runner.html" class="md-nav__link">
2220
+
2221
+
2222
+
2223
+ <span class="md-ellipsis">
2224
+
2225
+
2226
+ Test Runner
2227
+
2228
+
2229
+
2230
+ </span>
2231
+
2232
+
2233
+
2234
+ </a>
2235
+ </li>
2236
+
2237
+
2238
+
2239
+
2240
+
2241
+
2242
+
2243
+
2244
+
2245
+
2246
+ <li class="md-nav__item">
2247
+ <a href="../configuration/reference/cexception.html" class="md-nav__link">
2248
+
2249
+
2250
+
2251
+ <span class="md-ellipsis">
2252
+
2253
+
2254
+ CException
2255
+
2256
+
2257
+
2258
+ </span>
2259
+
2260
+
2261
+
2262
+ </a>
2263
+ </li>
2264
+
2265
+
2266
+
2267
+
2268
+
2269
+
2270
+
2271
+
2272
+
2273
+
2274
+ <li class="md-nav__item">
2275
+ <a href="../configuration/reference/plugins.html" class="md-nav__link">
2276
+
2277
+
2278
+
2279
+ <span class="md-ellipsis">
2280
+
2281
+
2282
+ Plugins
2283
+
2284
+
2285
+
2286
+ </span>
2287
+
2288
+
2289
+
2290
+ </a>
2291
+ </li>
2292
+
2293
+
2294
+
2295
+
2296
+
2297
+
2298
+
2299
+
2300
+
2301
+
2302
+ <li class="md-nav__item">
2303
+ <a href="../configuration/reference/tools.html" class="md-nav__link">
2304
+
2305
+
2306
+
2307
+ <span class="md-ellipsis">
2308
+
2309
+
2310
+ Tools
2311
+
2312
+
2313
+
2314
+ </span>
2315
+
2316
+
2317
+
2318
+ </a>
2319
+ </li>
2320
+
2321
+
2322
+
2323
+
2324
+ </ul>
2325
+ </nav>
2326
+
2327
+ </li>
2328
+
2329
+
2330
+
2331
+
2332
+ </ul>
2333
+ </nav>
2334
+
2335
+ </li>
2336
+
2337
+
2338
+
2339
+
2340
+
2341
+
2342
+
2343
+
2344
+
2345
+
2346
+
2347
+
2348
+
2349
+
2350
+
2351
+
2352
+
2353
+
2354
+
2355
+
2356
+
2357
+
2358
+
2359
+
2360
+
2361
+
2362
+
2363
+
2364
+
2365
+
2366
+
2367
+
2368
+
2369
+
2370
+
2371
+
2372
+
2373
+
2374
+
2375
+
2376
+
2377
+
2378
+
2379
+
2380
+
2381
+
2382
+
2383
+
2384
+
2385
+
2386
+
2387
+
2388
+
2389
+
2390
+
2391
+
2392
+
2393
+
2394
+
2395
+
2396
+
2397
+
2398
+
2399
+
2400
+ <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested">
2401
+
2402
+
2403
+
2404
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6" checked>
2405
+
2406
+
2407
+ <div class="md-nav__link md-nav__container">
2408
+ <a href="index.html" class="md-nav__link ">
2409
+
2410
+
2411
+
2412
+ <span class="md-ellipsis">
2413
+
2414
+
2415
+ Plugins
2416
+
2417
+
2418
+
2419
+ </span>
2420
+
2421
+
2422
+
2423
+ </a>
2424
+
2425
+
2426
+ <label class="md-nav__link " for="__nav_6" id="__nav_6_label" tabindex="">
2427
+ <span class="md-nav__icon md-icon"></span>
2428
+ </label>
2429
+
2430
+ </div>
2431
+
2432
+ <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_6_label" aria-expanded="true">
2433
+ <label class="md-nav__title" for="__nav_6">
2434
+ <span class="md-nav__icon md-icon"></span>
2435
+
2436
+
2437
+ Plugins
2438
+
2439
+
2440
+ </label>
2441
+ <ul class="md-nav__list" data-md-scrollfix>
2442
+
2443
+
2444
+
2445
+
2446
+
2447
+
2448
+
2449
+
2450
+
2451
+ <li class="md-nav__item">
2452
+ <a href="report-tests-pretty-stdout.html" class="md-nav__link">
2453
+
2454
+
2455
+
2456
+ <span class="md-ellipsis">
2457
+
2458
+
2459
+ Test Report — Pretty
2460
+
2461
+
2462
+
2463
+ </span>
2464
+
2465
+
2466
+
2467
+ </a>
2468
+ </li>
2469
+
2470
+
2471
+
2472
+
2473
+
2474
+
2475
+
2476
+
2477
+
2478
+
2479
+ <li class="md-nav__item">
2480
+ <a href="report-tests-ide-stdout.html" class="md-nav__link">
2481
+
2482
+
2483
+
2484
+ <span class="md-ellipsis">
2485
+
2486
+
2487
+ Test Report — IDE
2488
+
2489
+
2490
+
2491
+ </span>
2492
+
2493
+
2494
+
2495
+ </a>
2496
+ </li>
2497
+
2498
+
2499
+
2500
+
2501
+
2502
+
2503
+
2504
+
2505
+
2506
+
2507
+ <li class="md-nav__item">
2508
+ <a href="report-tests-gtestlike-stdout.html" class="md-nav__link">
2509
+
2510
+
2511
+
2512
+ <span class="md-ellipsis">
2513
+
2514
+
2515
+ Test Report — GTest-like
2516
+
2517
+
2518
+
2519
+ </span>
2520
+
2521
+
2522
+
2523
+ </a>
2524
+ </li>
2525
+
2526
+
2527
+
2528
+
2529
+
2530
+
2531
+
2532
+
2533
+
2534
+
2535
+ <li class="md-nav__item">
2536
+ <a href="report-tests-teamcity-stdout.html" class="md-nav__link">
2537
+
2538
+
2539
+
2540
+ <span class="md-ellipsis">
2541
+
2542
+
2543
+ Test Report — TeamCity
2544
+
2545
+
2546
+
2547
+ </span>
2548
+
2549
+
2550
+
2551
+ </a>
2552
+ </li>
2553
+
2554
+
2555
+
2556
+
2557
+
2558
+
2559
+
2560
+
2561
+
2562
+
2563
+ <li class="md-nav__item">
2564
+ <a href="report-tests-log-factory.html" class="md-nav__link">
2565
+
2566
+
2567
+
2568
+ <span class="md-ellipsis">
2569
+
2570
+
2571
+ Test Report Log Factory
2572
+
2573
+
2574
+
2575
+ </span>
2576
+
2577
+
2578
+
2579
+ </a>
2580
+ </li>
2581
+
2582
+
2583
+
2584
+
2585
+
2586
+
2587
+
2588
+
2589
+
2590
+
2591
+ <li class="md-nav__item">
2592
+ <a href="report-tests-raw-output-log.html" class="md-nav__link">
2593
+
2594
+
2595
+
2596
+ <span class="md-ellipsis">
2597
+
2598
+
2599
+ Test Report — Raw Output
2600
+
2601
+
2602
+
2603
+ </span>
2604
+
2605
+
2606
+
2607
+ </a>
2608
+ </li>
2609
+
2610
+
2611
+
2612
+
2613
+
2614
+
2615
+
2616
+
2617
+
2618
+
2619
+ <li class="md-nav__item">
2620
+ <a href="report-build-warnings-log.html" class="md-nav__link">
2621
+
2622
+
2623
+
2624
+ <span class="md-ellipsis">
2625
+
2626
+
2627
+ Build Warnings Log
2628
+
2629
+
2630
+
2631
+ </span>
2632
+
2633
+
2634
+
2635
+ </a>
2636
+ </li>
2637
+
2638
+
2639
+
2640
+
2641
+
2642
+
2643
+
2644
+
2645
+
2646
+
2647
+
2648
+
2649
+
2650
+
2651
+
2652
+
2653
+
2654
+
2655
+
2656
+
2657
+
2658
+
2659
+
2660
+
2661
+
2662
+
2663
+
2664
+
2665
+
2666
+
2667
+
2668
+
2669
+
2670
+
2671
+
2672
+
2673
+
2674
+
2675
+
2676
+
2677
+
2678
+
2679
+
2680
+
2681
+
2682
+ <li class="md-nav__item md-nav__item--section md-nav__item--nested">
2683
+
2684
+
2685
+
2686
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6_9" >
2687
+
2688
+
2689
+ <div class="md-nav__link md-nav__container">
2690
+ <a href="gcov/index.html" class="md-nav__link ">
2691
+
2692
+
2693
+
2694
+ <span class="md-ellipsis">
2695
+
2696
+
2697
+ GCov (Coverage)
2698
+
2699
+
2700
+
2701
+ </span>
2702
+
2703
+
2704
+
2705
+ </a>
2706
+
2707
+
2708
+ <label class="md-nav__link " for="__nav_6_9" id="__nav_6_9_label" tabindex="">
2709
+ <span class="md-nav__icon md-icon"></span>
2710
+ </label>
2711
+
2712
+ </div>
2713
+
2714
+ <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_6_9_label" aria-expanded="false">
2715
+ <label class="md-nav__title" for="__nav_6_9">
2716
+ <span class="md-nav__icon md-icon"></span>
2717
+
2718
+
2719
+ GCov (Coverage)
2720
+
2721
+
2722
+ </label>
2723
+ <ul class="md-nav__list" data-md-scrollfix>
2724
+
2725
+
2726
+
2727
+
2728
+
2729
+
2730
+
2731
+
2732
+
2733
+ <li class="md-nav__item">
2734
+ <a href="gcov/overview.html" class="md-nav__link">
2735
+
2736
+
2737
+
2738
+ <span class="md-ellipsis">
2739
+
2740
+
2741
+ Overview
2742
+
2743
+
2744
+
2745
+ </span>
2746
+
2747
+
2748
+
2749
+ </a>
2750
+ </li>
2751
+
2752
+
2753
+
2754
+
2755
+
2756
+
2757
+
2758
+
2759
+
2760
+
2761
+ <li class="md-nav__item">
2762
+ <a href="gcov/tool-versions.html" class="md-nav__link">
2763
+
2764
+
2765
+
2766
+ <span class="md-ellipsis">
2767
+
2768
+
2769
+ Tool Versions
2770
+
2771
+
2772
+
2773
+ </span>
2774
+
2775
+
2776
+
2777
+ </a>
2778
+ </li>
2779
+
2780
+
2781
+
2782
+
2783
+
2784
+
2785
+
2786
+
2787
+
2788
+
2789
+ <li class="md-nav__item">
2790
+ <a href="gcov/setup.html" class="md-nav__link">
2791
+
2792
+
2793
+
2794
+ <span class="md-ellipsis">
2795
+
2796
+
2797
+ Set Up & Configuration
2798
+
2799
+
2800
+
2801
+ </span>
2802
+
2803
+
2804
+
2805
+ </a>
2806
+ </li>
2807
+
2808
+
2809
+
2810
+
2811
+
2812
+
2813
+
2814
+
2815
+
2816
+
2817
+ <li class="md-nav__item">
2818
+ <a href="gcov/examples.html" class="md-nav__link">
2819
+
2820
+
2821
+
2822
+ <span class="md-ellipsis">
2823
+
2824
+
2825
+ Example Usage
2826
+
2827
+
2828
+
2829
+ </span>
2830
+
2831
+
2832
+
2833
+ </a>
2834
+ </li>
2835
+
2836
+
2837
+
2838
+
2839
+
2840
+
2841
+
2842
+
2843
+
2844
+
2845
+ <li class="md-nav__item">
2846
+ <a href="gcov/reporting.html" class="md-nav__link">
2847
+
2848
+
2849
+
2850
+ <span class="md-ellipsis">
2851
+
2852
+
2853
+ Reporting Configuration
2854
+
2855
+
2856
+
2857
+ </span>
2858
+
2859
+
2860
+
2861
+ </a>
2862
+ </li>
2863
+
2864
+
2865
+
2866
+
2867
+
2868
+
2869
+
2870
+
2871
+
2872
+
2873
+ <li class="md-nav__item">
2874
+ <a href="gcov/gcovr.html" class="md-nav__link">
2875
+
2876
+
2877
+
2878
+ <span class="md-ellipsis">
2879
+
2880
+
2881
+ GCovr Configuration
2882
+
2883
+
2884
+
2885
+ </span>
2886
+
2887
+
2888
+
2889
+ </a>
2890
+ </li>
2891
+
2892
+
2893
+
2894
+
2895
+
2896
+
2897
+
2898
+
2899
+
2900
+
2901
+ <li class="md-nav__item">
2902
+ <a href="gcov/reportgenerator.html" class="md-nav__link">
2903
+
2904
+
2905
+
2906
+ <span class="md-ellipsis">
2907
+
2908
+
2909
+ ReportGenerator Configuration
2910
+
2911
+
2912
+
2913
+ </span>
2914
+
2915
+
2916
+
2917
+ </a>
2918
+ </li>
2919
+
2920
+
2921
+
2922
+
2923
+
2924
+
2925
+
2926
+
2927
+
2928
+
2929
+ <li class="md-nav__item">
2930
+ <a href="gcov/troubleshooting.html" class="md-nav__link">
2931
+
2932
+
2933
+
2934
+ <span class="md-ellipsis">
2935
+
2936
+
2937
+ Advanced & Troubleshooting
2938
+
2939
+
2940
+
2941
+ </span>
2942
+
2943
+
2944
+
2945
+ </a>
2946
+ </li>
2947
+
2948
+
2949
+
2950
+
2951
+ </ul>
2952
+ </nav>
2953
+
2954
+ </li>
2955
+
2956
+
2957
+
2958
+
2959
+
2960
+
2961
+
2962
+
2963
+
2964
+
2965
+ <li class="md-nav__item">
2966
+ <a href="cppcheck.html" class="md-nav__link">
2967
+
2968
+
2969
+
2970
+ <span class="md-ellipsis">
2971
+
2972
+
2973
+ Cppcheck (Static Analysis)
2974
+
2975
+
2976
+
2977
+ </span>
2978
+
2979
+
2980
+
2981
+ </a>
2982
+ </li>
2983
+
2984
+
2985
+
2986
+
2987
+
2988
+
2989
+
2990
+
2991
+
2992
+
2993
+ <li class="md-nav__item">
2994
+ <a href="valgrind.html" class="md-nav__link">
2995
+
2996
+
2997
+
2998
+ <span class="md-ellipsis">
2999
+
3000
+
3001
+ Valgrind (Memory Analysis)
3002
+
3003
+
3004
+
3005
+ </span>
3006
+
3007
+
3008
+
3009
+ </a>
3010
+ </li>
3011
+
3012
+
3013
+
3014
+
3015
+
3016
+
3017
+
3018
+
3019
+
3020
+
3021
+ <li class="md-nav__item">
3022
+ <a href="bullseye.html" class="md-nav__link">
3023
+
3024
+
3025
+
3026
+ <span class="md-ellipsis">
3027
+
3028
+
3029
+ Bullseye (Coverage)
3030
+
3031
+
3032
+
3033
+ </span>
3034
+
3035
+
3036
+
3037
+ </a>
3038
+ </li>
3039
+
3040
+
3041
+
3042
+
3043
+
3044
+
3045
+
3046
+
3047
+
3048
+
3049
+ <li class="md-nav__item">
3050
+ <a href="fff.html" class="md-nav__link">
3051
+
3052
+
3053
+
3054
+ <span class="md-ellipsis">
3055
+
3056
+
3057
+ FFF (Fake Functions)
3058
+
3059
+
3060
+
3061
+ </span>
3062
+
3063
+
3064
+
3065
+ </a>
3066
+ </li>
3067
+
3068
+
3069
+
3070
+
3071
+
3072
+
3073
+
3074
+
3075
+
3076
+
3077
+
3078
+
3079
+ <li class="md-nav__item md-nav__item--active">
3080
+
3081
+ <input class="md-nav__toggle md-toggle" type="checkbox" id="__toc">
3082
+
3083
+
3084
+
3085
+
3086
+
3087
+ <label class="md-nav__link md-nav__link--active" for="__toc">
3088
+
3089
+
3090
+
3091
+ <span class="md-ellipsis">
3092
+
3093
+
3094
+ Command Hooks
3095
+
3096
+
3097
+
3098
+ </span>
3099
+
3100
+
3101
+
3102
+ <span class="md-nav__icon md-icon"></span>
3103
+ </label>
3104
+
3105
+ <a href="command-hooks.html" class="md-nav__link md-nav__link--active">
3106
+
3107
+
3108
+
3109
+ <span class="md-ellipsis">
3110
+
3111
+
3112
+ Command Hooks
3113
+
3114
+
3115
+
3116
+ </span>
3117
+
3118
+
3119
+
3120
+ </a>
3121
+
3122
+
3123
+
3124
+ <nav class="md-nav md-nav--secondary" aria-label="Table of contents">
3125
+
3126
+
3127
+
3128
+
3129
+
3130
+
3131
+ <label class="md-nav__title" for="__toc">
3132
+ <span class="md-nav__icon md-icon"></span>
3133
+ Table of contents
3134
+ </label>
3135
+ <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
3136
+
3137
+ <li class="md-nav__item">
3138
+ <a href="#plugin-overview" class="md-nav__link">
3139
+ <span class="md-ellipsis">
3140
+
3141
+ Plugin Overview
3142
+
3143
+ </span>
3144
+ </a>
3145
+
3146
+ </li>
3147
+
3148
+ <li class="md-nav__item">
3149
+ <a href="#setup" class="md-nav__link">
3150
+ <span class="md-ellipsis">
3151
+
3152
+ Setup
3153
+
3154
+ </span>
3155
+ </a>
3156
+
3157
+ </li>
3158
+
3159
+ <li class="md-nav__item">
3160
+ <a href="#configuration" class="md-nav__link">
3161
+ <span class="md-ellipsis">
3162
+
3163
+ Configuration
3164
+
3165
+ </span>
3166
+ </a>
3167
+
3168
+ <nav class="md-nav" aria-label="Configuration">
3169
+ <ul class="md-nav__list">
3170
+
3171
+ <li class="md-nav__item">
3172
+ <a href="#overview" class="md-nav__link">
3173
+ <span class="md-ellipsis">
3174
+
3175
+ Overview
3176
+
3177
+ </span>
3178
+ </a>
3179
+
3180
+ </li>
3181
+
3182
+ <li class="md-nav__item">
3183
+ <a href="#tool-lists" class="md-nav__link">
3184
+ <span class="md-ellipsis">
3185
+
3186
+ Tool lists
3187
+
3188
+ </span>
3189
+ </a>
3190
+
3191
+ </li>
3192
+
3193
+ <li class="md-nav__item">
3194
+ <a href="#tool-definitions" class="md-nav__link">
3195
+ <span class="md-ellipsis">
3196
+
3197
+ Tool definitions
3198
+
3199
+ </span>
3200
+ </a>
3201
+
3202
+ </li>
3203
+
3204
+ <li class="md-nav__item">
3205
+ <a href="#hook-logging" class="md-nav__link">
3206
+ <span class="md-ellipsis">
3207
+
3208
+ Hook logging
3209
+
3210
+ </span>
3211
+ </a>
3212
+
3213
+ </li>
3214
+
3215
+ <li class="md-nav__item">
3216
+ <a href="#command-hooks-example-configuration-yaml" class="md-nav__link">
3217
+ <span class="md-ellipsis">
3218
+
3219
+ Command Hooks example configuration YAML
3220
+
3221
+ </span>
3222
+ </a>
3223
+
3224
+ </li>
3225
+
3226
+ </ul>
3227
+ </nav>
3228
+
3229
+ </li>
3230
+
3231
+ <li class="md-nav__item">
3232
+ <a href="#available-build-step-hooks" class="md-nav__link">
3233
+ <span class="md-ellipsis">
3234
+
3235
+ Available Build Step Hooks
3236
+
3237
+ </span>
3238
+ </a>
3239
+
3240
+ <nav class="md-nav" aria-label="Available Build Step Hooks">
3241
+ <ul class="md-nav__list">
3242
+
3243
+ <li class="md-nav__item">
3244
+ <a href="#pre_build" class="md-nav__link">
3245
+ <span class="md-ellipsis">
3246
+
3247
+ :pre_build
3248
+
3249
+ </span>
3250
+ </a>
3251
+
3252
+ </li>
3253
+
3254
+ <li class="md-nav__item">
3255
+ <a href="#post_build" class="md-nav__link">
3256
+ <span class="md-ellipsis">
3257
+
3258
+ :post_build
3259
+
3260
+ </span>
3261
+ </a>
3262
+
3263
+ </li>
3264
+
3265
+ <li class="md-nav__item">
3266
+ <a href="#post_error" class="md-nav__link">
3267
+ <span class="md-ellipsis">
3268
+
3269
+ :post_error
3270
+
3271
+ </span>
3272
+ </a>
3273
+
3274
+ </li>
3275
+
3276
+ <li class="md-nav__item">
3277
+ <a href="#pre_test" class="md-nav__link">
3278
+ <span class="md-ellipsis">
3279
+
3280
+ :pre_test
3281
+
3282
+ </span>
3283
+ </a>
3284
+
3285
+ </li>
3286
+
3287
+ <li class="md-nav__item">
3288
+ <a href="#post_test" class="md-nav__link">
3289
+ <span class="md-ellipsis">
3290
+
3291
+ :post_test
3292
+
3293
+ </span>
3294
+ </a>
3295
+
3296
+ </li>
3297
+
3298
+ <li class="md-nav__item">
3299
+ <a href="#pre_test_build" class="md-nav__link">
3300
+ <span class="md-ellipsis">
3301
+
3302
+ :pre_test_build
3303
+
3304
+ </span>
3305
+ </a>
3306
+
3307
+ </li>
3308
+
3309
+ <li class="md-nav__item">
3310
+ <a href="#post_test_build" class="md-nav__link">
3311
+ <span class="md-ellipsis">
3312
+
3313
+ :post_test_build
3314
+
3315
+ </span>
3316
+ </a>
3317
+
3318
+ </li>
3319
+
3320
+ <li class="md-nav__item">
3321
+ <a href="#pre_release_build" class="md-nav__link">
3322
+ <span class="md-ellipsis">
3323
+
3324
+ :pre_release_build
3325
+
3326
+ </span>
3327
+ </a>
3328
+
3329
+ </li>
3330
+
3331
+ <li class="md-nav__item">
3332
+ <a href="#post_release_build" class="md-nav__link">
3333
+ <span class="md-ellipsis">
3334
+
3335
+ :post_release_build
3336
+
3337
+ </span>
3338
+ </a>
3339
+
3340
+ </li>
3341
+
3342
+ <li class="md-nav__item">
3343
+ <a href="#pre_mock_preprocess" class="md-nav__link">
3344
+ <span class="md-ellipsis">
3345
+
3346
+ :pre_mock_preprocess
3347
+
3348
+ </span>
3349
+ </a>
3350
+
3351
+ </li>
3352
+
3353
+ <li class="md-nav__item">
3354
+ <a href="#post_mock_preprocess" class="md-nav__link">
3355
+ <span class="md-ellipsis">
3356
+
3357
+ :post_mock_preprocess
3358
+
3359
+ </span>
3360
+ </a>
3361
+
3362
+ </li>
3363
+
3364
+ <li class="md-nav__item">
3365
+ <a href="#pre_mock_generate" class="md-nav__link">
3366
+ <span class="md-ellipsis">
3367
+
3368
+ :pre_mock_generate
3369
+
3370
+ </span>
3371
+ </a>
3372
+
3373
+ </li>
3374
+
3375
+ <li class="md-nav__item">
3376
+ <a href="#post_mock_generate" class="md-nav__link">
3377
+ <span class="md-ellipsis">
3378
+
3379
+ :post_mock_generate
3380
+
3381
+ </span>
3382
+ </a>
3383
+
3384
+ </li>
3385
+
3386
+ <li class="md-nav__item">
3387
+ <a href="#pre_test_preprocess" class="md-nav__link">
3388
+ <span class="md-ellipsis">
3389
+
3390
+ :pre_test_preprocess
3391
+
3392
+ </span>
3393
+ </a>
3394
+
3395
+ </li>
3396
+
3397
+ <li class="md-nav__item">
3398
+ <a href="#post_test_preprocess" class="md-nav__link">
3399
+ <span class="md-ellipsis">
3400
+
3401
+ :post_test_preprocess
3402
+
3403
+ </span>
3404
+ </a>
3405
+
3406
+ </li>
3407
+
3408
+ <li class="md-nav__item">
3409
+ <a href="#pre_runner_generate" class="md-nav__link">
3410
+ <span class="md-ellipsis">
3411
+
3412
+ :pre_runner_generate
3413
+
3414
+ </span>
3415
+ </a>
3416
+
3417
+ </li>
3418
+
3419
+ <li class="md-nav__item">
3420
+ <a href="#post_runner_generate" class="md-nav__link">
3421
+ <span class="md-ellipsis">
3422
+
3423
+ :post_runner_generate
3424
+
3425
+ </span>
3426
+ </a>
3427
+
3428
+ </li>
3429
+
3430
+ <li class="md-nav__item">
3431
+ <a href="#pre_compile_execute" class="md-nav__link">
3432
+ <span class="md-ellipsis">
3433
+
3434
+ :pre_compile_execute
3435
+
3436
+ </span>
3437
+ </a>
3438
+
3439
+ </li>
3440
+
3441
+ <li class="md-nav__item">
3442
+ <a href="#post_compile_execute" class="md-nav__link">
3443
+ <span class="md-ellipsis">
3444
+
3445
+ :post_compile_execute
3446
+
3447
+ </span>
3448
+ </a>
3449
+
3450
+ </li>
3451
+
3452
+ <li class="md-nav__item">
3453
+ <a href="#pre_link_execute" class="md-nav__link">
3454
+ <span class="md-ellipsis">
3455
+
3456
+ :pre_link_execute
3457
+
3458
+ </span>
3459
+ </a>
3460
+
3461
+ </li>
3462
+
3463
+ <li class="md-nav__item">
3464
+ <a href="#post_link_execute" class="md-nav__link">
3465
+ <span class="md-ellipsis">
3466
+
3467
+ :post_link_execute
3468
+
3469
+ </span>
3470
+ </a>
3471
+
3472
+ </li>
3473
+
3474
+ <li class="md-nav__item">
3475
+ <a href="#pre_test_fixture_execute" class="md-nav__link">
3476
+ <span class="md-ellipsis">
3477
+
3478
+ :pre_test_fixture_execute
3479
+
3480
+ </span>
3481
+ </a>
3482
+
3483
+ </li>
3484
+
3485
+ <li class="md-nav__item">
3486
+ <a href="#post_test_fixture_execute" class="md-nav__link">
3487
+ <span class="md-ellipsis">
3488
+
3489
+ :post_test_fixture_execute
3490
+
3491
+ </span>
3492
+ </a>
3493
+
3494
+ </li>
3495
+
3496
+ </ul>
3497
+ </nav>
3498
+
3499
+ </li>
3500
+
3501
+ </ul>
3502
+
3503
+ </nav>
3504
+
3505
+ </li>
3506
+
3507
+
3508
+
3509
+
3510
+
3511
+
3512
+
3513
+
3514
+
3515
+
3516
+ <li class="md-nav__item">
3517
+ <a href="compile-commands-json-db.html" class="md-nav__link">
3518
+
3519
+
3520
+
3521
+ <span class="md-ellipsis">
3522
+
3523
+
3524
+ Compile Commands JSON DB
3525
+
3526
+
3527
+
3528
+ </span>
3529
+
3530
+
3531
+
3532
+ </a>
3533
+ </li>
3534
+
3535
+
3536
+
3537
+
3538
+
3539
+
3540
+
3541
+
3542
+
3543
+
3544
+ <li class="md-nav__item">
3545
+ <a href="beep.html" class="md-nav__link">
3546
+
3547
+
3548
+
3549
+ <span class="md-ellipsis">
3550
+
3551
+
3552
+ Beep
3553
+
3554
+
3555
+
3556
+ </span>
3557
+
3558
+
3559
+
3560
+ </a>
3561
+ </li>
3562
+
3563
+
3564
+
3565
+
3566
+
3567
+
3568
+
3569
+
3570
+
3571
+
3572
+ <li class="md-nav__item">
3573
+ <a href="module-generator.html" class="md-nav__link">
3574
+
3575
+
3576
+
3577
+ <span class="md-ellipsis">
3578
+
3579
+
3580
+ Module Generator
3581
+
3582
+
3583
+
3584
+ </span>
3585
+
3586
+
3587
+
3588
+ </a>
3589
+ </li>
3590
+
3591
+
3592
+
3593
+
3594
+
3595
+
3596
+
3597
+
3598
+
3599
+
3600
+ <li class="md-nav__item">
3601
+ <a href="dependencies.html" class="md-nav__link">
3602
+
3603
+
3604
+
3605
+ <span class="md-ellipsis">
3606
+
3607
+
3608
+ Dependencies
3609
+
3610
+
3611
+
3612
+ </span>
3613
+
3614
+
3615
+
3616
+ </a>
3617
+ </li>
3618
+
3619
+
3620
+
3621
+
3622
+ </ul>
3623
+ </nav>
3624
+
3625
+ </li>
3626
+
3627
+
3628
+
3629
+
3630
+
3631
+
3632
+
3633
+
3634
+
3635
+
3636
+
3637
+
3638
+
3639
+
3640
+
3641
+
3642
+
3643
+
3644
+
3645
+
3646
+
3647
+
3648
+
3649
+
3650
+
3651
+
3652
+
3653
+
3654
+
3655
+
3656
+
3657
+
3658
+
3659
+
3660
+
3661
+
3662
+
3663
+
3664
+
3665
+ <li class="md-nav__item md-nav__item--nested">
3666
+
3667
+
3668
+
3669
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_7" >
3670
+
3671
+
3672
+ <div class="md-nav__link md-nav__container">
3673
+ <a href="../reference/index.html" class="md-nav__link ">
3674
+
3675
+
3676
+
3677
+ <span class="md-ellipsis">
3678
+
3679
+
3680
+ Reference
3681
+
3682
+
3683
+
3684
+ </span>
3685
+
3686
+
3687
+
3688
+ </a>
3689
+
3690
+
3691
+ <label class="md-nav__link " for="__nav_7" id="__nav_7_label" tabindex="0">
3692
+ <span class="md-nav__icon md-icon"></span>
3693
+ </label>
3694
+
3695
+ </div>
3696
+
3697
+ <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_7_label" aria-expanded="false">
3698
+ <label class="md-nav__title" for="__nav_7">
3699
+ <span class="md-nav__icon md-icon"></span>
3700
+
3701
+
3702
+ Reference
3703
+
3704
+
3705
+ </label>
3706
+ <ul class="md-nav__list" data-md-scrollfix>
3707
+
3708
+
3709
+
3710
+
3711
+
3712
+
3713
+
3714
+
3715
+
3716
+ <li class="md-nav__item">
3717
+ <a href="../reference/command-line.html" class="md-nav__link">
3718
+
3719
+
3720
+
3721
+ <span class="md-ellipsis">
3722
+
3723
+
3724
+ Command Line
3725
+
3726
+
3727
+
3728
+ </span>
3729
+
3730
+
3731
+
3732
+ </a>
3733
+ </li>
3734
+
3735
+
3736
+
3737
+
3738
+
3739
+
3740
+
3741
+
3742
+
3743
+
3744
+ <li class="md-nav__item">
3745
+ <a href="../reference/project-configuration.html" class="md-nav__link">
3746
+
3747
+
3748
+
3749
+ <span class="md-ellipsis">
3750
+
3751
+
3752
+ Project Configuration
3753
+
3754
+
3755
+
3756
+ </span>
3757
+
3758
+
3759
+
3760
+ </a>
3761
+ </li>
3762
+
3763
+
3764
+
3765
+
3766
+
3767
+
3768
+
3769
+
3770
+
3771
+
3772
+ <li class="md-nav__item">
3773
+ <a href="../reference/build-directives.html" class="md-nav__link">
3774
+
3775
+
3776
+
3777
+ <span class="md-ellipsis">
3778
+
3779
+
3780
+ Test Build Directives
3781
+
3782
+
3783
+
3784
+ </span>
3785
+
3786
+
3787
+
3788
+ </a>
3789
+ </li>
3790
+
3791
+
3792
+
3793
+
3794
+
3795
+
3796
+
3797
+
3798
+
3799
+
3800
+ <li class="md-nav__item">
3801
+ <a href="../reference/partials-macros.html" class="md-nav__link">
3802
+
3803
+
3804
+
3805
+ <span class="md-ellipsis">
3806
+
3807
+
3808
+ Partials Macros
3809
+
3810
+
3811
+
3812
+ </span>
3813
+
3814
+
3815
+
3816
+ </a>
3817
+ </li>
3818
+
3819
+
3820
+
3821
+
3822
+
3823
+
3824
+
3825
+
3826
+
3827
+
3828
+ <li class="md-nav__item">
3829
+ <a href="../reference/environment-vars.html" class="md-nav__link">
3830
+
3831
+
3832
+
3833
+ <span class="md-ellipsis">
3834
+
3835
+
3836
+ Environment Variables
3837
+
3838
+
3839
+
3840
+ </span>
3841
+
3842
+
3843
+
3844
+ </a>
3845
+ </li>
3846
+
3847
+
3848
+
3849
+
3850
+
3851
+
3852
+
3853
+
3854
+
3855
+
3856
+ <li class="md-nav__item">
3857
+ <a href="../reference/gcov-plugin.html" class="md-nav__link">
3858
+
3859
+
3860
+
3861
+ <span class="md-ellipsis">
3862
+
3863
+
3864
+ Coverage Reporting
3865
+
3866
+
3867
+
3868
+ </span>
3869
+
3870
+
3871
+
3872
+ </a>
3873
+ </li>
3874
+
3875
+
3876
+
3877
+
3878
+
3879
+
3880
+
3881
+
3882
+
3883
+
3884
+ <li class="md-nav__item">
3885
+ <a href="../reference/global-collections.html" class="md-nav__link">
3886
+
3887
+
3888
+
3889
+ <span class="md-ellipsis">
3890
+
3891
+
3892
+ Global Collections
3893
+
3894
+
3895
+
3896
+ </span>
3897
+
3898
+
3899
+
3900
+ </a>
3901
+ </li>
3902
+
3903
+
3904
+
3905
+
3906
+ </ul>
3907
+ </nav>
3908
+
3909
+ </li>
3910
+
3911
+
3912
+
3913
+
3914
+
3915
+
3916
+
3917
+
3918
+
3919
+
3920
+
3921
+
3922
+
3923
+
3924
+
3925
+
3926
+
3927
+
3928
+
3929
+
3930
+
3931
+
3932
+
3933
+
3934
+
3935
+ <li class="md-nav__item md-nav__item--nested">
3936
+
3937
+
3938
+
3939
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_8" >
3940
+
3941
+
3942
+ <label class="md-nav__link" for="__nav_8" id="__nav_8_label" tabindex="0">
3943
+
3944
+
3945
+
3946
+ <span class="md-ellipsis">
3947
+
3948
+
3949
+ Releases
3950
+
3951
+
3952
+
3953
+ </span>
3954
+
3955
+
3956
+
3957
+ <span class="md-nav__icon md-icon"></span>
3958
+ </label>
3959
+
3960
+ <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_8_label" aria-expanded="false">
3961
+ <label class="md-nav__title" for="__nav_8">
3962
+ <span class="md-nav__icon md-icon"></span>
3963
+
3964
+
3965
+ Releases
3966
+
3967
+
3968
+ </label>
3969
+ <ul class="md-nav__list" data-md-scrollfix>
3970
+
3971
+
3972
+
3973
+
3974
+
3975
+
3976
+
3977
+ <li class="md-nav__item">
3978
+ <a href="../project/release-history.html" class="md-nav__link">
3979
+
3980
+
3981
+
3982
+ <span class="md-ellipsis">
3983
+
3984
+
3985
+ History Documents
3986
+
3987
+
3988
+
3989
+ </span>
3990
+
3991
+
3992
+
3993
+ </a>
3994
+ </li>
3995
+
3996
+
3997
+
3998
+
3999
+
4000
+
4001
+
4002
+
4003
+
4004
+
4005
+ <li class="md-nav__item">
4006
+ <a href="../project/upgrade.html" class="md-nav__link">
4007
+
4008
+
4009
+
4010
+ <span class="md-ellipsis">
4011
+
4012
+
4013
+ Upgrading
4014
+
4015
+
4016
+
4017
+ </span>
4018
+
4019
+
4020
+
4021
+ </a>
4022
+ </li>
4023
+
4024
+
4025
+
4026
+
4027
+ </ul>
4028
+ </nav>
4029
+
4030
+ </li>
4031
+
4032
+
4033
+
4034
+
4035
+
4036
+
4037
+
4038
+
4039
+
4040
+ <li class="md-nav__item">
4041
+ <a href="../help.html" class="md-nav__link">
4042
+
4043
+
4044
+
4045
+ <span class="md-ellipsis">
4046
+
4047
+
4048
+ Help
4049
+
4050
+
4051
+
4052
+ </span>
4053
+
4054
+
4055
+
4056
+ </a>
4057
+ </li>
4058
+
4059
+
4060
+
4061
+
4062
+
4063
+
4064
+
4065
+
4066
+
4067
+
4068
+
4069
+
4070
+
4071
+
4072
+
4073
+
4074
+
4075
+
4076
+
4077
+
4078
+
4079
+
4080
+
4081
+
4082
+
4083
+
4084
+
4085
+
4086
+
4087
+ <li class="md-nav__item md-nav__item--nested">
4088
+
4089
+
4090
+
4091
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_10" >
4092
+
4093
+
4094
+ <div class="md-nav__link md-nav__container">
4095
+ <a href="../development/index.html" class="md-nav__link ">
4096
+
4097
+
4098
+
4099
+ <span class="md-ellipsis">
4100
+
4101
+
4102
+ Development
4103
+
4104
+
4105
+
4106
+ </span>
4107
+
4108
+
4109
+
4110
+ </a>
4111
+
4112
+
4113
+ <label class="md-nav__link " for="__nav_10" id="__nav_10_label" tabindex="0">
4114
+ <span class="md-nav__icon md-icon"></span>
4115
+ </label>
4116
+
4117
+ </div>
4118
+
4119
+ <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_10_label" aria-expanded="false">
4120
+ <label class="md-nav__title" for="__nav_10">
4121
+ <span class="md-nav__icon md-icon"></span>
4122
+
4123
+
4124
+ Development
4125
+
4126
+
4127
+ </label>
4128
+ <ul class="md-nav__list" data-md-scrollfix>
4129
+
4130
+
4131
+
4132
+
4133
+
4134
+
4135
+
4136
+
4137
+
4138
+ <li class="md-nav__item">
4139
+ <a href="../development/workflow.html" class="md-nav__link">
4140
+
4141
+
4142
+
4143
+ <span class="md-ellipsis">
4144
+
4145
+
4146
+ Development Workflow
4147
+
4148
+
4149
+
4150
+ </span>
4151
+
4152
+
4153
+
4154
+ </a>
4155
+ </li>
4156
+
4157
+
4158
+
4159
+
4160
+
4161
+
4162
+
4163
+
4164
+
4165
+
4166
+
4167
+
4168
+
4169
+
4170
+
4171
+
4172
+
4173
+
4174
+
4175
+
4176
+
4177
+
4178
+
4179
+
4180
+
4181
+
4182
+
4183
+
4184
+
4185
+
4186
+
4187
+
4188
+ <li class="md-nav__item md-nav__item--nested">
4189
+
4190
+
4191
+
4192
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_10_3" >
4193
+
4194
+
4195
+ <div class="md-nav__link md-nav__container">
4196
+ <a href="../development/plugins/index.html" class="md-nav__link ">
4197
+
4198
+
4199
+
4200
+ <span class="md-ellipsis">
4201
+
4202
+
4203
+ Plugin Development
4204
+
4205
+
4206
+
4207
+ </span>
4208
+
4209
+
4210
+
4211
+ </a>
4212
+
4213
+
4214
+ <label class="md-nav__link " for="__nav_10_3" id="__nav_10_3_label" tabindex="0">
4215
+ <span class="md-nav__icon md-icon"></span>
4216
+ </label>
4217
+
4218
+ </div>
4219
+
4220
+ <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_10_3_label" aria-expanded="false">
4221
+ <label class="md-nav__title" for="__nav_10_3">
4222
+ <span class="md-nav__icon md-icon"></span>
4223
+
4224
+
4225
+ Plugin Development
4226
+
4227
+
4228
+ </label>
4229
+ <ul class="md-nav__list" data-md-scrollfix>
4230
+
4231
+
4232
+
4233
+
4234
+
4235
+
4236
+
4237
+
4238
+
4239
+ <li class="md-nav__item">
4240
+ <a href="../development/plugins/configuration.html" class="md-nav__link">
4241
+
4242
+
4243
+
4244
+ <span class="md-ellipsis">
4245
+
4246
+
4247
+ Configuration Plugin
4248
+
4249
+
4250
+
4251
+ </span>
4252
+
4253
+
4254
+
4255
+ </a>
4256
+ </li>
4257
+
4258
+
4259
+
4260
+
4261
+
4262
+
4263
+
4264
+
4265
+
4266
+
4267
+ <li class="md-nav__item">
4268
+ <a href="../development/plugins/plugin-subclass.html" class="md-nav__link">
4269
+
4270
+
4271
+
4272
+ <span class="md-ellipsis">
4273
+
4274
+
4275
+ Plugin Subclass
4276
+
4277
+
4278
+
4279
+ </span>
4280
+
4281
+
4282
+
4283
+ </a>
4284
+ </li>
4285
+
4286
+
4287
+
4288
+
4289
+
4290
+
4291
+
4292
+
4293
+
4294
+
4295
+ <li class="md-nav__item">
4296
+ <a href="../development/plugins/rake-tasks.html" class="md-nav__link">
4297
+
4298
+
4299
+
4300
+ <span class="md-ellipsis">
4301
+
4302
+
4303
+ Rake Task Plugin
4304
+
4305
+
4306
+
4307
+ </span>
4308
+
4309
+
4310
+
4311
+ </a>
4312
+ </li>
4313
+
4314
+
4315
+
4316
+
4317
+ </ul>
4318
+ </nav>
4319
+
4320
+ </li>
4321
+
4322
+
4323
+
4324
+
4325
+ </ul>
4326
+ </nav>
4327
+
4328
+ </li>
4329
+
4330
+
4331
+
4332
+ </ul>
4333
+ </nav>
4334
+ </div>
4335
+ </div>
4336
+ </div>
4337
+
4338
+
4339
+
4340
+ <div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
4341
+ <div class="md-sidebar__scrollwrap">
4342
+ <div class="md-sidebar__inner">
4343
+
4344
+
4345
+ <nav class="md-nav md-nav--secondary" aria-label="Table of contents">
4346
+
4347
+
4348
+
4349
+
4350
+
4351
+
4352
+ <label class="md-nav__title" for="__toc">
4353
+ <span class="md-nav__icon md-icon"></span>
4354
+ Table of contents
4355
+ </label>
4356
+ <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
4357
+
4358
+ <li class="md-nav__item">
4359
+ <a href="#plugin-overview" class="md-nav__link">
4360
+ <span class="md-ellipsis">
4361
+
4362
+ Plugin Overview
4363
+
4364
+ </span>
4365
+ </a>
4366
+
4367
+ </li>
4368
+
4369
+ <li class="md-nav__item">
4370
+ <a href="#setup" class="md-nav__link">
4371
+ <span class="md-ellipsis">
4372
+
4373
+ Setup
4374
+
4375
+ </span>
4376
+ </a>
4377
+
4378
+ </li>
4379
+
4380
+ <li class="md-nav__item">
4381
+ <a href="#configuration" class="md-nav__link">
4382
+ <span class="md-ellipsis">
4383
+
4384
+ Configuration
4385
+
4386
+ </span>
4387
+ </a>
4388
+
4389
+ <nav class="md-nav" aria-label="Configuration">
4390
+ <ul class="md-nav__list">
4391
+
4392
+ <li class="md-nav__item">
4393
+ <a href="#overview" class="md-nav__link">
4394
+ <span class="md-ellipsis">
4395
+
4396
+ Overview
4397
+
4398
+ </span>
4399
+ </a>
4400
+
4401
+ </li>
4402
+
4403
+ <li class="md-nav__item">
4404
+ <a href="#tool-lists" class="md-nav__link">
4405
+ <span class="md-ellipsis">
4406
+
4407
+ Tool lists
4408
+
4409
+ </span>
4410
+ </a>
4411
+
4412
+ </li>
4413
+
4414
+ <li class="md-nav__item">
4415
+ <a href="#tool-definitions" class="md-nav__link">
4416
+ <span class="md-ellipsis">
4417
+
4418
+ Tool definitions
4419
+
4420
+ </span>
4421
+ </a>
4422
+
4423
+ </li>
4424
+
4425
+ <li class="md-nav__item">
4426
+ <a href="#hook-logging" class="md-nav__link">
4427
+ <span class="md-ellipsis">
4428
+
4429
+ Hook logging
4430
+
4431
+ </span>
4432
+ </a>
4433
+
4434
+ </li>
4435
+
4436
+ <li class="md-nav__item">
4437
+ <a href="#command-hooks-example-configuration-yaml" class="md-nav__link">
4438
+ <span class="md-ellipsis">
4439
+
4440
+ Command Hooks example configuration YAML
4441
+
4442
+ </span>
4443
+ </a>
4444
+
4445
+ </li>
4446
+
4447
+ </ul>
4448
+ </nav>
4449
+
4450
+ </li>
4451
+
4452
+ <li class="md-nav__item">
4453
+ <a href="#available-build-step-hooks" class="md-nav__link">
4454
+ <span class="md-ellipsis">
4455
+
4456
+ Available Build Step Hooks
4457
+
4458
+ </span>
4459
+ </a>
4460
+
4461
+ <nav class="md-nav" aria-label="Available Build Step Hooks">
4462
+ <ul class="md-nav__list">
4463
+
4464
+ <li class="md-nav__item">
4465
+ <a href="#pre_build" class="md-nav__link">
4466
+ <span class="md-ellipsis">
4467
+
4468
+ :pre_build
4469
+
4470
+ </span>
4471
+ </a>
4472
+
4473
+ </li>
4474
+
4475
+ <li class="md-nav__item">
4476
+ <a href="#post_build" class="md-nav__link">
4477
+ <span class="md-ellipsis">
4478
+
4479
+ :post_build
4480
+
4481
+ </span>
4482
+ </a>
4483
+
4484
+ </li>
4485
+
4486
+ <li class="md-nav__item">
4487
+ <a href="#post_error" class="md-nav__link">
4488
+ <span class="md-ellipsis">
4489
+
4490
+ :post_error
4491
+
4492
+ </span>
4493
+ </a>
4494
+
4495
+ </li>
4496
+
4497
+ <li class="md-nav__item">
4498
+ <a href="#pre_test" class="md-nav__link">
4499
+ <span class="md-ellipsis">
4500
+
4501
+ :pre_test
4502
+
4503
+ </span>
4504
+ </a>
4505
+
4506
+ </li>
4507
+
4508
+ <li class="md-nav__item">
4509
+ <a href="#post_test" class="md-nav__link">
4510
+ <span class="md-ellipsis">
4511
+
4512
+ :post_test
4513
+
4514
+ </span>
4515
+ </a>
4516
+
4517
+ </li>
4518
+
4519
+ <li class="md-nav__item">
4520
+ <a href="#pre_test_build" class="md-nav__link">
4521
+ <span class="md-ellipsis">
4522
+
4523
+ :pre_test_build
4524
+
4525
+ </span>
4526
+ </a>
4527
+
4528
+ </li>
4529
+
4530
+ <li class="md-nav__item">
4531
+ <a href="#post_test_build" class="md-nav__link">
4532
+ <span class="md-ellipsis">
4533
+
4534
+ :post_test_build
4535
+
4536
+ </span>
4537
+ </a>
4538
+
4539
+ </li>
4540
+
4541
+ <li class="md-nav__item">
4542
+ <a href="#pre_release_build" class="md-nav__link">
4543
+ <span class="md-ellipsis">
4544
+
4545
+ :pre_release_build
4546
+
4547
+ </span>
4548
+ </a>
4549
+
4550
+ </li>
4551
+
4552
+ <li class="md-nav__item">
4553
+ <a href="#post_release_build" class="md-nav__link">
4554
+ <span class="md-ellipsis">
4555
+
4556
+ :post_release_build
4557
+
4558
+ </span>
4559
+ </a>
4560
+
4561
+ </li>
4562
+
4563
+ <li class="md-nav__item">
4564
+ <a href="#pre_mock_preprocess" class="md-nav__link">
4565
+ <span class="md-ellipsis">
4566
+
4567
+ :pre_mock_preprocess
4568
+
4569
+ </span>
4570
+ </a>
4571
+
4572
+ </li>
4573
+
4574
+ <li class="md-nav__item">
4575
+ <a href="#post_mock_preprocess" class="md-nav__link">
4576
+ <span class="md-ellipsis">
4577
+
4578
+ :post_mock_preprocess
4579
+
4580
+ </span>
4581
+ </a>
4582
+
4583
+ </li>
4584
+
4585
+ <li class="md-nav__item">
4586
+ <a href="#pre_mock_generate" class="md-nav__link">
4587
+ <span class="md-ellipsis">
4588
+
4589
+ :pre_mock_generate
4590
+
4591
+ </span>
4592
+ </a>
4593
+
4594
+ </li>
4595
+
4596
+ <li class="md-nav__item">
4597
+ <a href="#post_mock_generate" class="md-nav__link">
4598
+ <span class="md-ellipsis">
4599
+
4600
+ :post_mock_generate
4601
+
4602
+ </span>
4603
+ </a>
4604
+
4605
+ </li>
4606
+
4607
+ <li class="md-nav__item">
4608
+ <a href="#pre_test_preprocess" class="md-nav__link">
4609
+ <span class="md-ellipsis">
4610
+
4611
+ :pre_test_preprocess
4612
+
4613
+ </span>
4614
+ </a>
4615
+
4616
+ </li>
4617
+
4618
+ <li class="md-nav__item">
4619
+ <a href="#post_test_preprocess" class="md-nav__link">
4620
+ <span class="md-ellipsis">
4621
+
4622
+ :post_test_preprocess
4623
+
4624
+ </span>
4625
+ </a>
4626
+
4627
+ </li>
4628
+
4629
+ <li class="md-nav__item">
4630
+ <a href="#pre_runner_generate" class="md-nav__link">
4631
+ <span class="md-ellipsis">
4632
+
4633
+ :pre_runner_generate
4634
+
4635
+ </span>
4636
+ </a>
4637
+
4638
+ </li>
4639
+
4640
+ <li class="md-nav__item">
4641
+ <a href="#post_runner_generate" class="md-nav__link">
4642
+ <span class="md-ellipsis">
4643
+
4644
+ :post_runner_generate
4645
+
4646
+ </span>
4647
+ </a>
4648
+
4649
+ </li>
4650
+
4651
+ <li class="md-nav__item">
4652
+ <a href="#pre_compile_execute" class="md-nav__link">
4653
+ <span class="md-ellipsis">
4654
+
4655
+ :pre_compile_execute
4656
+
4657
+ </span>
4658
+ </a>
4659
+
4660
+ </li>
4661
+
4662
+ <li class="md-nav__item">
4663
+ <a href="#post_compile_execute" class="md-nav__link">
4664
+ <span class="md-ellipsis">
4665
+
4666
+ :post_compile_execute
4667
+
4668
+ </span>
4669
+ </a>
4670
+
4671
+ </li>
4672
+
4673
+ <li class="md-nav__item">
4674
+ <a href="#pre_link_execute" class="md-nav__link">
4675
+ <span class="md-ellipsis">
4676
+
4677
+ :pre_link_execute
4678
+
4679
+ </span>
4680
+ </a>
4681
+
4682
+ </li>
4683
+
4684
+ <li class="md-nav__item">
4685
+ <a href="#post_link_execute" class="md-nav__link">
4686
+ <span class="md-ellipsis">
4687
+
4688
+ :post_link_execute
4689
+
4690
+ </span>
4691
+ </a>
4692
+
4693
+ </li>
4694
+
4695
+ <li class="md-nav__item">
4696
+ <a href="#pre_test_fixture_execute" class="md-nav__link">
4697
+ <span class="md-ellipsis">
4698
+
4699
+ :pre_test_fixture_execute
4700
+
4701
+ </span>
4702
+ </a>
4703
+
4704
+ </li>
4705
+
4706
+ <li class="md-nav__item">
4707
+ <a href="#post_test_fixture_execute" class="md-nav__link">
4708
+ <span class="md-ellipsis">
4709
+
4710
+ :post_test_fixture_execute
4711
+
4712
+ </span>
4713
+ </a>
4714
+
4715
+ </li>
4716
+
4717
+ </ul>
4718
+ </nav>
4719
+
4720
+ </li>
4721
+
4722
+ </ul>
4723
+
4724
+ </nav>
4725
+ </div>
4726
+ </div>
4727
+ </div>
4728
+
4729
+
4730
+
4731
+ <div class="md-content" data-md-component="content">
4732
+
4733
+
4734
+
4735
+
4736
+
4737
+
4738
+
4739
+
4740
+ <nav class="md-path" aria-label="Navigation" >
4741
+ <ol class="md-path__list">
4742
+
4743
+
4744
+
4745
+
4746
+ <li class="md-path__item">
4747
+ <a href="../index.html" class="md-path__link">
4748
+
4749
+ <span class="md-ellipsis">
4750
+ Home
4751
+ </span>
4752
+
4753
+ </a>
4754
+ </li>
4755
+
4756
+
4757
+
4758
+
4759
+
4760
+
4761
+
4762
+
4763
+
4764
+ <li class="md-path__item">
4765
+ <a href="index.html" class="md-path__link">
4766
+
4767
+ <span class="md-ellipsis">
4768
+ Plugins
4769
+ </span>
4770
+
4771
+ </a>
4772
+ </li>
4773
+
4774
+
4775
+
4776
+
4777
+ </ol>
4778
+ </nav>
4779
+
4780
+
4781
+ <article class="md-content__inner md-typeset">
4782
+
4783
+
4784
+
4785
+
4786
+
4787
+
4788
+
4789
+
4790
+ <h1 id="command-hooks">Command Hooks</h1>
4791
+ <p>Easily run command line tools and scripts at various points in a Ceedling build.</p>
4792
+ <h2 id="plugin-overview">Plugin Overview</h2>
4793
+ <p>This plugin allows you to skip creating a full Ceedling plugin for many common use cases. It links Ceedling's programmatic <code>Plugin</code> code hooks to easily managed tool definitions. </p>
4794
+ <h2 id="setup">Setup</h2>
4795
+ <p>To use this plugin, it must be enabled:</p>
4796
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a><span class="nt">:plugins</span><span class="p">:</span>
4797
+ <a id="__codelineno-0-2" name="__codelineno-0-2" href="#__codelineno-0-2"></a><span class="w"> </span><span class="nt">:enabled</span><span class="p">:</span>
4798
+ <a id="__codelineno-0-3" name="__codelineno-0-3" href="#__codelineno-0-3"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">command_hooks</span>
4799
+ </code></pre></div>
4800
+ <h2 id="configuration">Configuration</h2>
4801
+ <h3 id="overview">Overview</h3>
4802
+ <p>To connect utilties or scripts to build step hooks, Ceedling tools must be defined.</p>
4803
+ <p>A Ceedling tool is just a YAML blob that gathers together a handful of settings and values that tell Ceedling how to build and execute a command line. Your tool can be a command line utility, a script, etc.</p>
4804
+ <p>Example Ceedling tools follow. When enabled, this plugin ensures any tools you define are executed by the corresponding build step hook they are organized beneath. The configurtion of enabled hooks and tools happens in a top-level <code>:command_hooks:</code> block within your project configuration. One or more tools can be attached to a build step hook.</p>
4805
+ <h3 id="tool-lists">Tool lists</h3>
4806
+ <p>A command hook can execute one or more tools.</p>
4807
+ <p>If only a single tool is needed, its hash keys and value can be organized as a YAML sub-hash beneath the hook key. Alternatively, a single tool can exist as the only entry in a YAML list.</p>
4808
+ <p>If multiple tools are needed, they must be organized as entries in a YAML list.</p>
4809
+ <p>See the commented examples below.</p>
4810
+ <h3 id="tool-definitions">Tool definitions</h3>
4811
+ <p>Each Ceedling tool requires an <code>:executable</code> string and an optional <code>:arguments</code> list. See the <a href="../configuration/reference/tools.html"><code>:tools</code> configuration reference</a> to understand how to craft your argument list and other tool options.</p>
4812
+ <p>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 <code>${1}</code>, <code>${2}</code>, etc. Wherever you place <code>${1}</code> or <code>${2}</code> 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.</p>
4813
+ <h3 id="hook-logging">Hook logging</h3>
4814
+ <p>In addition to the standard Ceedling tool definition elements, a hook configuration entry may optionally include a <code>:logging</code> setting.</p>
4815
+ <p><code>:logging</code> may be set to <code>TRUE</code> or <code>FALSE</code>. An omitted setting is equivalent to <code>FALSE</code>.</p>
4816
+ <p>When logging is enabled and logging conditions are appropriate, any output from the hook tool will be logged to the console with a brief header identifying the hook.</p>
4817
+ <ul>
4818
+ <li>Explicit command hook output logging only occurs at verbosity levels Normal and Obnoxious.</li>
4819
+ <li>Debug logging naturally displays hook output as part of normal tool execution logging. It is not duplicated by hook logging.</li>
4820
+ <li>At Normal verbosity, blank hook output is not logged at all; Obnoxious verbosity will display blank output as <code>&lt;empty&gt;</code>.</li>
4821
+ </ul>
4822
+ <h3 id="command-hooks-example-configuration-yaml">Command Hooks example configuration YAML</h3>
4823
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-1-1" name="__codelineno-1-1" href="#__codelineno-1-1"></a><span class="nt">:command_hooks</span><span class="p">:</span>
4824
+ <a id="__codelineno-1-2" name="__codelineno-1-2" href="#__codelineno-1-2"></a><span class="w"> </span><span class="c1"># Hook called every time a mock is generated</span>
4825
+ <a id="__codelineno-1-3" name="__codelineno-1-3" href="#__codelineno-1-3"></a><span class="w"> </span><span class="c1"># Who knows what my_script.py does -- sky is the limit</span>
4826
+ <a id="__codelineno-1-4" name="__codelineno-1-4" href="#__codelineno-1-4"></a><span class="w"> </span><span class="nt">:pre_mock_generate</span><span class="p">:</span>
4827
+ <a id="__codelineno-1-5" name="__codelineno-1-5" href="#__codelineno-1-5"></a><span class="w"> </span><span class="c1"># This tool is organized as a sub-hash beneath the command hook key</span>
4828
+ <a id="__codelineno-1-6" name="__codelineno-1-6" href="#__codelineno-1-6"></a><span class="w"> </span><span class="nt">:executable</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">python</span>
4829
+ <a id="__codelineno-1-7" name="__codelineno-1-7" href="#__codelineno-1-7"></a><span class="w"> </span><span class="nt">:arguments</span><span class="p">:</span>
4830
+ <a id="__codelineno-1-8" name="__codelineno-1-8" href="#__codelineno-1-8"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">my_script.py</span>
4831
+ <a id="__codelineno-1-9" name="__codelineno-1-9" href="#__codelineno-1-9"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">--some-arg</span>
4832
+ <a id="__codelineno-1-10" name="__codelineno-1-10" href="#__codelineno-1-10"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">${1}</span><span class="w"> </span><span class="c1"># Replaced with the filepath of the header file that will be mocked</span>
4833
+ <a id="__codelineno-1-11" name="__codelineno-1-11" href="#__codelineno-1-11"></a><span class="w"> </span><span class="nt">:logging</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">TRUE</span><span class="w"> </span><span class="c1"># Log any tool output to console</span>
4834
+ <a id="__codelineno-1-12" name="__codelineno-1-12" href="#__codelineno-1-12"></a>
4835
+ <a id="__codelineno-1-13" name="__codelineno-1-13" href="#__codelineno-1-13"></a><span class="w"> </span><span class="c1"># Hook called for each linking operation</span>
4836
+ <a id="__codelineno-1-14" name="__codelineno-1-14" href="#__codelineno-1-14"></a><span class="w"> </span><span class="c1"># Here, we are performing two tasks for the same build step hook, converting a</span>
4837
+ <a id="__codelineno-1-15" name="__codelineno-1-15" href="#__codelineno-1-15"></a><span class="w"> </span><span class="c1"># binary executable to S-record format and, then, archiving with other artifacts.</span>
4838
+ <a id="__codelineno-1-16" name="__codelineno-1-16" href="#__codelineno-1-16"></a><span class="w"> </span><span class="nt">:post_link_execute</span><span class="p">:</span>
4839
+ <a id="__codelineno-1-17" name="__codelineno-1-17" href="#__codelineno-1-17"></a><span class="w"> </span><span class="c1"># These tools are organized in a YAML list beneath the command hook key</span>
4840
+ <a id="__codelineno-1-18" name="__codelineno-1-18" href="#__codelineno-1-18"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">:executable</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">objcopy.exe</span>
4841
+ <a id="__codelineno-1-19" name="__codelineno-1-19" href="#__codelineno-1-19"></a><span class="w"> </span><span class="nt">:arguments</span><span class="p">:</span>
4842
+ <a id="__codelineno-1-20" name="__codelineno-1-20" href="#__codelineno-1-20"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">${1}</span><span class="w"> </span><span class="c1"># Replaced with the filepath to the linker&#39;s binary artifact output</span>
4843
+ <a id="__codelineno-1-21" name="__codelineno-1-21" href="#__codelineno-1-21"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">output.srec</span>
4844
+ <a id="__codelineno-1-22" name="__codelineno-1-22" href="#__codelineno-1-22"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">--strip-all</span>
4845
+ <a id="__codelineno-1-23" name="__codelineno-1-23" href="#__codelineno-1-23"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">:executable</span><span class="p">:</span><span class="w"> </span>
4846
+ <a id="__codelineno-1-24" name="__codelineno-1-24" href="#__codelineno-1-24"></a><span class="w"> </span><span class="nt">:arguments</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">tar.exe</span>
4847
+ <a id="__codelineno-1-25" name="__codelineno-1-25" href="#__codelineno-1-25"></a><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">- -acf</span>
4848
+ <a id="__codelineno-1-26" name="__codelineno-1-26" href="#__codelineno-1-26"></a><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">- awesome_build.zip</span>
4849
+ <a id="__codelineno-1-27" name="__codelineno-1-27" href="#__codelineno-1-27"></a><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">- ${1}</span><span class="w"> </span><span class="c1"># Replaced with the filepath to the linker&#39;s binary artifact output</span>
4850
+ <a id="__codelineno-1-28" name="__codelineno-1-28" href="#__codelineno-1-28"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">memory_report.txt</span>
4851
+ </code></pre></div>
4852
+ <h2 id="available-build-step-hooks">Available Build Step Hooks</h2>
4853
+ <p>Define any of the following entries within a top-level <code>:command_hooks:</code> section of your Ceedling project file to automagically connect utilities or scripts to build process steps.</p>
4854
+ <p>Some hooks are called for every file-related operation for which the hook is named. Other hooks are triggered by the single build step for which the hook is named.</p>
4855
+ <p>As an example, consider a Ceedling project with ten test files and seventeen mocks. The command line <code>ceedling test:all</code> would trigger:</p>
4856
+ <ul>
4857
+ <li>1 occurrence of the <code>:pre_build</code> hook.</li>
4858
+ <li>1 occurrence of the <code>:pre_test_build</code> hook.</li>
4859
+ <li>10 occurrences of the <code>:pre_test</code> and <code>:post_test</code> hooks.</li>
4860
+ <li>17 occurrences of the <code>:pre_mock_generate</code> and <code>:post_mock_generate</code> hooks.</li>
4861
+ <li>10 occurrences of the <code>:pre_test_runner_generate</code> and <code>:post_test_runner_generate</code> hooks.</li>
4862
+ <li>27(+) occurrences of the <code>:pre_compile</code> and <code>:post_compile</code> 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.</li>
4863
+ <li>10 occurrences of the <code>:pre_link</code> and <code>:post_link</code> hooks for test executable creation.</li>
4864
+ <li>10 occurrences of the <code>:pre_test_fixture_execute</code> and <code>:post_test_fixture_execute</code> hooks for running test executables and gathering the results of the tests cases they contain.</li>
4865
+ <li>1 occurrence of the <code>:post_test_build</code> hook.</li>
4866
+ <li>1 occurrence of the <code>:post_build</code> hook unless a build error occurred (<code>:post_error</code> would be called instead).</li>
4867
+ </ul>
4868
+ <h3 id="pre_build"><code>:pre_build</code></h3>
4869
+ <p>Called once just before Ceedling executes any tasks.</p>
4870
+ <p>The parameter available to a tool (<code>${1}</code>) when the hook is called is a floating-point stopwatch value in seconds. This value and the corresponding <code>post_build</code> value can be used to compute the total build duration.</p>
4871
+ <h3 id="post_build"><code>:post_build</code></h3>
4872
+ <p>Called once just before Ceedling terminates after a successful build.</p>
4873
+ <p>The parameter available to a tool (<code>${1}</code>) when the hook is called is a floating-point stopwatch value in seconds. This value and the corresponding <code>pre_build</code> value can be used to compute the total build duration.</p>
4874
+ <h3 id="post_error"><code>:post_error</code></h3>
4875
+ <p>Called once just after any build failure and just before Ceedling terminates.</p>
4876
+ <p>The parameter available to a tool (<code>${1}</code>) when the hook is called is a floating-point stopwatch value in seconds at the moment the error is handled.</p>
4877
+ <h3 id="pre_test"><code>:pre_test</code></h3>
4878
+ <p>Called just before each test begins its build pipeline and just after all context for that build has been gathered.</p>
4879
+ <p>The parameter available to a tool (<code>${1}</code>) when the hook is called is the test's filepath.</p>
4880
+ <h3 id="post_test"><code>:post_test</code></h3>
4881
+ <p>Called just after each test completes its build and execution.</p>
4882
+ <p>The parameter available to a tool (<code>${1}</code>) when the hook is called is the test's filepath.</p>
4883
+ <h3 id="pre_test_build"><code>:pre_test_build</code></h3>
4884
+ <p>Called once just before the full test build pipeline begins (before any individual test's configure, preprocess, compile, link, or execute steps).</p>
4885
+ <p>Two parameters are available to a tool when the hook is called:</p>
4886
+ <ul>
4887
+ <li><code>${1}</code> — the build context as a string (e.g. <code>"test"</code>, <code>"gcov"</code>).</li>
4888
+ <li><code>${2}</code> — a floating-point stopwatch value in seconds. This value and the corresponding <code>post_test_build</code> value can be used to compute the total test build duration.</li>
4889
+ </ul>
4890
+ <h3 id="post_test_build"><code>:post_test_build</code></h3>
4891
+ <p>Called once just after the full test build pipeline completes or terminates (including on error).</p>
4892
+ <p>Two parameters are available to a tool when the hook is called:</p>
4893
+ <ul>
4894
+ <li><code>${1}</code> — the build context as a string (e.g. <code>"test"</code>, <code>"gcov"</code>).</li>
4895
+ <li><code>${2}</code> — a floating-point stopwatch value in seconds. This value and the corresponding <code>pre_test_build</code> value can be used to compute the total test build duration.</li>
4896
+ </ul>
4897
+ <h3 id="pre_release_build"><code>:pre_release_build</code></h3>
4898
+ <p>Called once just before a release build begins.</p>
4899
+ <p>The parameter available to a tool (<code>${1}</code>) when the hook is called is a floating-point stopwatch value in seconds. This value and the corresponding <code>post_release_build</code> value can be used to compute the total release build duration.</p>
4900
+ <h3 id="post_release_build"><code>:post_release_build</code></h3>
4901
+ <p>Called once just after a release build finishes or terminates (including on error).</p>
4902
+ <p>The parameter available to a tool (<code>${1}</code>) when the hook is called is a floating-point stopwatch value in seconds. This value and the corresponding <code>pre_release_build</code> value can be used to compute the total release build duration.</p>
4903
+ <h3 id="pre_mock_preprocess"><code>:pre_mock_preprocess</code></h3>
4904
+ <p>If mocks are enabled and preprocessing is in use, this is called just before each header file to be mocked is preprocessed.</p>
4905
+ <p>The parameter available to a tool (<code>${1}</code>) when the hook is called is the filepath of the header file to be mocked.</p>
4906
+ <p>See <a href="../testing-guide/conventions.html#test-preprocessing"><em>Conventions &amp; Behaviors</em></a> for details on how Ceedling preprocessing operates.</p>
4907
+ <h3 id="post_mock_preprocess"><code>:post_mock_preprocess</code></h3>
4908
+ <p>If mocks are enabled and preprocessing is in use, this is called just after each header file to be mocked is preprocessed.</p>
4909
+ <p>The parameter available to a tool (<code>${1}</code>) when the hook is called is the filepath of the header file to be mocked.</p>
4910
+ <h3 id="pre_mock_generate"><code>:pre_mock_generate</code></h3>
4911
+ <p>If mocks are enabled, this is called just before each header file to be mocked is processed by mock generation.</p>
4912
+ <p>The parameter available to a tool (<code>${1}</code>) when the hook is called is the filepath of the header file to be mocked.</p>
4913
+ <h3 id="post_mock_generate"><code>:post_mock_generate</code></h3>
4914
+ <p>If mocks are enabled, this is called just after each mock generation.</p>
4915
+ <p>The parameter available to a tool (<code>${1}</code>) when the hook is called is the filepath of the header file to be mocked.</p>
4916
+ <h3 id="pre_test_preprocess"><code>:pre_test_preprocess</code></h3>
4917
+ <p>If preprocessing is in use, this is called just before each test file is preprocessed before runner generation.</p>
4918
+ <p>The parameter available to a tool (<code>${1}</code>) when the hook is called is the test's filepath.</p>
4919
+ <p>See <a href="../testing-guide/conventions.html#test-preprocessing"><em>Conventions &amp; Behaviors</em></a> for details on how Ceedling preprocessing operates.</p>
4920
+ <h3 id="post_test_preprocess"><code>:post_test_preprocess</code></h3>
4921
+ <p>If preprocessing is in use, this is called just after each test file is preprocessed.</p>
4922
+ <p>The parameter available to a tool (<code>${1}</code>) when the hook is called is the test's filepath.</p>
4923
+ <p>See <a href="../testing-guide/conventions.html#test-preprocessing"><em>Conventions &amp; Behaviors</em></a> for details on how Ceedling preprocessing operates.</p>
4924
+ <h3 id="pre_runner_generate"><code>:pre_runner_generate</code></h3>
4925
+ <p>Called just before each test file is processed by test runner generation.</p>
4926
+ <p>The parameter available to a tool (<code>${1}</code>) when the hook is called is the test's filepath.</p>
4927
+ <h3 id="post_runner_generate"><code>:post_runner_generate</code></h3>
4928
+ <p>Called just after each test runner is generated.</p>
4929
+ <p>The parameter available to a tool (<code>${1}</code>) when the hook is called is the test's filepath.</p>
4930
+ <h3 id="pre_compile_execute"><code>:pre_compile_execute</code></h3>
4931
+ <p>Called just before each C or assembly file is compiled.</p>
4932
+ <p>The parameter available to a tool (<code>${1}</code>) when the hook is called is the filepath of the file to be compiled.</p>
4933
+ <h3 id="post_compile_execute"><code>:post_compile_execute</code></h3>
4934
+ <p>Called just after each file compilation.</p>
4935
+ <p>The parameter available to a tool (<code>${1}</code>) when the hook is called is the filepath of the input file that was compiled.</p>
4936
+ <h3 id="pre_link_execute"><code>:pre_link_execute</code></h3>
4937
+ <p>Called just before any binary artifact—test or release—is linked.</p>
4938
+ <p>The parameter available to a tool (<code>${1}</code>) when the hook is called is the binary output artifact's filepath.</p>
4939
+ <h3 id="post_link_execute"><code>:post_link_execute</code></h3>
4940
+ <p>Called just after a binary artifact is linked.</p>
4941
+ <p>The parameter available to a tool (<code>${1}</code>) when the hook is called is the binary output artifact's filepath.</p>
4942
+ <h3 id="pre_test_fixture_execute"><code>:pre_test_fixture_execute</code></h3>
4943
+ <p>Called just before each test is executed in its corresponding test fixture.</p>
4944
+ <p>The parameter available to a tool (<code>${1}</code>) when the hook is called is the filepath of the binary artifact to be executed by the fixture.</p>
4945
+ <h3 id="post_test_fixture_execute"><code>:post_test_fixture_execute</code></h3>
4946
+ <p>Called just after each test's fixture is executed and test results are collected.</p>
4947
+ <p>The parameter available to a tool (<code>${1}</code>) when the hook is called is the filepath of the binary artifact that was executed by the fixture.</p>
4948
+ <p><br/><br/></p>
4949
+
4950
+
4951
+
4952
+
4953
+
4954
+
4955
+
4956
+
4957
+
4958
+
4959
+
4960
+
4961
+
4962
+ </article>
4963
+ </div>
4964
+
4965
+
4966
+ <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
4967
+ </div>
4968
+
4969
+ <button type="button" class="md-top md-icon" data-md-component="top" hidden>
4970
+
4971
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z"/></svg>
4972
+ Back to top
4973
+ </button>
4974
+
4975
+ </main>
4976
+
4977
+ <footer class="md-footer">
4978
+
4979
+ <div class="md-footer-meta md-typeset">
4980
+ <div class="md-footer-meta__inner md-grid">
4981
+ <div class="md-copyright">
4982
+
4983
+ <div class="md-copyright__highlight">
4984
+ &copy; 2010-2026 M. Karlesky, M. VanderVoord, and G. Williams &mdash; Documentation license: <a href="https://creativecommons.org/licenses/by-sa/4.0/deed.en">CC BY-SA 4.0</a>
4985
+ </div>
4986
+
4987
+
4988
+ </div>
4989
+
4990
+
4991
+ <div class="md-social">
4992
+
4993
+
4994
+
4995
+
4996
+
4997
+ <a href="https://github.com/sponsors/ThrowTheSwitch" target="_blank" rel="noopener" title="Sponsor ThrowTheSwitch on GitHub" class="md-social__link">
4998
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg>
4999
+ </a>
5000
+
5001
+ </div>
5002
+
5003
+ </div>
5004
+ </div>
5005
+ </footer>
5006
+
5007
+ </div>
5008
+ <div class="md-dialog" data-md-component="dialog">
5009
+ <div class="md-dialog__inner md-typeset"></div>
5010
+ </div>
5011
+
5012
+
5013
+
5014
+
5015
+
5016
+ <script id="__config" type="application/json">{"annotate": null, "base": "..", "features": ["navigation.tabs", "navigation.sections", "navigation.top", "navigation.indexes", "navigation.path", "search.suggest", "search.highlight", "content.code.copy", "content.code.annotate"], "search": "../assets/javascripts/workers/search.2c215733.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": {"default": "latest", "provider": "mike"}}</script>
5017
+
5018
+
5019
+ <script src="../assets/javascripts/bundle.79ae519e.min.js"></script>
5020
+
5021
+
5022
+ </body>
5023
+ </html>