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
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3bbf250a1b600bd7d3e3e281975f5ee3563e5052d5cd12de6840c717d18243cf
4
- data.tar.gz: 62dfcf6c896792802c3405aa4faddc4d406339616dd2ef8e8f0b2fb6a2a147f1
3
+ metadata.gz: 56f073ff96051065c1f390744785a8e933cbfa700d81a585495b49d44b318f1c
4
+ data.tar.gz: 3d9567c9ebb1477eb215fb9cb8cdfd42f76b7b8c5cdfd9cce1010eff89e49ea3
5
5
  SHA512:
6
- metadata.gz: 4d8f98451d2369c8a308bd89f7c036b69246c4d14f9124c4e264ffc19d090589de5f81dc94b77179a165e2929a7e826975a92736ddda00ea9508251607f573c8
7
- data.tar.gz: 24187bf1b4cdb0fd559fcb705f68bd6c2220801aa7ae814662d196f6caa57b8ab2601fb042daed7db7933998610e1007bb7937a6b92c77e0ddfa7d2e1eb22044
6
+ metadata.gz: 3e108e84bc09d28d53ca336b49cea22e970d6319810b8b68dab3f1dadb9793eb40948589fb771f8f1d6f731ce2319f9ee32b9cc8a12a8f54d32061e4a052c948
7
+ data.tar.gz: 6e21e05a55622e2836e52feccd2db2c99a2827db4c6b1179f6ed30c702db8a59dc888fd460d23976d07b3c36237e400b0e553ee9493b3f287456bd10099eae29
data/GIT_COMMIT_SHA CHANGED
@@ -1 +1 @@
1
- fb1ce6c
1
+ e7770cc
data/Gemfile CHANGED
@@ -20,5 +20,11 @@ gem "diy", "~> 1.1"
20
20
  gem "constructor", "~> 2"
21
21
  gem "thor", "~> 1.3"
22
22
  gem "deep_merge", "~> 1.2"
23
+
24
+ # `erb` & `benchmark` have been removed from the default gems in some Ruby versions Ceedling supports.
25
+ # These must be declared explicitly for plain `gem install` (non-Bundler) users to successfully span supported Ruby versions.
26
+ gem "erb", ">= 2.2"
27
+ gem "benchmark", ">= 0.3"
28
+
23
29
  gem "unicode-display_width", "~> 3.1"
24
- gem "erb", "~> 4.0"
30
+ gem "parallel", "~> 1.26"
data/Gemfile.lock CHANGED
@@ -1,44 +1,51 @@
1
1
  GEM
2
2
  remote: http://rubygems.org/
3
3
  specs:
4
+ benchmark (0.5.0)
4
5
  constructor (2.0.0)
5
6
  deep_merge (1.2.2)
6
- diff-lcs (1.5.1)
7
+ diff-lcs (1.6.2)
7
8
  diy (1.1.2)
8
9
  constructor (>= 1.0.0)
10
+ erb (2.2.0)
11
+ parallel (1.28.0)
9
12
  rake (13.2.1)
10
13
  require_all (3.0.0)
11
- rr (3.1.1)
12
- rspec (3.13.0)
14
+ rr (3.1.2)
15
+ rspec (3.13.2)
13
16
  rspec-core (~> 3.13.0)
14
17
  rspec-expectations (~> 3.13.0)
15
18
  rspec-mocks (~> 3.13.0)
16
- rspec-core (3.13.2)
19
+ rspec-core (3.13.6)
17
20
  rspec-support (~> 3.13.0)
18
- rspec-expectations (3.13.3)
21
+ rspec-expectations (3.13.5)
19
22
  diff-lcs (>= 1.2.0, < 2.0)
20
23
  rspec-support (~> 3.13.0)
21
- rspec-mocks (3.13.2)
24
+ rspec-mocks (3.13.7)
22
25
  diff-lcs (>= 1.2.0, < 2.0)
23
26
  rspec-support (~> 3.13.0)
24
- rspec-support (3.13.1)
25
- thor (1.3.2)
26
- unicode-display_width (3.1.2)
27
- unicode-emoji (~> 4.0, >= 4.0.4)
28
- unicode-emoji (4.0.4)
27
+ rspec-support (3.13.7)
28
+ thor (1.5.0)
29
+ unicode-display_width (3.2.0)
30
+ unicode-emoji (~> 4.1)
31
+ unicode-emoji (4.2.0)
29
32
 
30
33
  PLATFORMS
34
+ arm64-darwin
31
35
  ruby
32
36
  x64-mingw-ucrt
33
37
  x64-mingw32
34
- x86_64-darwin-22
38
+ x86_64-darwin
35
39
  x86_64-linux
36
40
 
37
41
  DEPENDENCIES
42
+ benchmark (>= 0.3)
38
43
  bundler (~> 2.5)
39
44
  constructor (~> 2)
40
45
  deep_merge (~> 1.2)
41
46
  diy (~> 1.1)
47
+ erb (>= 2.2)
48
+ parallel (~> 1.26)
42
49
  rake (>= 12, < 14)
43
50
  require_all
44
51
  rr
data/README.md CHANGED
@@ -1,11 +1,41 @@
1
1
  Ceedling ![CI](https://github.com/ThrowTheSwitch/Ceedling/workflows/CI/badge.svg)
2
2
  ========
3
3
 
4
- Welcome to **Ceedling 1.0.1**
5
-
6
- See the [Release Notes](docs/ReleaseNotes.md) for an overview
7
- of all that’s new since 0.31.1 plus links to the detailed Changelog and list of
8
- Breaking Changes.
4
+ **Ceedling 1.1.0** is the latest and greatest.
5
+
6
+ See [_Release Notes_][release-notes], [_Changelog_](docs/Changelog.md),
7
+ [_Breaking Changes_][breaking-changes], and [_Known Issues_][known-issues].
8
+
9
+ See [🚀 Getting Started](#-getting-started) for installation and new
10
+ project set up.
11
+
12
+ **New goodies:**
13
+ * A [Partial][partials-docs] allows a test to mix mocked and real functions
14
+ from the same source module in a single test file and enables testing of
15
+ `static` and `inline` functions without modifying source code.
16
+ * Ceedling is now complemented by a full, searchable [documentation site][ceedling-docs-site]
17
+ available both online and as a local bundle exported from Ceedling’s
18
+ command line.
19
+ * A new [Discourse community forum](https://throwtheswitch.discourse.group) to
20
+ supersede the old, spammy Google Group and handful of disparate support channels.
21
+ * More and expanded [example projects][example-projects].
22
+ * New stock plugins for [Valgrind memory checking][valgrind-plugin] and
23
+ [Cppcheck static analysis][cppcheck-plugin].
24
+ * The [GCov plugin][gcov-plugin]:
25
+ * _Finally_ supports coverage reports for all sources.
26
+ * Adds support for Modified Condition / Decision Coverage.
27
+ * Mixins improvements including an option for [inline YAML at the command line][mixins-inline-yaml].
28
+ * Ceedling’s test preprocessing is once again compatible with Unity’s
29
+ parameterized test cases (support was temporarily removed with 1.0.0).
30
+ * Incorporates the latest updates to [CMock] and [Unity].
31
+
32
+ [partials-docs]: https://throwtheswitch.github.io/Ceedling/1.1.0/testing-guide/partials/
33
+ [example-projects]: https://throwtheswitch.github.io/Ceedling/latest/getting-started/example-projects/
34
+ [ceedling-docs-site]: https://throwtheswitch.github.io/Ceedling/
35
+ [valgrind-plugin]: https://throwtheswitch.github.io/Ceedling/1.1.0/plugins/valgrind/
36
+ [cppcheck-plugin]: https://throwtheswitch.github.io/Ceedling/1.1.0/plugins/cppcheck/
37
+ [gcov-plugin]: https://throwtheswitch.github.io/Ceedling/1.1.0/plugins/gcov/
38
+ [mixins-inline-yaml]: https://throwtheswitch.github.io/Ceedling/latest/configuration/mixins/?h=mixins#-mixin-command-line-flags
9
39
 
10
40
  # 🌱 Ceedling is a handy-dandy build system for C projects
11
41
 
@@ -14,16 +44,28 @@ Breaking Changes.
14
44
  Ceedling can build your release artifact but is especially adept at building
15
45
  unit test suites for your C projects — even in tricky embedded systems.
16
46
 
17
- Ceedling and its complementary pieces and parts are (and always will be) freely
18
- available and open source. **_[Ceedling Assist][ceedling-pro]_** is a growing list
19
- of paid products and services to help you do even more with these tools.
20
-
21
- [ceedling-pro]: https://www.thingamabyte.com/ceedling
22
-
23
47
  ⭐️ **Eager to just get going? Jump to
24
48
  [📚 Documentation & Learning](#-documentation--learning) and
25
49
  [🚀 Getting Started](#-getting-started).**
26
50
 
51
+ For a test suite project using the default toolchain `gcc`, Ceedling’s
52
+ configuration file could be as simple as this:
53
+
54
+ ```yaml
55
+ :project:
56
+ :build_root: project/build/
57
+
58
+ :paths:
59
+ :test:
60
+ - tests/**
61
+ :source:
62
+ - source/**
63
+ :include:
64
+ - inc/**
65
+ ```
66
+
67
+ To execute all your unit tests, you would run `ceedling test:all`. That‘s it!
68
+
27
69
  Ceedling works the way developers want to work. It is flexible and entirely
28
70
  command-line driven. It drives code generation and command line tools for you.
29
71
  All generated and framework code is easy to see and understand.
@@ -32,17 +74,32 @@ Ceedling’s features support all types of C development from low-level embedded
32
74
  to enterprise systems. No tool is perfect, but Ceedling can do a whole lot to
33
75
  help you and your team produce quality software.
34
76
 
77
+ ## Supporting this work
78
+
79
+ Ceedling and its complementary [ThrowTheSwitch] pieces and parts are and always
80
+ will be freely available and open source.
81
+
82
+ 💼 **_[Ceedling Suite][ceedling-suite]_** is a growing collection of paid
83
+ products and services built around Ceedling to help you do even more.
84
+ **_[Ceedling Assist][ceedling-assist]_** for support contracts and training
85
+ is now available.
86
+
87
+ 🙏🏻 **[Please consider supporting Ceedling as a Github Sponsor][tts-sponsor]**
88
+
89
+ [ThrowTheSwitch]: https://github.com/ThrowTheSwitch
90
+ [ceedling-suite]: https://www.thingamabyte.com/ceedling
91
+ [ceedling-assist]: https://www.thingamabyte.com/ceedlingassist
92
+ [tts-sponsor]: https://github.com/sponsors/ThrowTheSwitch
93
+
35
94
  ## Ceedling is a suite of tools
36
95
 
37
- Ceedling is also a suite of tools. It is the glue for bringing together three
96
+ Ceedling is also a suite of tools. It is the glue for bringing together two
38
97
  other awesome open-source projects you can’t live without if you‘re creating
39
98
  awesomeness in the C language.
40
99
 
41
100
  1. **[Unity]**, an [xUnit]-style test framework.
42
101
  1. **[CMock]**<sup>†</sup>, a code generating,
43
102
  [function mocking & stubbing][test-doubles] kit for interaction-based testing.
44
- 1. **[CException]**, a framework for adding simple exception handling to C projects
45
- in the style of higher-order programming languages.
46
103
 
47
104
  <sup>†</sup> Through a [plugin][FFF-plugin], Ceedling also supports [FFF] for
48
105
  [fake functions][test-doubles] as an alternative to CMock’s mocks and stubs.
@@ -52,13 +109,13 @@ awesomeness in the C language.
52
109
  For simple project structures, Ceedling can build and test an entire project
53
110
  from just a few lines in its project configuration file.
54
111
 
55
- Because it handles all the nitty-gritty of rebuilds and becuase of Unity and
112
+ Because it handles all the nitty-gritty of rebuilds and because of Unity and
56
113
  CMock, Ceedling makes [Test-Driven Development][TDD] in C a breeze. It even
57
114
  provides handy backtrace debugging options for finding the source of crashing
58
115
  code exercised by your unit tests.
59
116
 
60
117
  Ceedling is extensible with a simple plugin mechanism. It comes with a
61
- number of [built-in plugins][ceedling-plugins] for code coverage, test suite
118
+ number of [built-in plugins][ceedling-docs-plugins] for code coverage, test suite
62
119
  report generation, Continuous Integration features, IDE integration, release
63
120
  library builds & dependency management, and more.
64
121
 
@@ -68,9 +125,37 @@ library builds & dependency management, and more.
68
125
  [CException]: https://github.com/throwtheswitch/cexception
69
126
  [TDD]: http://en.wikipedia.org/wiki/Test-driven_development
70
127
  [test-doubles]: https://blog.pragmatists.com/test-doubles-fakes-mocks-and-stubs-1a7491dfa3da
71
- [FFF]: https://github.com/ElectronVector/fake_function_framework
72
- [FFF-plugin]: plugins/fff
73
- [ceedling-plugins]: docs/CeedlingPacket.md#ceedling-plugins
128
+ [FFF]: https://github.com/meekrosoft/fff
129
+ [FFF-plugin]: https://throwtheswitch.github.io/Ceedling/latest/plugins/fff/
130
+
131
+ <br/>
132
+
133
+ # 📦 Releases
134
+
135
+ Ceedling release numbering follows [SemVer convention](https://semver.org). See the [_Getting Started_](#-getting-started) section for installation details for both official releases and prereleases.
136
+
137
+ ## Official releases
138
+ Releases have a version number `#.#.#` (`<major>.<minor>.<patch>`). Production systems and automated tooling should rely on official releases and not prereleases.
139
+
140
+ Official releases are available as:
141
+
142
+ 1. A prepackaged Ruby Gem available through the public [RubyGems repository](https://rubygems.org/gems/ceedling) (installable with `gem install ceedling --no-document` at the command line).
143
+ 1. Ready-to-run [Docker images](https://hub.docker.com/u/throwtheswitch).
144
+
145
+ The latest `<major>.<minor>` version is supported with limited support for earlier minor releases.
146
+
147
+ Bug fix patches `<major>.<minor>.<patch>` are official releases. Generally speaking, if you have adopted a `<major>.<minor>` release, you should update to bug fix releases when available.
148
+
149
+ All official releases are retained historically.
150
+
151
+ In rare cases of fatal flaws, severe security vulnerabilities, etc. an official release may be pulled.
152
+
153
+ ## Prereleases
154
+ Prerelease versions include `pre` in their version numbering (`#.#.#-pre.#`). Prereleases are only available as downloadable .gem files attached to [release listings](https://github.com/throwtheswitch/ceedling/releases). These require local installation steps including some basic dependencies management.
155
+
156
+ Prereleases are ephemeral and will be pulled as development continues or bugs are found. Prereleases should not be relied upon in production systems or automated tooling. At an official release, all prior prereleases will be pulled.
157
+
158
+ Prereleases are not officially supported, but feedback through submitting issues is very much welcome. As much help as is practical will be offered to support those exercising prereleases.
74
159
 
75
160
  <br/>
76
161
 
@@ -79,19 +164,19 @@ library builds & dependency management, and more.
79
164
  * Found a bug or want to suggest a feature?
80
165
  **[Submit an issue][ceedling-issues]** at this repo.
81
166
  * Trying to understand features or solve a testing problem? Hit the
82
- **[discussion forums][forums]**.
167
+ **[Discourse forums][forums]**.
83
168
  * Paid training, customizations, and support contracts are available through
84
- **[Ceedling Pro][ceedling-pro]**.
169
+ **[Ceedling Assist][ceedling-assist]**.
85
170
 
86
171
  The ThrowTheSwitch community follows a **[code of conduct](docs/CODE_OF_CONDUCT.md)**.
87
172
 
88
173
  Please familiarize yourself with our guidelines for **[contributing](docs/CONTRIBUTING.md)** to this project, be it code, reviews, documentation, or reports.
89
174
 
90
- Yes, work has begun on certified versions of the Ceedling suite of tools to be available through **[Ceedling Pro][ceedling-pro]**. [Reach out to ThingamaByte][thingama-contact] for more.
175
+ Yes, work has begun on **[Ceedling Certified][ceedling-certified]**, a validated version of Ceedling to meet the needs of industry software certification.
91
176
 
92
177
  [ceedling-issues]: https://github.com/ThrowTheSwitch/Ceedling/issues
93
- [forums]: https://www.throwtheswitch.org/forums
94
- [thingama-contact]: https://www.thingamabyte.com/contact
178
+ [forums]: https://throwtheswitch.discourse.group
179
+ [ceedling-certified]: https://www.thingamabyte.com/ceedlingcertified
95
180
 
96
181
  <br/>
97
182
 
@@ -331,7 +416,7 @@ Ceedling can do all the magic to build and run this test code simply by enabling
331
416
 
332
417
  A variety of options for [community-based support][TTS-help] exist.
333
418
 
334
- Training and support contracts are available through **_[Ceedling Pro][ceedling-pro]_**
419
+ Training and support contracts are available through **_[Ceedling Assist][ceedling-assist]_**
335
420
 
336
421
  [TTS-help]: https://www.throwtheswitch.org/#help-section
337
422
 
@@ -342,12 +427,14 @@ The [Agile Embedded Podcast][ae-podcast] includes an [episode on Ceedling][ceedl
342
427
 
343
428
  ## Ceedling docs
344
429
 
345
- * **_[Ceedling Packet][ceedling-packet]_** is Ceedling’s user manual. It also references and links to the documentation of the projects, _Unity_, _CMock_, and _CException_, that it weaves together into your test and release builds.
346
- * **[Release Notes][release-notes]**, **[Breaking Changes][breaking-changes]**, and **[Changelog][changelog]** can be found in the **[docs/](docs/)** directory along with a variety of guides and much more.
347
- * The **[Plugins section](https://github.com/ThrowTheSwitch/Ceedling/blob/test/ceedling_0_32_rc/docs/CeedlingPacket.md#ceedling-plugins)** within _Ceedling Packet_ lists all of Ceedling’s built-in plugins providing overviews and links to their documentation.
430
+ * **_[Ceedling’s documentation site][ceedling-docs-site]_** contains everything you need to know to run Ceedling. It also references and links to the documentation of the projects, _Unity_ and _CMock_, that Ceedling weaves together into your test and release builds.
431
+ * **[Release Notes][release-notes]**, **[Breaking Changes][breaking-changes]**, **[Known Issues][known-issues]**, and **[Changelog][changelog]** can be found in the **[docs/](docs/)** directory along with a number of guides (PDFs).
432
+ * The **[Plugins section][ceedling-docs-plugins]** of Ceedling’s documentation lists all of Ceedling’s built-in plugins providing overviews and links to their documentation.
348
433
 
349
434
  _Note:_ Check the [Release Notes][release-notes] for a “cheat sheet” illustrating project configuration option changes for new releases in the form of a Ceedling project YAML configuration file. This may be especially useful to those already familiar with the tool wanting to update to the latest and greatest as quickly as possible.
350
435
 
436
+ [ceedling-docs-plugins]: https://throwtheswitch.github.io/Ceedling/latest/plugins/
437
+
351
438
  ## Library and courses
352
439
 
353
440
  [ThrowTheSwitch.org][TTS]:
@@ -358,12 +445,12 @@ _Note:_ Check the [Release Notes][release-notes] for a “cheat sheet” illustr
358
445
 
359
446
  ## Online tutorial
360
447
 
361
- Matt Chernosky’s **[detailed tutorial][tutorial]** demonstrates using Ceedling to build a C project with test suite. As the tutorial is a number of years old, the content is a bit out of date. That said, it provides an excellent overview of a real project. Matt is the author of [FFF] and the [FFF plugin][FFF-plugin] for Ceedling.
448
+ Matt Chernosky’s **[detailed tutorial][tutorial]** demonstrates using Ceedling to build a C project with test suite. As the tutorial is a number of years old, the content is a bit out of date. That said, it provides an excellent overview of a real project. Matt is the author of [FFF].
362
449
 
363
- [ceedling-packet]: docs/CeedlingPacket.md
364
450
  [release-notes]: docs/ReleaseNotes.md
365
451
  [breaking-changes]: docs/BreakingChanges.md
366
452
  [changelog]: docs/Changelog.md
453
+ [known-issues]: docs/KnownIssues.md
367
454
  [TTS]: https://throwtheswitch.org
368
455
  [library]: http://www.throwtheswitch.org/library
369
456
  [running-options]: http://www.throwtheswitch.org/build/which
@@ -374,7 +461,9 @@ Matt Chernosky’s **[detailed tutorial][tutorial]** demonstrates using Ceedling
374
461
 
375
462
  # 🚀 Getting Started
376
463
 
377
- 👀 See the **_[Quick Start](docs/CeedlingPacket.md#quick-start)_** section in Ceedling’s user manual, _Ceedling Packet_.
464
+ 👀 See the **_[Quick Start][ceedling-docs-quick-start]_** section of Ceedling’s documentation site.
465
+
466
+ [ceedling-docs-quick-start]: https://throwtheswitch.github.io/Ceedling/latest/getting-started/quick-start/
378
467
 
379
468
  ## The basics
380
469
 
@@ -401,8 +490,8 @@ If you are working with prerelease versions of Ceedling or some other off-the-be
401
490
 
402
491
  The steps are similar to the preceding with two changes:
403
492
 
404
- 1. `gem install --local <ceedling .gem filepath>`
405
- 1. Any missing dependencies must be manually installed before installation of the local Ceedling gem will succeed. A local installation attempt will complain about any missing dependencies. Simply `gem install` them by name.
493
+ 1. `gem install --local <ceedling .gem filepath> --no-document`
494
+ 1. Any missing dependencies must be manually installed before installation of the local Ceedling gem will succeed. A local installation attempt will complain about any missing dependencies. Simply run `gem install` for each of them by name from the error.
406
495
 
407
496
  [Ruby]: https://www.ruby-lang.org/
408
497
 
@@ -464,13 +553,13 @@ Once the _MadScienceLab_ container’s command line is available, to run Ceedlin
464
553
  Alternatively, you can run Ceedling through the _MadScienceLab_ Docker container directly from the command line as a command line utility. The general pattern is immediately below.
465
554
 
466
555
  ```shell
467
- > docker run -it --rm -v /my/local/project/path:/home/dev/project throwtheswitch/madsciencelab-plugins:1.0.0 <Ceedling command line>
556
+ > docker run --rm -v /my/local/project/path:/home/dev/project throwtheswitch/madsciencelab-plugins:1.0.0 <Ceedling command line>
468
557
  ```
469
558
 
470
559
  As a specific example, to run all tests in a suite, the command line would be this:
471
560
 
472
561
  ```shell
473
- > docker run -it --rm -v /my/local/project/path:/home/dev/project throwtheswitch/madsciencelab-plugins:1.0.0 ceedling test:all
562
+ > docker run --rm -v /my/local/project/path:/home/dev/project throwtheswitch/madsciencelab-plugins:1.0.0 ceedling test:all
474
563
  ```
475
564
 
476
565
  In this usage, the container starts, executes Ceedling, and then ends.
@@ -503,10 +592,10 @@ See this [commented project configuration file][example-config-file] for a much
503
592
 
504
593
  Or, use Ceedling’s built-in `examples` & `example` commands to extract a sample project and reference its project file.
505
594
 
506
- See the [configuration section][ceedling-packet-config] in _Ceedling Packet_ for way more details on your project configuration options than we can provide here.
595
+ See the [configuration section][ceedling-docs-config] of Ceedling’s documentation for way more details on your project configuration options than we can provide here.
507
596
 
508
597
  [example-config-file]: assets/project.yml
509
- [ceedling-packet-config]: docs/CeedlingPacket.md#the-almighty-ceedling-project-configuration-file-in-glorious-yaml
598
+ [ceedling-docs-config]: https://throwtheswitch.github.io/Ceedling/latest/configuration/
510
599
 
511
600
  ## Using Ceedling’s command line (and related)
512
601
 
@@ -543,13 +632,19 @@ tooling setup.
543
632
  #### Installing local documentation
544
633
 
545
634
  Are you just getting started with Ceedling? Maybe you’d like your
546
- project to be installed with some of its handy [documentation](docs/)?
635
+ project to be installed with some of its handy documentation?
547
636
  No problem! You can do this when you create a new project…
548
637
 
549
638
  ```shell
550
639
  > ceedling new --docs MyAwesomeProject
551
640
  ```
552
641
 
642
+ The `--docs` flag exports a version of Ceedling’s HTML-based documentation site
643
+ to your local filesystem that is navigable with your web browser.
644
+
645
+ `ceedling docs` exports just the documentation bundle to a destination path
646
+ of your choosing.
647
+
553
648
  #### Attaching a Ceedling version to your project
554
649
 
555
650
  Ceedling can be installed as a globally available Ruby gem. Ceedling can
@@ -566,7 +661,7 @@ your project:
566
661
  > ceedling new --local YourNewProjectName
567
662
  ```
568
663
 
569
- This will install all of Unity, CMock, CException, and Ceedling itself
664
+ This will install all of Unity, CMock, and Ceedling itself
570
665
  into a new folder `vendor/` inside your project `YourNewProjectName/`.
571
666
  It will create the same simple empty directory structure for you with
572
667
  `src/` and `test/` folders as the standard `new` command.
@@ -591,7 +686,7 @@ Running Ceedling build tasks tends to look like this…
591
686
  ### Upgrading / updating Ceedling
592
687
 
593
688
  You can upgrade to the latest version of Ceedling at any time, automatically
594
- gaining access to any accompanying updates to Unity, CMock, and CException.
689
+ gaining access to any accompanying updates to Unity and CMock.
595
690
 
596
691
  To update a locally installed gem…
597
692
 
@@ -630,123 +725,15 @@ You can enable this by adding `--gitsupport` to your `new` call.
630
725
 
631
726
  # 💻 Contributing to Ceedling Development
632
727
 
633
- ## Alternate installation options for Ceedling development
634
-
635
- ### Alternate local installation for development
636
-
637
- After installing Ruby…
638
-
639
- ```shell
640
- > git clone --recursive https://github.com/throwtheswitch/ceedling.git
641
- > cd ceedling
642
- > git submodule update --init --recursive
643
- > bundle install
644
- ```
645
-
646
- The Ceedling repository incorporates its supporting frameworks and some
647
- plugins via Git submodules. A simple clone may not pull in the latest
648
- and greatest.
649
-
650
- The `bundle` tool ensures you have all needed Ruby gems installed. If
651
- Bundler isn’t installed on your system or you run into problems, you
652
- might have to install it:
653
-
654
- ```shell
655
- > sudo gem install bundler
656
- ```
657
-
658
- If you run into trouble running bundler and get messages like _can’t
659
- find gem bundler (>= 0.a) with executable bundle
660
- (Gem::GemNotFoundException)_, you may need to install a different
661
- version of Bundler. For this please reference the version in the
662
- Gemfile.lock.
663
-
664
- ```shell
665
- > sudo gem install bundler -v <version in Gemfile.lock>
666
- ```
667
-
668
- ### Alternate Docker image usage for development
669
-
670
- As an alternative to local installation of Ceedling, nearly all development
671
- tasks can be accomplished with the _MadScienceLab_ Docker images.
672
-
673
- When running an existing image as a development container, one merely needs
674
- to map a volume from your local Ceedling code repository to Ceedling’s
675
- installation location within the container. With that accomplished,
676
- experimenting with project builds and running self-tests is simple.
677
-
678
- 1. Start your target Docker container from your host system terminal:
679
-
680
- ```shell
681
- > docker run -it --rm throwtheswitch/<image>:<tag>
682
- ```
683
- 1. Look up and note Ceedling’s installation path (listed in `version` output) from within the container command line:
684
-
685
- ```shell
686
- ~/project > ceedling version
687
-
688
-
689
- ```
690
- 1. Exit the container.
691
- 1. Restart the container from your host system with the Ceedling installation
692
- volume mapping from (2) and any other command line options you need:
693
-
694
- ```shell
695
- > docker run -it --rm -v /my/local/ceedling/repo:<container installation path> -v /my/local/experiment/path:/home/dev/project throwtheswitch/<image>:<tag>
696
- ```
697
-
698
- For development tasks, from the container shell you can:
699
-
700
- 1. Run experiment projects you map into the container (e.g. at _/home/dev/project_).
701
- 1. Run the self-test suite. Navigate to the gem installation path discovered in (2) above. From this location, follow the instructions in the section that immediately follows.
702
-
703
- ## Running Ceedling’s self-tests
704
-
705
- Ceedling uses [RSpec] for its tests.
706
-
707
- To execute tests you may run the following from the root of your local
708
- Ceedling repository. This test suite build option balances test coverage
709
- with suite execution time.
710
-
711
- ```shell
712
- > rake spec
713
- ```
714
-
715
- To run individual test files (Ceedling’s Ruby-based tests, that is) and
716
- perform other tasks, use the available Rake tasks. From the root of your
717
- local Ceedling repo, list those task like this:
718
-
719
- ```shell
720
- > rake -T
721
- ```
722
-
723
- [RSpec]: https://rspec.info
724
-
725
- ## Working in `bin/` vs. `lib/`
726
-
727
- Most of Ceedling’s functionality is contained in the application code residing
728
- in `lib/`. Ceedling’s command line handling, startup configuration, project
729
- file loading, and mixin handling are contained in a “bootloader” in `bin/`.
730
- The code in `bin/` is the source of the `ceedling` command line tool and
731
- launches the application from `lib/`.
732
-
733
- Depending on what you’re working on you may need to run Ceedling using
734
- a specialized approach.
735
-
736
- If you are only working in `lib/`, you can:
737
-
738
- 1. Run Ceedling using the `ceedling` command line utility you already have
739
- installed. The code in `bin/` will run from your locally installed gem or
740
- from within your Docker container and launch the Ceedling application for
741
- you.
742
- 1. Modify a project file by setting a path value for `:project` ↳ `:which_ceedling`
743
- that points to the local copy of Ceedling you cloned from the Git repository.
744
- See _CeedlingPacket_ for details.
745
-
746
- If you are working in `bin/`, running `ceedling` at the command line will not
747
- call your modified code. Instead, you must execute the path to the executable
748
- `ceedling` in the `bin/` folder of the local Ceedling repository you are
749
- working on.
750
-
728
+ Interested in contributing to Ceedling itself? Please review the
729
+ **[ThrowTheSwitch coding standard][coding-standard]** and the
730
+ **[Ceedling pull request checklist][pr-checklist]** before submitting a
731
+ contribution.
751
732
 
733
+ For development installation options, running the self-test suite, working
734
+ with the documentation tooling, code layout, etc., see
735
+ the **[Ceedling development workflow][ceedling-dev-workflow]** guide.
752
736
 
737
+ [coding-standard]: docs/ThrowTheSwitchCodingStandard.md
738
+ [pr-checklist]: docs/CeedlingPullRequestChecklist.md
739
+ [ceedling-dev-workflow]: https://throwtheswitch.github.io/Ceedling/latest/development/workflow/