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,4588 @@
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="beep.html">
15
+
16
+
17
+ <link rel="next" href="dependencies.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>Module Generator - 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="#module-generator" 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
+ Module Generator
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
+ <li class="md-nav__item">
3078
+ <a href="command-hooks.html" class="md-nav__link">
3079
+
3080
+
3081
+
3082
+ <span class="md-ellipsis">
3083
+
3084
+
3085
+ Command Hooks
3086
+
3087
+
3088
+
3089
+ </span>
3090
+
3091
+
3092
+
3093
+ </a>
3094
+ </li>
3095
+
3096
+
3097
+
3098
+
3099
+
3100
+
3101
+
3102
+
3103
+
3104
+
3105
+ <li class="md-nav__item">
3106
+ <a href="compile-commands-json-db.html" class="md-nav__link">
3107
+
3108
+
3109
+
3110
+ <span class="md-ellipsis">
3111
+
3112
+
3113
+ Compile Commands JSON DB
3114
+
3115
+
3116
+
3117
+ </span>
3118
+
3119
+
3120
+
3121
+ </a>
3122
+ </li>
3123
+
3124
+
3125
+
3126
+
3127
+
3128
+
3129
+
3130
+
3131
+
3132
+
3133
+ <li class="md-nav__item">
3134
+ <a href="beep.html" class="md-nav__link">
3135
+
3136
+
3137
+
3138
+ <span class="md-ellipsis">
3139
+
3140
+
3141
+ Beep
3142
+
3143
+
3144
+
3145
+ </span>
3146
+
3147
+
3148
+
3149
+ </a>
3150
+ </li>
3151
+
3152
+
3153
+
3154
+
3155
+
3156
+
3157
+
3158
+
3159
+
3160
+
3161
+
3162
+
3163
+ <li class="md-nav__item md-nav__item--active">
3164
+
3165
+ <input class="md-nav__toggle md-toggle" type="checkbox" id="__toc">
3166
+
3167
+
3168
+
3169
+
3170
+
3171
+ <label class="md-nav__link md-nav__link--active" for="__toc">
3172
+
3173
+
3174
+
3175
+ <span class="md-ellipsis">
3176
+
3177
+
3178
+ Module Generator
3179
+
3180
+
3181
+
3182
+ </span>
3183
+
3184
+
3185
+
3186
+ <span class="md-nav__icon md-icon"></span>
3187
+ </label>
3188
+
3189
+ <a href="module-generator.html" class="md-nav__link md-nav__link--active">
3190
+
3191
+
3192
+
3193
+ <span class="md-ellipsis">
3194
+
3195
+
3196
+ Module Generator
3197
+
3198
+
3199
+
3200
+ </span>
3201
+
3202
+
3203
+
3204
+ </a>
3205
+
3206
+
3207
+
3208
+ <nav class="md-nav md-nav--secondary" aria-label="Table of contents">
3209
+
3210
+
3211
+
3212
+
3213
+
3214
+
3215
+ <label class="md-nav__title" for="__toc">
3216
+ <span class="md-nav__icon md-icon"></span>
3217
+ Table of contents
3218
+ </label>
3219
+ <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
3220
+
3221
+ <li class="md-nav__item">
3222
+ <a href="#overview" class="md-nav__link">
3223
+ <span class="md-ellipsis">
3224
+
3225
+ Overview
3226
+
3227
+ </span>
3228
+ </a>
3229
+
3230
+ </li>
3231
+
3232
+ <li class="md-nav__item">
3233
+ <a href="#patterns" class="md-nav__link">
3234
+ <span class="md-ellipsis">
3235
+
3236
+ Patterns
3237
+
3238
+ </span>
3239
+ </a>
3240
+
3241
+ </li>
3242
+
3243
+ <li class="md-nav__item">
3244
+ <a href="#paths" class="md-nav__link">
3245
+ <span class="md-ellipsis">
3246
+
3247
+ Paths
3248
+
3249
+ </span>
3250
+ </a>
3251
+
3252
+ <nav class="md-nav" aria-label="Paths">
3253
+ <ul class="md-nav__list">
3254
+
3255
+ <li class="md-nav__item">
3256
+ <a href="#adding-to-paths" class="md-nav__link">
3257
+ <span class="md-ellipsis">
3258
+
3259
+ Adding to Paths
3260
+
3261
+ </span>
3262
+ </a>
3263
+
3264
+ </li>
3265
+
3266
+ </ul>
3267
+ </nav>
3268
+
3269
+ </li>
3270
+
3271
+ <li class="md-nav__item">
3272
+ <a href="#stubbing" class="md-nav__link">
3273
+ <span class="md-ellipsis">
3274
+
3275
+ Stubbing
3276
+
3277
+ </span>
3278
+ </a>
3279
+
3280
+ </li>
3281
+
3282
+ <li class="md-nav__item">
3283
+ <a href="#configuration" class="md-nav__link">
3284
+ <span class="md-ellipsis">
3285
+
3286
+ Configuration
3287
+
3288
+ </span>
3289
+ </a>
3290
+
3291
+ <nav class="md-nav" aria-label="Configuration">
3292
+ <ul class="md-nav__list">
3293
+
3294
+ <li class="md-nav__item">
3295
+ <a href="#includes" class="md-nav__link">
3296
+ <span class="md-ellipsis">
3297
+
3298
+ Includes
3299
+
3300
+ </span>
3301
+ </a>
3302
+
3303
+ </li>
3304
+
3305
+ <li class="md-nav__item">
3306
+ <a href="#boilerplates" class="md-nav__link">
3307
+ <span class="md-ellipsis">
3308
+
3309
+ Boilerplates
3310
+
3311
+ </span>
3312
+ </a>
3313
+
3314
+ </li>
3315
+
3316
+ <li class="md-nav__item">
3317
+ <a href="#test-defines" class="md-nav__link">
3318
+ <span class="md-ellipsis">
3319
+
3320
+ Test Defines
3321
+
3322
+ </span>
3323
+ </a>
3324
+
3325
+ </li>
3326
+
3327
+ <li class="md-nav__item">
3328
+ <a href="#naming-convention" class="md-nav__link">
3329
+ <span class="md-ellipsis">
3330
+
3331
+ Naming Convention
3332
+
3333
+ </span>
3334
+ </a>
3335
+
3336
+ </li>
3337
+
3338
+ </ul>
3339
+ </nav>
3340
+
3341
+ </li>
3342
+
3343
+ </ul>
3344
+
3345
+ </nav>
3346
+
3347
+ </li>
3348
+
3349
+
3350
+
3351
+
3352
+
3353
+
3354
+
3355
+
3356
+
3357
+
3358
+ <li class="md-nav__item">
3359
+ <a href="dependencies.html" class="md-nav__link">
3360
+
3361
+
3362
+
3363
+ <span class="md-ellipsis">
3364
+
3365
+
3366
+ Dependencies
3367
+
3368
+
3369
+
3370
+ </span>
3371
+
3372
+
3373
+
3374
+ </a>
3375
+ </li>
3376
+
3377
+
3378
+
3379
+
3380
+ </ul>
3381
+ </nav>
3382
+
3383
+ </li>
3384
+
3385
+
3386
+
3387
+
3388
+
3389
+
3390
+
3391
+
3392
+
3393
+
3394
+
3395
+
3396
+
3397
+
3398
+
3399
+
3400
+
3401
+
3402
+
3403
+
3404
+
3405
+
3406
+
3407
+
3408
+
3409
+
3410
+
3411
+
3412
+
3413
+
3414
+
3415
+
3416
+
3417
+
3418
+
3419
+
3420
+
3421
+
3422
+
3423
+ <li class="md-nav__item md-nav__item--nested">
3424
+
3425
+
3426
+
3427
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_7" >
3428
+
3429
+
3430
+ <div class="md-nav__link md-nav__container">
3431
+ <a href="../reference/index.html" class="md-nav__link ">
3432
+
3433
+
3434
+
3435
+ <span class="md-ellipsis">
3436
+
3437
+
3438
+ Reference
3439
+
3440
+
3441
+
3442
+ </span>
3443
+
3444
+
3445
+
3446
+ </a>
3447
+
3448
+
3449
+ <label class="md-nav__link " for="__nav_7" id="__nav_7_label" tabindex="0">
3450
+ <span class="md-nav__icon md-icon"></span>
3451
+ </label>
3452
+
3453
+ </div>
3454
+
3455
+ <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_7_label" aria-expanded="false">
3456
+ <label class="md-nav__title" for="__nav_7">
3457
+ <span class="md-nav__icon md-icon"></span>
3458
+
3459
+
3460
+ Reference
3461
+
3462
+
3463
+ </label>
3464
+ <ul class="md-nav__list" data-md-scrollfix>
3465
+
3466
+
3467
+
3468
+
3469
+
3470
+
3471
+
3472
+
3473
+
3474
+ <li class="md-nav__item">
3475
+ <a href="../reference/command-line.html" class="md-nav__link">
3476
+
3477
+
3478
+
3479
+ <span class="md-ellipsis">
3480
+
3481
+
3482
+ Command Line
3483
+
3484
+
3485
+
3486
+ </span>
3487
+
3488
+
3489
+
3490
+ </a>
3491
+ </li>
3492
+
3493
+
3494
+
3495
+
3496
+
3497
+
3498
+
3499
+
3500
+
3501
+
3502
+ <li class="md-nav__item">
3503
+ <a href="../reference/project-configuration.html" class="md-nav__link">
3504
+
3505
+
3506
+
3507
+ <span class="md-ellipsis">
3508
+
3509
+
3510
+ Project Configuration
3511
+
3512
+
3513
+
3514
+ </span>
3515
+
3516
+
3517
+
3518
+ </a>
3519
+ </li>
3520
+
3521
+
3522
+
3523
+
3524
+
3525
+
3526
+
3527
+
3528
+
3529
+
3530
+ <li class="md-nav__item">
3531
+ <a href="../reference/build-directives.html" class="md-nav__link">
3532
+
3533
+
3534
+
3535
+ <span class="md-ellipsis">
3536
+
3537
+
3538
+ Test Build Directives
3539
+
3540
+
3541
+
3542
+ </span>
3543
+
3544
+
3545
+
3546
+ </a>
3547
+ </li>
3548
+
3549
+
3550
+
3551
+
3552
+
3553
+
3554
+
3555
+
3556
+
3557
+
3558
+ <li class="md-nav__item">
3559
+ <a href="../reference/partials-macros.html" class="md-nav__link">
3560
+
3561
+
3562
+
3563
+ <span class="md-ellipsis">
3564
+
3565
+
3566
+ Partials Macros
3567
+
3568
+
3569
+
3570
+ </span>
3571
+
3572
+
3573
+
3574
+ </a>
3575
+ </li>
3576
+
3577
+
3578
+
3579
+
3580
+
3581
+
3582
+
3583
+
3584
+
3585
+
3586
+ <li class="md-nav__item">
3587
+ <a href="../reference/environment-vars.html" class="md-nav__link">
3588
+
3589
+
3590
+
3591
+ <span class="md-ellipsis">
3592
+
3593
+
3594
+ Environment Variables
3595
+
3596
+
3597
+
3598
+ </span>
3599
+
3600
+
3601
+
3602
+ </a>
3603
+ </li>
3604
+
3605
+
3606
+
3607
+
3608
+
3609
+
3610
+
3611
+
3612
+
3613
+
3614
+ <li class="md-nav__item">
3615
+ <a href="../reference/gcov-plugin.html" class="md-nav__link">
3616
+
3617
+
3618
+
3619
+ <span class="md-ellipsis">
3620
+
3621
+
3622
+ Coverage Reporting
3623
+
3624
+
3625
+
3626
+ </span>
3627
+
3628
+
3629
+
3630
+ </a>
3631
+ </li>
3632
+
3633
+
3634
+
3635
+
3636
+
3637
+
3638
+
3639
+
3640
+
3641
+
3642
+ <li class="md-nav__item">
3643
+ <a href="../reference/global-collections.html" class="md-nav__link">
3644
+
3645
+
3646
+
3647
+ <span class="md-ellipsis">
3648
+
3649
+
3650
+ Global Collections
3651
+
3652
+
3653
+
3654
+ </span>
3655
+
3656
+
3657
+
3658
+ </a>
3659
+ </li>
3660
+
3661
+
3662
+
3663
+
3664
+ </ul>
3665
+ </nav>
3666
+
3667
+ </li>
3668
+
3669
+
3670
+
3671
+
3672
+
3673
+
3674
+
3675
+
3676
+
3677
+
3678
+
3679
+
3680
+
3681
+
3682
+
3683
+
3684
+
3685
+
3686
+
3687
+
3688
+
3689
+
3690
+
3691
+
3692
+
3693
+ <li class="md-nav__item md-nav__item--nested">
3694
+
3695
+
3696
+
3697
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_8" >
3698
+
3699
+
3700
+ <label class="md-nav__link" for="__nav_8" id="__nav_8_label" tabindex="0">
3701
+
3702
+
3703
+
3704
+ <span class="md-ellipsis">
3705
+
3706
+
3707
+ Releases
3708
+
3709
+
3710
+
3711
+ </span>
3712
+
3713
+
3714
+
3715
+ <span class="md-nav__icon md-icon"></span>
3716
+ </label>
3717
+
3718
+ <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_8_label" aria-expanded="false">
3719
+ <label class="md-nav__title" for="__nav_8">
3720
+ <span class="md-nav__icon md-icon"></span>
3721
+
3722
+
3723
+ Releases
3724
+
3725
+
3726
+ </label>
3727
+ <ul class="md-nav__list" data-md-scrollfix>
3728
+
3729
+
3730
+
3731
+
3732
+
3733
+
3734
+
3735
+ <li class="md-nav__item">
3736
+ <a href="../project/release-history.html" class="md-nav__link">
3737
+
3738
+
3739
+
3740
+ <span class="md-ellipsis">
3741
+
3742
+
3743
+ History Documents
3744
+
3745
+
3746
+
3747
+ </span>
3748
+
3749
+
3750
+
3751
+ </a>
3752
+ </li>
3753
+
3754
+
3755
+
3756
+
3757
+
3758
+
3759
+
3760
+
3761
+
3762
+
3763
+ <li class="md-nav__item">
3764
+ <a href="../project/upgrade.html" class="md-nav__link">
3765
+
3766
+
3767
+
3768
+ <span class="md-ellipsis">
3769
+
3770
+
3771
+ Upgrading
3772
+
3773
+
3774
+
3775
+ </span>
3776
+
3777
+
3778
+
3779
+ </a>
3780
+ </li>
3781
+
3782
+
3783
+
3784
+
3785
+ </ul>
3786
+ </nav>
3787
+
3788
+ </li>
3789
+
3790
+
3791
+
3792
+
3793
+
3794
+
3795
+
3796
+
3797
+
3798
+ <li class="md-nav__item">
3799
+ <a href="../help.html" class="md-nav__link">
3800
+
3801
+
3802
+
3803
+ <span class="md-ellipsis">
3804
+
3805
+
3806
+ Help
3807
+
3808
+
3809
+
3810
+ </span>
3811
+
3812
+
3813
+
3814
+ </a>
3815
+ </li>
3816
+
3817
+
3818
+
3819
+
3820
+
3821
+
3822
+
3823
+
3824
+
3825
+
3826
+
3827
+
3828
+
3829
+
3830
+
3831
+
3832
+
3833
+
3834
+
3835
+
3836
+
3837
+
3838
+
3839
+
3840
+
3841
+
3842
+
3843
+
3844
+
3845
+ <li class="md-nav__item md-nav__item--nested">
3846
+
3847
+
3848
+
3849
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_10" >
3850
+
3851
+
3852
+ <div class="md-nav__link md-nav__container">
3853
+ <a href="../development/index.html" class="md-nav__link ">
3854
+
3855
+
3856
+
3857
+ <span class="md-ellipsis">
3858
+
3859
+
3860
+ Development
3861
+
3862
+
3863
+
3864
+ </span>
3865
+
3866
+
3867
+
3868
+ </a>
3869
+
3870
+
3871
+ <label class="md-nav__link " for="__nav_10" id="__nav_10_label" tabindex="0">
3872
+ <span class="md-nav__icon md-icon"></span>
3873
+ </label>
3874
+
3875
+ </div>
3876
+
3877
+ <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_10_label" aria-expanded="false">
3878
+ <label class="md-nav__title" for="__nav_10">
3879
+ <span class="md-nav__icon md-icon"></span>
3880
+
3881
+
3882
+ Development
3883
+
3884
+
3885
+ </label>
3886
+ <ul class="md-nav__list" data-md-scrollfix>
3887
+
3888
+
3889
+
3890
+
3891
+
3892
+
3893
+
3894
+
3895
+
3896
+ <li class="md-nav__item">
3897
+ <a href="../development/workflow.html" class="md-nav__link">
3898
+
3899
+
3900
+
3901
+ <span class="md-ellipsis">
3902
+
3903
+
3904
+ Development Workflow
3905
+
3906
+
3907
+
3908
+ </span>
3909
+
3910
+
3911
+
3912
+ </a>
3913
+ </li>
3914
+
3915
+
3916
+
3917
+
3918
+
3919
+
3920
+
3921
+
3922
+
3923
+
3924
+
3925
+
3926
+
3927
+
3928
+
3929
+
3930
+
3931
+
3932
+
3933
+
3934
+
3935
+
3936
+
3937
+
3938
+
3939
+
3940
+
3941
+
3942
+
3943
+
3944
+
3945
+
3946
+ <li class="md-nav__item md-nav__item--nested">
3947
+
3948
+
3949
+
3950
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_10_3" >
3951
+
3952
+
3953
+ <div class="md-nav__link md-nav__container">
3954
+ <a href="../development/plugins/index.html" class="md-nav__link ">
3955
+
3956
+
3957
+
3958
+ <span class="md-ellipsis">
3959
+
3960
+
3961
+ Plugin Development
3962
+
3963
+
3964
+
3965
+ </span>
3966
+
3967
+
3968
+
3969
+ </a>
3970
+
3971
+
3972
+ <label class="md-nav__link " for="__nav_10_3" id="__nav_10_3_label" tabindex="0">
3973
+ <span class="md-nav__icon md-icon"></span>
3974
+ </label>
3975
+
3976
+ </div>
3977
+
3978
+ <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_10_3_label" aria-expanded="false">
3979
+ <label class="md-nav__title" for="__nav_10_3">
3980
+ <span class="md-nav__icon md-icon"></span>
3981
+
3982
+
3983
+ Plugin Development
3984
+
3985
+
3986
+ </label>
3987
+ <ul class="md-nav__list" data-md-scrollfix>
3988
+
3989
+
3990
+
3991
+
3992
+
3993
+
3994
+
3995
+
3996
+
3997
+ <li class="md-nav__item">
3998
+ <a href="../development/plugins/configuration.html" class="md-nav__link">
3999
+
4000
+
4001
+
4002
+ <span class="md-ellipsis">
4003
+
4004
+
4005
+ Configuration Plugin
4006
+
4007
+
4008
+
4009
+ </span>
4010
+
4011
+
4012
+
4013
+ </a>
4014
+ </li>
4015
+
4016
+
4017
+
4018
+
4019
+
4020
+
4021
+
4022
+
4023
+
4024
+
4025
+ <li class="md-nav__item">
4026
+ <a href="../development/plugins/plugin-subclass.html" class="md-nav__link">
4027
+
4028
+
4029
+
4030
+ <span class="md-ellipsis">
4031
+
4032
+
4033
+ Plugin Subclass
4034
+
4035
+
4036
+
4037
+ </span>
4038
+
4039
+
4040
+
4041
+ </a>
4042
+ </li>
4043
+
4044
+
4045
+
4046
+
4047
+
4048
+
4049
+
4050
+
4051
+
4052
+
4053
+ <li class="md-nav__item">
4054
+ <a href="../development/plugins/rake-tasks.html" class="md-nav__link">
4055
+
4056
+
4057
+
4058
+ <span class="md-ellipsis">
4059
+
4060
+
4061
+ Rake Task Plugin
4062
+
4063
+
4064
+
4065
+ </span>
4066
+
4067
+
4068
+
4069
+ </a>
4070
+ </li>
4071
+
4072
+
4073
+
4074
+
4075
+ </ul>
4076
+ </nav>
4077
+
4078
+ </li>
4079
+
4080
+
4081
+
4082
+
4083
+ </ul>
4084
+ </nav>
4085
+
4086
+ </li>
4087
+
4088
+
4089
+
4090
+ </ul>
4091
+ </nav>
4092
+ </div>
4093
+ </div>
4094
+ </div>
4095
+
4096
+
4097
+
4098
+ <div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
4099
+ <div class="md-sidebar__scrollwrap">
4100
+ <div class="md-sidebar__inner">
4101
+
4102
+
4103
+ <nav class="md-nav md-nav--secondary" aria-label="Table of contents">
4104
+
4105
+
4106
+
4107
+
4108
+
4109
+
4110
+ <label class="md-nav__title" for="__toc">
4111
+ <span class="md-nav__icon md-icon"></span>
4112
+ Table of contents
4113
+ </label>
4114
+ <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
4115
+
4116
+ <li class="md-nav__item">
4117
+ <a href="#overview" class="md-nav__link">
4118
+ <span class="md-ellipsis">
4119
+
4120
+ Overview
4121
+
4122
+ </span>
4123
+ </a>
4124
+
4125
+ </li>
4126
+
4127
+ <li class="md-nav__item">
4128
+ <a href="#patterns" class="md-nav__link">
4129
+ <span class="md-ellipsis">
4130
+
4131
+ Patterns
4132
+
4133
+ </span>
4134
+ </a>
4135
+
4136
+ </li>
4137
+
4138
+ <li class="md-nav__item">
4139
+ <a href="#paths" class="md-nav__link">
4140
+ <span class="md-ellipsis">
4141
+
4142
+ Paths
4143
+
4144
+ </span>
4145
+ </a>
4146
+
4147
+ <nav class="md-nav" aria-label="Paths">
4148
+ <ul class="md-nav__list">
4149
+
4150
+ <li class="md-nav__item">
4151
+ <a href="#adding-to-paths" class="md-nav__link">
4152
+ <span class="md-ellipsis">
4153
+
4154
+ Adding to Paths
4155
+
4156
+ </span>
4157
+ </a>
4158
+
4159
+ </li>
4160
+
4161
+ </ul>
4162
+ </nav>
4163
+
4164
+ </li>
4165
+
4166
+ <li class="md-nav__item">
4167
+ <a href="#stubbing" class="md-nav__link">
4168
+ <span class="md-ellipsis">
4169
+
4170
+ Stubbing
4171
+
4172
+ </span>
4173
+ </a>
4174
+
4175
+ </li>
4176
+
4177
+ <li class="md-nav__item">
4178
+ <a href="#configuration" class="md-nav__link">
4179
+ <span class="md-ellipsis">
4180
+
4181
+ Configuration
4182
+
4183
+ </span>
4184
+ </a>
4185
+
4186
+ <nav class="md-nav" aria-label="Configuration">
4187
+ <ul class="md-nav__list">
4188
+
4189
+ <li class="md-nav__item">
4190
+ <a href="#includes" class="md-nav__link">
4191
+ <span class="md-ellipsis">
4192
+
4193
+ Includes
4194
+
4195
+ </span>
4196
+ </a>
4197
+
4198
+ </li>
4199
+
4200
+ <li class="md-nav__item">
4201
+ <a href="#boilerplates" class="md-nav__link">
4202
+ <span class="md-ellipsis">
4203
+
4204
+ Boilerplates
4205
+
4206
+ </span>
4207
+ </a>
4208
+
4209
+ </li>
4210
+
4211
+ <li class="md-nav__item">
4212
+ <a href="#test-defines" class="md-nav__link">
4213
+ <span class="md-ellipsis">
4214
+
4215
+ Test Defines
4216
+
4217
+ </span>
4218
+ </a>
4219
+
4220
+ </li>
4221
+
4222
+ <li class="md-nav__item">
4223
+ <a href="#naming-convention" class="md-nav__link">
4224
+ <span class="md-ellipsis">
4225
+
4226
+ Naming Convention
4227
+
4228
+ </span>
4229
+ </a>
4230
+
4231
+ </li>
4232
+
4233
+ </ul>
4234
+ </nav>
4235
+
4236
+ </li>
4237
+
4238
+ </ul>
4239
+
4240
+ </nav>
4241
+ </div>
4242
+ </div>
4243
+ </div>
4244
+
4245
+
4246
+
4247
+ <div class="md-content" data-md-component="content">
4248
+
4249
+
4250
+
4251
+
4252
+
4253
+
4254
+
4255
+
4256
+ <nav class="md-path" aria-label="Navigation" >
4257
+ <ol class="md-path__list">
4258
+
4259
+
4260
+
4261
+
4262
+ <li class="md-path__item">
4263
+ <a href="../index.html" class="md-path__link">
4264
+
4265
+ <span class="md-ellipsis">
4266
+ Home
4267
+ </span>
4268
+
4269
+ </a>
4270
+ </li>
4271
+
4272
+
4273
+
4274
+
4275
+
4276
+
4277
+
4278
+
4279
+
4280
+ <li class="md-path__item">
4281
+ <a href="index.html" class="md-path__link">
4282
+
4283
+ <span class="md-ellipsis">
4284
+ Plugins
4285
+ </span>
4286
+
4287
+ </a>
4288
+ </li>
4289
+
4290
+
4291
+
4292
+
4293
+ </ol>
4294
+ </nav>
4295
+
4296
+
4297
+ <article class="md-content__inner md-typeset">
4298
+
4299
+
4300
+
4301
+
4302
+
4303
+
4304
+
4305
+
4306
+ <h1 id="module-generator">Module Generator</h1>
4307
+ <p>This plugin adds a pair of new commands to Ceedling allowing you to generate or remove
4308
+ module skeletons according to predefined templates.</p>
4309
+ <h2 id="overview">Overview</h2>
4310
+ <p>With a single call, Ceedling can generate a source, header, and test file for a new
4311
+ module. If given a pattern, it can even create a series of submodules to support
4312
+ specific design patterns. Finally, it can just as easily remove related modules,
4313
+ avoiding the need to delete each individually.</p>
4314
+ <p>Let's say, for example, that you want to create a single module named <code>MadScience</code>.</p>
4315
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a>ceedling<span class="w"> </span>module:create<span class="o">[</span>MadScience<span class="o">]</span>
4316
+ </code></pre></div>
4317
+ <p>It says we're speaking to the module plugin, and we want to create a new module. The
4318
+ name of that module is between the brackets. It will keep this case, unless you have
4319
+ specified a different default (see configuration). It will create three files:
4320
+ <code>MadScience.c</code>, <code>MadScience.h</code>, and <code>TestMadScience.c</code>. <em>NOTE</em> that it is important that
4321
+ there are no spaces between the brackets. We know, it's annoying... but it's the rules.</p>
4322
+ <h2 id="patterns">Patterns</h2>
4323
+ <p>You can also create an entire pattern of files. To do that, just add a second argument
4324
+ to the pattern ID. Something like this:</p>
4325
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-1-1" name="__codelineno-1-1" href="#__codelineno-1-1"></a>ceedling<span class="w"> </span>module:create<span class="o">[</span>SecretLair,mch<span class="o">]</span>
4326
+ </code></pre></div>
4327
+ <p>In this example, we'd create 9 files total: 3 headers, 3 source files, and 3 test files. These
4328
+ files would be named <code>SecretLairModel</code>, <code>SecretLairConductor</code>, and <code>SecretLairHardware</code>. Isn't
4329
+ that nice?</p>
4330
+ <p>The module generator understands the following patterns:</p>
4331
+ <ul>
4332
+ <li><code>src</code> -- generate only a source file</li>
4333
+ <li><code>test</code> -- generate only a test file</li>
4334
+ <li><code>dh</code> -- generate 6 files for the driver-hardware pattern</li>
4335
+ <li><code>dih</code> -- generate 9 files for the driver-interrupt-hardware pattern</li>
4336
+ <li><code>mch</code> -- generate 9 files for the model-conductor-hardware pattern</li>
4337
+ <li><code>mvp</code> -- generate 9 files for the model-view-presenter pattern</li>
4338
+ </ul>
4339
+ <h2 id="paths">Paths</h2>
4340
+ <p>The directories found in the project <code>:paths:</code> are reused. You can also specify an alternative default generation path using: </p>
4341
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-2-1" name="__codelineno-2-1" href="#__codelineno-2-1"></a><span class="nt">:module_generator</span><span class="p">:</span>
4342
+ <a id="__codelineno-2-2" name="__codelineno-2-2" href="#__codelineno-2-2"></a><span class="w"> </span><span class="nt">:path_src</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">src/</span>
4343
+ <a id="__codelineno-2-3" name="__codelineno-2-3" href="#__codelineno-2-3"></a><span class="w"> </span><span class="nt">:path_inc</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">src/</span>
4344
+ <a id="__codelineno-2-4" name="__codelineno-2-4" href="#__codelineno-2-4"></a><span class="w"> </span><span class="nt">:path_tst</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">test/</span>
4345
+ </code></pre></div>
4346
+ <p>But what if I don't want it to place my new files in the default location?</p>
4347
+ <p>It can do that too! You can give it a hint as to where to find your files. The pattern matching
4348
+ here is fairly basic, but it is usually sufficient. It works perfectly if your directory structure
4349
+ matches a common pattern. For example, let's say you issue this command:</p>
4350
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-3-1" name="__codelineno-3-1" href="#__codelineno-3-1"></a>ceedling<span class="w"> </span>module:create<span class="o">[</span>lab:SecretLair,mch<span class="o">]</span>
4351
+ </code></pre></div>
4352
+ <p>Say your directory structure looks like this:</p>
4353
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-4-1" name="__codelineno-4-1" href="#__codelineno-4-1"></a><span class="nt">:paths</span><span class="p">:</span>
4354
+ <a id="__codelineno-4-2" name="__codelineno-4-2" href="#__codelineno-4-2"></a><span class="w"> </span><span class="nt">:source</span><span class="p">:</span>
4355
+ <a id="__codelineno-4-3" name="__codelineno-4-3" href="#__codelineno-4-3"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">lab/src</span>
4356
+ <a id="__codelineno-4-4" name="__codelineno-4-4" href="#__codelineno-4-4"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">lair/src</span>
4357
+ <a id="__codelineno-4-5" name="__codelineno-4-5" href="#__codelineno-4-5"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">other/src</span>
4358
+ <a id="__codelineno-4-6" name="__codelineno-4-6" href="#__codelineno-4-6"></a><span class="w"> </span><span class="nt">:test</span><span class="p">:</span>
4359
+ <a id="__codelineno-4-7" name="__codelineno-4-7" href="#__codelineno-4-7"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">lab/test</span>
4360
+ <a id="__codelineno-4-8" name="__codelineno-4-8" href="#__codelineno-4-8"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">lair/test</span>
4361
+ <a id="__codelineno-4-9" name="__codelineno-4-9" href="#__codelineno-4-9"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">other/test</span>
4362
+ </code></pre></div>
4363
+ <p>In this case, the <code>lab:</code> hint would make the module generator guess you want your files here:</p>
4364
+ <ul>
4365
+ <li>source files: <code>lab/src</code> (because it's a close match)</li>
4366
+ <li>include files: <code>lab/src</code> (because no include paths were listed)</li>
4367
+ <li>test files: <code>lab/test</code> (because it's a close match)</li>
4368
+ </ul>
4369
+ <p>Instead, if your directory structure looks like this:</p>
4370
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-5-1" name="__codelineno-5-1" href="#__codelineno-5-1"></a><span class="nt">:paths</span><span class="p">:</span>
4371
+ <a id="__codelineno-5-2" name="__codelineno-5-2" href="#__codelineno-5-2"></a><span class="w"> </span><span class="nt">:source</span><span class="p">:</span>
4372
+ <a id="__codelineno-5-3" name="__codelineno-5-3" href="#__codelineno-5-3"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">src/**</span><span class="w"> </span><span class="c1">#this might contain subfolders lab, lair, and other</span>
4373
+ <a id="__codelineno-5-4" name="__codelineno-5-4" href="#__codelineno-5-4"></a><span class="w"> </span><span class="nt">:include</span><span class="p">:</span>
4374
+ <a id="__codelineno-5-5" name="__codelineno-5-5" href="#__codelineno-5-5"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">inc/**</span><span class="w"> </span><span class="c1">#again, this might contain subfolders lab, lair, other, and shared</span>
4375
+ <a id="__codelineno-5-6" name="__codelineno-5-6" href="#__codelineno-5-6"></a><span class="w"> </span><span class="nt">:test</span><span class="p">:</span>
4376
+ <a id="__codelineno-5-7" name="__codelineno-5-7" href="#__codelineno-5-7"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">test</span>
4377
+ </code></pre></div>
4378
+ <p>In this case, the <code>lab:</code> hint would make the module generator guess you want your files here:</p>
4379
+ <ul>
4380
+ <li>source files: <code>src/lab</code> (because it's a close match)</li>
4381
+ <li>include files: <code>inc/lab</code> (because it's a close match)</li>
4382
+ <li>test files: <code>test</code> (because there wasn't a close match, and this was the first entry on our list)</li>
4383
+ </ul>
4384
+ <p>You can see that more complicated structures will have files placed in the wrong place from time to
4385
+ time... no worries... you can move the file after it's created... but if your project has any kind of
4386
+ consistent structure, the guessing engine does a good job of making it work.</p>
4387
+ <p>A few more quick notes about the path-matching:</p>
4388
+ <ol>
4389
+ <li>
4390
+ <p>You can give multiple ordered hints that map roughly to folder nesting! <code>lab:secret:lair</code> will
4391
+ happily match to put <code>lair.c</code> in a folder like <code>my/lab/secret/</code>.</p>
4392
+ </li>
4393
+ <li>
4394
+ <p>If the matcher isn't given any path information or it finds multiple equally good candidates,
4395
+ it will always guess in the order you have the paths listed in your project.yml file</p>
4396
+ </li>
4397
+ <li>
4398
+ <p>If the matcher completely fails to find a good candidate, it will return an error, allowing you
4399
+ to rectify the situation.</p>
4400
+ </li>
4401
+ <li>
4402
+ <p>What path is "first" when you're using <code>**</code> pattern in your <code>:paths:</code> specifications? The parent
4403
+ folder is used first, then its children alphabetically, and so on. This is important when
4404
+ considering where files (or especially subfolders... see below) will be generated.</p>
4405
+ </li>
4406
+ </ol>
4407
+ <h3 id="adding-to-paths">Adding to Paths</h3>
4408
+ <p>In addition to the pattern matching above, you can add slashes (<code>/</code>) to your filename specification.
4409
+ When a slash is used instead of a colon (<code>:</code>), it will stop using pattern matching and assume the
4410
+ subdirectory is supposed to be there. If the subdir is NOT there, it will automatically add it.</p>
4411
+ <p>Let's try an example with our previous path specification:</p>
4412
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-6-1" name="__codelineno-6-1" href="#__codelineno-6-1"></a><span class="nt">:paths</span><span class="p">:</span>
4413
+ <a id="__codelineno-6-2" name="__codelineno-6-2" href="#__codelineno-6-2"></a><span class="w"> </span><span class="nt">:source</span><span class="p">:</span>
4414
+ <a id="__codelineno-6-3" name="__codelineno-6-3" href="#__codelineno-6-3"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">src/**</span><span class="w"> </span><span class="c1">#this might contain subfolders lab, lair, and other</span>
4415
+ <a id="__codelineno-6-4" name="__codelineno-6-4" href="#__codelineno-6-4"></a><span class="w"> </span><span class="nt">:include</span><span class="p">:</span>
4416
+ <a id="__codelineno-6-5" name="__codelineno-6-5" href="#__codelineno-6-5"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">inc/**</span><span class="w"> </span><span class="c1">#again, this might contain subfolders lab, lair, other, and shared</span>
4417
+ <a id="__codelineno-6-6" name="__codelineno-6-6" href="#__codelineno-6-6"></a><span class="w"> </span><span class="nt">:test</span><span class="p">:</span>
4418
+ <a id="__codelineno-6-7" name="__codelineno-6-7" href="#__codelineno-6-7"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">test</span>
4419
+ </code></pre></div>
4420
+ <p>Then, use the following command:</p>
4421
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-7-1" name="__codelineno-7-1" href="#__codelineno-7-1"></a>ceedling<span class="w"> </span>module:create<span class="o">[</span>newlab/SecretLair<span class="o">]</span>
4422
+ </code></pre></div>
4423
+ <p>This will create the following 3 files:</p>
4424
+ <ul>
4425
+ <li><code>src/newlab/SecretLair.c</code></li>
4426
+ <li><code>inc/newlab/SecretLair.h</code></li>
4427
+ <li><code>test/newlab/TestSecretLair.c</code></li>
4428
+ </ul>
4429
+ <p>Technically, you can start with a colon and specify part of a path, then use a slash
4430
+ to specify the remainder of the path to use. In most circumstances, this should work... however
4431
+ it suffers from the same potential issues as the matcher above, with the added joy of creating
4432
+ new subdirectories for you without asking. </p>
4433
+ <p>It's important to note the module generator doesn't care if these new subdirectories are covered
4434
+ by the current path specification. This allows you to create the files before updating the
4435
+ <code>project.yml</code> file if desired, but it also means you might accidentally think you've created
4436
+ a file that Ceedling can see, when it can't. </p>
4437
+ <h2 id="stubbing">Stubbing</h2>
4438
+ <p>Similarly, you can create stubs for all functions in a header file just by making a single call
4439
+ to your handy <code>stub</code> feature, like this:</p>
4440
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-8-1" name="__codelineno-8-1" href="#__codelineno-8-1"></a>ceedling<span class="w"> </span>module:stub<span class="o">[</span>SecretLair<span class="o">]</span>
4441
+ </code></pre></div>
4442
+ <p>This call will look in <code>SecretLair.h</code> and will generate a file <code>SecretLair.c</code> that contains a stub
4443
+ for each function declared in the header! Even better, if <code>SecretLair.c</code> already exists, it will
4444
+ add only new functions, leaving your existing calls alone so that it doesn't cause any problems.</p>
4445
+ <h2 id="configuration">Configuration</h2>
4446
+ <p>Enable the plugin in your project.yml by adding <code>module_generator</code>
4447
+ to the list of enabled plugins.</p>
4448
+ <p>Then, like much of Ceedling, you can just run as-is with the defaults, or you can override those
4449
+ defaults for your own needs. For example, new source and header files will be automatically
4450
+ placed in the <code>src/</code> folder while tests will go in the <code>test/</code> folder. That's great if your project
4451
+ follows the default ceedling structure... but what if you have a different structure?</p>
4452
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-9-1" name="__codelineno-9-1" href="#__codelineno-9-1"></a><span class="nt">:module_generator</span><span class="p">:</span>
4453
+ <a id="__codelineno-9-2" name="__codelineno-9-2" href="#__codelineno-9-2"></a><span class="w"> </span><span class="nt">:naming</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">:bumpy</span>
4454
+ <a id="__codelineno-9-3" name="__codelineno-9-3" href="#__codelineno-9-3"></a><span class="w"> </span><span class="nt">:includes</span><span class="p">:</span><span class="w"> </span>
4455
+ <a id="__codelineno-9-4" name="__codelineno-9-4" href="#__codelineno-9-4"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">:src</span><span class="p">:</span><span class="w"> </span><span class="p p-Indicator">[]</span>
4456
+ <a id="__codelineno-9-5" name="__codelineno-9-5" href="#__codelineno-9-5"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">:inc</span><span class="p">:</span><span class="w"> </span><span class="p p-Indicator">[]</span>
4457
+ <a id="__codelineno-9-6" name="__codelineno-9-6" href="#__codelineno-9-6"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">:tst</span><span class="p">:</span><span class="w"> </span><span class="p p-Indicator">[]</span>
4458
+ <a id="__codelineno-9-7" name="__codelineno-9-7" href="#__codelineno-9-7"></a><span class="w"> </span><span class="nt">:boilerplates</span><span class="p">:</span>
4459
+ <a id="__codelineno-9-8" name="__codelineno-9-8" href="#__codelineno-9-8"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">:src</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;&quot;</span>
4460
+ <a id="__codelineno-9-9" name="__codelineno-9-9" href="#__codelineno-9-9"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">:inc</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;&quot;</span>
4461
+ <a id="__codelineno-9-10" name="__codelineno-9-10" href="#__codelineno-9-10"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">:tst</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;&quot;</span>
4462
+ </code></pre></div>
4463
+ <p>Now I've redirected the location where modules are going to be generated.</p>
4464
+ <h3 id="includes">Includes</h3>
4465
+ <p>You can make it so that all of your files are generated with a standard include list. This is done
4466
+ by adding to the <code>:includes</code> array. For example:</p>
4467
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-10-1" name="__codelineno-10-1" href="#__codelineno-10-1"></a><span class="nt">:module_generator</span><span class="p">:</span>
4468
+ <a id="__codelineno-10-2" name="__codelineno-10-2" href="#__codelineno-10-2"></a><span class="w"> </span><span class="nt">:includes</span><span class="p">:</span>
4469
+ <a id="__codelineno-10-3" name="__codelineno-10-3" href="#__codelineno-10-3"></a><span class="w"> </span><span class="nt">:tst</span><span class="p">:</span>
4470
+ <a id="__codelineno-10-4" name="__codelineno-10-4" href="#__codelineno-10-4"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">defs.h</span>
4471
+ <a id="__codelineno-10-5" name="__codelineno-10-5" href="#__codelineno-10-5"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">board.h</span>
4472
+ <a id="__codelineno-10-6" name="__codelineno-10-6" href="#__codelineno-10-6"></a><span class="w"> </span><span class="nt">:src</span><span class="p">:</span>
4473
+ <a id="__codelineno-10-7" name="__codelineno-10-7" href="#__codelineno-10-7"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">board.h</span>
4474
+ </code></pre></div>
4475
+ <h3 id="boilerplates">Boilerplates</h3>
4476
+ <p>You can specify the actual boilerplate used for each of your files. This is the handy place to
4477
+ put that corporate copyright notice (or maybe a copyleft notice, if that's your preference?)</p>
4478
+ <p>Notice there is a separate template for source files, include files, and test files. Also,
4479
+ your boilerplates can optionally contain <code>%1$s</code> which will inject the filename into that spot.</p>
4480
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-11-1" name="__codelineno-11-1" href="#__codelineno-11-1"></a><span class="nt">:module_generator</span><span class="p">:</span>
4481
+ <a id="__codelineno-11-2" name="__codelineno-11-2" href="#__codelineno-11-2"></a><span class="w"> </span><span class="nt">:boilerplates</span><span class="p">:</span><span class="w"> </span>
4482
+ <a id="__codelineno-11-3" name="__codelineno-11-3" href="#__codelineno-11-3"></a><span class="w"> </span><span class="nt">:src</span><span class="p">:</span><span class="w"> </span><span class="p p-Indicator">|</span>
4483
+ <a id="__codelineno-11-4" name="__codelineno-11-4" href="#__codelineno-11-4"></a><span class="w"> </span><span class="no">/***************************</span>
4484
+ <a id="__codelineno-11-5" name="__codelineno-11-5" href="#__codelineno-11-5"></a><span class="w"> </span><span class="no">* %1$s</span>
4485
+ <a id="__codelineno-11-6" name="__codelineno-11-6" href="#__codelineno-11-6"></a><span class="w"> </span><span class="no">* This file is Awesome.</span>
4486
+ <a id="__codelineno-11-7" name="__codelineno-11-7" href="#__codelineno-11-7"></a><span class="w"> </span><span class="no">* That is All.</span>
4487
+ <a id="__codelineno-11-8" name="__codelineno-11-8" href="#__codelineno-11-8"></a><span class="w"> </span><span class="no">***************************/</span>
4488
+ <a id="__codelineno-11-9" name="__codelineno-11-9" href="#__codelineno-11-9"></a><span class="w"> </span><span class="nt">:inc</span><span class="p">:</span><span class="w"> </span><span class="p p-Indicator">|</span>
4489
+ <a id="__codelineno-11-10" name="__codelineno-11-10" href="#__codelineno-11-10"></a><span class="w"> </span><span class="no">/***************************</span>
4490
+ <a id="__codelineno-11-11" name="__codelineno-11-11" href="#__codelineno-11-11"></a><span class="w"> </span><span class="no">* Header. Woo. *</span>
4491
+ <a id="__codelineno-11-12" name="__codelineno-11-12" href="#__codelineno-11-12"></a><span class="w"> </span><span class="no">***************************/</span>
4492
+ <a id="__codelineno-11-13" name="__codelineno-11-13" href="#__codelineno-11-13"></a><span class="w"> </span><span class="nt">:tst</span><span class="p">:</span><span class="w"> </span><span class="p p-Indicator">|</span>
4493
+ <a id="__codelineno-11-14" name="__codelineno-11-14" href="#__codelineno-11-14"></a><span class="w"> </span><span class="no">/***************************</span>
4494
+ <a id="__codelineno-11-15" name="__codelineno-11-15" href="#__codelineno-11-15"></a><span class="w"> </span><span class="no">* My Awesome Test For %1$s</span>
4495
+ <a id="__codelineno-11-16" name="__codelineno-11-16" href="#__codelineno-11-16"></a><span class="w"> </span><span class="no">***************************/</span>
4496
+ </code></pre></div>
4497
+ <h3 id="test-defines">Test Defines</h3>
4498
+ <p>You can specify the "#ifdef TEST" at the top of the test files with a custom define.
4499
+ This example will put a "#ifdef CEEDLING_TEST" at the top of the test files. </p>
4500
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-12-1" name="__codelineno-12-1" href="#__codelineno-12-1"></a><span class="nt">:module_generator</span><span class="p">:</span>
4501
+ <a id="__codelineno-12-2" name="__codelineno-12-2" href="#__codelineno-12-2"></a><span class="w"> </span><span class="nt">:test_define</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">CEEDLING_TEST</span>
4502
+ </code></pre></div>
4503
+ <h3 id="naming-convention">Naming Convention</h3>
4504
+ <p>Finally, you can force a particular naming convention. Even if someone calls the generator
4505
+ with something like <code>MyNewModule</code>, if they have the naming convention set to <code>:caps</code>, it will
4506
+ generate files like <code>MY_NEW_MODULE.c</code>. This keeps everyone on your team behaving the same way.</p>
4507
+ <p>Your options for <code>:naming:</code> are as follows:</p>
4508
+ <div class="highlight"><pre><span></span><code>- `:bumpy` - BumpyFilesLooksLikeSo
4509
+ - `:camel` - camelFilesAreSimilarButStartLow
4510
+ - `:snake` - snake_case_is_all_lower_and_uses_underscores
4511
+ - `:caps` - CAPS_FEELS_LIKE_YOU_ARE_SCREAMING
4512
+ </code></pre></div>
4513
+ <p><br/><br/></p>
4514
+
4515
+
4516
+
4517
+
4518
+
4519
+
4520
+
4521
+
4522
+
4523
+
4524
+
4525
+
4526
+
4527
+ </article>
4528
+ </div>
4529
+
4530
+
4531
+ <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
4532
+ </div>
4533
+
4534
+ <button type="button" class="md-top md-icon" data-md-component="top" hidden>
4535
+
4536
+ <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>
4537
+ Back to top
4538
+ </button>
4539
+
4540
+ </main>
4541
+
4542
+ <footer class="md-footer">
4543
+
4544
+ <div class="md-footer-meta md-typeset">
4545
+ <div class="md-footer-meta__inner md-grid">
4546
+ <div class="md-copyright">
4547
+
4548
+ <div class="md-copyright__highlight">
4549
+ &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>
4550
+ </div>
4551
+
4552
+
4553
+ </div>
4554
+
4555
+
4556
+ <div class="md-social">
4557
+
4558
+
4559
+
4560
+
4561
+
4562
+ <a href="https://github.com/sponsors/ThrowTheSwitch" target="_blank" rel="noopener" title="Sponsor ThrowTheSwitch on GitHub" class="md-social__link">
4563
+ <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>
4564
+ </a>
4565
+
4566
+ </div>
4567
+
4568
+ </div>
4569
+ </div>
4570
+ </footer>
4571
+
4572
+ </div>
4573
+ <div class="md-dialog" data-md-component="dialog">
4574
+ <div class="md-dialog__inner md-typeset"></div>
4575
+ </div>
4576
+
4577
+
4578
+
4579
+
4580
+
4581
+ <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>
4582
+
4583
+
4584
+ <script src="../assets/javascripts/bundle.79ae519e.min.js"></script>
4585
+
4586
+
4587
+ </body>
4588
+ </html>