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,4714 @@
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="release-build.html">
15
+
16
+
17
+ <link rel="next" href="files.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>Search Paths - 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="#paths" 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
+ Search Paths
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
+
267
+
268
+ <li class="md-tabs__item md-tabs__item--active">
269
+ <a href="../index.html" class="md-tabs__link">
270
+
271
+
272
+
273
+
274
+
275
+ Configuration
276
+
277
+ </a>
278
+ </li>
279
+
280
+
281
+
282
+
283
+
284
+
285
+
286
+
287
+
288
+
289
+
290
+ <li class="md-tabs__item">
291
+ <a href="../../plugins/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
+
1507
+
1508
+
1509
+
1510
+
1511
+ <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested">
1512
+
1513
+
1514
+
1515
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5" checked>
1516
+
1517
+
1518
+ <div class="md-nav__link md-nav__container">
1519
+ <a href="../index.html" class="md-nav__link ">
1520
+
1521
+
1522
+
1523
+ <span class="md-ellipsis">
1524
+
1525
+
1526
+ Configuration
1527
+
1528
+
1529
+
1530
+ </span>
1531
+
1532
+
1533
+
1534
+ </a>
1535
+
1536
+
1537
+ <label class="md-nav__link " for="__nav_5" id="__nav_5_label" tabindex="">
1538
+ <span class="md-nav__icon md-icon"></span>
1539
+ </label>
1540
+
1541
+ </div>
1542
+
1543
+ <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="true">
1544
+ <label class="md-nav__title" for="__nav_5">
1545
+ <span class="md-nav__icon md-icon"></span>
1546
+
1547
+
1548
+ Configuration
1549
+
1550
+
1551
+ </label>
1552
+ <ul class="md-nav__list" data-md-scrollfix>
1553
+
1554
+
1555
+
1556
+
1557
+
1558
+
1559
+
1560
+
1561
+
1562
+ <li class="md-nav__item">
1563
+ <a href="../loading.html" class="md-nav__link">
1564
+
1565
+
1566
+
1567
+ <span class="md-ellipsis">
1568
+
1569
+
1570
+ Loading Configuration
1571
+
1572
+
1573
+
1574
+ </span>
1575
+
1576
+
1577
+
1578
+ </a>
1579
+ </li>
1580
+
1581
+
1582
+
1583
+
1584
+
1585
+
1586
+
1587
+
1588
+
1589
+
1590
+ <li class="md-nav__item">
1591
+ <a href="../mixins.html" class="md-nav__link">
1592
+
1593
+
1594
+
1595
+ <span class="md-ellipsis">
1596
+
1597
+
1598
+ Mixins
1599
+
1600
+
1601
+
1602
+ </span>
1603
+
1604
+
1605
+
1606
+ </a>
1607
+ </li>
1608
+
1609
+
1610
+
1611
+
1612
+
1613
+
1614
+
1615
+
1616
+
1617
+
1618
+ <li class="md-nav__item">
1619
+ <a href="../project-file.html" class="md-nav__link">
1620
+
1621
+
1622
+
1623
+ <span class="md-ellipsis">
1624
+
1625
+
1626
+ Project File Basics
1627
+
1628
+
1629
+
1630
+ </span>
1631
+
1632
+
1633
+
1634
+ </a>
1635
+ </li>
1636
+
1637
+
1638
+
1639
+
1640
+
1641
+
1642
+
1643
+
1644
+
1645
+
1646
+ <li class="md-nav__item">
1647
+ <a href="../parallel-builds.html" class="md-nav__link">
1648
+
1649
+
1650
+
1651
+ <span class="md-ellipsis">
1652
+
1653
+
1654
+ Parallel Builds
1655
+
1656
+
1657
+
1658
+ </span>
1659
+
1660
+
1661
+
1662
+ </a>
1663
+ </li>
1664
+
1665
+
1666
+
1667
+
1668
+
1669
+
1670
+
1671
+
1672
+
1673
+
1674
+ <li class="md-nav__item">
1675
+ <a href="../environment-vars.html" class="md-nav__link">
1676
+
1677
+
1678
+
1679
+ <span class="md-ellipsis">
1680
+
1681
+
1682
+ Environment Variables
1683
+
1684
+
1685
+
1686
+ </span>
1687
+
1688
+
1689
+
1690
+ </a>
1691
+ </li>
1692
+
1693
+
1694
+
1695
+
1696
+
1697
+
1698
+
1699
+
1700
+
1701
+
1702
+ <li class="md-nav__item">
1703
+ <a href="../which-ceedling.html" class="md-nav__link">
1704
+
1705
+
1706
+
1707
+ <span class="md-ellipsis">
1708
+
1709
+
1710
+ Which Ceedling
1711
+
1712
+
1713
+
1714
+ </span>
1715
+
1716
+
1717
+
1718
+ </a>
1719
+ </li>
1720
+
1721
+
1722
+
1723
+
1724
+
1725
+
1726
+
1727
+
1728
+
1729
+
1730
+ <li class="md-nav__item">
1731
+ <a href="../global-collections.html" class="md-nav__link">
1732
+
1733
+
1734
+
1735
+ <span class="md-ellipsis">
1736
+
1737
+
1738
+ Global Collections
1739
+
1740
+
1741
+
1742
+ </span>
1743
+
1744
+
1745
+
1746
+ </a>
1747
+ </li>
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
+
1804
+
1805
+
1806
+
1807
+
1808
+
1809
+
1810
+
1811
+
1812
+
1813
+ <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested">
1814
+
1815
+
1816
+
1817
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5_9" checked>
1818
+
1819
+
1820
+ <div class="md-nav__link md-nav__container">
1821
+ <a href="index.html" class="md-nav__link ">
1822
+
1823
+
1824
+
1825
+ <span class="md-ellipsis">
1826
+
1827
+
1828
+ Configuration Reference
1829
+
1830
+
1831
+
1832
+ </span>
1833
+
1834
+
1835
+
1836
+ </a>
1837
+
1838
+
1839
+ <label class="md-nav__link " for="__nav_5_9" id="__nav_5_9_label" tabindex="">
1840
+ <span class="md-nav__icon md-icon"></span>
1841
+ </label>
1842
+
1843
+ </div>
1844
+
1845
+ <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_5_9_label" aria-expanded="true">
1846
+ <label class="md-nav__title" for="__nav_5_9">
1847
+ <span class="md-nav__icon md-icon"></span>
1848
+
1849
+
1850
+ Configuration Reference
1851
+
1852
+
1853
+ </label>
1854
+ <ul class="md-nav__list" data-md-scrollfix>
1855
+
1856
+
1857
+
1858
+
1859
+
1860
+
1861
+
1862
+
1863
+
1864
+ <li class="md-nav__item">
1865
+ <a href="project.html" class="md-nav__link">
1866
+
1867
+
1868
+
1869
+ <span class="md-ellipsis">
1870
+
1871
+
1872
+ Global Project Settings
1873
+
1874
+
1875
+
1876
+ </span>
1877
+
1878
+
1879
+
1880
+ </a>
1881
+ </li>
1882
+
1883
+
1884
+
1885
+
1886
+
1887
+
1888
+
1889
+
1890
+
1891
+
1892
+ <li class="md-nav__item">
1893
+ <a href="mixins.html" class="md-nav__link">
1894
+
1895
+
1896
+
1897
+ <span class="md-ellipsis">
1898
+
1899
+
1900
+ Mixins
1901
+
1902
+
1903
+
1904
+ </span>
1905
+
1906
+
1907
+
1908
+ </a>
1909
+ </li>
1910
+
1911
+
1912
+
1913
+
1914
+
1915
+
1916
+
1917
+
1918
+
1919
+
1920
+ <li class="md-nav__item">
1921
+ <a href="test-build.html" class="md-nav__link">
1922
+
1923
+
1924
+
1925
+ <span class="md-ellipsis">
1926
+
1927
+
1928
+ Test Build Settings
1929
+
1930
+
1931
+
1932
+ </span>
1933
+
1934
+
1935
+
1936
+ </a>
1937
+ </li>
1938
+
1939
+
1940
+
1941
+
1942
+
1943
+
1944
+
1945
+
1946
+
1947
+
1948
+ <li class="md-nav__item">
1949
+ <a href="release-build.html" class="md-nav__link">
1950
+
1951
+
1952
+
1953
+ <span class="md-ellipsis">
1954
+
1955
+
1956
+ Release Build Settings
1957
+
1958
+
1959
+
1960
+ </span>
1961
+
1962
+
1963
+
1964
+ </a>
1965
+ </li>
1966
+
1967
+
1968
+
1969
+
1970
+
1971
+
1972
+
1973
+
1974
+
1975
+
1976
+
1977
+
1978
+ <li class="md-nav__item md-nav__item--active">
1979
+
1980
+ <input class="md-nav__toggle md-toggle" type="checkbox" id="__toc">
1981
+
1982
+
1983
+
1984
+
1985
+
1986
+ <label class="md-nav__link md-nav__link--active" for="__toc">
1987
+
1988
+
1989
+
1990
+ <span class="md-ellipsis">
1991
+
1992
+
1993
+ Search Paths
1994
+
1995
+
1996
+
1997
+ </span>
1998
+
1999
+
2000
+
2001
+ <span class="md-nav__icon md-icon"></span>
2002
+ </label>
2003
+
2004
+ <a href="paths.html" class="md-nav__link md-nav__link--active">
2005
+
2006
+
2007
+
2008
+ <span class="md-ellipsis">
2009
+
2010
+
2011
+ Search Paths
2012
+
2013
+
2014
+
2015
+ </span>
2016
+
2017
+
2018
+
2019
+ </a>
2020
+
2021
+
2022
+
2023
+ <nav class="md-nav md-nav--secondary" aria-label="Table of contents">
2024
+
2025
+
2026
+
2027
+
2028
+
2029
+
2030
+ <label class="md-nav__title" for="__toc">
2031
+ <span class="md-nav__icon md-icon"></span>
2032
+ Table of contents
2033
+ </label>
2034
+ <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
2035
+
2036
+ <li class="md-nav__item">
2037
+ <a href="#example-paths-yaml" class="md-nav__link">
2038
+ <span class="md-ellipsis">
2039
+
2040
+ Example :paths YAML
2041
+
2042
+ </span>
2043
+ </a>
2044
+
2045
+ <nav class="md-nav" aria-label="Example :paths YAML">
2046
+ <ul class="md-nav__list">
2047
+
2048
+ <li class="md-nav__item">
2049
+ <a href="#simple-entries" class="md-nav__link">
2050
+ <span class="md-ellipsis">
2051
+
2052
+ Simple entries
2053
+
2054
+ </span>
2055
+ </a>
2056
+
2057
+ </li>
2058
+
2059
+ <li class="md-nav__item">
2060
+ <a href="#common-globs-with-subtractive-entries" class="md-nav__link">
2061
+ <span class="md-ellipsis">
2062
+
2063
+ Common globs with subtractive entries
2064
+
2065
+ </span>
2066
+ </a>
2067
+
2068
+ </li>
2069
+
2070
+ <li class="md-nav__item">
2071
+ <a href="#advanced-entries-with-globs-and-string-expansion" class="md-nav__link">
2072
+ <span class="md-ellipsis">
2073
+
2074
+ Advanced entries with globs and string expansion
2075
+
2076
+ </span>
2077
+ </a>
2078
+
2079
+ </li>
2080
+
2081
+ </ul>
2082
+ </nav>
2083
+
2084
+ </li>
2085
+
2086
+ <li class="md-nav__item">
2087
+ <a href="#paths-test" class="md-nav__link">
2088
+ <span class="md-ellipsis">
2089
+
2090
+ :paths ↳ :test
2091
+
2092
+ </span>
2093
+ </a>
2094
+
2095
+ </li>
2096
+
2097
+ <li class="md-nav__item">
2098
+ <a href="#paths-source" class="md-nav__link">
2099
+ <span class="md-ellipsis">
2100
+
2101
+ :paths ↳ :source
2102
+
2103
+ </span>
2104
+ </a>
2105
+
2106
+ </li>
2107
+
2108
+ <li class="md-nav__item">
2109
+ <a href="#paths-support" class="md-nav__link">
2110
+ <span class="md-ellipsis">
2111
+
2112
+ :paths ↳ :support
2113
+
2114
+ </span>
2115
+ </a>
2116
+
2117
+ </li>
2118
+
2119
+ <li class="md-nav__item">
2120
+ <a href="#paths-include" class="md-nav__link">
2121
+ <span class="md-ellipsis">
2122
+
2123
+ :paths ↳ :include
2124
+
2125
+ </span>
2126
+ </a>
2127
+
2128
+ </li>
2129
+
2130
+ <li class="md-nav__item">
2131
+ <a href="#paths-test_toolchain_include" class="md-nav__link">
2132
+ <span class="md-ellipsis">
2133
+
2134
+ :paths ↳ :test_toolchain_include
2135
+
2136
+ </span>
2137
+ </a>
2138
+
2139
+ </li>
2140
+
2141
+ <li class="md-nav__item">
2142
+ <a href="#paths-release_toolchain_include" class="md-nav__link">
2143
+ <span class="md-ellipsis">
2144
+
2145
+ :paths ↳ :release_toolchain_include
2146
+
2147
+ </span>
2148
+ </a>
2149
+
2150
+ </li>
2151
+
2152
+ <li class="md-nav__item">
2153
+ <a href="#paths-libraries" class="md-nav__link">
2154
+ <span class="md-ellipsis">
2155
+
2156
+ :paths ↳ :libraries
2157
+
2158
+ </span>
2159
+ </a>
2160
+
2161
+ </li>
2162
+
2163
+ <li class="md-nav__item">
2164
+ <a href="#paths-custom" class="md-nav__link">
2165
+ <span class="md-ellipsis">
2166
+
2167
+ :paths ↳ :&lt;custom&gt;
2168
+
2169
+ </span>
2170
+ </a>
2171
+
2172
+ </li>
2173
+
2174
+ <li class="md-nav__item">
2175
+ <a href="#paths-configuration-options-notes" class="md-nav__link">
2176
+ <span class="md-ellipsis">
2177
+
2178
+ :paths configuration options &amp; notes
2179
+
2180
+ </span>
2181
+ </a>
2182
+
2183
+ </li>
2184
+
2185
+ <li class="md-nav__item">
2186
+ <a href="#paths-globs" class="md-nav__link">
2187
+ <span class="md-ellipsis">
2188
+
2189
+ :paths Globs
2190
+
2191
+ </span>
2192
+ </a>
2193
+
2194
+ </li>
2195
+
2196
+ <li class="md-nav__item">
2197
+ <a href="#subtractive-entries" class="md-nav__link">
2198
+ <span class="md-ellipsis">
2199
+
2200
+ Subtractive entries
2201
+
2202
+ </span>
2203
+ </a>
2204
+
2205
+ </li>
2206
+
2207
+ </ul>
2208
+
2209
+ </nav>
2210
+
2211
+ </li>
2212
+
2213
+
2214
+
2215
+
2216
+
2217
+
2218
+
2219
+
2220
+
2221
+
2222
+ <li class="md-nav__item">
2223
+ <a href="files.html" class="md-nav__link">
2224
+
2225
+
2226
+
2227
+ <span class="md-ellipsis">
2228
+
2229
+
2230
+ File Collections
2231
+
2232
+
2233
+
2234
+ </span>
2235
+
2236
+
2237
+
2238
+ </a>
2239
+ </li>
2240
+
2241
+
2242
+
2243
+
2244
+
2245
+
2246
+
2247
+
2248
+
2249
+
2250
+ <li class="md-nav__item">
2251
+ <a href="environment.html" class="md-nav__link">
2252
+
2253
+
2254
+
2255
+ <span class="md-ellipsis">
2256
+
2257
+
2258
+ Environment Variables
2259
+
2260
+
2261
+
2262
+ </span>
2263
+
2264
+
2265
+
2266
+ </a>
2267
+ </li>
2268
+
2269
+
2270
+
2271
+
2272
+
2273
+
2274
+
2275
+
2276
+
2277
+
2278
+ <li class="md-nav__item">
2279
+ <a href="extension.html" class="md-nav__link">
2280
+
2281
+
2282
+
2283
+ <span class="md-ellipsis">
2284
+
2285
+
2286
+ File Extensions
2287
+
2288
+
2289
+
2290
+ </span>
2291
+
2292
+
2293
+
2294
+ </a>
2295
+ </li>
2296
+
2297
+
2298
+
2299
+
2300
+
2301
+
2302
+
2303
+
2304
+
2305
+
2306
+ <li class="md-nav__item">
2307
+ <a href="defines.html" class="md-nav__link">
2308
+
2309
+
2310
+
2311
+ <span class="md-ellipsis">
2312
+
2313
+
2314
+ Defines
2315
+
2316
+
2317
+
2318
+ </span>
2319
+
2320
+
2321
+
2322
+ </a>
2323
+ </li>
2324
+
2325
+
2326
+
2327
+
2328
+
2329
+
2330
+
2331
+
2332
+
2333
+
2334
+ <li class="md-nav__item">
2335
+ <a href="flags.html" class="md-nav__link">
2336
+
2337
+
2338
+
2339
+ <span class="md-ellipsis">
2340
+
2341
+
2342
+ Compilation & Link Flags
2343
+
2344
+
2345
+
2346
+ </span>
2347
+
2348
+
2349
+
2350
+ </a>
2351
+ </li>
2352
+
2353
+
2354
+
2355
+
2356
+
2357
+
2358
+
2359
+
2360
+
2361
+
2362
+ <li class="md-nav__item">
2363
+ <a href="libraries.html" class="md-nav__link">
2364
+
2365
+
2366
+
2367
+ <span class="md-ellipsis">
2368
+
2369
+
2370
+ Libraries
2371
+
2372
+
2373
+
2374
+ </span>
2375
+
2376
+
2377
+
2378
+ </a>
2379
+ </li>
2380
+
2381
+
2382
+
2383
+
2384
+
2385
+
2386
+
2387
+
2388
+
2389
+
2390
+ <li class="md-nav__item">
2391
+ <a href="unity.html" class="md-nav__link">
2392
+
2393
+
2394
+
2395
+ <span class="md-ellipsis">
2396
+
2397
+
2398
+ Unity
2399
+
2400
+
2401
+
2402
+ </span>
2403
+
2404
+
2405
+
2406
+ </a>
2407
+ </li>
2408
+
2409
+
2410
+
2411
+
2412
+
2413
+
2414
+
2415
+
2416
+
2417
+
2418
+ <li class="md-nav__item">
2419
+ <a href="cmock.html" class="md-nav__link">
2420
+
2421
+
2422
+
2423
+ <span class="md-ellipsis">
2424
+
2425
+
2426
+ CMock
2427
+
2428
+
2429
+
2430
+ </span>
2431
+
2432
+
2433
+
2434
+ </a>
2435
+ </li>
2436
+
2437
+
2438
+
2439
+
2440
+
2441
+
2442
+
2443
+
2444
+
2445
+
2446
+ <li class="md-nav__item">
2447
+ <a href="test-runner.html" class="md-nav__link">
2448
+
2449
+
2450
+
2451
+ <span class="md-ellipsis">
2452
+
2453
+
2454
+ Test Runner
2455
+
2456
+
2457
+
2458
+ </span>
2459
+
2460
+
2461
+
2462
+ </a>
2463
+ </li>
2464
+
2465
+
2466
+
2467
+
2468
+
2469
+
2470
+
2471
+
2472
+
2473
+
2474
+ <li class="md-nav__item">
2475
+ <a href="cexception.html" class="md-nav__link">
2476
+
2477
+
2478
+
2479
+ <span class="md-ellipsis">
2480
+
2481
+
2482
+ CException
2483
+
2484
+
2485
+
2486
+ </span>
2487
+
2488
+
2489
+
2490
+ </a>
2491
+ </li>
2492
+
2493
+
2494
+
2495
+
2496
+
2497
+
2498
+
2499
+
2500
+
2501
+
2502
+ <li class="md-nav__item">
2503
+ <a href="plugins.html" class="md-nav__link">
2504
+
2505
+
2506
+
2507
+ <span class="md-ellipsis">
2508
+
2509
+
2510
+ Plugins
2511
+
2512
+
2513
+
2514
+ </span>
2515
+
2516
+
2517
+
2518
+ </a>
2519
+ </li>
2520
+
2521
+
2522
+
2523
+
2524
+
2525
+
2526
+
2527
+
2528
+
2529
+
2530
+ <li class="md-nav__item">
2531
+ <a href="tools.html" class="md-nav__link">
2532
+
2533
+
2534
+
2535
+ <span class="md-ellipsis">
2536
+
2537
+
2538
+ Tools
2539
+
2540
+
2541
+
2542
+ </span>
2543
+
2544
+
2545
+
2546
+ </a>
2547
+ </li>
2548
+
2549
+
2550
+
2551
+
2552
+ </ul>
2553
+ </nav>
2554
+
2555
+ </li>
2556
+
2557
+
2558
+
2559
+
2560
+ </ul>
2561
+ </nav>
2562
+
2563
+ </li>
2564
+
2565
+
2566
+
2567
+
2568
+
2569
+
2570
+
2571
+
2572
+
2573
+
2574
+
2575
+
2576
+
2577
+
2578
+
2579
+
2580
+
2581
+
2582
+
2583
+
2584
+
2585
+
2586
+
2587
+
2588
+
2589
+
2590
+
2591
+
2592
+
2593
+
2594
+
2595
+
2596
+
2597
+
2598
+
2599
+
2600
+
2601
+
2602
+
2603
+
2604
+
2605
+
2606
+
2607
+
2608
+
2609
+
2610
+
2611
+
2612
+
2613
+
2614
+
2615
+
2616
+
2617
+
2618
+
2619
+
2620
+
2621
+
2622
+
2623
+ <li class="md-nav__item md-nav__item--nested">
2624
+
2625
+
2626
+
2627
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6" >
2628
+
2629
+
2630
+ <div class="md-nav__link md-nav__container">
2631
+ <a href="../../plugins/index.html" class="md-nav__link ">
2632
+
2633
+
2634
+
2635
+ <span class="md-ellipsis">
2636
+
2637
+
2638
+ Plugins
2639
+
2640
+
2641
+
2642
+ </span>
2643
+
2644
+
2645
+
2646
+ </a>
2647
+
2648
+
2649
+ <label class="md-nav__link " for="__nav_6" id="__nav_6_label" tabindex="0">
2650
+ <span class="md-nav__icon md-icon"></span>
2651
+ </label>
2652
+
2653
+ </div>
2654
+
2655
+ <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_6_label" aria-expanded="false">
2656
+ <label class="md-nav__title" for="__nav_6">
2657
+ <span class="md-nav__icon md-icon"></span>
2658
+
2659
+
2660
+ Plugins
2661
+
2662
+
2663
+ </label>
2664
+ <ul class="md-nav__list" data-md-scrollfix>
2665
+
2666
+
2667
+
2668
+
2669
+
2670
+
2671
+
2672
+
2673
+
2674
+ <li class="md-nav__item">
2675
+ <a href="../../plugins/report-tests-pretty-stdout.html" class="md-nav__link">
2676
+
2677
+
2678
+
2679
+ <span class="md-ellipsis">
2680
+
2681
+
2682
+ Test Report — Pretty
2683
+
2684
+
2685
+
2686
+ </span>
2687
+
2688
+
2689
+
2690
+ </a>
2691
+ </li>
2692
+
2693
+
2694
+
2695
+
2696
+
2697
+
2698
+
2699
+
2700
+
2701
+
2702
+ <li class="md-nav__item">
2703
+ <a href="../../plugins/report-tests-ide-stdout.html" class="md-nav__link">
2704
+
2705
+
2706
+
2707
+ <span class="md-ellipsis">
2708
+
2709
+
2710
+ Test Report — IDE
2711
+
2712
+
2713
+
2714
+ </span>
2715
+
2716
+
2717
+
2718
+ </a>
2719
+ </li>
2720
+
2721
+
2722
+
2723
+
2724
+
2725
+
2726
+
2727
+
2728
+
2729
+
2730
+ <li class="md-nav__item">
2731
+ <a href="../../plugins/report-tests-gtestlike-stdout.html" class="md-nav__link">
2732
+
2733
+
2734
+
2735
+ <span class="md-ellipsis">
2736
+
2737
+
2738
+ Test Report — GTest-like
2739
+
2740
+
2741
+
2742
+ </span>
2743
+
2744
+
2745
+
2746
+ </a>
2747
+ </li>
2748
+
2749
+
2750
+
2751
+
2752
+
2753
+
2754
+
2755
+
2756
+
2757
+
2758
+ <li class="md-nav__item">
2759
+ <a href="../../plugins/report-tests-teamcity-stdout.html" class="md-nav__link">
2760
+
2761
+
2762
+
2763
+ <span class="md-ellipsis">
2764
+
2765
+
2766
+ Test Report — TeamCity
2767
+
2768
+
2769
+
2770
+ </span>
2771
+
2772
+
2773
+
2774
+ </a>
2775
+ </li>
2776
+
2777
+
2778
+
2779
+
2780
+
2781
+
2782
+
2783
+
2784
+
2785
+
2786
+ <li class="md-nav__item">
2787
+ <a href="../../plugins/report-tests-log-factory.html" class="md-nav__link">
2788
+
2789
+
2790
+
2791
+ <span class="md-ellipsis">
2792
+
2793
+
2794
+ Test Report Log Factory
2795
+
2796
+
2797
+
2798
+ </span>
2799
+
2800
+
2801
+
2802
+ </a>
2803
+ </li>
2804
+
2805
+
2806
+
2807
+
2808
+
2809
+
2810
+
2811
+
2812
+
2813
+
2814
+ <li class="md-nav__item">
2815
+ <a href="../../plugins/report-tests-raw-output-log.html" class="md-nav__link">
2816
+
2817
+
2818
+
2819
+ <span class="md-ellipsis">
2820
+
2821
+
2822
+ Test Report — Raw Output
2823
+
2824
+
2825
+
2826
+ </span>
2827
+
2828
+
2829
+
2830
+ </a>
2831
+ </li>
2832
+
2833
+
2834
+
2835
+
2836
+
2837
+
2838
+
2839
+
2840
+
2841
+
2842
+ <li class="md-nav__item">
2843
+ <a href="../../plugins/report-build-warnings-log.html" class="md-nav__link">
2844
+
2845
+
2846
+
2847
+ <span class="md-ellipsis">
2848
+
2849
+
2850
+ Build Warnings Log
2851
+
2852
+
2853
+
2854
+ </span>
2855
+
2856
+
2857
+
2858
+ </a>
2859
+ </li>
2860
+
2861
+
2862
+
2863
+
2864
+
2865
+
2866
+
2867
+
2868
+
2869
+
2870
+
2871
+
2872
+
2873
+
2874
+
2875
+
2876
+
2877
+
2878
+
2879
+
2880
+
2881
+
2882
+
2883
+
2884
+
2885
+
2886
+
2887
+
2888
+
2889
+
2890
+
2891
+
2892
+
2893
+
2894
+
2895
+
2896
+
2897
+
2898
+
2899
+
2900
+
2901
+
2902
+ <li class="md-nav__item md-nav__item--nested">
2903
+
2904
+
2905
+
2906
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6_9" >
2907
+
2908
+
2909
+ <div class="md-nav__link md-nav__container">
2910
+ <a href="../../plugins/gcov/index.html" class="md-nav__link ">
2911
+
2912
+
2913
+
2914
+ <span class="md-ellipsis">
2915
+
2916
+
2917
+ GCov (Coverage)
2918
+
2919
+
2920
+
2921
+ </span>
2922
+
2923
+
2924
+
2925
+ </a>
2926
+
2927
+
2928
+ <label class="md-nav__link " for="__nav_6_9" id="__nav_6_9_label" tabindex="0">
2929
+ <span class="md-nav__icon md-icon"></span>
2930
+ </label>
2931
+
2932
+ </div>
2933
+
2934
+ <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_6_9_label" aria-expanded="false">
2935
+ <label class="md-nav__title" for="__nav_6_9">
2936
+ <span class="md-nav__icon md-icon"></span>
2937
+
2938
+
2939
+ GCov (Coverage)
2940
+
2941
+
2942
+ </label>
2943
+ <ul class="md-nav__list" data-md-scrollfix>
2944
+
2945
+
2946
+
2947
+
2948
+
2949
+
2950
+
2951
+
2952
+
2953
+ <li class="md-nav__item">
2954
+ <a href="../../plugins/gcov/overview.html" class="md-nav__link">
2955
+
2956
+
2957
+
2958
+ <span class="md-ellipsis">
2959
+
2960
+
2961
+ Overview
2962
+
2963
+
2964
+
2965
+ </span>
2966
+
2967
+
2968
+
2969
+ </a>
2970
+ </li>
2971
+
2972
+
2973
+
2974
+
2975
+
2976
+
2977
+
2978
+
2979
+
2980
+
2981
+ <li class="md-nav__item">
2982
+ <a href="../../plugins/gcov/tool-versions.html" class="md-nav__link">
2983
+
2984
+
2985
+
2986
+ <span class="md-ellipsis">
2987
+
2988
+
2989
+ Tool Versions
2990
+
2991
+
2992
+
2993
+ </span>
2994
+
2995
+
2996
+
2997
+ </a>
2998
+ </li>
2999
+
3000
+
3001
+
3002
+
3003
+
3004
+
3005
+
3006
+
3007
+
3008
+
3009
+ <li class="md-nav__item">
3010
+ <a href="../../plugins/gcov/setup.html" class="md-nav__link">
3011
+
3012
+
3013
+
3014
+ <span class="md-ellipsis">
3015
+
3016
+
3017
+ Set Up & Configuration
3018
+
3019
+
3020
+
3021
+ </span>
3022
+
3023
+
3024
+
3025
+ </a>
3026
+ </li>
3027
+
3028
+
3029
+
3030
+
3031
+
3032
+
3033
+
3034
+
3035
+
3036
+
3037
+ <li class="md-nav__item">
3038
+ <a href="../../plugins/gcov/examples.html" class="md-nav__link">
3039
+
3040
+
3041
+
3042
+ <span class="md-ellipsis">
3043
+
3044
+
3045
+ Example Usage
3046
+
3047
+
3048
+
3049
+ </span>
3050
+
3051
+
3052
+
3053
+ </a>
3054
+ </li>
3055
+
3056
+
3057
+
3058
+
3059
+
3060
+
3061
+
3062
+
3063
+
3064
+
3065
+ <li class="md-nav__item">
3066
+ <a href="../../plugins/gcov/reporting.html" class="md-nav__link">
3067
+
3068
+
3069
+
3070
+ <span class="md-ellipsis">
3071
+
3072
+
3073
+ Reporting Configuration
3074
+
3075
+
3076
+
3077
+ </span>
3078
+
3079
+
3080
+
3081
+ </a>
3082
+ </li>
3083
+
3084
+
3085
+
3086
+
3087
+
3088
+
3089
+
3090
+
3091
+
3092
+
3093
+ <li class="md-nav__item">
3094
+ <a href="../../plugins/gcov/gcovr.html" class="md-nav__link">
3095
+
3096
+
3097
+
3098
+ <span class="md-ellipsis">
3099
+
3100
+
3101
+ GCovr Configuration
3102
+
3103
+
3104
+
3105
+ </span>
3106
+
3107
+
3108
+
3109
+ </a>
3110
+ </li>
3111
+
3112
+
3113
+
3114
+
3115
+
3116
+
3117
+
3118
+
3119
+
3120
+
3121
+ <li class="md-nav__item">
3122
+ <a href="../../plugins/gcov/reportgenerator.html" class="md-nav__link">
3123
+
3124
+
3125
+
3126
+ <span class="md-ellipsis">
3127
+
3128
+
3129
+ ReportGenerator Configuration
3130
+
3131
+
3132
+
3133
+ </span>
3134
+
3135
+
3136
+
3137
+ </a>
3138
+ </li>
3139
+
3140
+
3141
+
3142
+
3143
+
3144
+
3145
+
3146
+
3147
+
3148
+
3149
+ <li class="md-nav__item">
3150
+ <a href="../../plugins/gcov/troubleshooting.html" class="md-nav__link">
3151
+
3152
+
3153
+
3154
+ <span class="md-ellipsis">
3155
+
3156
+
3157
+ Advanced & Troubleshooting
3158
+
3159
+
3160
+
3161
+ </span>
3162
+
3163
+
3164
+
3165
+ </a>
3166
+ </li>
3167
+
3168
+
3169
+
3170
+
3171
+ </ul>
3172
+ </nav>
3173
+
3174
+ </li>
3175
+
3176
+
3177
+
3178
+
3179
+
3180
+
3181
+
3182
+
3183
+
3184
+
3185
+ <li class="md-nav__item">
3186
+ <a href="../../plugins/cppcheck.html" class="md-nav__link">
3187
+
3188
+
3189
+
3190
+ <span class="md-ellipsis">
3191
+
3192
+
3193
+ Cppcheck (Static Analysis)
3194
+
3195
+
3196
+
3197
+ </span>
3198
+
3199
+
3200
+
3201
+ </a>
3202
+ </li>
3203
+
3204
+
3205
+
3206
+
3207
+
3208
+
3209
+
3210
+
3211
+
3212
+
3213
+ <li class="md-nav__item">
3214
+ <a href="../../plugins/valgrind.html" class="md-nav__link">
3215
+
3216
+
3217
+
3218
+ <span class="md-ellipsis">
3219
+
3220
+
3221
+ Valgrind (Memory Analysis)
3222
+
3223
+
3224
+
3225
+ </span>
3226
+
3227
+
3228
+
3229
+ </a>
3230
+ </li>
3231
+
3232
+
3233
+
3234
+
3235
+
3236
+
3237
+
3238
+
3239
+
3240
+
3241
+ <li class="md-nav__item">
3242
+ <a href="../../plugins/bullseye.html" class="md-nav__link">
3243
+
3244
+
3245
+
3246
+ <span class="md-ellipsis">
3247
+
3248
+
3249
+ Bullseye (Coverage)
3250
+
3251
+
3252
+
3253
+ </span>
3254
+
3255
+
3256
+
3257
+ </a>
3258
+ </li>
3259
+
3260
+
3261
+
3262
+
3263
+
3264
+
3265
+
3266
+
3267
+
3268
+
3269
+ <li class="md-nav__item">
3270
+ <a href="../../plugins/fff.html" class="md-nav__link">
3271
+
3272
+
3273
+
3274
+ <span class="md-ellipsis">
3275
+
3276
+
3277
+ FFF (Fake Functions)
3278
+
3279
+
3280
+
3281
+ </span>
3282
+
3283
+
3284
+
3285
+ </a>
3286
+ </li>
3287
+
3288
+
3289
+
3290
+
3291
+
3292
+
3293
+
3294
+
3295
+
3296
+
3297
+ <li class="md-nav__item">
3298
+ <a href="../../plugins/command-hooks.html" class="md-nav__link">
3299
+
3300
+
3301
+
3302
+ <span class="md-ellipsis">
3303
+
3304
+
3305
+ Command Hooks
3306
+
3307
+
3308
+
3309
+ </span>
3310
+
3311
+
3312
+
3313
+ </a>
3314
+ </li>
3315
+
3316
+
3317
+
3318
+
3319
+
3320
+
3321
+
3322
+
3323
+
3324
+
3325
+ <li class="md-nav__item">
3326
+ <a href="../../plugins/compile-commands-json-db.html" class="md-nav__link">
3327
+
3328
+
3329
+
3330
+ <span class="md-ellipsis">
3331
+
3332
+
3333
+ Compile Commands JSON DB
3334
+
3335
+
3336
+
3337
+ </span>
3338
+
3339
+
3340
+
3341
+ </a>
3342
+ </li>
3343
+
3344
+
3345
+
3346
+
3347
+
3348
+
3349
+
3350
+
3351
+
3352
+
3353
+ <li class="md-nav__item">
3354
+ <a href="../../plugins/beep.html" class="md-nav__link">
3355
+
3356
+
3357
+
3358
+ <span class="md-ellipsis">
3359
+
3360
+
3361
+ Beep
3362
+
3363
+
3364
+
3365
+ </span>
3366
+
3367
+
3368
+
3369
+ </a>
3370
+ </li>
3371
+
3372
+
3373
+
3374
+
3375
+
3376
+
3377
+
3378
+
3379
+
3380
+
3381
+ <li class="md-nav__item">
3382
+ <a href="../../plugins/module-generator.html" class="md-nav__link">
3383
+
3384
+
3385
+
3386
+ <span class="md-ellipsis">
3387
+
3388
+
3389
+ Module Generator
3390
+
3391
+
3392
+
3393
+ </span>
3394
+
3395
+
3396
+
3397
+ </a>
3398
+ </li>
3399
+
3400
+
3401
+
3402
+
3403
+
3404
+
3405
+
3406
+
3407
+
3408
+
3409
+ <li class="md-nav__item">
3410
+ <a href="../../plugins/dependencies.html" class="md-nav__link">
3411
+
3412
+
3413
+
3414
+ <span class="md-ellipsis">
3415
+
3416
+
3417
+ Dependencies
3418
+
3419
+
3420
+
3421
+ </span>
3422
+
3423
+
3424
+
3425
+ </a>
3426
+ </li>
3427
+
3428
+
3429
+
3430
+
3431
+ </ul>
3432
+ </nav>
3433
+
3434
+ </li>
3435
+
3436
+
3437
+
3438
+
3439
+
3440
+
3441
+
3442
+
3443
+
3444
+
3445
+
3446
+
3447
+
3448
+
3449
+
3450
+
3451
+
3452
+
3453
+
3454
+
3455
+
3456
+
3457
+
3458
+
3459
+
3460
+
3461
+
3462
+
3463
+
3464
+
3465
+
3466
+
3467
+
3468
+
3469
+
3470
+
3471
+
3472
+
3473
+
3474
+ <li class="md-nav__item md-nav__item--nested">
3475
+
3476
+
3477
+
3478
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_7" >
3479
+
3480
+
3481
+ <div class="md-nav__link md-nav__container">
3482
+ <a href="../../reference/index.html" class="md-nav__link ">
3483
+
3484
+
3485
+
3486
+ <span class="md-ellipsis">
3487
+
3488
+
3489
+ Reference
3490
+
3491
+
3492
+
3493
+ </span>
3494
+
3495
+
3496
+
3497
+ </a>
3498
+
3499
+
3500
+ <label class="md-nav__link " for="__nav_7" id="__nav_7_label" tabindex="0">
3501
+ <span class="md-nav__icon md-icon"></span>
3502
+ </label>
3503
+
3504
+ </div>
3505
+
3506
+ <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_7_label" aria-expanded="false">
3507
+ <label class="md-nav__title" for="__nav_7">
3508
+ <span class="md-nav__icon md-icon"></span>
3509
+
3510
+
3511
+ Reference
3512
+
3513
+
3514
+ </label>
3515
+ <ul class="md-nav__list" data-md-scrollfix>
3516
+
3517
+
3518
+
3519
+
3520
+
3521
+
3522
+
3523
+
3524
+
3525
+ <li class="md-nav__item">
3526
+ <a href="../../reference/command-line.html" class="md-nav__link">
3527
+
3528
+
3529
+
3530
+ <span class="md-ellipsis">
3531
+
3532
+
3533
+ Command Line
3534
+
3535
+
3536
+
3537
+ </span>
3538
+
3539
+
3540
+
3541
+ </a>
3542
+ </li>
3543
+
3544
+
3545
+
3546
+
3547
+
3548
+
3549
+
3550
+
3551
+
3552
+
3553
+ <li class="md-nav__item">
3554
+ <a href="../../reference/project-configuration.html" class="md-nav__link">
3555
+
3556
+
3557
+
3558
+ <span class="md-ellipsis">
3559
+
3560
+
3561
+ Project Configuration
3562
+
3563
+
3564
+
3565
+ </span>
3566
+
3567
+
3568
+
3569
+ </a>
3570
+ </li>
3571
+
3572
+
3573
+
3574
+
3575
+
3576
+
3577
+
3578
+
3579
+
3580
+
3581
+ <li class="md-nav__item">
3582
+ <a href="../../reference/build-directives.html" class="md-nav__link">
3583
+
3584
+
3585
+
3586
+ <span class="md-ellipsis">
3587
+
3588
+
3589
+ Test Build Directives
3590
+
3591
+
3592
+
3593
+ </span>
3594
+
3595
+
3596
+
3597
+ </a>
3598
+ </li>
3599
+
3600
+
3601
+
3602
+
3603
+
3604
+
3605
+
3606
+
3607
+
3608
+
3609
+ <li class="md-nav__item">
3610
+ <a href="../../reference/partials-macros.html" class="md-nav__link">
3611
+
3612
+
3613
+
3614
+ <span class="md-ellipsis">
3615
+
3616
+
3617
+ Partials Macros
3618
+
3619
+
3620
+
3621
+ </span>
3622
+
3623
+
3624
+
3625
+ </a>
3626
+ </li>
3627
+
3628
+
3629
+
3630
+
3631
+
3632
+
3633
+
3634
+
3635
+
3636
+
3637
+ <li class="md-nav__item">
3638
+ <a href="../../reference/environment-vars.html" class="md-nav__link">
3639
+
3640
+
3641
+
3642
+ <span class="md-ellipsis">
3643
+
3644
+
3645
+ Environment Variables
3646
+
3647
+
3648
+
3649
+ </span>
3650
+
3651
+
3652
+
3653
+ </a>
3654
+ </li>
3655
+
3656
+
3657
+
3658
+
3659
+
3660
+
3661
+
3662
+
3663
+
3664
+
3665
+ <li class="md-nav__item">
3666
+ <a href="../../reference/gcov-plugin.html" class="md-nav__link">
3667
+
3668
+
3669
+
3670
+ <span class="md-ellipsis">
3671
+
3672
+
3673
+ Coverage Reporting
3674
+
3675
+
3676
+
3677
+ </span>
3678
+
3679
+
3680
+
3681
+ </a>
3682
+ </li>
3683
+
3684
+
3685
+
3686
+
3687
+
3688
+
3689
+
3690
+
3691
+
3692
+
3693
+ <li class="md-nav__item">
3694
+ <a href="../../reference/global-collections.html" class="md-nav__link">
3695
+
3696
+
3697
+
3698
+ <span class="md-ellipsis">
3699
+
3700
+
3701
+ Global Collections
3702
+
3703
+
3704
+
3705
+ </span>
3706
+
3707
+
3708
+
3709
+ </a>
3710
+ </li>
3711
+
3712
+
3713
+
3714
+
3715
+ </ul>
3716
+ </nav>
3717
+
3718
+ </li>
3719
+
3720
+
3721
+
3722
+
3723
+
3724
+
3725
+
3726
+
3727
+
3728
+
3729
+
3730
+
3731
+
3732
+
3733
+
3734
+
3735
+
3736
+
3737
+
3738
+
3739
+
3740
+
3741
+
3742
+
3743
+
3744
+ <li class="md-nav__item md-nav__item--nested">
3745
+
3746
+
3747
+
3748
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_8" >
3749
+
3750
+
3751
+ <label class="md-nav__link" for="__nav_8" id="__nav_8_label" tabindex="0">
3752
+
3753
+
3754
+
3755
+ <span class="md-ellipsis">
3756
+
3757
+
3758
+ Releases
3759
+
3760
+
3761
+
3762
+ </span>
3763
+
3764
+
3765
+
3766
+ <span class="md-nav__icon md-icon"></span>
3767
+ </label>
3768
+
3769
+ <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_8_label" aria-expanded="false">
3770
+ <label class="md-nav__title" for="__nav_8">
3771
+ <span class="md-nav__icon md-icon"></span>
3772
+
3773
+
3774
+ Releases
3775
+
3776
+
3777
+ </label>
3778
+ <ul class="md-nav__list" data-md-scrollfix>
3779
+
3780
+
3781
+
3782
+
3783
+
3784
+
3785
+
3786
+ <li class="md-nav__item">
3787
+ <a href="../../project/release-history.html" class="md-nav__link">
3788
+
3789
+
3790
+
3791
+ <span class="md-ellipsis">
3792
+
3793
+
3794
+ History Documents
3795
+
3796
+
3797
+
3798
+ </span>
3799
+
3800
+
3801
+
3802
+ </a>
3803
+ </li>
3804
+
3805
+
3806
+
3807
+
3808
+
3809
+
3810
+
3811
+
3812
+
3813
+
3814
+ <li class="md-nav__item">
3815
+ <a href="../../project/upgrade.html" class="md-nav__link">
3816
+
3817
+
3818
+
3819
+ <span class="md-ellipsis">
3820
+
3821
+
3822
+ Upgrading
3823
+
3824
+
3825
+
3826
+ </span>
3827
+
3828
+
3829
+
3830
+ </a>
3831
+ </li>
3832
+
3833
+
3834
+
3835
+
3836
+ </ul>
3837
+ </nav>
3838
+
3839
+ </li>
3840
+
3841
+
3842
+
3843
+
3844
+
3845
+
3846
+
3847
+
3848
+
3849
+ <li class="md-nav__item">
3850
+ <a href="../../help.html" class="md-nav__link">
3851
+
3852
+
3853
+
3854
+ <span class="md-ellipsis">
3855
+
3856
+
3857
+ Help
3858
+
3859
+
3860
+
3861
+ </span>
3862
+
3863
+
3864
+
3865
+ </a>
3866
+ </li>
3867
+
3868
+
3869
+
3870
+
3871
+
3872
+
3873
+
3874
+
3875
+
3876
+
3877
+
3878
+
3879
+
3880
+
3881
+
3882
+
3883
+
3884
+
3885
+
3886
+
3887
+
3888
+
3889
+
3890
+
3891
+
3892
+
3893
+
3894
+
3895
+
3896
+ <li class="md-nav__item md-nav__item--nested">
3897
+
3898
+
3899
+
3900
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_10" >
3901
+
3902
+
3903
+ <div class="md-nav__link md-nav__container">
3904
+ <a href="../../development/index.html" class="md-nav__link ">
3905
+
3906
+
3907
+
3908
+ <span class="md-ellipsis">
3909
+
3910
+
3911
+ Development
3912
+
3913
+
3914
+
3915
+ </span>
3916
+
3917
+
3918
+
3919
+ </a>
3920
+
3921
+
3922
+ <label class="md-nav__link " for="__nav_10" id="__nav_10_label" tabindex="0">
3923
+ <span class="md-nav__icon md-icon"></span>
3924
+ </label>
3925
+
3926
+ </div>
3927
+
3928
+ <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_10_label" aria-expanded="false">
3929
+ <label class="md-nav__title" for="__nav_10">
3930
+ <span class="md-nav__icon md-icon"></span>
3931
+
3932
+
3933
+ Development
3934
+
3935
+
3936
+ </label>
3937
+ <ul class="md-nav__list" data-md-scrollfix>
3938
+
3939
+
3940
+
3941
+
3942
+
3943
+
3944
+
3945
+
3946
+
3947
+ <li class="md-nav__item">
3948
+ <a href="../../development/workflow.html" class="md-nav__link">
3949
+
3950
+
3951
+
3952
+ <span class="md-ellipsis">
3953
+
3954
+
3955
+ Development Workflow
3956
+
3957
+
3958
+
3959
+ </span>
3960
+
3961
+
3962
+
3963
+ </a>
3964
+ </li>
3965
+
3966
+
3967
+
3968
+
3969
+
3970
+
3971
+
3972
+
3973
+
3974
+
3975
+
3976
+
3977
+
3978
+
3979
+
3980
+
3981
+
3982
+
3983
+
3984
+
3985
+
3986
+
3987
+
3988
+
3989
+
3990
+
3991
+
3992
+
3993
+
3994
+
3995
+
3996
+
3997
+ <li class="md-nav__item md-nav__item--nested">
3998
+
3999
+
4000
+
4001
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_10_3" >
4002
+
4003
+
4004
+ <div class="md-nav__link md-nav__container">
4005
+ <a href="../../development/plugins/index.html" class="md-nav__link ">
4006
+
4007
+
4008
+
4009
+ <span class="md-ellipsis">
4010
+
4011
+
4012
+ Plugin Development
4013
+
4014
+
4015
+
4016
+ </span>
4017
+
4018
+
4019
+
4020
+ </a>
4021
+
4022
+
4023
+ <label class="md-nav__link " for="__nav_10_3" id="__nav_10_3_label" tabindex="0">
4024
+ <span class="md-nav__icon md-icon"></span>
4025
+ </label>
4026
+
4027
+ </div>
4028
+
4029
+ <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_10_3_label" aria-expanded="false">
4030
+ <label class="md-nav__title" for="__nav_10_3">
4031
+ <span class="md-nav__icon md-icon"></span>
4032
+
4033
+
4034
+ Plugin Development
4035
+
4036
+
4037
+ </label>
4038
+ <ul class="md-nav__list" data-md-scrollfix>
4039
+
4040
+
4041
+
4042
+
4043
+
4044
+
4045
+
4046
+
4047
+
4048
+ <li class="md-nav__item">
4049
+ <a href="../../development/plugins/configuration.html" class="md-nav__link">
4050
+
4051
+
4052
+
4053
+ <span class="md-ellipsis">
4054
+
4055
+
4056
+ Configuration Plugin
4057
+
4058
+
4059
+
4060
+ </span>
4061
+
4062
+
4063
+
4064
+ </a>
4065
+ </li>
4066
+
4067
+
4068
+
4069
+
4070
+
4071
+
4072
+
4073
+
4074
+
4075
+
4076
+ <li class="md-nav__item">
4077
+ <a href="../../development/plugins/plugin-subclass.html" class="md-nav__link">
4078
+
4079
+
4080
+
4081
+ <span class="md-ellipsis">
4082
+
4083
+
4084
+ Plugin Subclass
4085
+
4086
+
4087
+
4088
+ </span>
4089
+
4090
+
4091
+
4092
+ </a>
4093
+ </li>
4094
+
4095
+
4096
+
4097
+
4098
+
4099
+
4100
+
4101
+
4102
+
4103
+
4104
+ <li class="md-nav__item">
4105
+ <a href="../../development/plugins/rake-tasks.html" class="md-nav__link">
4106
+
4107
+
4108
+
4109
+ <span class="md-ellipsis">
4110
+
4111
+
4112
+ Rake Task Plugin
4113
+
4114
+
4115
+
4116
+ </span>
4117
+
4118
+
4119
+
4120
+ </a>
4121
+ </li>
4122
+
4123
+
4124
+
4125
+
4126
+ </ul>
4127
+ </nav>
4128
+
4129
+ </li>
4130
+
4131
+
4132
+
4133
+
4134
+ </ul>
4135
+ </nav>
4136
+
4137
+ </li>
4138
+
4139
+
4140
+
4141
+ </ul>
4142
+ </nav>
4143
+ </div>
4144
+ </div>
4145
+ </div>
4146
+
4147
+
4148
+
4149
+ <div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
4150
+ <div class="md-sidebar__scrollwrap">
4151
+ <div class="md-sidebar__inner">
4152
+
4153
+
4154
+ <nav class="md-nav md-nav--secondary" aria-label="Table of contents">
4155
+
4156
+
4157
+
4158
+
4159
+
4160
+
4161
+ <label class="md-nav__title" for="__toc">
4162
+ <span class="md-nav__icon md-icon"></span>
4163
+ Table of contents
4164
+ </label>
4165
+ <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
4166
+
4167
+ <li class="md-nav__item">
4168
+ <a href="#example-paths-yaml" class="md-nav__link">
4169
+ <span class="md-ellipsis">
4170
+
4171
+ Example :paths YAML
4172
+
4173
+ </span>
4174
+ </a>
4175
+
4176
+ <nav class="md-nav" aria-label="Example :paths YAML">
4177
+ <ul class="md-nav__list">
4178
+
4179
+ <li class="md-nav__item">
4180
+ <a href="#simple-entries" class="md-nav__link">
4181
+ <span class="md-ellipsis">
4182
+
4183
+ Simple entries
4184
+
4185
+ </span>
4186
+ </a>
4187
+
4188
+ </li>
4189
+
4190
+ <li class="md-nav__item">
4191
+ <a href="#common-globs-with-subtractive-entries" class="md-nav__link">
4192
+ <span class="md-ellipsis">
4193
+
4194
+ Common globs with subtractive entries
4195
+
4196
+ </span>
4197
+ </a>
4198
+
4199
+ </li>
4200
+
4201
+ <li class="md-nav__item">
4202
+ <a href="#advanced-entries-with-globs-and-string-expansion" class="md-nav__link">
4203
+ <span class="md-ellipsis">
4204
+
4205
+ Advanced entries with globs and string expansion
4206
+
4207
+ </span>
4208
+ </a>
4209
+
4210
+ </li>
4211
+
4212
+ </ul>
4213
+ </nav>
4214
+
4215
+ </li>
4216
+
4217
+ <li class="md-nav__item">
4218
+ <a href="#paths-test" class="md-nav__link">
4219
+ <span class="md-ellipsis">
4220
+
4221
+ :paths ↳ :test
4222
+
4223
+ </span>
4224
+ </a>
4225
+
4226
+ </li>
4227
+
4228
+ <li class="md-nav__item">
4229
+ <a href="#paths-source" class="md-nav__link">
4230
+ <span class="md-ellipsis">
4231
+
4232
+ :paths ↳ :source
4233
+
4234
+ </span>
4235
+ </a>
4236
+
4237
+ </li>
4238
+
4239
+ <li class="md-nav__item">
4240
+ <a href="#paths-support" class="md-nav__link">
4241
+ <span class="md-ellipsis">
4242
+
4243
+ :paths ↳ :support
4244
+
4245
+ </span>
4246
+ </a>
4247
+
4248
+ </li>
4249
+
4250
+ <li class="md-nav__item">
4251
+ <a href="#paths-include" class="md-nav__link">
4252
+ <span class="md-ellipsis">
4253
+
4254
+ :paths ↳ :include
4255
+
4256
+ </span>
4257
+ </a>
4258
+
4259
+ </li>
4260
+
4261
+ <li class="md-nav__item">
4262
+ <a href="#paths-test_toolchain_include" class="md-nav__link">
4263
+ <span class="md-ellipsis">
4264
+
4265
+ :paths ↳ :test_toolchain_include
4266
+
4267
+ </span>
4268
+ </a>
4269
+
4270
+ </li>
4271
+
4272
+ <li class="md-nav__item">
4273
+ <a href="#paths-release_toolchain_include" class="md-nav__link">
4274
+ <span class="md-ellipsis">
4275
+
4276
+ :paths ↳ :release_toolchain_include
4277
+
4278
+ </span>
4279
+ </a>
4280
+
4281
+ </li>
4282
+
4283
+ <li class="md-nav__item">
4284
+ <a href="#paths-libraries" class="md-nav__link">
4285
+ <span class="md-ellipsis">
4286
+
4287
+ :paths ↳ :libraries
4288
+
4289
+ </span>
4290
+ </a>
4291
+
4292
+ </li>
4293
+
4294
+ <li class="md-nav__item">
4295
+ <a href="#paths-custom" class="md-nav__link">
4296
+ <span class="md-ellipsis">
4297
+
4298
+ :paths ↳ :&lt;custom&gt;
4299
+
4300
+ </span>
4301
+ </a>
4302
+
4303
+ </li>
4304
+
4305
+ <li class="md-nav__item">
4306
+ <a href="#paths-configuration-options-notes" class="md-nav__link">
4307
+ <span class="md-ellipsis">
4308
+
4309
+ :paths configuration options &amp; notes
4310
+
4311
+ </span>
4312
+ </a>
4313
+
4314
+ </li>
4315
+
4316
+ <li class="md-nav__item">
4317
+ <a href="#paths-globs" class="md-nav__link">
4318
+ <span class="md-ellipsis">
4319
+
4320
+ :paths Globs
4321
+
4322
+ </span>
4323
+ </a>
4324
+
4325
+ </li>
4326
+
4327
+ <li class="md-nav__item">
4328
+ <a href="#subtractive-entries" class="md-nav__link">
4329
+ <span class="md-ellipsis">
4330
+
4331
+ Subtractive entries
4332
+
4333
+ </span>
4334
+ </a>
4335
+
4336
+ </li>
4337
+
4338
+ </ul>
4339
+
4340
+ </nav>
4341
+ </div>
4342
+ </div>
4343
+ </div>
4344
+
4345
+
4346
+
4347
+ <div class="md-content" data-md-component="content">
4348
+
4349
+
4350
+
4351
+
4352
+
4353
+
4354
+
4355
+
4356
+ <nav class="md-path" aria-label="Navigation" >
4357
+ <ol class="md-path__list">
4358
+
4359
+
4360
+
4361
+
4362
+ <li class="md-path__item">
4363
+ <a href="../../index.html" class="md-path__link">
4364
+
4365
+ <span class="md-ellipsis">
4366
+ Home
4367
+ </span>
4368
+
4369
+ </a>
4370
+ </li>
4371
+
4372
+
4373
+
4374
+
4375
+
4376
+
4377
+
4378
+
4379
+
4380
+ <li class="md-path__item">
4381
+ <a href="../index.html" class="md-path__link">
4382
+
4383
+ <span class="md-ellipsis">
4384
+ Configuration
4385
+ </span>
4386
+
4387
+ </a>
4388
+ </li>
4389
+
4390
+
4391
+
4392
+
4393
+
4394
+
4395
+
4396
+
4397
+
4398
+ <li class="md-path__item">
4399
+ <a href="index.html" class="md-path__link">
4400
+
4401
+ <span class="md-ellipsis">
4402
+ Configuration Reference
4403
+ </span>
4404
+
4405
+ </a>
4406
+ </li>
4407
+
4408
+
4409
+
4410
+
4411
+ </ol>
4412
+ </nav>
4413
+
4414
+
4415
+ <article class="md-content__inner md-typeset">
4416
+
4417
+
4418
+
4419
+
4420
+
4421
+
4422
+
4423
+
4424
+ <h1 id="paths"><code>:paths</code></h1>
4425
+ <p><strong>Paths for build tools and building file collections</strong></p>
4426
+ <p>Ceedling relies on various path and file collections to do its work. File
4427
+ collections are automagically assembled from paths, matching globs / wildcards,
4428
+ and file extensions. See <a href="extension.html">project configuration <code>:extension</code></a>.</p>
4429
+ <p>Entries in <code>:paths</code> help create directory-based bulk file collections. The
4430
+ <code>:files</code> configuration section is available for filepath-oriented tailoring of
4431
+ these bulk file collections.</p>
4432
+ <p>Entries in <code>:paths</code> ↳ <code>:include</code> also specify search paths for header files.</p>
4433
+ <p>All of the configuration subsections that follow default to empty lists. In
4434
+ YAML, list items can be comma separated within brackets or organized per line
4435
+ with a dash. An empty list can only be denoted as <code>[]</code>. Typically, you will see
4436
+ Ceedling project files use lists broken up per line.</p>
4437
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a><span class="nt">:paths</span><span class="p">:</span>
4438
+ <a id="__codelineno-0-2" name="__codelineno-0-2" href="#__codelineno-0-2"></a><span class="w"> </span><span class="nt">:support</span><span class="p">:</span><span class="w"> </span><span class="p p-Indicator">[]</span><span class="w"> </span><span class="c1"># Empty list (internal default)</span>
4439
+ <a id="__codelineno-0-3" name="__codelineno-0-3" href="#__codelineno-0-3"></a><span class="w"> </span><span class="nt">:source</span><span class="p">:</span>
4440
+ <a id="__codelineno-0-4" name="__codelineno-0-4" href="#__codelineno-0-4"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">files/code</span><span class="w"> </span><span class="c1"># Typical list format</span>
4441
+ </code></pre></div>
4442
+ <div class="admonition warning">
4443
+ <p class="admonition-title">Mixin order controls path list order</p>
4444
+ <p>If you use Mixins to build up path lists in your project configuration,
4445
+ the merge order of those Mixins will dictate the ordering of your path
4446
+ lists. Particularly given that the search path list built with
4447
+ <code>:paths</code> ↳ <code>:include</code> you will want to pay attention to ordering issues
4448
+ involved in specifying path lists in Mixins.</p>
4449
+ </div>
4450
+ <h2 id="example-paths-yaml">Example <code>:paths</code> YAML</h2>
4451
+ <div class="admonition note">
4452
+ <p class="admonition-title">Path standardization</p>
4453
+ <p>Ceedling standardizes paths for you. Internally, all paths use forward
4454
+ slash <code>/</code> path separators (including on Windows) and trailing path
4455
+ separators are cleaned up. This should have no impact on your project
4456
+ regardless of platform, but you will see the effects in logging.</p>
4457
+ </div>
4458
+ <h3 id="simple-entries">Simple entries</h3>
4459
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-1-1" name="__codelineno-1-1" href="#__codelineno-1-1"></a><span class="nt">:paths</span><span class="p">:</span>
4460
+ <a id="__codelineno-1-2" name="__codelineno-1-2" href="#__codelineno-1-2"></a><span class="w"> </span><span class="c1"># All &lt;dirs&gt;/*.&lt;source extension&gt; =&gt; test/release compilation input</span>
4461
+ <a id="__codelineno-1-3" name="__codelineno-1-3" href="#__codelineno-1-3"></a><span class="w"> </span><span class="nt">:source</span><span class="p">:</span>
4462
+ <a id="__codelineno-1-4" name="__codelineno-1-4" href="#__codelineno-1-4"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">project/src/</span><span class="w"> </span><span class="c1"># Resulting source list has just two relative directory paths</span>
4463
+ <a id="__codelineno-1-5" name="__codelineno-1-5" href="#__codelineno-1-5"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">project/aux</span><span class="w"> </span><span class="c1"># (Traversal goes no deeper than these simple paths)</span>
4464
+ <a id="__codelineno-1-6" name="__codelineno-1-6" href="#__codelineno-1-6"></a>
4465
+ <a id="__codelineno-1-7" name="__codelineno-1-7" href="#__codelineno-1-7"></a><span class="w"> </span><span class="c1"># All &lt;dirs&gt; =&gt; compilation search paths + mock search paths</span>
4466
+ <a id="__codelineno-1-8" name="__codelineno-1-8" href="#__codelineno-1-8"></a><span class="w"> </span><span class="nt">:include</span><span class="p">:</span><span class="w"> </span><span class="c1"># All &lt;dirs&gt; =&gt; compilation input</span>
4467
+ <a id="__codelineno-1-9" name="__codelineno-1-9" href="#__codelineno-1-9"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">project/src/inc</span><span class="w"> </span><span class="c1"># Include paths are subdirectory of src/</span>
4468
+ <a id="__codelineno-1-10" name="__codelineno-1-10" href="#__codelineno-1-10"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">/usr/local/include/foo</span><span class="w"> </span><span class="c1"># Header files for a prebuilt library at fully qualified path</span>
4469
+ <a id="__codelineno-1-11" name="__codelineno-1-11" href="#__codelineno-1-11"></a>
4470
+ <a id="__codelineno-1-12" name="__codelineno-1-12" href="#__codelineno-1-12"></a><span class="w"> </span><span class="c1"># All &lt;dirs&gt;/&lt;test prefix&gt;*.&lt;source extension&gt; =&gt; test compilation input + test suite executables</span>
4471
+ <a id="__codelineno-1-13" name="__codelineno-1-13" href="#__codelineno-1-13"></a><span class="w"> </span><span class="nt">:test</span><span class="p">:</span><span class="w"> </span>
4472
+ <a id="__codelineno-1-14" name="__codelineno-1-14" href="#__codelineno-1-14"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">../tests</span><span class="w"> </span><span class="c1"># Tests have parent directory above working directory</span>
4473
+ </code></pre></div>
4474
+ <h3 id="common-globs-with-subtractive-entries">Common globs with subtractive entries</h3>
4475
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-2-1" name="__codelineno-2-1" href="#__codelineno-2-1"></a><span class="nt">:paths</span><span class="p">:</span>
4476
+ <a id="__codelineno-2-2" name="__codelineno-2-2" href="#__codelineno-2-2"></a><span class="w"> </span><span class="nt">:source</span><span class="p">:</span><span class="w"> </span>
4477
+ <a id="__codelineno-2-3" name="__codelineno-2-3" href="#__codelineno-2-3"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">+:project/src/**</span><span class="w"> </span><span class="c1"># Recursive glob yields all subdirectories of any depth plus src/</span>
4478
+ <a id="__codelineno-2-4" name="__codelineno-2-4" href="#__codelineno-2-4"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">-:project/src/exp</span><span class="w"> </span><span class="c1"># Exclude experimental code in exp/ from release or test builds</span>
4479
+ <a id="__codelineno-2-5" name="__codelineno-2-5" href="#__codelineno-2-5"></a><span class="w"> </span><span class="c1"># `+:` is decoration for pretty alignment; only `-:` changes a list</span>
4480
+ <a id="__codelineno-2-6" name="__codelineno-2-6" href="#__codelineno-2-6"></a>
4481
+ <a id="__codelineno-2-7" name="__codelineno-2-7" href="#__codelineno-2-7"></a><span class="w"> </span><span class="nt">:include</span><span class="p">:</span>
4482
+ <a id="__codelineno-2-8" name="__codelineno-2-8" href="#__codelineno-2-8"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">+:project/src/**/inc</span><span class="w"> </span><span class="c1"># Include every subdirectory inc/ beneath src/</span>
4483
+ <a id="__codelineno-2-9" name="__codelineno-2-9" href="#__codelineno-2-9"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">-:project/src/exp/inc</span><span class="w"> </span><span class="c1"># Remove header files subdirectory for experimental code</span>
4484
+ </code></pre></div>
4485
+ <h3 id="advanced-entries-with-globs-and-string-expansion">Advanced entries with globs and string expansion</h3>
4486
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-3-1" name="__codelineno-3-1" href="#__codelineno-3-1"></a><span class="nt">:paths</span><span class="p">:</span>
4487
+ <a id="__codelineno-3-2" name="__codelineno-3-2" href="#__codelineno-3-2"></a><span class="w"> </span><span class="nt">:test</span><span class="p">:</span><span class="w"> </span>
4488
+ <a id="__codelineno-3-3" name="__codelineno-3-3" href="#__codelineno-3-3"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">test/**/f???</span><span class="w"> </span><span class="c1"># Every 4 character &quot;f-series&quot; subdirectory beneath test/</span>
4489
+ <a id="__codelineno-3-4" name="__codelineno-3-4" href="#__codelineno-3-4"></a>
4490
+ <a id="__codelineno-3-5" name="__codelineno-3-5" href="#__codelineno-3-5"></a><span class="w"> </span><span class="nt">:my_things</span><span class="p">:</span><span class="w"> </span><span class="c1"># Custom path list</span>
4491
+ <a id="__codelineno-3-6" name="__codelineno-3-6" href="#__codelineno-3-6"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="s">&quot;#{PROJECT_ROOT}/other&quot;</span><span class="w"> </span><span class="c1"># Inline Ruby string expansion using Ceedling global constant</span>
4492
+ </code></pre></div>
4493
+ <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>
4494
+ <a id="__codelineno-4-2" name="__codelineno-4-2" href="#__codelineno-4-2"></a><span class="w"> </span><span class="nt">:test</span><span class="p">:</span><span class="w"> </span>
4495
+ <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">test/{foo,b*,xyz}</span><span class="w"> </span><span class="c1"># Path list will include test/foo/, test/xyz/, and any subdirectories </span>
4496
+ <a id="__codelineno-4-4" name="__codelineno-4-4" href="#__codelineno-4-4"></a><span class="w"> </span><span class="c1"># beneath test/ beginning with &#39;b&#39;, including just test/b/</span>
4497
+ </code></pre></div>
4498
+ <p>Globs and inline Ruby string expansion can require trial and error to arrive at
4499
+ your intended results. Ceedling provides as much validation of paths as is
4500
+ practical.</p>
4501
+ <div class="admonition tip">
4502
+ <p class="admonition-title">Troubleshooting paths</p>
4503
+ <ul>
4504
+ <li>Use the <code>ceedling paths:*</code> and <code>ceedling files:*</code> command line tasks to
4505
+ verify your settings. (Here <code>*</code> is shorthand for <code>test</code>, <code>source</code>, <code>include</code>,
4506
+ etc. Confusing? Sorry.)</li>
4507
+ <li><code>ceedling dumpconfig</code> can also help your troubleshoot your configuration.
4508
+ This application command causes Ceedling to fully process your configuration
4509
+ (e.g. Mixins, any string expansion, etc.) and write the result to another
4510
+ YAML file for your inspection.</li>
4511
+ </ul>
4512
+ </div>
4513
+ <h2 id="paths-test"><code>:paths</code> ↳ <code>:test</code></h2>
4514
+ <p>All C files containing unit test code.</p>
4515
+ <div class="admonition note">
4516
+ <p class="admonition-title">Test suite configuration requirement</p>
4517
+ <p><code>:paths</code> ↳ <code>:test</code> is one of the handful of configuration values that must
4518
+ be set for a test suite.</p>
4519
+ </div>
4520
+ <p><strong>Default</strong>: <code>[]</code> (empty)</p>
4521
+ <h2 id="paths-source"><code>:paths</code> ↳ <code>:source</code></h2>
4522
+ <p>All C files containing release code (code to be tested).</p>
4523
+ <div class="admonition note">
4524
+ <p class="admonition-title">Build configuration requirement</p>
4525
+ <p><code>:paths</code> ↳ <code>:source</code> must be set for any build — release build or test suite —
4526
+ to run.</p>
4527
+ </div>
4528
+ <p><strong>Default</strong>: <code>[]</code> (empty)</p>
4529
+ <h2 id="paths-support"><code>:paths</code> ↳ <code>:support</code></h2>
4530
+ <p>Any C files you might need to aid your unit testing. For example, on occasion,
4531
+ you may need to create a header file containing a subset of function signatures
4532
+ matching those elsewhere in your code (e.g. a subset of your OS functions, a
4533
+ portion of a library API, etc.). Why? To provide finer grained control over
4534
+ mock function substitution or limiting the size of the generated mocks.</p>
4535
+ <p><strong>Default</strong>: <code>[]</code> (empty)</p>
4536
+ <h2 id="paths-include"><code>:paths</code> ↳ <code>:include</code></h2>
4537
+ <p>See these two important discussions to fully understand your options for header
4538
+ file search paths:</p>
4539
+ <ul>
4540
+ <li><a href="../../testing-guide/conventions.html#test-build-search-paths">Configuring Your Header File Search Paths</a></li>
4541
+ <li><a href="../../testing-guide/build-directives.html#test_include_path"><code>TEST_INCLUDE_PATH(...)</code> build directive macro</a></li>
4542
+ </ul>
4543
+ <p>This set of paths specifies the locations of your header files. If your header
4544
+ files are intermixed with source files, you must duplicate some or all of your
4545
+ <code>:paths</code> ↳ <code>:source</code> entries here.</p>
4546
+ <p>In its simplest use, your include paths list can be exhaustive. That is, you
4547
+ list all path locations where your project’s header files reside in this
4548
+ configuration list.</p>
4549
+ <p>However, if you have a complex project or many, many include paths that create
4550
+ problematically long search paths at the compilation command line, you may treat
4551
+ your <code>:paths</code> ↳ <code>:include</code> list as a base, common list. Having established that
4552
+ base list, you can then extend it on a test-by-test basis with use of the
4553
+ <code>TEST_INCLUDE_PATH(...)</code> build directive macro in your test files.</p>
4554
+ <p><strong>Default</strong>: <code>[]</code> (empty)</p>
4555
+ <h2 id="paths-test_toolchain_include"><code>:paths</code> ↳ <code>:test_toolchain_include</code></h2>
4556
+ <p>System header files needed by the test toolchain — should your compiler be
4557
+ unable to find them, finds the wrong system include search path, or you need a
4558
+ creative solution to a tricky technical problem.</p>
4559
+ <p>Note that if you configure your own toolchain in the <code>:tools</code> section, this
4560
+ search path is largely meaningless to you. However, this is a convenient way
4561
+ to control the system include path should you rely on the default <a href="https://gcc.gnu.org">GCC</a>
4562
+ tools.</p>
4563
+ <p><strong>Default</strong>: <code>[]</code> (empty)</p>
4564
+ <h2 id="paths-release_toolchain_include"><code>:paths</code> ↳ <code>:release_toolchain_include</code></h2>
4565
+ <p>Same as preceding albeit related to the release toolchain.</p>
4566
+ <p><strong>Default</strong>: <code>[]</code> (empty)</p>
4567
+ <h2 id="paths-libraries"><code>:paths</code> ↳ <code>:libraries</code></h2>
4568
+ <p>Library search paths. <a href="libraries.html">See <code>:libraries</code> section</a>.</p>
4569
+ <p><strong>Default</strong>: <code>[]</code> (empty)</p>
4570
+ <h2 id="paths-custom"><code>:paths</code> ↳ <code>:&lt;custom&gt;</code></h2>
4571
+ <p>Any paths you specify for custom list. List is available to tool configurations
4572
+ and/or plugins. Note a distinction — the preceding names are recognized
4573
+ internally to Ceedling and the path lists are used to build collections of
4574
+ files contained in those paths. A custom list is just that — a custom list of
4575
+ paths.</p>
4576
+ <h2 id="paths-configuration-options-notes"><code>:paths</code> configuration options &amp; notes</h2>
4577
+ <ol>
4578
+ <li>A path can be absolute (fully qualified) or relative.</li>
4579
+ <li>A path can include a glob matcher (more on this below).</li>
4580
+ <li>A path can use <a href="../project-file.html#inline-ruby-string-expansion">inline Ruby string expansion</a>.</li>
4581
+ <li>Subtractive paths are possible and useful. See the documentation below.</li>
4582
+ <li>Path order beneath a subsection (e.g. <code>:paths</code> ↳ <code>:include</code>) is preserved
4583
+ when the list is iterated internally or passed to a tool.</li>
4584
+ </ol>
4585
+ <h2 id="paths-globs"><code>:paths</code> Globs</h2>
4586
+ <p>Globs are effectively fancy wildcards. They are not as capable as full regular
4587
+ expressions but are easier to use. Various OSs and programming languages
4588
+ implement them differently.</p>
4589
+ <p>For a quick overview, see this <a href="http://ruby.about.com/od/beginningruby/a/dir2.htm">tutorial</a>.</p>
4590
+ <p>Ceedling supports globs so you can specify patterns of directories without the
4591
+ need to list each and every required path.</p>
4592
+ <p>Ceedling <code>:paths</code> globs operate similarly to <a href="https://ruby-doc.org/core-3.0.0/Dir.html#method-c-glob">Ruby globs</a> except
4593
+ that they are limited to matching directories within <code>:paths</code> entries and not
4594
+ also files. In addition, Ceedling adds a useful convention with certain uses of
4595
+ the <code>*</code> and <code>**</code> operators.</p>
4596
+ <p>Glob operators include the following: <code>*</code>, <code>**</code>, <code>?</code>, <code>[-]</code>, <code>{,}</code>.</p>
4597
+ <ul>
4598
+ <li><code>*</code><ul>
4599
+ <li>When used within a character string, <code>*</code> is simply a standard wildcard.</li>
4600
+ <li>When used after a path separator, <code>/*</code> matches all subdirectories of depth
4601
+ 1 below the parent path, not including the parent path.</li>
4602
+ </ul>
4603
+ </li>
4604
+ <li><code>**</code>: All subdirectories recursively discovered below the parent path, not
4605
+ including the parent path. This pattern only makes sense after a path
4606
+ separator <code>/**</code>.</li>
4607
+ <li><code>?</code>: Single alphanumeric character wildcard.</li>
4608
+ <li><code>[x-y]</code>: Single alphanumeric character as found in the specified range.</li>
4609
+ <li><code>{x, y, ...}</code>: Matching any of the comma-separated patterns. Two or more
4610
+ patterns may be listed within the brackets. Patterns may be specific
4611
+ character sequences or other glob operators.</li>
4612
+ </ul>
4613
+ <p>Special conventions:</p>
4614
+ <ul>
4615
+ <li>If a globified path ends with <code>/*</code> or <code>/**</code>, the resulting list of
4616
+ directories also includes the parent directory.</li>
4617
+ </ul>
4618
+ <h2 id="subtractive-entries">Subtractive entries</h2>
4619
+ <p>Globs are super duper helpful when you have many paths to list. But, what if a
4620
+ single glob gets you 20 nested paths, but you actually want to exclude 2 of
4621
+ those paths?</p>
4622
+ <p>Must you revert to listing all 18 paths individually? No, my friend, we've got
4623
+ you. Behold, subtractive paths.</p>
4624
+ <p>Put simply, with an optional preceding decorator <code>-:</code>, you can instruct Ceedling
4625
+ to remove certain directory paths from a collection after it builds that
4626
+ collection.</p>
4627
+ <p>By default, paths are additive. For pretty alignment in your YAML, you may also
4628
+ use <code>+:</code>, but strictly speaking, it’s not necessary.</p>
4629
+ <p>Subtractive paths may be simple paths or globs just like any other path entry.</p>
4630
+ <div class="admonition note">
4631
+ <p class="admonition-title">Subtractive paths resolve after all mixins merge</p>
4632
+ <p>The resolution of subtractive paths happens after your full paths lists are
4633
+ assembled. So, if you use <code>:paths</code> entries in Mixins to build up your
4634
+ project configuration, subtractive paths will only be processed after the
4635
+ final mixin is merged. That is, you can merge in additive and subtractive
4636
+ paths with Mixins to your heart’s content. The subtractive paths are not
4637
+ removed until all Mixins have been merged.</p>
4638
+ </div>
4639
+ <p><br/><br/></p>
4640
+
4641
+
4642
+
4643
+
4644
+
4645
+
4646
+
4647
+
4648
+
4649
+
4650
+
4651
+
4652
+
4653
+ </article>
4654
+ </div>
4655
+
4656
+
4657
+ <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
4658
+ </div>
4659
+
4660
+ <button type="button" class="md-top md-icon" data-md-component="top" hidden>
4661
+
4662
+ <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>
4663
+ Back to top
4664
+ </button>
4665
+
4666
+ </main>
4667
+
4668
+ <footer class="md-footer">
4669
+
4670
+ <div class="md-footer-meta md-typeset">
4671
+ <div class="md-footer-meta__inner md-grid">
4672
+ <div class="md-copyright">
4673
+
4674
+ <div class="md-copyright__highlight">
4675
+ &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>
4676
+ </div>
4677
+
4678
+
4679
+ </div>
4680
+
4681
+
4682
+ <div class="md-social">
4683
+
4684
+
4685
+
4686
+
4687
+
4688
+ <a href="https://github.com/sponsors/ThrowTheSwitch" target="_blank" rel="noopener" title="Sponsor ThrowTheSwitch on GitHub" class="md-social__link">
4689
+ <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>
4690
+ </a>
4691
+
4692
+ </div>
4693
+
4694
+ </div>
4695
+ </div>
4696
+ </footer>
4697
+
4698
+ </div>
4699
+ <div class="md-dialog" data-md-component="dialog">
4700
+ <div class="md-dialog__inner md-typeset"></div>
4701
+ </div>
4702
+
4703
+
4704
+
4705
+
4706
+
4707
+ <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>
4708
+
4709
+
4710
+ <script src="../../assets/javascripts/bundle.79ae519e.min.js"></script>
4711
+
4712
+
4713
+ </body>
4714
+ </html>