ceedling 1.0.1 → 1.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1266) 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 +145 -158
  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 +215 -16
  74. data/docs/KnownIssues.md +35 -0
  75. data/docs/ReleaseNotes.md +137 -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 +179 -0
  121. data/docs/mkdocs/getting-started/quick-start.md +83 -0
  122. data/docs/mkdocs/help.md +49 -0
  123. data/docs/mkdocs/index.md +222 -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} +14 -12
  130. data/{plugins/command_hooks/README.md → docs/mkdocs/plugins/command-hooks.md} +87 -60
  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 +272 -0
  137. data/docs/mkdocs/plugins/gcov/index.md +74 -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 +261 -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 +198 -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 +88 -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} +271 -108
  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 +606 -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 +392 -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 +660 -0
  409. data/lib/ceedling/test_invoker/test_build_planner.rb +275 -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 +34 -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 +47 -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 +182 -0
  481. data/plugins/gcov/lib/gcov.rb +191 -105
  482. data/plugins/gcov/lib/gcov_constants.rb +16 -4
  483. data/plugins/gcov/lib/gcov_reportinator.rb +67 -0
  484. data/{spec/configurator_helper_spec.rb → plugins/gcov/lib/gcov_types.rb} +2 -6
  485. data/plugins/gcov/lib/gcovr_reportinator.rb +293 -145
  486. data/plugins/gcov/lib/reportgenerator_reportinator.rb +245 -117
  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.d7400e89.min.js +16 -0
  524. data/site-local/assets/javascripts/bundle.d7400e89.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.ec1eaa64.min.css +1 -0
  564. data/site-local/assets/stylesheets/main.ec1eaa64.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 +4460 -0
  607. data/site-local/getting-started/quick-start.html +4276 -0
  608. data/site-local/help.html +4081 -0
  609. data/site-local/index.html +4369 -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 +4255 -0
  616. data/site-local/plugins/command-hooks.html +5027 -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 +4610 -0
  623. data/site-local/plugins/gcov/index.html +4156 -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 +4412 -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 +4611 -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 +4176 -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 +312 -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} +227 -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 +418 -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_build_executor_spec.rb +114 -0
  750. data/spec/units/test_context_extractor_spec.rb +437 -0
  751. data/spec/{tool_executor_helper_spec.rb → units/tool_executor_helper_spec.rb} +19 -33
  752. data/spec/units/tool_executor_spec.rb +83 -0
  753. data/spec/units/tool_validator_spec.rb +60 -0
  754. data/spec/units/yaml_wrapper_spec.rb +108 -0
  755. data/vendor/cmock/Gemfile +4 -1
  756. data/vendor/cmock/LICENSE.txt +1 -1
  757. data/vendor/cmock/config/production_environment.rb +1 -1
  758. data/vendor/cmock/config/test_environment.rb +1 -1
  759. data/vendor/cmock/docs/CMockChangeLog.md +47 -0
  760. data/vendor/cmock/docs/CMockKnownIssues.md +0 -1
  761. data/vendor/cmock/docs/CMock_ArgumentValidation.md +180 -25
  762. data/vendor/cmock/docs/CMock_Summary.md +158 -16
  763. data/vendor/cmock/examples/make_example/Makefile +1 -1
  764. data/vendor/cmock/examples/make_example/src/foo.c +1 -1
  765. data/vendor/cmock/examples/make_example/src/foo.h +1 -1
  766. data/vendor/cmock/examples/make_example/src/main.c +1 -1
  767. data/vendor/cmock/examples/make_example/test/test_foo.c +1 -1
  768. data/vendor/cmock/examples/make_example/test/test_main.c +2 -2
  769. data/vendor/cmock/examples/temp_sensor/project.yml +75 -0
  770. data/vendor/cmock/examples/temp_sensor/rakefile.rb +3 -3
  771. data/vendor/cmock/examples/temp_sensor/rakefile_helper.rb +163 -119
  772. data/vendor/cmock/examples/temp_sensor/src/AT91SAM7X256.h +1 -1
  773. data/vendor/cmock/examples/temp_sensor/src/AdcConductor.c +1 -1
  774. data/vendor/cmock/examples/temp_sensor/src/AdcConductor.h +1 -1
  775. data/vendor/cmock/examples/temp_sensor/src/AdcHardware.c +1 -1
  776. data/vendor/cmock/examples/temp_sensor/src/AdcHardware.h +1 -1
  777. data/vendor/cmock/examples/temp_sensor/src/AdcHardwareConfigurator.c +1 -1
  778. data/vendor/cmock/examples/temp_sensor/src/AdcHardwareConfigurator.h +1 -1
  779. data/vendor/cmock/examples/temp_sensor/src/AdcModel.c +3 -1
  780. data/vendor/cmock/examples/temp_sensor/src/AdcModel.h +1 -1
  781. data/vendor/cmock/examples/temp_sensor/src/AdcTemperatureSensor.c +1 -1
  782. data/vendor/cmock/examples/temp_sensor/src/AdcTemperatureSensor.h +1 -1
  783. data/vendor/cmock/examples/temp_sensor/src/Executor.c +1 -1
  784. data/vendor/cmock/examples/temp_sensor/src/Executor.h +1 -1
  785. data/vendor/cmock/examples/temp_sensor/src/IntrinsicsWrapper.c +1 -1
  786. data/vendor/cmock/examples/temp_sensor/src/IntrinsicsWrapper.h +1 -1
  787. data/vendor/cmock/examples/temp_sensor/src/Main.c +1 -1
  788. data/vendor/cmock/examples/temp_sensor/src/Main.h +1 -1
  789. data/vendor/cmock/examples/temp_sensor/src/Model.c +1 -1
  790. data/vendor/cmock/examples/temp_sensor/src/Model.h +1 -1
  791. data/vendor/cmock/examples/temp_sensor/src/ModelConfig.h +1 -1
  792. data/vendor/cmock/examples/temp_sensor/src/TaskScheduler.c +1 -1
  793. data/vendor/cmock/examples/temp_sensor/src/TaskScheduler.h +1 -1
  794. data/vendor/cmock/examples/temp_sensor/src/TemperatureCalculator.c +1 -1
  795. data/vendor/cmock/examples/temp_sensor/src/TemperatureCalculator.h +1 -1
  796. data/vendor/cmock/examples/temp_sensor/src/TemperatureFilter.c +2 -2
  797. data/vendor/cmock/examples/temp_sensor/src/TemperatureFilter.h +1 -1
  798. data/vendor/cmock/examples/temp_sensor/src/TimerConductor.c +1 -1
  799. data/vendor/cmock/examples/temp_sensor/src/TimerConductor.h +1 -1
  800. data/vendor/cmock/examples/temp_sensor/src/TimerConfigurator.c +2 -2
  801. data/vendor/cmock/examples/temp_sensor/src/TimerConfigurator.h +1 -1
  802. data/vendor/cmock/examples/temp_sensor/src/TimerHardware.c +1 -1
  803. data/vendor/cmock/examples/temp_sensor/src/TimerHardware.h +1 -1
  804. data/vendor/cmock/examples/temp_sensor/src/TimerInterruptConfigurator.c +10 -1
  805. data/vendor/cmock/examples/temp_sensor/src/TimerInterruptConfigurator.h +1 -1
  806. data/vendor/cmock/examples/temp_sensor/src/TimerInterruptHandler.c +1 -1
  807. data/vendor/cmock/examples/temp_sensor/src/TimerInterruptHandler.h +1 -1
  808. data/vendor/cmock/examples/temp_sensor/src/TimerModel.c +1 -1
  809. data/vendor/cmock/examples/temp_sensor/src/TimerModel.h +1 -1
  810. data/vendor/cmock/examples/temp_sensor/src/Types.h +1 -1
  811. data/vendor/cmock/examples/temp_sensor/src/UsartBaudRateRegisterCalculator.c +1 -1
  812. data/vendor/cmock/examples/temp_sensor/src/UsartBaudRateRegisterCalculator.h +1 -1
  813. data/vendor/cmock/examples/temp_sensor/src/UsartConductor.c +1 -1
  814. data/vendor/cmock/examples/temp_sensor/src/UsartConductor.h +1 -1
  815. data/vendor/cmock/examples/temp_sensor/src/UsartConfigurator.c +1 -1
  816. data/vendor/cmock/examples/temp_sensor/src/UsartConfigurator.h +1 -1
  817. data/vendor/cmock/examples/temp_sensor/src/UsartHardware.c +1 -1
  818. data/vendor/cmock/examples/temp_sensor/src/UsartHardware.h +1 -1
  819. data/vendor/cmock/examples/temp_sensor/src/UsartModel.c +2 -2
  820. data/vendor/cmock/examples/temp_sensor/src/UsartModel.h +1 -1
  821. data/vendor/cmock/examples/temp_sensor/src/UsartPutChar.c +2 -2
  822. data/vendor/cmock/examples/temp_sensor/src/UsartPutChar.h +1 -1
  823. data/vendor/cmock/examples/temp_sensor/src/UsartTransmitBufferStatus.c +1 -1
  824. data/vendor/cmock/examples/temp_sensor/src/UsartTransmitBufferStatus.h +1 -1
  825. data/vendor/cmock/examples/temp_sensor/test/TestAdcConductor.c +1 -1
  826. data/vendor/cmock/examples/temp_sensor/test/TestAdcHardware.c +1 -1
  827. data/vendor/cmock/examples/temp_sensor/test/TestAdcHardwareConfigurator.c +1 -1
  828. data/vendor/cmock/examples/temp_sensor/test/TestAdcModel.c +1 -1
  829. data/vendor/cmock/examples/temp_sensor/test/TestAdcTemperatureSensor.c +1 -1
  830. data/vendor/cmock/examples/temp_sensor/test/TestExecutor.c +1 -1
  831. data/vendor/cmock/examples/temp_sensor/test/TestMain.c +1 -1
  832. data/vendor/cmock/examples/temp_sensor/test/TestModel.c +1 -1
  833. data/vendor/cmock/examples/temp_sensor/test/TestTaskScheduler.c +1 -1
  834. data/vendor/cmock/examples/temp_sensor/test/TestTemperatureCalculator.c +1 -1
  835. data/vendor/cmock/examples/temp_sensor/test/TestTemperatureFilter.c +2 -2
  836. data/vendor/cmock/examples/temp_sensor/test/TestTimerConductor.c +1 -1
  837. data/vendor/cmock/examples/temp_sensor/test/TestTimerConfigurator.c +1 -1
  838. data/vendor/cmock/examples/temp_sensor/test/TestTimerHardware.c +1 -1
  839. data/vendor/cmock/examples/temp_sensor/test/TestTimerInterruptConfigurator.c +1 -1
  840. data/vendor/cmock/examples/temp_sensor/test/TestTimerInterruptHandler.c +1 -1
  841. data/vendor/cmock/examples/temp_sensor/test/TestTimerModel.c +1 -1
  842. data/vendor/cmock/examples/temp_sensor/test/TestUsartBaudRateRegisterCalculator.c +1 -1
  843. data/vendor/cmock/examples/temp_sensor/test/TestUsartConductor.c +7 -5
  844. data/vendor/cmock/examples/temp_sensor/test/TestUsartConfigurator.c +1 -1
  845. data/vendor/cmock/examples/temp_sensor/test/TestUsartHardware.c +3 -2
  846. data/vendor/cmock/examples/temp_sensor/test/TestUsartModel.c +1 -1
  847. data/vendor/cmock/examples/temp_sensor/test/TestUsartPutChar.c +1 -1
  848. data/vendor/cmock/examples/temp_sensor/test/TestUsartTransmitBufferStatus.c +1 -1
  849. data/vendor/cmock/lib/cmock.rb +1 -1
  850. data/vendor/cmock/lib/cmock_config.rb +8 -2
  851. data/vendor/cmock/lib/cmock_file_writer.rb +38 -1
  852. data/vendor/cmock/lib/cmock_generator.rb +44 -27
  853. data/vendor/cmock/lib/cmock_generator_plugin_array.rb +68 -15
  854. data/vendor/cmock/lib/cmock_generator_plugin_callback.rb +13 -3
  855. data/vendor/cmock/lib/cmock_generator_plugin_cexception.rb +12 -3
  856. data/vendor/cmock/lib/cmock_generator_plugin_expect.rb +33 -15
  857. data/vendor/cmock/lib/cmock_generator_plugin_expect_any_args.rb +13 -8
  858. data/vendor/cmock/lib/cmock_generator_plugin_ignore.rb +15 -10
  859. data/vendor/cmock/lib/cmock_generator_plugin_ignore_arg.rb +4 -2
  860. data/vendor/cmock/lib/cmock_generator_plugin_ignore_stateless.rb +15 -10
  861. data/vendor/cmock/lib/cmock_generator_plugin_return_thru_ptr.rb +53 -3
  862. data/vendor/cmock/lib/cmock_generator_utils.rb +159 -43
  863. data/vendor/cmock/lib/cmock_header_parser.rb +217 -26
  864. data/vendor/cmock/lib/cmock_plugin_manager.rb +1 -1
  865. data/vendor/cmock/lib/cmock_unityhelper_parser.rb +7 -2
  866. data/vendor/cmock/lib/cmock_version.rb +1 -1
  867. data/vendor/cmock/scripts/create_makefile.rb +7 -5
  868. data/vendor/cmock/src/cmock.c +132 -129
  869. data/vendor/cmock/src/cmock.h +7 -13
  870. data/vendor/cmock/src/cmock_internals.h +73 -39
  871. data/vendor/cmock/test/c/TestCMockC.c +1 -7
  872. data/vendor/cmock/test/c/TestCMockC.yml +1 -1
  873. data/vendor/cmock/test/c/TestCMockCDynamic.c +1 -7
  874. data/vendor/cmock/test/c/TestCMockCDynamic.yml +1 -1
  875. data/vendor/cmock/test/c/TestCMockCDynamic_Runner.c +1 -7
  876. data/vendor/cmock/test/c/TestCMockC_Runner.c +1 -7
  877. data/vendor/cmock/{vendor/unity/test/targets/gcc_manual_math.yml → test/gcc_64_valgrind.yml} +8 -17
  878. data/vendor/cmock/test/iar/iar_v4/incIAR/AT91SAM7X-EK.h +1 -1
  879. data/vendor/cmock/test/iar/iar_v4/incIAR/AT91SAM7X256_inc.h +1 -1
  880. data/vendor/cmock/test/iar/iar_v4/incIAR/ioat91sam7x256.h +1 -1
  881. data/vendor/cmock/test/iar/iar_v4/srcIAR/Cstartup_SAM7.c +1 -1
  882. data/vendor/cmock/test/iar/iar_v5/incIAR/AT91SAM7X-EK.h +1 -1
  883. data/vendor/cmock/test/iar/iar_v5/incIAR/AT91SAM7X256_inc.h +1 -1
  884. data/vendor/cmock/test/iar/iar_v5/incIAR/project.h +1 -1
  885. data/vendor/cmock/test/iar/iar_v5/srcIAR/Cstartup_SAM7.c +1 -1
  886. data/vendor/cmock/test/project.yml +32 -0
  887. data/vendor/cmock/test/rakefile +74 -58
  888. data/vendor/cmock/test/rakefile_helper.rb +359 -152
  889. data/vendor/cmock/test/system/systest_generator.rb +2 -2
  890. data/vendor/cmock/test/system/test_compilation/callingconv.h +1 -7
  891. data/vendor/cmock/test/system/test_compilation/config.yml +10 -1
  892. data/vendor/cmock/test/system/test_compilation/const.h +7 -13
  893. data/vendor/cmock/test/system/test_compilation/inline.h +1 -2
  894. data/vendor/cmock/test/system/test_compilation/osek.h +1 -7
  895. data/vendor/cmock/test/system/test_compilation/parsing.h +37 -7
  896. data/vendor/cmock/test/system/test_interactions/all_plugins_but_other_limits.yml +5 -13
  897. data/vendor/cmock/test/system/test_interactions/all_plugins_coexist.yml +5 -5
  898. data/vendor/cmock/test/system/test_interactions/array_handling.yml +758 -0
  899. data/vendor/cmock/test/system/test_interactions/basic_expect_and_return.yml +2 -2
  900. data/vendor/cmock/test/system/test_interactions/char_string_array_plugin.yml +113 -0
  901. data/vendor/cmock/test/system/test_interactions/const_custom_type.yml +68 -0
  902. data/vendor/cmock/test/system/test_interactions/const_primitives_handling.yml +4 -3
  903. data/vendor/cmock/test/system/test_interactions/const_ptr_return_and_arg.yml +89 -0
  904. data/vendor/cmock/test/system/test_interactions/debug_output.yml +235 -0
  905. data/vendor/cmock/test/system/test_interactions/doesnt_leave_details_behind.yml +16 -16
  906. data/vendor/cmock/test/system/test_interactions/enforce_strict_ordering.yml +1 -1
  907. data/vendor/cmock/test/system/test_interactions/expect_and_return_custom_types.yml +1 -1
  908. data/vendor/cmock/test/system/test_interactions/expect_and_return_treat_as.yml +3 -3
  909. data/vendor/cmock/test/system/test_interactions/expect_and_throw.yml +1 -1
  910. data/vendor/cmock/test/system/test_interactions/expect_any_args.yml +1 -1
  911. data/vendor/cmock/test/system/test_interactions/fancy_pointer_handling.yml +3 -3
  912. data/vendor/cmock/test/system/test_interactions/function_pointer_handling.yml +1 -1
  913. data/vendor/cmock/test/system/test_interactions/ignore_and_return.yml +1 -1
  914. data/vendor/cmock/test/system/test_interactions/ignore_and_return_stateless.yml +1 -1
  915. data/vendor/cmock/test/system/test_interactions/ignore_strict_mock_calling.yml +1 -1
  916. data/vendor/cmock/test/system/test_interactions/newer_standards_stuff1.yml +1 -1
  917. data/vendor/cmock/test/system/test_interactions/nonstandard_parsed_stuff_1.yml +2 -2
  918. data/vendor/cmock/test/system/test_interactions/nonstandard_parsed_stuff_2.yml +7 -4
  919. data/vendor/cmock/test/system/test_interactions/out_of_memory.yml +65 -8
  920. data/vendor/cmock/test/system/test_interactions/parsing_challenges.yml +1 -1
  921. data/vendor/cmock/test/system/test_interactions/parsing_challenges_with_func_pointers.yml +88 -0
  922. data/vendor/cmock/test/system/test_interactions/pointer_handling.yml +465 -0
  923. data/vendor/cmock/test/system/test_interactions/{return_thru_ptr_and_expect_any_args.yml → return_thru_ptr_expect_any_args.yml} +9 -13
  924. data/vendor/cmock/test/system/test_interactions/return_thru_ptr_ignore.yml +142 -0
  925. data/vendor/cmock/test/system/test_interactions/return_thru_ptr_ignore_arg.yml +13 -9
  926. data/vendor/cmock/test/system/test_interactions/skeleton.yml +1 -1
  927. data/vendor/cmock/test/system/test_interactions/skeleton_update.yml +1 -1
  928. data/vendor/cmock/test/system/test_interactions/struct_union_enum_expect_and_return.yml +1 -1
  929. data/vendor/cmock/test/system/test_interactions/struct_union_enum_expect_and_return_with_plugins.yml +1 -1
  930. data/vendor/cmock/test/system/test_interactions/stubs_with_callbacks.yml +14 -2
  931. data/vendor/cmock/test/system/test_interactions/teardown_mock_calls.yml +57 -0
  932. data/vendor/cmock/test/system/test_interactions/teardown_mock_expectations.yml +59 -0
  933. data/vendor/cmock/test/system/test_interactions/unity_64bit_support.yml +1 -1
  934. data/vendor/cmock/test/system/test_interactions/unity_ignores.yml +1 -1
  935. data/vendor/cmock/test/system/test_interactions/unity_void_pointer_compare.yml +9 -9
  936. data/vendor/cmock/test/system/test_interactions/void_pointer_no_array_plugin.yml +133 -0
  937. data/vendor/cmock/test/system/test_interactions/void_pointer_treat_as_void_array_plugin.yml +102 -0
  938. data/vendor/cmock/test/system/test_interactions/volatile_pointer_handling.yml +291 -0
  939. data/vendor/cmock/test/system/test_interactions/wrong_expect_and_return.yml +9 -1
  940. data/vendor/cmock/test/targets/iar_arm.yml +14 -0
  941. data/vendor/cmock/test/targets/tiny.yml +36 -0
  942. data/vendor/cmock/test/test_helper.rb +1 -2
  943. data/vendor/cmock/test/unit/cmock_config_test.rb +1 -2
  944. data/vendor/cmock/test/unit/cmock_config_test.yml +1 -1
  945. data/vendor/cmock/test/unit/cmock_file_writer_test.rb +1 -1
  946. data/vendor/cmock/test/unit/cmock_generator_main_test.rb +6 -0
  947. data/vendor/cmock/test/unit/cmock_generator_no_error_stubs_plugin_array_test.rb +90 -0
  948. data/vendor/cmock/test/unit/cmock_generator_no_error_stubs_plugin_expect_any_args_test.rb +38 -0
  949. data/vendor/cmock/test/unit/cmock_generator_no_error_stubs_plugin_expect_test.rb +55 -0
  950. data/vendor/cmock/test/unit/cmock_generator_no_error_stubs_plugin_ignore_stateless_test.rb +42 -0
  951. data/vendor/cmock/test/unit/cmock_generator_no_error_stubs_plugin_ignore_test.rb +42 -0
  952. data/vendor/cmock/test/unit/cmock_generator_plugin_array_test.rb +63 -2
  953. data/vendor/cmock/test/unit/cmock_generator_plugin_callback_test.rb +24 -6
  954. data/vendor/cmock/test/unit/cmock_generator_plugin_cexception_test.rb +1 -1
  955. data/vendor/cmock/test/unit/cmock_generator_plugin_expect_a_test.rb +118 -2
  956. data/vendor/cmock/test/unit/cmock_generator_plugin_expect_any_args_test.rb +2 -2
  957. data/vendor/cmock/test/unit/cmock_generator_plugin_expect_b_test.rb +4 -2
  958. data/vendor/cmock/test/unit/cmock_generator_plugin_ignore_arg_test.rb +2 -1
  959. data/vendor/cmock/test/unit/cmock_generator_plugin_ignore_stateless_test.rb +2 -2
  960. data/vendor/cmock/test/unit/cmock_generator_plugin_ignore_test.rb +2 -2
  961. data/vendor/cmock/test/unit/cmock_generator_plugin_return_thru_ptr_test.rb +135 -3
  962. data/vendor/cmock/test/unit/cmock_generator_utils_test.rb +177 -9
  963. data/vendor/cmock/test/unit/cmock_header_parser_test.rb +705 -109
  964. data/vendor/cmock/test/unit/cmock_plugin_manager_test.rb +4 -2
  965. data/vendor/cmock/test/unit/cmock_unityhelper_parser_test.rb +1 -1
  966. data/vendor/cmock/vendor/unity/CMakeLists.txt +10 -0
  967. data/vendor/cmock/vendor/unity/LICENSE.txt +1 -1
  968. data/vendor/cmock/vendor/unity/README.md +2 -2
  969. data/vendor/cmock/vendor/unity/auto/__init__.py +1 -1
  970. data/vendor/cmock/vendor/unity/auto/colour_prompt.rb +1 -1
  971. data/vendor/cmock/vendor/unity/auto/colour_reporter.rb +7 -1
  972. data/vendor/cmock/vendor/unity/auto/extract_version.py +1 -1
  973. data/vendor/cmock/vendor/unity/auto/generate_config.yml +1 -1
  974. data/vendor/cmock/vendor/unity/auto/generate_module.rb +6 -6
  975. data/vendor/cmock/vendor/unity/auto/generate_test_runner.rb +95 -14
  976. data/vendor/cmock/vendor/unity/auto/parse_output.rb +10 -7
  977. data/vendor/cmock/vendor/unity/auto/stylize_as_junit.py +4 -3
  978. data/vendor/cmock/vendor/unity/auto/stylize_as_junit.rb +4 -2
  979. data/vendor/cmock/vendor/unity/auto/test_file_filter.rb +1 -1
  980. data/vendor/cmock/vendor/unity/auto/type_sanitizer.rb +1 -1
  981. data/vendor/cmock/vendor/unity/auto/unity_test_summary.py +2 -2
  982. data/vendor/cmock/vendor/unity/auto/unity_test_summary.rb +5 -2
  983. data/vendor/cmock/vendor/unity/auto/yaml_helper.rb +1 -1
  984. data/vendor/cmock/vendor/unity/docs/ThrowTheSwitchCodingStandard.md +2 -2
  985. data/vendor/cmock/vendor/unity/docs/UnityAssertionsReference.md +66 -1
  986. data/vendor/cmock/vendor/unity/docs/UnityChangeLog.md +41 -0
  987. data/vendor/cmock/vendor/unity/docs/UnityConfigurationGuide.md +2 -2
  988. data/vendor/cmock/vendor/unity/docs/UnityHelperScriptsGuide.md +28 -12
  989. data/vendor/cmock/vendor/unity/examples/example_1/makefile +1 -1
  990. data/vendor/cmock/vendor/unity/examples/example_1/src/ProductionCode.c +1 -1
  991. data/vendor/cmock/vendor/unity/examples/example_1/src/ProductionCode.h +1 -1
  992. data/vendor/cmock/vendor/unity/examples/example_1/src/ProductionCode2.c +1 -1
  993. data/vendor/cmock/vendor/unity/examples/example_1/src/ProductionCode2.h +1 -1
  994. data/vendor/cmock/vendor/unity/examples/example_1/test/TestProductionCode.c +1 -1
  995. data/vendor/cmock/vendor/unity/examples/example_1/test/TestProductionCode2.c +1 -1
  996. data/vendor/cmock/vendor/unity/examples/example_2/makefile +1 -1
  997. data/vendor/cmock/vendor/unity/examples/example_2/src/ProductionCode.c +1 -1
  998. data/vendor/cmock/vendor/unity/examples/example_2/src/ProductionCode.h +1 -1
  999. data/vendor/cmock/vendor/unity/examples/example_2/src/ProductionCode2.c +1 -1
  1000. data/vendor/cmock/vendor/unity/examples/example_2/src/ProductionCode2.h +1 -1
  1001. data/vendor/cmock/vendor/unity/examples/example_2/test/TestProductionCode.c +1 -1
  1002. data/vendor/cmock/vendor/unity/examples/example_2/test/TestProductionCode2.c +1 -1
  1003. data/vendor/cmock/vendor/unity/examples/example_2/test/test_runners/TestProductionCode2_Runner.c +1 -1
  1004. data/vendor/cmock/vendor/unity/examples/example_2/test/test_runners/TestProductionCode_Runner.c +1 -1
  1005. data/vendor/cmock/vendor/unity/examples/example_2/test/test_runners/all_tests.c +1 -1
  1006. data/vendor/cmock/vendor/unity/examples/example_3/helper/UnityHelper.c +1 -1
  1007. data/vendor/cmock/vendor/unity/examples/example_3/helper/UnityHelper.h +1 -1
  1008. data/vendor/cmock/vendor/unity/examples/example_3/project.yml +24 -0
  1009. data/vendor/cmock/vendor/unity/examples/example_3/rakefile.rb +2 -3
  1010. data/vendor/cmock/vendor/unity/examples/example_3/rakefile_helper.rb +107 -153
  1011. data/vendor/cmock/vendor/unity/examples/example_3/src/ProductionCode.c +3 -3
  1012. data/vendor/cmock/vendor/unity/examples/example_3/src/ProductionCode.h +1 -1
  1013. data/vendor/cmock/vendor/unity/examples/example_3/src/ProductionCode2.c +1 -1
  1014. data/vendor/cmock/vendor/unity/examples/example_3/src/ProductionCode2.h +1 -1
  1015. data/vendor/cmock/vendor/unity/examples/example_3/test/TestProductionCode.c +1 -1
  1016. data/vendor/cmock/vendor/unity/examples/example_3/test/TestProductionCode2.c +1 -1
  1017. data/vendor/cmock/vendor/unity/examples/example_4/src/ProductionCode.c +1 -1
  1018. data/vendor/cmock/vendor/unity/examples/example_4/src/ProductionCode.h +1 -1
  1019. data/vendor/cmock/vendor/unity/examples/example_4/src/ProductionCode2.c +1 -1
  1020. data/vendor/cmock/vendor/unity/examples/example_4/src/ProductionCode2.h +1 -1
  1021. data/vendor/cmock/vendor/unity/examples/example_4/test/TestProductionCode.c +1 -1
  1022. data/vendor/cmock/vendor/unity/examples/example_4/test/TestProductionCode2.c +1 -1
  1023. data/vendor/cmock/vendor/unity/examples/example_5/makefile +63 -0
  1024. data/vendor/cmock/vendor/unity/examples/example_5/readme.txt +38 -0
  1025. data/vendor/cmock/vendor/unity/examples/example_5/src/ProductionCode.c +56 -0
  1026. data/vendor/cmock/vendor/unity/examples/example_5/src/ProductionCode.h +16 -0
  1027. data/vendor/cmock/vendor/unity/examples/example_5/subprojects/unity.wrap +3 -0
  1028. data/vendor/cmock/vendor/unity/examples/example_5/test/TestProductionCode.c +45 -0
  1029. data/vendor/cmock/vendor/unity/examples/example_5/test/test_runners/TestProductionCode_Runner.c +48 -0
  1030. data/vendor/cmock/vendor/unity/examples/example_5/test/unity_detail_config.h +25 -0
  1031. data/vendor/cmock/vendor/unity/examples/unity_config.h +5 -3
  1032. data/vendor/cmock/vendor/unity/extras/bdd/src/unity_bdd.h +1 -1
  1033. data/vendor/cmock/vendor/unity/extras/bdd/test/test_bdd.c +1 -1
  1034. data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture.c +59 -15
  1035. data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture.h +1 -1
  1036. data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture_internals.h +4 -1
  1037. data/vendor/cmock/vendor/unity/extras/fixture/test/main/AllTests.c +1 -1
  1038. data/vendor/cmock/vendor/unity/extras/fixture/test/template_fixture_tests.c +1 -1
  1039. data/vendor/cmock/vendor/unity/extras/fixture/test/unity_fixture_Test.c +46 -1
  1040. data/vendor/cmock/vendor/unity/extras/fixture/test/unity_fixture_TestRunner.c +4 -1
  1041. data/vendor/cmock/vendor/unity/extras/memory/src/unity_memory.c +1 -1
  1042. data/vendor/cmock/vendor/unity/extras/memory/src/unity_memory.h +1 -1
  1043. data/vendor/cmock/vendor/unity/extras/memory/test/unity_memory_Test.c +1 -1
  1044. data/vendor/cmock/vendor/unity/extras/memory/test/unity_memory_TestRunner.c +1 -1
  1045. data/vendor/cmock/vendor/unity/extras/memory/test/unity_output_Spy.c +1 -1
  1046. data/vendor/cmock/vendor/unity/extras/memory/test/unity_output_Spy.h +1 -1
  1047. data/vendor/cmock/vendor/unity/library.json +0 -7
  1048. data/vendor/cmock/vendor/unity/meson.build +16 -8
  1049. data/vendor/cmock/vendor/unity/meson_options.txt +5 -3
  1050. data/vendor/cmock/vendor/unity/src/unity.c +480 -141
  1051. data/vendor/cmock/vendor/unity/src/unity.h +16 -4
  1052. data/vendor/cmock/vendor/unity/src/unity_internals.h +291 -148
  1053. data/vendor/cmock/vendor/unity/test/Makefile +4 -6
  1054. data/vendor/cmock/vendor/unity/test/rakefile +42 -21
  1055. data/vendor/cmock/vendor/unity/test/rakefile_helper.rb +154 -15
  1056. data/vendor/cmock/vendor/unity/test/spec/generate_module_existing_file_spec.rb +1 -1
  1057. data/vendor/cmock/vendor/unity/test/targets/clang.yml +157 -0
  1058. data/vendor/cmock/vendor/unity/test/targets/gcc.yml +139 -0
  1059. data/vendor/cmock/vendor/unity/test/targets/hitech_picc18.yml +9 -16
  1060. data/vendor/cmock/vendor/unity/test/targets/iar_arm.yml +88 -0
  1061. data/vendor/cmock/vendor/unity/test/targets/no_stdlib.yml +23 -0
  1062. data/vendor/cmock/vendor/unity/test/testdata/CException.h +1 -1
  1063. data/vendor/cmock/vendor/unity/test/testdata/Defs.h +1 -1
  1064. data/vendor/cmock/vendor/unity/test/testdata/cmock.h +1 -1
  1065. data/vendor/cmock/vendor/unity/test/testdata/mockMock.h +1 -1
  1066. data/vendor/cmock/vendor/unity/test/testdata/testRunnerGenerator.c +1 -1
  1067. data/vendor/cmock/vendor/unity/test/testdata/testRunnerGeneratorSmall.c +1 -1
  1068. data/vendor/cmock/vendor/unity/test/testdata/testRunnerGeneratorWithMocks.c +1 -1
  1069. data/vendor/cmock/vendor/unity/test/tests/self_assessment_utils.h +23 -7
  1070. data/vendor/cmock/vendor/unity/test/tests/test_generate_test_runner.rb +1 -4
  1071. data/vendor/cmock/vendor/unity/test/tests/test_unity_arrays.c +1 -1
  1072. data/vendor/cmock/vendor/unity/test/tests/test_unity_core.c +33 -38
  1073. data/vendor/cmock/vendor/unity/test/tests/test_unity_doubles.c +4 -4
  1074. data/vendor/cmock/vendor/unity/test/tests/test_unity_floats.c +15 -6
  1075. data/vendor/cmock/vendor/unity/test/tests/test_unity_integers.c +35 -1
  1076. data/vendor/cmock/vendor/unity/test/tests/test_unity_integers_64.c +1 -1
  1077. data/vendor/cmock/vendor/unity/test/tests/test_unity_memory.c +69 -1
  1078. data/vendor/cmock/vendor/unity/test/tests/test_unity_parameterized.c +5 -5
  1079. data/vendor/cmock/vendor/unity/test/tests/test_unity_parameterizedDemo.c +1 -1
  1080. data/vendor/cmock/vendor/unity/test/tests/test_unity_strings.c +65 -1
  1081. data/vendor/cmock/vendor/unity/test/tests/types_for_test.h +1 -1
  1082. data/vendor/unity/CMakeLists.txt +10 -0
  1083. data/vendor/unity/LICENSE.txt +1 -1
  1084. data/vendor/unity/README.md +2 -2
  1085. data/vendor/unity/auto/__init__.py +1 -1
  1086. data/vendor/unity/auto/colour_prompt.rb +1 -1
  1087. data/vendor/unity/auto/colour_reporter.rb +7 -1
  1088. data/vendor/unity/auto/extract_version.py +1 -1
  1089. data/vendor/unity/auto/generate_config.yml +1 -1
  1090. data/vendor/unity/auto/generate_module.rb +6 -6
  1091. data/vendor/unity/auto/generate_test_runner.rb +150 -19
  1092. data/vendor/unity/auto/parse_output.rb +10 -7
  1093. data/vendor/unity/auto/stylize_as_junit.py +4 -3
  1094. data/vendor/unity/auto/stylize_as_junit.rb +4 -2
  1095. data/vendor/unity/auto/test_file_filter.rb +1 -1
  1096. data/vendor/unity/auto/type_sanitizer.rb +1 -1
  1097. data/vendor/unity/auto/unity_test_summary.py +2 -2
  1098. data/vendor/unity/auto/unity_test_summary.rb +5 -2
  1099. data/vendor/unity/auto/yaml_helper.rb +1 -1
  1100. data/vendor/unity/docs/ThrowTheSwitchCodingStandard.md +2 -2
  1101. data/vendor/unity/docs/UnityAssertionsReference.md +66 -1
  1102. data/vendor/unity/docs/UnityChangeLog.md +41 -0
  1103. data/vendor/unity/docs/UnityConfigurationGuide.md +2 -2
  1104. data/vendor/unity/docs/UnityHelperScriptsGuide.md +28 -12
  1105. data/vendor/unity/examples/example_1/makefile +1 -1
  1106. data/vendor/unity/examples/example_1/src/ProductionCode.c +1 -1
  1107. data/vendor/unity/examples/example_1/src/ProductionCode.h +1 -1
  1108. data/vendor/unity/examples/example_1/src/ProductionCode2.c +1 -1
  1109. data/vendor/unity/examples/example_1/src/ProductionCode2.h +1 -1
  1110. data/vendor/unity/examples/example_1/test/TestProductionCode.c +1 -1
  1111. data/vendor/unity/examples/example_1/test/TestProductionCode2.c +1 -1
  1112. data/vendor/unity/examples/example_2/makefile +1 -1
  1113. data/vendor/unity/examples/example_2/src/ProductionCode.c +1 -1
  1114. data/vendor/unity/examples/example_2/src/ProductionCode.h +1 -1
  1115. data/vendor/unity/examples/example_2/src/ProductionCode2.c +1 -1
  1116. data/vendor/unity/examples/example_2/src/ProductionCode2.h +1 -1
  1117. data/vendor/unity/examples/example_2/test/TestProductionCode.c +1 -1
  1118. data/vendor/unity/examples/example_2/test/TestProductionCode2.c +1 -1
  1119. data/vendor/unity/examples/example_2/test/test_runners/TestProductionCode2_Runner.c +1 -1
  1120. data/vendor/unity/examples/example_2/test/test_runners/TestProductionCode_Runner.c +1 -1
  1121. data/vendor/unity/examples/example_2/test/test_runners/all_tests.c +1 -1
  1122. data/vendor/unity/examples/example_3/helper/UnityHelper.c +1 -1
  1123. data/vendor/unity/examples/example_3/helper/UnityHelper.h +1 -1
  1124. data/vendor/unity/examples/example_3/project.yml +24 -0
  1125. data/vendor/unity/examples/example_3/rakefile.rb +2 -3
  1126. data/vendor/unity/examples/example_3/rakefile_helper.rb +107 -153
  1127. data/vendor/unity/examples/example_3/src/ProductionCode.c +3 -3
  1128. data/vendor/unity/examples/example_3/src/ProductionCode.h +1 -1
  1129. data/vendor/unity/examples/example_3/src/ProductionCode2.c +1 -1
  1130. data/vendor/unity/examples/example_3/src/ProductionCode2.h +1 -1
  1131. data/vendor/unity/examples/example_3/test/TestProductionCode.c +1 -1
  1132. data/vendor/unity/examples/example_3/test/TestProductionCode2.c +1 -1
  1133. data/vendor/unity/examples/example_4/src/ProductionCode.c +1 -1
  1134. data/vendor/unity/examples/example_4/src/ProductionCode.h +1 -1
  1135. data/vendor/unity/examples/example_4/src/ProductionCode2.c +1 -1
  1136. data/vendor/unity/examples/example_4/src/ProductionCode2.h +1 -1
  1137. data/vendor/unity/examples/example_4/test/TestProductionCode.c +1 -1
  1138. data/vendor/unity/examples/example_4/test/TestProductionCode2.c +1 -1
  1139. data/vendor/unity/examples/example_5/makefile +63 -0
  1140. data/vendor/unity/examples/example_5/readme.txt +38 -0
  1141. data/vendor/unity/examples/example_5/src/ProductionCode.c +56 -0
  1142. data/vendor/unity/examples/example_5/src/ProductionCode.h +16 -0
  1143. data/vendor/unity/examples/example_5/subprojects/unity.wrap +3 -0
  1144. data/vendor/unity/examples/example_5/test/TestProductionCode.c +45 -0
  1145. data/vendor/unity/examples/example_5/test/test_runners/TestProductionCode_Runner.c +48 -0
  1146. data/vendor/unity/examples/example_5/test/unity_detail_config.h +25 -0
  1147. data/vendor/unity/examples/unity_config.h +5 -3
  1148. data/vendor/unity/extras/bdd/src/unity_bdd.h +1 -1
  1149. data/vendor/unity/extras/bdd/test/test_bdd.c +1 -1
  1150. data/vendor/unity/extras/fixture/src/unity_fixture.c +59 -15
  1151. data/vendor/unity/extras/fixture/src/unity_fixture.h +1 -1
  1152. data/vendor/unity/extras/fixture/src/unity_fixture_internals.h +4 -1
  1153. data/vendor/unity/extras/fixture/test/main/AllTests.c +1 -1
  1154. data/vendor/unity/extras/fixture/test/template_fixture_tests.c +1 -1
  1155. data/vendor/unity/extras/fixture/test/unity_fixture_Test.c +46 -1
  1156. data/vendor/unity/extras/fixture/test/unity_fixture_TestRunner.c +4 -1
  1157. data/vendor/unity/extras/memory/src/unity_memory.c +1 -1
  1158. data/vendor/unity/extras/memory/src/unity_memory.h +1 -1
  1159. data/vendor/unity/extras/memory/test/unity_memory_Test.c +1 -1
  1160. data/vendor/unity/extras/memory/test/unity_memory_TestRunner.c +1 -1
  1161. data/vendor/unity/extras/memory/test/unity_output_Spy.c +1 -1
  1162. data/vendor/unity/extras/memory/test/unity_output_Spy.h +1 -1
  1163. data/vendor/unity/library.json +0 -7
  1164. data/vendor/unity/meson.build +16 -8
  1165. data/vendor/unity/meson_options.txt +5 -3
  1166. data/vendor/unity/src/unity.c +480 -141
  1167. data/vendor/unity/src/unity.h +15 -3
  1168. data/vendor/unity/src/unity_internals.h +291 -148
  1169. data/vendor/unity/test/Makefile +4 -6
  1170. data/vendor/unity/test/rakefile +42 -21
  1171. data/vendor/unity/test/rakefile_helper.rb +154 -15
  1172. data/vendor/unity/test/spec/generate_module_existing_file_spec.rb +1 -1
  1173. data/vendor/unity/test/targets/clang.yml +157 -0
  1174. data/vendor/unity/test/targets/gcc.yml +139 -0
  1175. data/vendor/unity/test/targets/hitech_picc18.yml +9 -16
  1176. data/vendor/unity/test/targets/iar_arm.yml +88 -0
  1177. data/vendor/unity/test/targets/no_stdlib.yml +23 -0
  1178. data/vendor/unity/test/testdata/CException.h +1 -1
  1179. data/vendor/unity/test/testdata/Defs.h +1 -1
  1180. data/vendor/unity/test/testdata/cmock.h +1 -1
  1181. data/vendor/unity/test/testdata/mockMock.h +1 -1
  1182. data/vendor/unity/test/testdata/testRunnerGenerator.c +1 -1
  1183. data/vendor/unity/test/testdata/testRunnerGeneratorEmpty.c +13 -0
  1184. data/vendor/unity/test/testdata/testRunnerGeneratorSmall.c +1 -1
  1185. data/vendor/unity/test/testdata/testRunnerGeneratorWithMocks.c +1 -1
  1186. data/vendor/unity/test/tests/self_assessment_utils.h +23 -7
  1187. data/vendor/unity/test/tests/test_generate_test_runner.rb +12 -4
  1188. data/vendor/unity/test/tests/test_unity_arrays.c +1 -1
  1189. data/vendor/unity/test/tests/test_unity_core.c +33 -38
  1190. data/vendor/unity/test/tests/test_unity_doubles.c +4 -4
  1191. data/vendor/unity/test/tests/test_unity_floats.c +15 -6
  1192. data/vendor/unity/test/tests/test_unity_integers.c +35 -1
  1193. data/vendor/unity/test/tests/test_unity_integers_64.c +1 -1
  1194. data/vendor/unity/test/tests/test_unity_memory.c +69 -1
  1195. data/vendor/unity/test/tests/test_unity_parameterized.c +5 -5
  1196. data/vendor/unity/test/tests/test_unity_parameterizedDemo.c +1 -1
  1197. data/vendor/unity/test/tests/test_unity_strings.c +65 -1
  1198. data/vendor/unity/test/tests/types_for_test.h +1 -1
  1199. metadata +705 -178
  1200. data/docs/CeedlingPacket.md +0 -5651
  1201. data/lib/ceedling/build_batchinator.rb +0 -113
  1202. data/lib/ceedling/generator_test_results_backtrace.rb +0 -215
  1203. data/lib/ceedling/generator_test_runner.rb +0 -84
  1204. data/lib/ceedling/preprocessinator.rb +0 -239
  1205. data/lib/ceedling/preprocessinator_extractor.rb +0 -257
  1206. data/lib/ceedling/preprocessinator_file_handler.rb +0 -229
  1207. data/lib/ceedling/preprocessinator_includes_handler.rb +0 -382
  1208. data/lib/ceedling/task_invoker.rb +0 -70
  1209. data/lib/ceedling/test_invoker.rb +0 -506
  1210. data/lib/ceedling/test_invoker_helper.rb +0 -347
  1211. data/plugins/gcov/README.md +0 -893
  1212. data/plugins/gcov/lib/reportinator_helper.rb +0 -30
  1213. data/plugins/report_tests_log_factory/sample_html_report.png +0 -0
  1214. data/spec/configurator_spec.rb +0 -18
  1215. data/spec/generator_test_results_spec.rb +0 -131
  1216. data/spec/parsing_parcels_spec.rb +0 -66
  1217. data/spec/preprocessinator_includes_handler_spec.rb +0 -289
  1218. data/spec/reportinator_spec.rb +0 -26
  1219. data/spec/spec_helper.rb +0 -31
  1220. data/spec/test_context_extractor_spec.rb +0 -328
  1221. data/spec/uncategorized_specs_spec.rb +0 -15
  1222. data/vendor/cmock/examples/temp_sensor/targets/gcc.yml +0 -97
  1223. data/vendor/cmock/examples/temp_sensor/targets/iar_v4.yml +0 -143
  1224. data/vendor/cmock/examples/temp_sensor/targets/iar_v5.yml +0 -132
  1225. data/vendor/cmock/scripts/create_mock.rb +0 -15
  1226. data/vendor/cmock/scripts/create_runner.rb +0 -25
  1227. data/vendor/cmock/scripts/test_summary.rb +0 -25
  1228. data/vendor/cmock/test/system/test_interactions/array_and_pointer_handling.yml +0 -453
  1229. data/vendor/cmock/test/targets/clang_strict.yml +0 -97
  1230. data/vendor/cmock/test/targets/gcc.yml +0 -65
  1231. data/vendor/cmock/test/targets/gcc_64.yml +0 -65
  1232. data/vendor/cmock/test/targets/gcc_tiny.yml +0 -87
  1233. data/vendor/cmock/test/targets/iar_arm_v4.yml +0 -117
  1234. data/vendor/cmock/test/targets/iar_arm_v5.yml +0 -102
  1235. data/vendor/cmock/vendor/unity/examples/example_3/target_gcc_32.yml +0 -54
  1236. data/vendor/cmock/vendor/unity/test/targets/ansi.yml +0 -51
  1237. data/vendor/cmock/vendor/unity/test/targets/clang_file.yml +0 -79
  1238. data/vendor/cmock/vendor/unity/test/targets/clang_strict.yml +0 -79
  1239. data/vendor/cmock/vendor/unity/test/targets/gcc_32.yml +0 -52
  1240. data/vendor/cmock/vendor/unity/test/targets/gcc_64.yml +0 -53
  1241. data/vendor/cmock/vendor/unity/test/targets/gcc_auto_limits.yml +0 -50
  1242. data/vendor/cmock/vendor/unity/test/targets/gcc_auto_stdint.yml +0 -62
  1243. data/vendor/cmock/vendor/unity/test/targets/iar_arm_v4.yml +0 -105
  1244. data/vendor/cmock/vendor/unity/test/targets/iar_arm_v5.yml +0 -99
  1245. data/vendor/cmock/vendor/unity/test/targets/iar_arm_v5_3.yml +0 -99
  1246. data/vendor/cmock/vendor/unity/test/targets/iar_armcortex_LM3S9B92_v5_4.yml +0 -97
  1247. data/vendor/cmock/vendor/unity/test/targets/iar_cortexm3_v5.yml +0 -101
  1248. data/vendor/cmock/vendor/unity/test/targets/iar_msp430.yml +0 -119
  1249. data/vendor/cmock/vendor/unity/test/targets/iar_sh2a_v6.yml +0 -106
  1250. data/vendor/unity/auto/run_test.erb +0 -37
  1251. data/vendor/unity/examples/example_3/target_gcc_32.yml +0 -54
  1252. data/vendor/unity/test/targets/ansi.yml +0 -51
  1253. data/vendor/unity/test/targets/clang_file.yml +0 -79
  1254. data/vendor/unity/test/targets/clang_strict.yml +0 -79
  1255. data/vendor/unity/test/targets/gcc_32.yml +0 -52
  1256. data/vendor/unity/test/targets/gcc_64.yml +0 -53
  1257. data/vendor/unity/test/targets/gcc_auto_limits.yml +0 -50
  1258. data/vendor/unity/test/targets/gcc_auto_stdint.yml +0 -62
  1259. data/vendor/unity/test/targets/gcc_manual_math.yml +0 -50
  1260. data/vendor/unity/test/targets/iar_arm_v4.yml +0 -105
  1261. data/vendor/unity/test/targets/iar_arm_v5.yml +0 -99
  1262. data/vendor/unity/test/targets/iar_arm_v5_3.yml +0 -99
  1263. data/vendor/unity/test/targets/iar_armcortex_LM3S9B92_v5_4.yml +0 -97
  1264. data/vendor/unity/test/targets/iar_cortexm3_v5.yml +0 -101
  1265. data/vendor/unity/test/targets/iar_msp430.yml +0 -119
  1266. data/vendor/unity/test/targets/iar_sh2a_v6.yml +0 -106
@@ -0,0 +1,29 @@
1
+ # Overview
2
+
3
+ <div class="grid cards" markdown>
4
+
5
+ - :material-hammer-wrench: **[A Build System for C](build-system.md)**
6
+
7
+ ---
8
+
9
+ Generate a complete test and release build environment from a single
10
+ YAML file. Includes a minimal sample project configuration and an
11
+ explanation of Ceedling‘s design philosophy.
12
+
13
+ - :material-toolbox: **[Tools & Frameworks](tools-and-frameworks.md)**
14
+
15
+ ---
16
+
17
+ Ruby, Rake, YAML, Unity, and CMock explained — the pieces
18
+ that make Ceedling possible and how they fit together.
19
+
20
+ - :material-test-tube: **[Test Environments](test-environments.md)**
21
+
22
+ ---
23
+
24
+ Native host builds, emulator-based runs, and on-target execution —
25
+ choose the right test suite strategy for your project.
26
+
27
+ </div>
28
+
29
+ <br/><br/>
@@ -0,0 +1,33 @@
1
+ # Test Suite Execution Environments
2
+
3
+ **All your sweet, sweet test suite options**
4
+
5
+ Ceedling, Unity, and CMock help you create and run test suites using any
6
+ of the following approaches. For more on this topic, please see this
7
+ [handy dandy article][tts-which-build] and/or follow the links for each
8
+ item listed below.
9
+
10
+ [tts-which-build]: https://throwtheswitch.org/build/which
11
+
12
+ 1. **[Native][tts-build-native].** This option builds and runs code on your
13
+ host system.
14
+ * In the simplest case this means you are testing code that is intended
15
+ to run on the same sort of system as the test suite. Your test
16
+ compiler toolchain is the same as your release compiler toolchain.
17
+ * However, a native build can also mean your test compiler is different
18
+ than your release compiler. With some thought and effort, code for
19
+ another platform can be tested on your host system. This is often
20
+ the best approach for embedded and other specialized development.
21
+ 1. **[Emulator][tts-build-cross].** In this option, you build your test code with your target's
22
+ toolchain, and then run the test suite using an emulator provided for
23
+ that target. This is a good option for embedded and other specialized
24
+ development — if an emulator is available.
25
+ 1. **[On target][tts-build-cross].** The Ceedling bundle of tools can create test suites that
26
+ run on a target platform directly. Particularly in embedded development
27
+ — believe it or not — this is often the option of last resort. That is,
28
+ you should probably go with the other options in this list.
29
+
30
+ [tts-build-cross]: https://throwtheswitch.org/build/cross
31
+ [tts-build-native]: https://throwtheswitch.org/build/native
32
+
33
+ <br/><br/>
@@ -0,0 +1,115 @@
1
+ # So Many Tools and Acronyms
2
+
3
+ **Hold on. Back up. Unity? CMock? CException? Ruby? Rake? YAML?**
4
+
5
+ ## Ceedling suite frameworks
6
+
7
+ ### Unity
8
+
9
+ [Unity] is a [unit test framework][unit-testing] for C. It provides facilities
10
+ for test assertions, executing tests, and collecting / reporting test
11
+ results. Unity derives its name from its implementation in a single C
12
+ source file (plus two C header files) and from the nature of its
13
+ implementation - Unity will build in any C toolchain and is configurable
14
+ for even the very minimalist of processors.
15
+
16
+ [Unity]: http://github.com/ThrowTheSwitch/Unity
17
+ [unit-testing]: http://en.wikipedia.org/wiki/Unit_testing
18
+
19
+ ### CMock
20
+
21
+ [CMock]<sup>†</sup> is a tool written in Ruby able to generate [function mocks & stubs][test-doubles]
22
+ in C code from a given C header file. Mock functions are invaluable in
23
+ [interaction-based unit testing][interaction-based-tests].
24
+ CMock's generated C code uses Unity.
25
+
26
+ <sup>†</sup> Through a [plugin][FFF-plugin], Ceedling also supports
27
+ [FFF], _Fake Function Framework_, for [fake functions][test-doubles] as an
28
+ alternative to CMock's mocks and stubs.
29
+
30
+ [CMock]: http://github.com/ThrowTheSwitch/CMock
31
+ [test-doubles]: https://blog.pragmatists.com/test-doubles-fakes-mocks-and-stubs-1a7491dfa3da
32
+ [FFF]: https://github.com/meekrosoft/fff
33
+ [FFF-plugin]: ../plugins/fff.md
34
+ [interaction-based-tests]: http://martinfowler.com/articles/mocksArentStubs.html
35
+
36
+ ### CException
37
+
38
+ [CException] is a C source and header file that provide a simple
39
+ [exception mechanism][exn] for C by way of wrapping up the
40
+ [setjmp / longjmp][setjmp] standard library calls. Exceptions are a much
41
+ cleaner and preferable alternative to managing and passing error codes
42
+ up your return call trace.
43
+
44
+ [CException]: http://github.com/ThrowTheSwitch/CException
45
+ [exn]: http://en.wikipedia.org/wiki/Exception_handling
46
+ [setjmp]: http://en.wikipedia.org/wiki/Setjmp.h
47
+
48
+ ## Core tools
49
+
50
+ ### Ruby
51
+
52
+ [Ruby] is a handy scripting language like Perl or Python. It's a modern,
53
+ full featured language that happens to be quite handy for accomplishing
54
+ tasks like code generation or automating one's workflow while developing
55
+ in a compiled language such as C.
56
+
57
+ [Ruby]: http://www.ruby-lang.org/en/
58
+
59
+ ### Rake
60
+
61
+ !!! warning "Migrating away from Rake"
62
+ Ceedling would not exist today if not for the help Rake provided to
63
+ get off the ground. As Ceedling matured it became apparent that
64
+ Rake had become a limitation. The project is slowly removing its
65
+ dependency on Rake.
66
+
67
+ [Rake] is a utility written in Ruby for accomplishing dependency
68
+ tracking and task automation common to building software. It's a modern,
69
+ more flexible replacement for [Make].
70
+
71
+ Rakefiles are Ruby files, but they contain build targets similar
72
+ in nature to that of Makefiles (but you can also run Ruby code in
73
+ your Rakefile).
74
+
75
+ [Rake]: http://rubyrake.org/
76
+ [Make]: http://en.wikipedia.org/wiki/Make_(software)
77
+
78
+ ### YAML
79
+
80
+ [YAML] is a "human friendly data serialization standard for all
81
+ programming languages." It's kinda like a markup language but don't
82
+ call it that. With a YAML library, you can [serialize] data structures
83
+ to and from the file system in a textual, human readable form. Ceedling
84
+ uses a serialized data structure as its configuration input.
85
+
86
+ YAML has some advanced features that can greatly
87
+ [reduce duplication][yaml-anchors-aliases] in a configuration file
88
+ needed in complex projects. YAML anchors and aliases are beyond the scope
89
+ of this document but may be of use to advanced Ceedling users. Note that
90
+ Ceedling does anticipate the use of YAML aliases. It proactively flattens
91
+ YAML lists to remove any list nesting that results from the convenience of
92
+ aliasing one list inside another.
93
+
94
+ [YAML]: http://en.wikipedia.org/wiki/Yaml
95
+ [serialize]: http://en.wikipedia.org/wiki/Serialization
96
+ [yaml-anchors-aliases]: https://blog.daemonl.com/2016/02/yaml.html
97
+
98
+ ---
99
+
100
+ ## Dependencies and Bundled Tools
101
+
102
+ * By using the preferred installation options of the Ruby Ceedling gem or
103
+ the prepackaged Docker images, all Ceedling dependencies will be installed
104
+ for you. (See [installation section](../getting-started/installation.md).)
105
+
106
+ * Regardless of installation method, Unity, CMock, and CException are bundled
107
+ with Ceedling. Ceedling is designed to glue them all together for your
108
+ project as seamlessly as possible.
109
+
110
+ * YAML support is included with Ruby. It requires no special installation
111
+ or configuration. If your project file contains properly formatted YAML
112
+ with the recognized names and options (see later sections), you are good
113
+ to go.
114
+
115
+ <br/><br/>
@@ -1,13 +1,13 @@
1
- # Ceedling Plugin: Beep
1
+ # Beep
2
2
 
3
3
  Hear a useful beep at the end of a build.
4
4
 
5
- # Plugin Overview
5
+ ## Plugin Overview
6
6
 
7
7
  Are you getting too distracted surfing the internet, chatting with coworkers, or swordfighting while a long build runs? A friendly beep will let you know
8
8
  it's time to pay attention again.
9
9
 
10
- # Setup
10
+ ## Setup
11
11
 
12
12
  To use this plugin, it must be enabled:
13
13
 
@@ -17,14 +17,14 @@ To use this plugin, it must be enabled:
17
17
  - beep
18
18
  ```
19
19
 
20
- # Configuration
20
+ ## Configuration
21
21
 
22
22
  Beep includes a default configuration. By just enabling the plugin, the simplest cross-platform sound mechanism (`:bell` below) is automatically enabled for both
23
23
  build completion and build error events.
24
24
 
25
25
  If you would like to customize your beeps, the following explains your options.
26
26
 
27
- ## Events
27
+ ### Events
28
28
 
29
29
  When this plugin is enabled, a beep is sounded when:
30
30
 
@@ -33,7 +33,7 @@ When this plugin is enabled, a beep is sounded when:
33
33
 
34
34
  To change the default sound for each event, define `:on_done` and `:on_error` beneath a top-level `:beep` entry in your configuration file. See example below.
35
35
 
36
- ## Sound options
36
+ ### Sound options
37
37
 
38
38
  The following options are fixed. At present, this plugin does not expose customization settings.
39
39
 
@@ -77,7 +77,7 @@ The following options are fixed. At present, this plugin does not expose customi
77
77
 
78
78
  [say]: https://ss64.com/mac/say.html
79
79
 
80
- ## Adding arguments to a beep tool
80
+ ### Adding arguments to a beep tool
81
81
 
82
82
  Each of the sound options above map to a command line tool that Ceedling executes.
83
83
 
@@ -93,7 +93,7 @@ To add additional arguments, a feature of Ceedling's project file handling allow
93
93
  - ... # Add any aguments as a list of strings
94
94
  ```
95
95
 
96
- ## Example beep configurations in YAML
96
+ ### Example beep configurations in YAML
97
97
 
98
98
  Enabling the plugin and event handlers with beep tool selections:
99
99
 
@@ -127,7 +127,8 @@ Adding an argument to a beep tool:
127
127
 
128
128
  ```
129
129
 
130
- # Notes
130
+ ## Notes
131
131
 
132
132
  * Some terminal emulators intercept and/or silence beeps. Remote terminal sessions can add further complication. Be sure to check relevant configuration options to accomplish what you want.
133
133
 
134
+ <br/><br/>
@@ -1,19 +1,19 @@
1
- Bullseye Code Coverage Plugin
2
- =============================
3
-
4
- # June 1, 2024 Bullseye Plugin Disabled
5
-
6
- Until the Bullseye Plugin can be updated for compatibility with Ceedling >= 1.0.0,
7
- it has been disabled.
8
-
9
- (The key hurdle is access to a license for the proprietary Bullseye coverage tooling.)
10
-
11
- # Plugin Overview
1
+ # Bullseye
12
2
 
13
3
  Plugin for integrating Bullseye code coverage tool into Ceedling projects.
14
4
  This plugin requires a working license to Bullseye code coverage tools. The tools
15
5
  must be within the path or the path should be added to the environment in the
16
- `project.yml file`.
6
+ project configuration.
7
+
8
+ !!! warning "Bullseye Plugin Disabled"
9
+ [June 1, 2024] Until the Bullseye Plugin can be updated for compatibility
10
+ with Ceedling >= 1.0.0, it has been disabled.
11
+
12
+ !!! note
13
+ The Bullseye plugin creates a duplicate test build with `bullseye:`
14
+ command line plugin tasks. [This is intentional and needed](index.md#understanding-plugin-build-duplication).
15
+
16
+ ---
17
17
 
18
18
  ## Configuration
19
19
 
@@ -79,3 +79,5 @@ by Ceedling. The following is a typical configuration example:
79
79
  ```sh
80
80
  ceedling bullseye:all utils:bullseye
81
81
  ```
82
+
83
+ <br/><br/>
@@ -1,12 +1,12 @@
1
- # Ceedling Plugin: Command Hooks
1
+ # Command Hooks
2
2
 
3
3
  Easily run command line tools and scripts at various points in a Ceedling build.
4
4
 
5
- # Plugin Overview
5
+ ## Plugin Overview
6
6
 
7
- This plugin allows you to skip creating a full Ceedling plugin for many common use cases. It links Ceedling's programmatic `Plugin` code hooks to easily managed tool definitions.
7
+ This plugin allows you to skip creating a full Ceedling plugin for many common use cases. It links Ceedlings programmatic `Plugin` code hooks to easily managed tool definitions.
8
8
 
9
- # Setup
9
+ ## Setup
10
10
 
11
11
  To use this plugin, it must be enabled:
12
12
 
@@ -16,9 +16,9 @@ To use this plugin, it must be enabled:
16
16
  - command_hooks
17
17
  ```
18
18
 
19
- # Configuration
19
+ ## Configuration
20
20
 
21
- ## Overview
21
+ ### Overview
22
22
 
23
23
  To connect utilties or scripts to build step hooks, Ceedling tools must be defined.
24
24
 
@@ -26,7 +26,7 @@ A Ceedling tool is just a YAML blob that gathers together a handful of settings
26
26
 
27
27
  Example Ceedling tools follow. When enabled, this plugin ensures any tools you define are executed by the corresponding build step hook they are organized beneath. The configurtion of enabled hooks and tools happens in a top-level `:command_hooks:` block within your project configuration. One or more tools can be attached to a build step hook.
28
28
 
29
- ## Tool lists
29
+ ### Tool lists
30
30
 
31
31
  A command hook can execute one or more tools.
32
32
 
@@ -36,15 +36,17 @@ If multiple tools are needed, they must be organized as entries in a YAML list.
36
36
 
37
37
  See the commented examples below.
38
38
 
39
- ## Tool definitions
39
+ ### Tool definitions
40
40
 
41
- Each Ceedling tool requires an `:executable` string and an optional `:arguments` list. See _[CeedlingPacket][ceedling-packet]_ documentation for project configuration [`:tools`][tools-doc] entries to understand how to craft your argument list and other tool options.
41
+ Each Ceedling tool requires an `:executable` string and an optional `:arguments` list. See the [`:tools` configuration reference][tools-doc] to understand how to craft your argument list and other tool options.
42
42
 
43
- At present, this plugin passes at most one runtime parameter for use in a hook's tool argument list. If available, this parameter can be referenced with a Ceedling tool argument expansion identifier `${1}`. That is, wherever you place `${1}` in your tool argument list, `${1}` will expand in the command line Ceedling constructs with the parameter this plugin provides for that build step hook. The list of build steps hooks below document any single parameters they provide at execution.
43
+ This plugin passes one or two runtime parameters for use in a hooks tool argument list depending on the hook. These parameters are referenced with Ceedling tool argument expansion identifiers `${1}`, `${2}`, etc. Wherever you place `${1}` or `${2}` in your tool argument list, they expand in the command line Ceedling constructs with the parameters this plugin provides for that build step hook. The list of build step hooks below documents which parameters are available for each hook.
44
44
 
45
- [tools-doc]: https://github.com/ThrowTheSwitch/Ceedling/blob/test/ceedling_0_32_rc/docs/CeedlingPacket.md#tools-configuring-command-line-tools-used-for-build-steps
45
+ Each tool may optionally include a `:name` — a simple nickname used in log and error messages. If omitted, the plugin forms a default name from the hook’s key (e.g. `pre_mock_generate`). For a hook configured with a list of tools, the default name additionally includes the tool’s position in the list (e.g. `post_link_execute_0`, `post_link_execute_1`). See the commented examples below.
46
46
 
47
- ## Hook logging
47
+ [tools-doc]: ../configuration/reference/tools.md
48
+
49
+ ### Hook logging
48
50
 
49
51
  In addition to the standard Ceedling tool definition elements, a hook configuration entry may optionally include a `:logging` setting.
50
52
 
@@ -56,7 +58,7 @@ When logging is enabled and logging conditions are appropriate, any output from
56
58
  * Debug logging naturally displays hook output as part of normal tool execution logging. It is not duplicated by hook logging.
57
59
  * At Normal verbosity, blank hook output is not logged at all; Obnoxious verbosity will display blank output as `<empty>`.
58
60
 
59
- ## Command Hooks example configuration YAML
61
+ ### Command Hooks example configuration YAML
60
62
 
61
63
  ```yaml
62
64
  :command_hooks:
@@ -65,6 +67,7 @@ When logging is enabled and logging conditions are appropriate, any output from
65
67
  :pre_mock_generate:
66
68
  # This tool is organized as a sub-hash beneath the command hook key
67
69
  :executable: python
70
+ :name: 'mock prep script' # Explicit nickname used in log/error messages
68
71
  :arguments:
69
72
  - my_script.py
70
73
  - --some-arg
@@ -74,22 +77,24 @@ When logging is enabled and logging conditions are appropriate, any output from
74
77
  # Hook called for each linking operation
75
78
  # Here, we are performing two tasks for the same build step hook, converting a
76
79
  # binary executable to S-record format and, then, archiving with other artifacts.
80
+ # Neither tool below is given a :name -- the plugin defaults them to
81
+ # "post_link_execute_0" and "post_link_execute_1"
77
82
  :post_link_execute:
78
83
  # These tools are organized in a YAML list beneath the command hook key
79
84
  - :executable: objcopy.exe
80
85
  :arguments:
81
- - ${1} # Replaced with the filepath to the linker's binary artifact output
86
+ - ${1} # Replaced with the filepath to the linkers binary artifact output
82
87
  - output.srec
83
88
  - --strip-all
84
89
  - :executable:
85
90
  :arguments: tar.exe
86
91
  - -acf
87
92
  - awesome_build.zip
88
- - ${1} # Replaced with the filepath to the linker's binary artifact output
93
+ - ${1} # Replaced with the filepath to the linkers binary artifact output
89
94
  - memory_report.txt
90
95
  ```
91
96
 
92
- # Available Build Step Hooks
97
+ ## Available Build Step Hooks
93
98
 
94
99
  Define any of the following entries within a top-level `:command_hooks:` section of your Ceedling project file to automagically connect utilities or scripts to build process steps.
95
100
 
@@ -98,144 +103,166 @@ Some hooks are called for every file-related operation for which the hook is nam
98
103
  As an example, consider a Ceedling project with ten test files and seventeen mocks. The command line `ceedling test:all` would trigger:
99
104
 
100
105
  * 1 occurrence of the `:pre_build` hook.
106
+ * 1 occurrence of the `:pre_test_build` hook.
101
107
  * 10 occurrences of the `:pre_test` and `:post_test` hooks.
102
108
  * 17 occurrences of the `:pre_mock_generate` and `:post_mock_generate` hooks.
103
109
  * 10 occurrences of the `:pre_test_runner_generate` and `:post_test_runner_generate` hooks.
104
- * 27(+) occurrences of the `:pre_compile` and `:post_compile` hooks. These hooks would be called 27 times for test file and mock file compilation. A test suite build will also include compilation of the source files under tests, Unity's source, CMock's source, and generated test runner C files -- easily more than another two dozen compilation hook calls.
110
+ * 27(+) occurrences of the `:pre_compile` and `:post_compile` hooks. These hooks would be called 27 times for test file and mock file compilation. A test suite build will also include compilation of the source files under tests, Unitys source, CMocks source, and generated test runner C files -- easily more than another two dozen compilation hook calls.
105
111
  * 10 occurrences of the `:pre_link` and `:post_link` hooks for test executable creation.
106
- * 10 occurences of the `:pre_test_fixture_execute` and `:post_test_fixture_execute` hooks for running test executables and gathering the results of the tests cases they contain.
107
- * 1 occurence of the `:post_build` hook unless a build error occurred (`:post_error` would be called isntead).
112
+ * 10 occurrences of the `:pre_test_fixture_execute` and `:post_test_fixture_execute` hooks for running test executables and gathering the results of the tests cases they contain.
113
+ * 1 occurrence of the `:post_test_build` hook.
114
+ * 1 occurrence of the `:post_build` hook unless a build error occurred (`:post_error` would be called instead).
108
115
 
109
- ## `:pre_build`
116
+ ### `:pre_build`
110
117
 
111
118
  Called once just before Ceedling executes any tasks.
112
119
 
113
- No parameters are provided for a tool's argument list when the hook is called.
120
+ The parameter available to a tool (`${1}`) when the hook is called is a floating-point stopwatch value in seconds. This value and the corresponding `post_build` value can be used to compute the total build duration.
114
121
 
115
- ## `:post_build`
122
+ ### `:post_build`
116
123
 
117
- Called once just before Ceedling terminates.
124
+ Called once just before Ceedling terminates after a successful build.
118
125
 
119
- No parameters are provided for a tool's argument list when the hook is called.
126
+ The parameter available to a tool (`${1}`) when the hook is called is a floating-point stopwatch value in seconds. This value and the corresponding `pre_build` value can be used to compute the total build duration.
120
127
 
121
- ## `:post_error`
128
+ ### `:post_error`
122
129
 
123
130
  Called once just after any build failure and just before Ceedling terminates.
124
131
 
125
- No parameters are provided for a tool's argument list when the hook is called.
132
+ The parameter available to a tool (`${1}`) when the hook is called is a floating-point stopwatch value in seconds at the moment the error is handled.
126
133
 
127
- ## `:pre_test`
134
+ ### `:pre_test`
128
135
 
129
136
  Called just before each test begins its build pipeline and just after all context for that build has been gathered.
130
137
 
131
- The parameter available to a tool (`${1}`) when the hook is called is the test's filepath.
138
+ The parameter available to a tool (`${1}`) when the hook is called is the tests filepath.
132
139
 
133
- ## `:post_test`
140
+ ### `:post_test`
134
141
 
135
142
  Called just after each test completes its build and execution.
136
143
 
137
- The parameter available to a tool (`${1}`) when the hook is called is the test's filepath.
144
+ The parameter available to a tool (`${1}`) when the hook is called is the tests filepath.
145
+
146
+ ### `:pre_test_build`
147
+
148
+ Called once just before the full test build pipeline begins (before any individual test’s configure, preprocess, compile, link, or execute steps).
149
+
150
+ Two parameters are available to a tool when the hook is called:
151
+
152
+ * `${1}` — the build context as a string (e.g. `"test"`, `"gcov"`).
153
+ * `${2}` — a floating-point stopwatch value in seconds. This value and the corresponding `post_test_build` value can be used to compute the total test build duration.
138
154
 
139
- ## `:pre_release`
155
+ ### `:post_test_build`
156
+
157
+ Called once just after the full test build pipeline completes or terminates (including on error).
158
+
159
+ Two parameters are available to a tool when the hook is called:
160
+
161
+ * `${1}` — the build context as a string (e.g. `"test"`, `"gcov"`).
162
+ * `${2}` — a floating-point stopwatch value in seconds. This value and the corresponding `pre_test_build` value can be used to compute the total test build duration.
163
+
164
+ ### `:pre_release_build`
140
165
 
141
166
  Called once just before a release build begins.
142
167
 
143
- No parameters are provided for a tool's argument list when the hook is called.
168
+ The parameter available to a tool (`${1}`) when the hook is called is a floating-point stopwatch value in seconds. This value and the corresponding `post_release_build` value can be used to compute the total release build duration.
144
169
 
145
- ## `:post_release`
170
+ ### `:post_release_build`
146
171
 
147
- Called once just after a release build finishes.
172
+ Called once just after a release build finishes or terminates (including on error).
148
173
 
149
- No parameters are provided for a tool's argument list when the hook is called.
174
+ The parameter available to a tool (`${1}`) when the hook is called is a floating-point stopwatch value in seconds. This value and the corresponding `pre_release_build` value can be used to compute the total release build duration.
150
175
 
151
- ## `:pre_mock_preprocess`
176
+ ### `:pre_mock_preprocess`
152
177
 
153
178
  If mocks are enabled and preprocessing is in use, this is called just before each header file to be mocked is preprocessed.
154
179
 
155
180
  The parameter available to a tool (`${1}`) when the hook is called is the filepath of the header file to be mocked.
156
181
 
157
- See _[CeedlingPacket][ceedling-packet]_ for details on how Ceedling preprocessing operates.
182
+ See [_Conventions & Behaviors_][preprocessing] for details on how Ceedling preprocessing operates.
158
183
 
159
- [ceedling-packet]: ../docs/CeedlingPacket.md
184
+ [preprocessing]: ../testing-guide/conventions.md#test-preprocessing
160
185
 
161
- ## `:post_mock_preprocess`
186
+ ### `:post_mock_preprocess`
162
187
 
163
188
  If mocks are enabled and preprocessing is in use, this is called just after each header file to be mocked is preprocessed.
164
189
 
165
190
  The parameter available to a tool (`${1}`) when the hook is called is the filepath of the header file to be mocked.
166
191
 
167
- ## `:pre_mock_generate`
192
+ ### `:pre_mock_generate`
168
193
 
169
194
  If mocks are enabled, this is called just before each header file to be mocked is processed by mock generation.
170
195
 
171
196
  The parameter available to a tool (`${1}`) when the hook is called is the filepath of the header file to be mocked.
172
197
 
173
- ## `:post_mock_generate`
198
+ ### `:post_mock_generate`
174
199
 
175
200
  If mocks are enabled, this is called just after each mock generation.
176
201
 
177
202
  The parameter available to a tool (`${1}`) when the hook is called is the filepath of the header file to be mocked.
178
203
 
179
- ## `:pre_test_preprocess`
204
+ ### `:pre_test_preprocess`
180
205
 
181
206
  If preprocessing is in use, this is called just before each test file is preprocessed before runner generation.
182
207
 
183
- The parameter available to a tool (`${1}`) when the hook is called is the test's filepath.
208
+ The parameter available to a tool (`${1}`) when the hook is called is the tests filepath.
184
209
 
185
- See _[CeedlingPacket][ceedling-packet]_ for details on how Ceedling preprocessing operates.
210
+ See [_Conventions & Behaviors_][preprocessing] for details on how Ceedling preprocessing operates.
186
211
 
187
- ## `:post_test_preprocess`
212
+ ### `:post_test_preprocess`
188
213
 
189
214
  If preprocessing is in use, this is called just after each test file is preprocessed.
190
215
 
191
- The parameter available to a tool (`${1}`) when the hook is called is the test's filepath.
216
+ The parameter available to a tool (`${1}`) when the hook is called is the tests filepath.
192
217
 
193
- See _[CeedlingPacket][ceedling-packet]_ for details on how Ceedling preprocessing operates.
218
+ See [_Conventions & Behaviors_][preprocessing] for details on how Ceedling preprocessing operates.
194
219
 
195
- ## `:pre_runner_generate`
220
+ ### `:pre_runner_generate`
196
221
 
197
222
  Called just before each test file is processed by test runner generation.
198
223
 
199
- The parameter available to a tool (`${1}`) when the hook is called is the test's filepath.
224
+ The parameter available to a tool (`${1}`) when the hook is called is the tests filepath.
200
225
 
201
- ## `:post_runner_generate`
226
+ ### `:post_runner_generate`
202
227
 
203
228
  Called just after each test runner is generated.
204
229
 
205
- The parameter available to a tool (`${1}`) when the hook is called is the test's filepath.
230
+ The parameter available to a tool (`${1}`) when the hook is called is the tests filepath.
206
231
 
207
- ## `:pre_compile_execute`
232
+ ### `:pre_compile_execute`
208
233
 
209
234
  Called just before each C or assembly file is compiled.
210
235
 
211
236
  The parameter available to a tool (`${1}`) when the hook is called is the filepath of the file to be compiled.
212
237
 
213
- ## `:post_compile_execute`
238
+ ### `:post_compile_execute`
214
239
 
215
240
  Called just after each file compilation.
216
241
 
217
242
  The parameter available to a tool (`${1}`) when the hook is called is the filepath of the input file that was compiled.
218
243
 
219
- ## `:pre_link_execute`
244
+ ### `:pre_link_execute`
220
245
 
221
246
  Called just before any binary artifact—test or release—is linked.
222
247
 
223
- The parameter available to a tool (`${1}`) when the hook is called is the binary output artifact's filepath.
248
+ The parameter available to a tool (`${1}`) when the hook is called is the binary output artifacts filepath.
224
249
 
225
- ## `:post_link_execute`
250
+ ### `:post_link_execute`
226
251
 
227
252
  Called just after a binary artifact is linked.
228
253
 
229
- The parameter available to a tool (`${1}`) when the hook is called is the binary output artifact's filepath.
254
+ The parameter available to a tool (`${1}`) when the hook is called is the binary output artifacts filepath.
230
255
 
231
- ## `:pre_test_fixture_execute`
256
+ ### `:pre_test_fixture_execute`
232
257
 
233
258
  Called just before each test is executed in its corresponding test fixture.
234
259
 
235
260
  The parameter available to a tool (`${1}`) when the hook is called is the filepath of the binary artifact to be executed by the fixture.
236
261
 
237
- ## `:post_test_fixture_execute`
262
+ ### `:post_test_fixture_execute`
238
263
 
239
- Called just after each test's fixture is executed and test results are collected.
264
+ Called just after each tests fixture is executed and test results are collected.
240
265
 
241
266
  The parameter available to a tool (`${1}`) when the hook is called is the filepath of the binary artifact that was executed by the fixture.
267
+
268
+ <br/><br/>
@@ -1,8 +1,8 @@
1
- # Ceedling Plugin: JSON Compilation Database
1
+ # JSON Compilation Database
2
2
 
3
3
  Language Server Protocol (LSP) support for Clang tooling.
4
4
 
5
- # Background
5
+ ## Background
6
6
 
7
7
  Syntax highlighting and code completion are hard. Historically each editor or IDE has implemented their own and then competed amongst themselves to offer the best experience for developers. Good syntax highlighting can be so valuable as to outweigh the consideration of alternate editors. If implementing sytnax highlighting and related features in a tool is hard for one language — and it is — imagine doing it for dozens of them. Further, on the flip side, imagine the complexities involved for a developer working with multiple languages at once.
8
8
 
@@ -12,7 +12,7 @@ In June of 2016, Microsoft with Red Hat and Codenvy got together to create the [
12
12
  [lsp-community]: https://langserver.org/
13
13
  [lsp-tools]: https://microsoft.github.io/language-server-protocol/implementors/tools/
14
14
 
15
- # Plugin Overview
15
+ ## Plugin Overview
16
16
 
17
17
  For C and C++ projects, perhaps the most popular LSP server is the [`clangd`][clangd] backend. In order to provide features like _go to definition_, `clangd` needs to understand how to build a project so that it can discover all the pieces to the puzzle. Because of the various flavors of builds Ceedling supports and especially because of the complexities of test suite builds, components of a build can easily go missing from the view of `clangd`.
18
18
 
@@ -23,7 +23,7 @@ Once enabled, this plugin generates the database as `<build root>/artifacts/comp
23
23
  [clangd]: https://clangd.llvm.org
24
24
  [json-compilation-database]: https://clang.llvm.org/docs/JSONCompilationDatabase.html
25
25
 
26
- # Setup
26
+ ## Setup
27
27
 
28
28
  Enable the plugin in your Ceedling project file by adding `compile_commands_json_db` to the list of enabled plugins.
29
29
 
@@ -33,8 +33,10 @@ Enable the plugin in your Ceedling project file by adding `compile_commands_json
33
33
  - compile_commands_json_db
34
34
  ```
35
35
 
36
- # Configuration
36
+ ## Configuration
37
37
 
38
38
  There is no additional configuration necessary to run this plugin.
39
39
 
40
40
  `clangd` will search your build directory for the JSON compilation database, but in some instances on Unix-asbed platforms it can be easier and necessary to symlink the file into the root directory of your project (e.g. `ln -s ./build/artifacts/compile_commands.json .`).
41
+
42
+ <br/><br/>