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
@@ -1,35 +1,29 @@
1
- # A Fake Function Framework Plug-in for Ceedling
1
+ # Fake Function Framework for Ceedling
2
2
 
3
- This is a plug-in for [Ceedling](https://github.com/ThrowTheSwitch/Ceedling) to use the [Fake Function Framework](https://github.com/meekrosoft/fff) for mocking instead of CMock.
3
+ This plugin causes Ceedling to use the [Fake Function Framework](https://github.com/meekrosoft/fff) for mocking instead of CMock, the default mocking framework packaged with Ceedling.
4
4
 
5
- Using _fff_ provides less strict mocking than CMock, and can allow for more loosely-coupled tests.
5
+ Using _FFF_ provides less strict mocking than CMock and affords more loosely-coupled tests.
6
6
 
7
- This Ceedling 1.x plugin wraps a snapshot of _FFF_, version 0.1.1.
7
+ This Ceedling 1.x plugin incorporates a snapshot of _FFF_ version 0.1.1 and supersedes a separately available [FFF Ceedling plugin project](https://github.com/ElectronVector/fake_function_framework). The built-in _FFF_ plugin that now comes with Ceedling was derived from the ElectronVector project and is now maintained along with Ceedling and tracks its updates.
8
8
 
9
- ### Thanks
9
+ !!! note "Special thanks to Matt Chernosky"
10
+ [Matt Chernosky](http://www.electronvector.com) originally developed this plugin
11
+ as an adapter for _FFF_. It's a well-loved piece of the Ceedling ecosystem,
12
+ and we really appreciate his support through the years.
10
13
 
11
- A special thanks to [Matt Chernosky](http://www.electronvector.com) for developing this plugin originally. It's a well-loved piece of the Ceedling
12
- ecosystem and we really appreciate his support through the years.
14
+ ## Enable the plugin
13
15
 
14
- ### Enable the plug-in.
15
-
16
- The plug-in is enabled from within your project.yml file.
16
+ The plugin is enabled from within your project.yml file.
17
17
 
18
18
  In the `:plugins` configuration, add `fff` to the list of enabled plugins:
19
19
 
20
20
  ```yaml
21
21
  :plugins:
22
- :load_paths:
23
- - vendor/ceedling/plugins
24
22
  :enabled:
25
- - report_tests_pretty_stdout
26
- - module_generator
27
23
  - fff
28
24
  ```
29
- *Note that you could put the plugin source in some other loaction.
30
- In that case you'd need to add a new path the `:load_paths`.*
31
25
 
32
- ## How to use it
26
+ ## How to use
33
27
 
34
28
  You use fff with Ceedling the same way you used to use CMock.
35
29
 
@@ -77,7 +71,7 @@ test_whenThePowerReadingIsLessThan5_thenTheStatusLedIsNotTurnedOn(void)
77
71
  }
78
72
  ```
79
73
 
80
- ## Test that a single function was called with the correct argument
74
+ ### Test that a single function was called with the correct argument
81
75
 
82
76
  ```c
83
77
  void
@@ -92,7 +86,7 @@ test_whenTheVolumeKnobIsMaxed_thenVolumeDisplayIsSetTo11(void)
92
86
  }
93
87
  ```
94
88
 
95
- ## Test that calls are made in a particular sequence
89
+ ### Test that calls are made in a particular sequence
96
90
 
97
91
  ```c
98
92
  void
@@ -110,7 +104,7 @@ test_whenTheModeSelectButtonIsPressed_thenTheDisplayModeIsCycled(void)
110
104
  }
111
105
  ```
112
106
 
113
- ## Fake a return value from a function
107
+ ### Fake a return value from a function
114
108
 
115
109
  ```c
116
110
  void
@@ -127,7 +121,7 @@ test_givenTheDisplayHasAnError_whenTheDeviceIsPoweredOn_thenTheDisplayIsPoweredD
127
121
  }
128
122
  ```
129
123
 
130
- ## Fake a function with a value returned by reference
124
+ ### Fake a function with a value returned by reference
131
125
 
132
126
  ```c
133
127
  void
@@ -152,9 +146,9 @@ test_givenTheUserHasTypedSleep_whenItIsTimeToCheckTheKeyboard_theDisplayIsPowere
152
146
  }
153
147
  ```
154
148
 
155
- ## Fake a function with a function pointer parameter
149
+ ### Fake a function with a function pointer parameter
156
150
 
157
- ```
151
+ ```c
158
152
  void
159
153
  test_givenNewDataIsAvailable_whenTheDisplayHasUpdated_thenTheEventIsComplete(void)
160
154
  {
@@ -209,34 +203,45 @@ test_whenTheDeviceIsReset_thenTheStatusLedIsTurnedOff()
209
203
 
210
204
  ## Test setup
211
205
 
212
- All of the fake functions, and any fff global state are all reset automatically between each test.
206
+ All of the fake functions and any fff global state are all reset automatically between each test.
213
207
 
214
208
  ## CMock configuration
215
209
 
216
- Use still use some of the CMock configuration options for setting things like the mock prefix, and for including additional header files in the mock files.
210
+ We still use some CMock configuration options for setting things like the mock prefix and for including additional header files in the mock files.
217
211
 
218
212
  ```yaml
219
213
  :cmock:
220
214
  :mock_prefix: mock_
221
215
  :includes:
222
- -
216
+ - ...
223
217
  :includes_h_pre_orig_header:
224
- -
218
+ - ...
225
219
  :includes_h_post_orig_header:
226
- -
220
+ - ...
227
221
  :includes_c_pre_header:
228
- -
222
+ - ...
229
223
  :includes_c_post_header:
230
224
  ```
231
225
 
232
- ## Running the tests
226
+ ## FFF examples
227
+
228
+ See the [FFF example project][fff-example-project]. This project illustrates how to use the plugin with full-size examples.
229
+
230
+ !!! warning "Versioning"
231
+ The example project link is to the latest in the repository.
232
+ It is not explicitly versioned to correspond to this documentation.
233
+ That said, FFF and the plugin are relatively stable.
234
+
235
+ ### Running example tests
236
+
237
+ Unit and integration tests exist for the plugin itself.
238
+
239
+ These tests are run with the default `rake` task packaged in the [FFF plugin][fff-plugin].
233
240
 
234
- There are unit and integration tests for the plug-in itself.
235
- These are run with the default `rake` task.
236
- The integration test runs the tests for the example project in examples/fff_example.
237
- For the integration tests to succeed, this repository must be placed in a Ceedling tree in the plugins folder.
241
+ The integration test runs the FFF-based unit tests within the [example project][fff-example-project].
242
+ That is, the FFF examples are executed as part of Ceedling continuous integration.
238
243
 
239
- ## More examples
244
+ [fff-example-project]: https://github.com/ThrowTheSwitch/Ceedling/tree/master/plugins/fff/examples/fff_example
245
+ [fff-plugin]: https://github.com/ThrowTheSwitch/Ceedling/tree/master/plugins/fff
240
246
 
241
- There is an example project in examples/fff_example.
242
- It shows how to use the plug-in with some full-size examples.
247
+ <br/><br/>
@@ -0,0 +1,92 @@
1
+ # Example Usage
2
+
3
+ !!! note
4
+ Unless disabled, basic coverage summaries are always printed to the
5
+ console regardless of report generation options.
6
+
7
+ ## Automatic report generation (default)
8
+
9
+ If coverage report generation is configured, the plugin defaults to running
10
+ reports after any `gcov:` task.
11
+
12
+ ```yaml
13
+ :plugins:
14
+ :enabled:
15
+ - gcov
16
+
17
+ :gcov:
18
+ :utilities:
19
+ - gcovr # Enabled by default -- shown for completeness
20
+ :report_task: FALSE # Disabled by default -- shown for completeness
21
+ :reports: # See later section for report configuration
22
+ - HtmlBasic
23
+
24
+ ... # Further configuration for reporting (not shown)
25
+
26
+ ```
27
+
28
+ ```shell
29
+ > ceedling gcov:all
30
+ ```
31
+
32
+ ## Report generation manual task
33
+
34
+ If the `:report_task:` configuration option is enabled, reports are not
35
+ automatically generaed after test suite coverage builds. Instead, report
36
+ generation is triggered by the `report:gcov` task.
37
+
38
+ ```yaml
39
+ :plugins:
40
+ :enabled:
41
+ - gcov
42
+
43
+ :gcov:
44
+ :utilities:
45
+ - gcovr # Enabled by default -- shown for completeness
46
+ :report_task: TRUE
47
+ :reports: # See later section for report configuration
48
+ - HtmlBasic # Enabled by default -- shown for completeness
49
+
50
+ ... # Further configuration for reporting (not shown)
51
+
52
+ ```
53
+
54
+ With the separate reporting task enabled, it can be used like any other Ceedling task.
55
+
56
+ ```shell
57
+ > ceedling gcov:all report:gcov
58
+ ```
59
+
60
+ or
61
+
62
+ ```shell
63
+ > ceedling gcov:all
64
+
65
+ > ceedling report:gcov
66
+ ```
67
+
68
+ ## Full report generation
69
+
70
+ ```yaml
71
+ :plugins:
72
+ :enabled:
73
+ - gcov
74
+
75
+ :gcov:
76
+ :summaries: FALSE # Simple coverage summaries to console disabled
77
+ :reports: # `gcovr` tool enabled by default
78
+ - HtmlDetailed
79
+ - Text
80
+ - Cobertura
81
+ :gcovr: # `gcovr` common and report-specific options
82
+ :report_root: "../../" # Atypical layout -- project.yml is inside a subdirectoy below <build root>
83
+ :sort_percentage: TRUE
84
+ :sort_uncovered: FALSE
85
+ :html_medium_threshold: 60
86
+ :html_high_threshold: 85
87
+ :print_summary: TRUE
88
+ :threads: 4
89
+ :keep: FALSE
90
+ ```
91
+
92
+ <br/><br/>
@@ -0,0 +1,272 @@
1
+ # GCovr Configuration
2
+
3
+ !!! note
4
+ All reports generated by `gcovr` are found in `<build root>/artifacts/gcov/gcovr/`.
5
+
6
+ The following sections first discuss GCovr options in common across reports
7
+ and then break out report-specific options.
8
+
9
+ ## GCovr options
10
+
11
+ ### Project config vs. GCovr config file
12
+
13
+ GCovr can be configured in two ways:
14
+
15
+ 1. Using one or more of the options documented below in the `:gcov` section
16
+ of your project configuration.
17
+ 1. Through a Gcovr configuration file (.ini format) provided to Gcovr via
18
+ the speciial `:config_file` value in the `:gcov` section of your project
19
+ configuration.
20
+
21
+ ### Gcovr configuration file
22
+
23
+ !!! warning "Using a gcovr configuration file"
24
+ When `:config_file` is set, Ceedling passes only `--root` (`:report_root`)
25
+ and `--config` (`:config_file`) to `gcovr` at the command line from your
26
+ plugin configuration. This prevents overriding config file settings with
27
+ CLI arguments. You must provide any settings that would have been provided
28
+ by the Gcov plugin.
29
+
30
+ To preserve filtering of test and build files from coverage results when
31
+ using a Gcovr config file, you must provide explicit exclusion patterns matching
32
+ your project layout (example below).
33
+
34
+ ```ini
35
+ [gcovr]
36
+ ; You will need to revise these example exclude patterns to match your
37
+ ; project directories and file naming as they cannot be automatically
38
+ ; provided to Gcovr when a Gcovr configuration file is in use.
39
+
40
+ ; Test path(s) exclusions for 'test_' files with .c extensions.
41
+ exclude = .*test.*/test_.+\.c$
42
+
43
+ ; Build path exlcude for all generated C files (runners, mocks, partials).
44
+ exclude = .*build/.+\.c$
45
+ ```
46
+
47
+ ### Plugin project configuration
48
+
49
+ The following is an exhaustive commented version of all GCovr configuration
50
+ options exposed through your project configuration file. Only specify those
51
+ you need or those whose defaults you need to override. You do not need to
52
+ include all these options in your Gcov plugin configuration.
53
+
54
+ !!! warning "`gcovr` accepts only one reporting root path"
55
+ `gcovr` accepts only a single path for `:report_root`. In unusual project
56
+ layouts, you may need to specify as root a parent folder that includes
57
+ _all_ source files and selectively exclude paths or files from coverage
58
+ reporting (see `:report_exclude` and `:exclude_directories`).
59
+
60
+ ```yaml
61
+ :gcov:
62
+ :gcovr:
63
+ # The root directory of your source files. Defaults to ".", the current directory.
64
+ # File names are reported relative to this root. The report_root is the default report_include.
65
+ # Default if unspecified: "."
66
+ :report_root: <path>
67
+
68
+ # Load the specified configuration file. (gcovr --config)
69
+ # Defaults to gcovr.cfg in the report_root directory if that file exists.
70
+ #
71
+ # When :config_file is set, Ceedling passes only --root and --config to
72
+ # gcovr and defers all other configuration to the file. This prevents
73
+ # Ceedling from overriding config file values with its CLI arguments. Only
74
+ # :report_root is still applied because Ceedling may invoke gcovr from a
75
+ # different working directory than your project root.
76
+ #
77
+ # To preserve the plugin’s base filtering behavior, include the following
78
+ # patterns in your config file (adjust paths to match your project’s
79
+ # :test_file_prefix, test paths, and :build_root settings):
80
+ #
81
+ # [gcovr]
82
+ # exclude = .*test.*/test_.+\.c$
83
+ # exclude = .*build/.+\.c$
84
+ :config_file: <config_file>
85
+
86
+ # Exit with a status of 2 if the total line coverage is less than MIN percentage.
87
+ # Can be ORed with exit status of other fail options. (gcovr --fail-under-line)
88
+ :fail_under_line: <1-100>
89
+
90
+ # Exit with a status of 4 if the total branch coverage is less than MIN percentage.
91
+ # Can be ORed with exit status of other fail options. (gcovr --fail-under-branch)
92
+ :fail_under_branch: <1-100>
93
+
94
+ # Exit with a status of 8 if the total decision coverage is less than MIN percentage.
95
+ # Can be ORed with exit status of other fail options. (gcovr --fail-under-decision)
96
+ :fail_under_decision: <1-100>
97
+
98
+ # Exit with a status of 16 if the total function coverage is less than MIN percentage.
99
+ # Can be ORed with exit status of other fail options. (gcovr --fail-under-function)
100
+ :fail_under_function: <1-100>
101
+
102
+ # If the fail options above are set, specify whether those conditions should break a build.
103
+ # The default option is false and simply logs a warning without breaking the build.
104
+ :exception_on_fail: <true|false>
105
+
106
+ # Select the source file encoding.
107
+ # Defaults to the system default encoding (UTF-8). (gcovr --source-encoding)
108
+ :source_encoding: <encoding>
109
+
110
+ # Report the branch coverage instead of the line coverage. For text report only. (gcovr --branches).
111
+ :branches: <true|false>
112
+
113
+ # Sort entries by increasing number of uncovered lines.
114
+ # For text and HTML report. (gcovr --sort-uncovered)
115
+ :sort_uncovered: <true|false>
116
+
117
+ # Sort entries by increasing percentage of uncovered lines.
118
+ # For text and HTML report. (gcovr --sort-percentage)
119
+ :sort_percentage: <true|false>
120
+
121
+ # Print a small report to stdout with line & branch percentage coverage.
122
+ # This is in addition to other reports. (gcovr --print-summary).
123
+ :print_summary: <true|false>
124
+
125
+ # Keep only source files that match this filter. (gcovr --filter).
126
+ # Filters are regular expressions (ex: "^src")
127
+ :report_include: <filter>
128
+
129
+ # Exclude source files that match this filter. (gcovr --exclude).
130
+ # Filters are regular expressions (ex: "^vendor.*|^build.*|^test.*|^lib.*")
131
+ :report_exclude: <filter>
132
+
133
+ # Keep only gcov data files that match this filter. (gcovr --gcov-filter).
134
+ # Filters are regular expressions
135
+ :gcov_filter: <filter>
136
+
137
+ # Exclude gcov data files that match this filter. (gcovr --gcov-exclude).
138
+ # Filters are regular expressions
139
+ :gcov_exclude: <filter>
140
+
141
+ # Exclude directories that match this filter while searching
142
+ # raw coverage files. (gcovr --exclude-directories).
143
+ # Filters are regular expressions
144
+ :exclude_directories: <filters>
145
+
146
+ # Use a particular gcov executable. (gcovr --gcov-executable).
147
+ # (This may be appropriate and necessary in special circumstances.
148
+ # Please review Ceedling’s options for modifying tools first.)
149
+ :gcov_executable: <cmd>
150
+
151
+ # Exclude branch coverage from lines without useful
152
+ # source code. (gcovr --exclude-unreachable-branches).
153
+ :exclude_unreachable_branches: <true|false>
154
+
155
+ # For branch coverage, exclude branches that the compiler
156
+ # generates for exception handling. (gcovr --exclude-throw-branches).
157
+ :exclude_throw_branches: <true|false>
158
+
159
+ # For Gcovr 6.0+, multiple instances of the same function in coverage results can
160
+ # cause a fatal error. Since Ceedling can test multiple build variations of the
161
+ # same source function, this is bad.
162
+ # Default value for Gcov plugin is 'merge-use-line-max'. See Gcovr docs for more.
163
+ # https://gcovr.com/en/stable/guide/merging.html
164
+ :merge_mode_function: <...>
165
+
166
+ # Use existing gcov files for analysis. Default: False. (gcovr --use-gcov-files)
167
+ :use_gcov_files: <true|false>
168
+
169
+ # Skip lines with parse errors in GCOV files instead of
170
+ # exiting with an error. (gcovr --gcov-ignore-parse-errors).
171
+ :gcov_ignore_parse_errors: <true|false>
172
+
173
+ # Override normal working directory detection. (gcovr --object-directory)
174
+ :object_directory: <path>
175
+
176
+ # Keep gcov files after processing. (gcovr --keep).
177
+ :keep: <true|false>
178
+
179
+ # Delete gcda files after processing. (gcovr --delete).
180
+ :delete: <true|false>
181
+
182
+ # Set the number of threads to use in parallel. (gcovr -j).
183
+ :threads: <count>
184
+ ```
185
+ ## HTML reports
186
+
187
+ Generation of HTML reports may be modified with the following configuration items.
188
+
189
+ ```yaml
190
+ :gcov:
191
+ :gcovr:
192
+ # HTML report filename.
193
+ :html_artifact_filename: <filename>
194
+
195
+ # Use 'title' as title for the HTML report.
196
+ # Default is 'Head'. (gcovr --html-title)
197
+ :html_title: <title>
198
+
199
+ # If the coverage is below MEDIUM, the value is marked as low coverage in the HTML report.
200
+ # MEDIUM has to be lower than or equal to value of html_high_threshold.
201
+ # If MEDIUM is equal to value of html_high_threshold the report has only high and low coverage.
202
+ # Default is 75.0. (gcovr --html-medium-threshold)
203
+ :html_medium_threshold: 75
204
+
205
+ # If the coverage is below HIGH, the value is marked as medium coverage in the HTML report.
206
+ # HIGH has to be greater than or equal to value of html_medium_threshold.
207
+ # If HIGH is equal to value of html_medium_threshold the report has only high and low coverage.
208
+ # Default is 90.0. (gcovr -html-high-threshold)
209
+ :html_high_threshold: 90
210
+
211
+ # Set to 'true' to use absolute paths to link the 'detailed' reports.
212
+ # Defaults to relative links. (gcovr --html-absolute-paths)
213
+ :html_absolute_paths: <true|false>
214
+
215
+ # Override the declared HTML report encoding. Defaults to UTF-8. (gcovr --html-encoding)
216
+ :html_encoding: <html_encoding>
217
+ ```
218
+
219
+ ## Cobertura XML reports
220
+
221
+ Generation of Cobertura XML reports may be modified with the following configuration items.
222
+
223
+ ```yaml
224
+ :gcov:
225
+ :gcovr:
226
+ # Set to 'true' to pretty-print the Cobertura XML report, otherwise set to 'false'.
227
+ # Defaults to disabled. (gcovr --xml-pretty)
228
+ :cobertura_pretty: <true|false>
229
+
230
+ # Override default Cobertura XML report filename.
231
+ :cobertura_artifact_filename: <filename>
232
+ ```
233
+
234
+ ## SonarQube XML reports
235
+
236
+ Generation of SonarQube XML reports may be modified with the following configuration items.
237
+
238
+ ```yaml
239
+ :gcov:
240
+ :gcovr:
241
+ # Override default SonarQube XML report filename.
242
+ :sonarqube_artifact_filename: <filename>
243
+ ```
244
+
245
+ ## JSON reports
246
+
247
+ Generation of JSON reports may be modified with the following configuration items.
248
+
249
+ ```yaml
250
+ :gcov:
251
+ :gcovr:
252
+ # Set to 'true' to pretty-print the JSON report, otherwise set 'false'.
253
+ # Defaults to disabled. (gcovr --json-pretty)
254
+ :json_pretty: <true|false>
255
+
256
+ # Override default JSON report filename.
257
+ :json_artifact_filename: <filename>
258
+ ```
259
+
260
+ ## Text reports
261
+
262
+ Generation of text reports may be modified with the following configuration items.
263
+ Text reports may be printed to the console or output to a file.
264
+
265
+ ```yaml
266
+ :gcov:
267
+ :gcovr:
268
+ # Override default text report filename.
269
+ :text_artifact_filename: <filename>
270
+ ```
271
+
272
+ <br/><br/>
@@ -0,0 +1,74 @@
1
+ # GCov
2
+
3
+ The `gcov` plugin integrates the code coverage abilities of the GNU compiler
4
+ collection with test builds. It provides simple coverage metrics by default and
5
+ can optionally produce sophisticated coverage reports.
6
+
7
+ !!! note
8
+ The Gcov plugin creates a duplicate test build with `gcov:` command line
9
+ plugin tasks. [This is intentional and needed](../index.md#understanding-plugin-build-duplication).
10
+
11
+ ---
12
+
13
+ <div class="grid cards" markdown>
14
+
15
+ - :material-information-outline: **[Overview][overview]**
16
+
17
+ ---
18
+
19
+ How the plugin works, task types, summaries vs. reports.
20
+
21
+ - :material-tag-outline: **[Tool Versions][tool-versions]**
22
+
23
+ ---
24
+
25
+ Compatibility notes for `gcov`, `gcovr`, and `ReportGenerator`.
26
+
27
+ - :material-cog-outline: **[Set Up & Configuration][setup]**
28
+
29
+ ---
30
+
31
+ Toolchain requirements, enabling the plugin, and report generation setup.
32
+
33
+ - :material-lightning-bolt: **[Example Usage][examples]**
34
+
35
+ ---
36
+
37
+ Examples for automatic and manual report generation.
38
+
39
+ - :material-file-chart-outline: **[Reporting Configuration][reporting]**
40
+
41
+ ---
42
+
43
+ Available report types and the `:reports` YAML option.
44
+
45
+ - :material-wrench-outline: **[GCovr Configuration][gcovr]**
46
+
47
+ ---
48
+
49
+ All `:gcovr` YAML options for HTML, XML, JSON, text, and common settings.
50
+
51
+ - :material-file-cog-outline: **[ReportGenerator Configuration][reportgenerator]**
52
+
53
+ ---
54
+
55
+ All `:report_generator` YAML options.
56
+
57
+ - :material-lifebuoy: **[Advanced & Troubleshooting][troubleshooting]**
58
+
59
+ ---
60
+
61
+ Advanced configuration and troubleshooting solutions.
62
+
63
+ </div>
64
+
65
+ [overview]: overview.md
66
+ [tool-versions]: tool-versions.md
67
+ [setup]: setup.md
68
+ [examples]: examples.md
69
+ [reporting]: reporting.md
70
+ [gcovr]: gcovr.md
71
+ [reportgenerator]: reportgenerator.md
72
+ [troubleshooting]: troubleshooting.md
73
+
74
+ <br/><br/>