ceedling 0.31.1 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1477) hide show
  1. checksums.yaml +4 -4
  2. data/GIT_COMMIT_SHA +1 -0
  3. data/Gemfile +19 -11
  4. data/Gemfile.lock +31 -24
  5. data/README.md +716 -75
  6. data/Rakefile +15 -0
  7. data/assets/ceedling +6 -0
  8. data/assets/default_gitignore +7 -5
  9. data/assets/example_file.c +11 -0
  10. data/assets/example_file.h +9 -0
  11. data/assets/example_file_call.c +7 -0
  12. data/assets/example_file_call.h +7 -0
  13. data/assets/project.yml +402 -0
  14. data/assets/test_example_file.c +9 -2
  15. data/assets/test_example_file_boom.c +9 -2
  16. data/assets/test_example_file_crash.c +25 -0
  17. data/assets/test_example_file_success.c +9 -2
  18. data/assets/test_example_file_unity_printf.c +8 -1
  19. data/assets/test_example_file_verbose.c +8 -1
  20. data/assets/test_example_file_with_mock.c +8 -1
  21. data/assets/test_example_with_parameterized_tests.c +12 -3
  22. data/assets/tests_with_defines/src/adc_hardware.c +8 -1
  23. data/assets/tests_with_defines/src/adc_hardware.h +7 -0
  24. data/assets/tests_with_defines/src/adc_hardware_configurator.c +8 -1
  25. data/assets/tests_with_defines/src/adc_hardware_configurator.h +8 -1
  26. data/assets/tests_with_defines/test/test_adc_hardware.c +7 -0
  27. data/assets/tests_with_defines/test/test_adc_hardware_special.c +7 -0
  28. data/assets/tests_with_preprocessing/src/adc_hardwareA.c +17 -0
  29. data/assets/tests_with_preprocessing/src/adc_hardwareA.h +13 -0
  30. data/assets/tests_with_preprocessing/src/adc_hardwareB.c +14 -0
  31. data/assets/tests_with_preprocessing/src/adc_hardwareB.h +13 -0
  32. data/assets/tests_with_preprocessing/src/adc_hardwareC.c +14 -0
  33. data/assets/tests_with_preprocessing/src/adc_hardwareC.h +13 -0
  34. data/assets/tests_with_preprocessing/src/adc_hardware_configuratorA.h +13 -0
  35. data/assets/tests_with_preprocessing/src/adc_hardware_configuratorB.h +15 -0
  36. data/assets/tests_with_preprocessing/src/adc_hardware_configuratorC.h +15 -0
  37. data/assets/tests_with_preprocessing/test/test_adc_hardwareA.c +41 -0
  38. data/assets/tests_with_preprocessing/test/test_adc_hardwareB.c +25 -0
  39. data/assets/tests_with_preprocessing/test/test_adc_hardwareC.c +29 -0
  40. data/assets/uncovered_example_file.c +7 -0
  41. data/bin/actions_wrapper.rb +50 -0
  42. data/bin/app_cfg.rb +134 -0
  43. data/bin/ceedling +139 -329
  44. data/bin/cli.rb +542 -0
  45. data/bin/cli_handler.rb +480 -0
  46. data/bin/cli_helper.rb +512 -0
  47. data/bin/configinator.rb +111 -0
  48. data/bin/mixinator.rb +136 -0
  49. data/bin/mixins.rb +12 -0
  50. data/bin/objects.yml +80 -0
  51. data/bin/path_validator.rb +54 -0
  52. data/bin/projectinator.rb +244 -0
  53. data/bin/versionator.rb +81 -0
  54. data/ceedling.gemspec +20 -9
  55. data/config/test_environment.rb +6 -2
  56. data/docs/BreakingChanges.md +260 -0
  57. data/docs/CODE_OF_CONDUCT.md +138 -0
  58. data/docs/CONTRIBUTING.md +240 -0
  59. data/docs/CeedlingPacket.md +4999 -1614
  60. data/docs/CeedlingPullRequestChecklist.md +24 -0
  61. data/docs/CeedlingUpgrade.md +1 -1
  62. data/docs/Changelog.md +493 -0
  63. data/docs/PluginDevelopmentGuide.md +764 -0
  64. data/docs/ReleaseNotes.md +353 -0
  65. data/docs/SECURITY.md +41 -0
  66. data/examples/temp_sensor/README.md +18 -0
  67. data/examples/temp_sensor/mixin/add_gcov.yml +51 -0
  68. data/examples/temp_sensor/mixin/add_unity_helper.yml +26 -0
  69. data/examples/temp_sensor/project.yml +315 -28
  70. data/examples/temp_sensor/src/AdcConductor.c +7 -0
  71. data/examples/temp_sensor/src/AdcConductor.h +7 -0
  72. data/examples/temp_sensor/src/AdcHardware.c +7 -0
  73. data/examples/temp_sensor/src/AdcHardware.h +7 -0
  74. data/examples/temp_sensor/src/AdcHardwareConfigurator.c +7 -0
  75. data/examples/temp_sensor/src/AdcHardwareConfigurator.h +7 -0
  76. data/examples/temp_sensor/src/AdcModel.c +7 -0
  77. data/examples/temp_sensor/src/AdcModel.h +7 -0
  78. data/examples/temp_sensor/src/AdcTemperatureSensor.c +7 -0
  79. data/examples/temp_sensor/src/AdcTemperatureSensor.h +7 -0
  80. data/examples/temp_sensor/src/Executor.c +7 -0
  81. data/examples/temp_sensor/src/Executor.h +7 -0
  82. data/examples/temp_sensor/src/IntrinsicsWrapper.c +7 -0
  83. data/examples/temp_sensor/src/IntrinsicsWrapper.h +7 -0
  84. data/examples/temp_sensor/src/Main.c +7 -0
  85. data/examples/temp_sensor/src/Main.h +7 -0
  86. data/examples/temp_sensor/src/Model.c +7 -0
  87. data/examples/temp_sensor/src/Model.h +7 -0
  88. data/examples/temp_sensor/src/ModelConfig.h +7 -0
  89. data/examples/temp_sensor/src/TaskScheduler.c +7 -0
  90. data/examples/temp_sensor/src/TaskScheduler.h +7 -0
  91. data/examples/temp_sensor/src/TemperatureCalculator.c +12 -1
  92. data/examples/temp_sensor/src/TemperatureCalculator.h +7 -0
  93. data/examples/temp_sensor/src/TemperatureFilter.c +7 -0
  94. data/examples/temp_sensor/src/TemperatureFilter.h +7 -0
  95. data/examples/temp_sensor/src/TimerConductor.c +7 -0
  96. data/examples/temp_sensor/src/TimerConductor.h +7 -0
  97. data/examples/temp_sensor/src/TimerConfigurator.c +7 -0
  98. data/examples/temp_sensor/src/TimerConfigurator.h +7 -0
  99. data/examples/temp_sensor/src/TimerHardware.c +7 -0
  100. data/examples/temp_sensor/src/TimerHardware.h +7 -0
  101. data/examples/temp_sensor/src/TimerInterruptConfigurator.c +7 -0
  102. data/examples/temp_sensor/src/TimerInterruptConfigurator.h +7 -0
  103. data/examples/temp_sensor/src/TimerInterruptHandler.c +7 -0
  104. data/examples/temp_sensor/src/TimerInterruptHandler.h +7 -0
  105. data/examples/temp_sensor/src/TimerModel.c +7 -0
  106. data/examples/temp_sensor/src/TimerModel.h +7 -0
  107. data/examples/temp_sensor/src/Types.h +7 -0
  108. data/examples/temp_sensor/src/UsartBaudRateRegisterCalculator.c +7 -0
  109. data/examples/temp_sensor/src/UsartBaudRateRegisterCalculator.h +7 -0
  110. data/examples/temp_sensor/src/UsartConductor.c +7 -0
  111. data/examples/temp_sensor/src/UsartConductor.h +7 -0
  112. data/examples/temp_sensor/src/UsartConfigurator.c +7 -0
  113. data/examples/temp_sensor/src/UsartConfigurator.h +7 -0
  114. data/examples/temp_sensor/src/UsartHardware.c +7 -0
  115. data/examples/temp_sensor/src/UsartHardware.h +7 -0
  116. data/examples/temp_sensor/src/UsartModel.c +7 -0
  117. data/examples/temp_sensor/src/UsartModel.h +7 -0
  118. data/examples/temp_sensor/src/UsartPutChar.c +7 -0
  119. data/examples/temp_sensor/src/UsartPutChar.h +7 -0
  120. data/examples/temp_sensor/src/UsartTransmitBufferStatus.c +7 -0
  121. data/examples/temp_sensor/src/UsartTransmitBufferStatus.h +7 -0
  122. data/examples/temp_sensor/test/TestExecutor.c +8 -1
  123. data/examples/temp_sensor/test/TestMain.c +7 -0
  124. data/examples/temp_sensor/test/TestModel.c +7 -0
  125. data/examples/temp_sensor/test/TestTaskScheduler.c +37 -30
  126. data/examples/temp_sensor/test/TestTemperatureCalculator.c +8 -1
  127. data/examples/temp_sensor/test/TestTemperatureFilter.c +7 -0
  128. data/examples/temp_sensor/test/TestTimerConductor.c +7 -0
  129. data/examples/temp_sensor/test/TestTimerHardware.c +7 -0
  130. data/examples/temp_sensor/test/TestTimerIntegrated.c +53 -0
  131. data/examples/temp_sensor/test/TestTimerModel.c +7 -0
  132. data/examples/temp_sensor/test/TestUsartBaudRateRegisterCalculator.c +12 -5
  133. data/examples/temp_sensor/test/TestUsartConductor.c +7 -0
  134. data/examples/temp_sensor/test/TestUsartHardware.c +7 -0
  135. data/examples/temp_sensor/test/TestUsartIntegrated.c +63 -0
  136. data/examples/temp_sensor/test/TestUsartModel.c +8 -1
  137. data/examples/temp_sensor/test/{TestAdcConductor.c → adc/TestAdcConductor.c} +7 -0
  138. data/examples/temp_sensor/test/{TestAdcHardware.c → adc/TestAdcHardware.c} +8 -1
  139. data/examples/temp_sensor/test/{TestAdcModel.c → adc/TestAdcModel.c} +9 -2
  140. data/examples/temp_sensor/test/support/UnityHelper.c +11 -4
  141. data/examples/temp_sensor/test/support/UnityHelper.h +11 -6
  142. data/lib/ceedling/application.rb +26 -0
  143. data/lib/ceedling/backtrace.gdb +5 -0
  144. data/lib/ceedling/build_batchinator.rb +113 -0
  145. data/lib/ceedling/cacheinator.rb +6 -0
  146. data/lib/ceedling/cacheinator_helper.rb +6 -0
  147. data/lib/ceedling/config_matchinator.rb +192 -0
  148. data/lib/ceedling/config_walkinator.rb +35 -0
  149. data/lib/ceedling/configurator.rb +544 -191
  150. data/lib/ceedling/configurator_builder.rb +262 -179
  151. data/lib/ceedling/configurator_plugins.rb +71 -37
  152. data/lib/ceedling/configurator_setup.rb +726 -55
  153. data/lib/ceedling/configurator_validator.rb +152 -142
  154. data/lib/ceedling/constants.rb +97 -36
  155. data/lib/ceedling/defaults.rb +231 -225
  156. data/lib/ceedling/defineinator.rb +90 -0
  157. data/lib/ceedling/dependinator.rb +9 -75
  158. data/lib/ceedling/encodinator.rb +26 -0
  159. data/lib/ceedling/erb_wrapper.rb +8 -1
  160. data/lib/ceedling/exceptions.rb +47 -0
  161. data/lib/ceedling/file_finder.rb +136 -102
  162. data/lib/ceedling/file_finder_helper.rb +93 -33
  163. data/lib/ceedling/file_path_collection_utils.rb +137 -0
  164. data/lib/ceedling/file_path_utils.rb +72 -84
  165. data/lib/ceedling/file_system_wrapper.rb +6 -0
  166. data/lib/ceedling/file_wrapper.rb +42 -3
  167. data/lib/ceedling/flaginator.rb +43 -52
  168. data/lib/ceedling/generator.rb +283 -104
  169. data/lib/ceedling/generator_helper.rb +63 -25
  170. data/lib/ceedling/generator_mocks.rb +41 -0
  171. data/lib/ceedling/generator_test_results.rb +200 -30
  172. data/lib/ceedling/generator_test_results_backtrace.rb +215 -0
  173. data/lib/ceedling/generator_test_results_sanity_checker.rb +13 -8
  174. data/lib/ceedling/generator_test_runner.rb +62 -36
  175. data/lib/ceedling/include_pathinator.rb +83 -0
  176. data/lib/ceedling/loginator.rb +314 -19
  177. data/lib/ceedling/makefile.rb +6 -0
  178. data/lib/ceedling/objects.yml +120 -81
  179. data/lib/ceedling/parsing_parcels.rb +77 -0
  180. data/lib/ceedling/plugin.rb +14 -64
  181. data/lib/ceedling/plugin_manager.rb +45 -19
  182. data/lib/ceedling/plugin_manager_helper.rb +8 -2
  183. data/lib/ceedling/plugin_reportinator.rb +93 -30
  184. data/lib/ceedling/plugin_reportinator_helper.rb +60 -27
  185. data/lib/ceedling/preprocessinator.rb +213 -30
  186. data/lib/ceedling/preprocessinator_extractor.rb +238 -36
  187. data/lib/ceedling/preprocessinator_file_handler.rb +210 -15
  188. data/lib/ceedling/preprocessinator_includes_handler.rb +353 -160
  189. data/lib/ceedling/rake_utils.rb +6 -0
  190. data/lib/ceedling/rake_wrapper.rb +7 -0
  191. data/lib/ceedling/rakefile.rb +125 -65
  192. data/lib/ceedling/release_invoker.rb +11 -41
  193. data/lib/ceedling/release_invoker_helper.rb +6 -13
  194. data/lib/ceedling/reportinator.rb +99 -1
  195. data/lib/ceedling/rules_release.rake +45 -37
  196. data/lib/ceedling/rules_tests.rake +48 -59
  197. data/lib/ceedling/setupinator.rb +181 -35
  198. data/lib/ceedling/stream_wrapper.rb +38 -15
  199. data/lib/ceedling/system_utils.rb +8 -2
  200. data/lib/ceedling/system_wrapper.rb +83 -13
  201. data/lib/ceedling/task_invoker.rb +15 -67
  202. data/lib/ceedling/tasks_base.rake +15 -92
  203. data/lib/ceedling/tasks_filesystem.rake +35 -49
  204. data/lib/ceedling/tasks_release.rake +25 -12
  205. data/lib/ceedling/tasks_tests.rake +31 -22
  206. data/lib/ceedling/test_context_extractor.rb +379 -0
  207. data/lib/ceedling/test_invoker.rb +452 -111
  208. data/lib/ceedling/test_invoker_helper.rb +332 -17
  209. data/lib/ceedling/test_runner_manager.rb +47 -0
  210. data/lib/ceedling/tool_executor.rb +92 -88
  211. data/lib/ceedling/tool_executor_helper.rb +49 -106
  212. data/lib/ceedling/tool_validator.rb +149 -0
  213. data/lib/ceedling/verbosinator.rb +15 -3
  214. data/lib/ceedling/yaml_wrapper.rb +21 -1
  215. data/lib/ceedling.rb +12 -97
  216. data/lib/version.rb +24 -0
  217. data/license.txt +20 -27
  218. data/plugins/beep/README.md +124 -13
  219. data/plugins/beep/config/defaults.yml +12 -0
  220. data/plugins/beep/config/defaults_beep.rb +67 -0
  221. data/plugins/beep/lib/beep.rb +71 -26
  222. data/plugins/bullseye/README.md +9 -4
  223. data/plugins/bullseye/bullseye.rake +43 -36
  224. data/plugins/bullseye/config/defaults.yml +55 -46
  225. data/plugins/bullseye/lib/bullseye.rb +25 -16
  226. data/plugins/command_hooks/README.md +230 -42
  227. data/plugins/command_hooks/lib/command_hooks.rb +198 -59
  228. data/plugins/compile_commands_json_db/README.md +40 -0
  229. data/plugins/compile_commands_json_db/lib/compile_commands_json_db.rb +51 -0
  230. data/plugins/dependencies/README.md +113 -46
  231. data/plugins/dependencies/Rakefile +188 -0
  232. data/plugins/dependencies/config/defaults.yml +74 -1
  233. data/plugins/dependencies/dependencies.rake +28 -18
  234. data/plugins/dependencies/example/boss/project.yml +231 -0
  235. data/plugins/dependencies/example/boss/src/boss.c +80 -0
  236. data/plugins/dependencies/example/boss/src/boss.h +16 -0
  237. data/plugins/dependencies/example/boss/src/main.c +45 -0
  238. data/plugins/dependencies/example/boss/test/test_boss.c +118 -0
  239. data/plugins/dependencies/example/supervisor/project.yml +165 -0
  240. data/plugins/dependencies/example/supervisor/src/supervisor.c +45 -0
  241. data/plugins/dependencies/example/supervisor/src/supervisor.h +14 -0
  242. data/plugins/dependencies/example/supervisor/test/test_supervisor.c +58 -0
  243. data/plugins/dependencies/example/version.tar.gzip +0 -0
  244. data/plugins/dependencies/example/workerbees.zip +0 -0
  245. data/plugins/dependencies/lib/dependencies.rb +372 -78
  246. data/plugins/{fake_function_framework → fff}/README.md +9 -17
  247. data/plugins/fff/Rakefile +26 -0
  248. data/plugins/fff/config/fff.yml +13 -0
  249. data/plugins/fff/examples/fff_example/project.yml +145 -0
  250. data/plugins/fff/examples/fff_example/src/bar.c +8 -0
  251. data/plugins/{fake_function_framework → fff}/examples/fff_example/src/bar.h +7 -0
  252. data/plugins/fff/examples/fff_example/src/custom_types.h +13 -0
  253. data/plugins/fff/examples/fff_example/src/display.c +14 -0
  254. data/plugins/{fake_function_framework → fff}/examples/fff_example/src/display.h +7 -0
  255. data/plugins/{fake_function_framework → fff}/examples/fff_example/src/event_processor.c +7 -0
  256. data/plugins/{fake_function_framework → fff}/examples/fff_example/src/event_processor.h +7 -0
  257. data/plugins/fff/examples/fff_example/src/foo.c +23 -0
  258. data/plugins/fff/examples/fff_example/src/foo.h +15 -0
  259. data/plugins/fff/examples/fff_example/src/subfolder/zzz.c +8 -0
  260. data/plugins/fff/examples/fff_example/src/subfolder/zzz.h +13 -0
  261. data/plugins/{fake_function_framework → fff}/examples/fff_example/test/test_event_processor.c +24 -19
  262. data/plugins/{fake_function_framework → fff}/examples/fff_example/test/test_foo.c +7 -0
  263. data/plugins/{fake_function_framework/lib/fake_function_framework.rb → fff/lib/fff.rb} +22 -19
  264. data/plugins/{fake_function_framework → fff}/lib/fff_mock_generator.rb +9 -0
  265. data/plugins/{fake_function_framework → fff}/spec/fff_mock_header_generator_spec.rb +7 -0
  266. data/plugins/{fake_function_framework → fff}/spec/fff_mock_source_generator_spec.rb +7 -0
  267. data/plugins/{fake_function_framework → fff}/spec/header_generator.rb +7 -0
  268. data/plugins/{fake_function_framework → fff}/spec/spec_helper.rb +7 -0
  269. data/plugins/{fake_function_framework → fff}/src/fff_unity_helper.h +7 -0
  270. data/plugins/fff/vendor/fff/LICENSE +25 -0
  271. data/plugins/fff/vendor/fff/Makefile +10 -0
  272. data/plugins/fff/vendor/fff/README.md +454 -0
  273. data/plugins/fff/vendor/fff/buildandtest +15 -0
  274. data/plugins/fff/vendor/fff/examples/Makefile +7 -0
  275. data/plugins/fff/vendor/fff/examples/driver_testing/Makefile +64 -0
  276. data/plugins/fff/vendor/fff/examples/driver_testing/driver.c +32 -0
  277. data/plugins/fff/vendor/fff/examples/driver_testing/driver.h +21 -0
  278. data/plugins/fff/vendor/fff/examples/driver_testing/driver.test.cpp +58 -0
  279. data/plugins/fff/vendor/fff/examples/driver_testing/driver.test.fff.cpp +70 -0
  280. data/plugins/fff/vendor/fff/examples/driver_testing/hardware_abstraction.h +25 -0
  281. data/plugins/fff/vendor/fff/examples/driver_testing/registers.h +23 -0
  282. data/plugins/fff/vendor/fff/examples/embedded_ui/DISPLAY.h +27 -0
  283. data/plugins/fff/vendor/fff/examples/embedded_ui/Kata.txt +25 -0
  284. data/plugins/fff/vendor/fff/examples/embedded_ui/Makefile +67 -0
  285. data/plugins/fff/vendor/fff/examples/embedded_ui/SYSTEM.h +31 -0
  286. data/plugins/fff/vendor/fff/examples/embedded_ui/UI.c +56 -0
  287. data/plugins/fff/vendor/fff/examples/embedded_ui/UI.h +22 -0
  288. data/plugins/fff/vendor/fff/examples/embedded_ui/UI_test_ansic.c +191 -0
  289. data/plugins/fff/vendor/fff/examples/embedded_ui/UI_test_cpp.cpp +144 -0
  290. data/plugins/fff/vendor/fff/examples/embedded_ui/test_suite_template.c +42 -0
  291. data/plugins/fff/vendor/fff/fakegen.rb +428 -0
  292. data/plugins/fff/vendor/fff/fff.h +5122 -0
  293. data/plugins/fff/vendor/fff/gtest/Makefile +22 -0
  294. data/plugins/fff/vendor/fff/gtest/gtest-all.cc +9118 -0
  295. data/plugins/fff/vendor/fff/gtest/gtest-main.cc +6 -0
  296. data/plugins/fff/vendor/fff/gtest/gtest.h +19547 -0
  297. data/plugins/fff/vendor/fff/test/Makefile +81 -0
  298. data/plugins/fff/vendor/fff/test/c_test_framework.h +25 -0
  299. data/plugins/fff/vendor/fff/test/fff_test_c.c +116 -0
  300. data/plugins/fff/vendor/fff/test/fff_test_cpp.cpp +53 -0
  301. data/plugins/fff/vendor/fff/test/fff_test_global_c.c +84 -0
  302. data/plugins/fff/vendor/fff/test/fff_test_global_cpp.cpp +31 -0
  303. data/plugins/fff/vendor/fff/test/global_fakes.c +21 -0
  304. data/plugins/fff/vendor/fff/test/global_fakes.h +47 -0
  305. data/plugins/fff/vendor/fff/test/test_cases.include +276 -0
  306. data/plugins/gcov/README.md +631 -171
  307. data/plugins/gcov/config/defaults.yml +30 -0
  308. data/plugins/gcov/config/defaults_gcov.rb +96 -105
  309. data/plugins/gcov/gcov.rake +43 -152
  310. data/plugins/gcov/lib/gcov.rb +234 -88
  311. data/plugins/gcov/lib/gcov_constants.rb +25 -10
  312. data/plugins/gcov/lib/gcovr_reportinator.rb +245 -151
  313. data/plugins/gcov/lib/reportgenerator_reportinator.rb +93 -68
  314. data/plugins/gcov/lib/reportinator_helper.rb +23 -8
  315. data/plugins/module_generator/README.md +163 -15
  316. data/plugins/module_generator/Rakefile +232 -0
  317. data/plugins/module_generator/assets/stubby1.h +13 -0
  318. data/plugins/module_generator/assets/stubby2.h +15 -0
  319. data/plugins/module_generator/config/module_generator.yml +12 -3
  320. data/plugins/module_generator/example/project.yml +174 -0
  321. data/plugins/module_generator/lib/module_generator.rb +63 -21
  322. data/plugins/module_generator/module_generator.rake +7 -0
  323. data/plugins/report_build_warnings_log/README.md +40 -0
  324. data/plugins/report_build_warnings_log/config/defaults.yml +12 -0
  325. data/plugins/report_build_warnings_log/lib/report_build_warnings_log.rb +143 -0
  326. data/plugins/report_tests_gtestlike_stdout/README.md +96 -0
  327. data/plugins/{stdout_gtestlike_tests_report → report_tests_gtestlike_stdout}/assets/template.erb +6 -7
  328. data/plugins/report_tests_gtestlike_stdout/config/report_tests_gtestlike_stdout.yml +11 -0
  329. data/plugins/report_tests_gtestlike_stdout/lib/report_tests_gtestlike_stdout.rb +69 -0
  330. data/plugins/report_tests_ide_stdout/README.md +62 -0
  331. data/plugins/report_tests_ide_stdout/config/report_tests_ide_stdout.yml +11 -0
  332. data/plugins/report_tests_ide_stdout/lib/report_tests_ide_stdout.rb +72 -0
  333. data/plugins/report_tests_log_factory/README.md +446 -0
  334. data/plugins/report_tests_log_factory/config/defaults.yml +11 -0
  335. data/plugins/report_tests_log_factory/lib/cppunit_tests_reporter.rb +100 -0
  336. data/plugins/report_tests_log_factory/lib/html_tests_reporter.rb +181 -0
  337. data/plugins/report_tests_log_factory/lib/json_tests_reporter.rb +72 -0
  338. data/plugins/report_tests_log_factory/lib/junit_tests_reporter.rb +197 -0
  339. data/plugins/report_tests_log_factory/lib/report_tests_log_factory.rb +135 -0
  340. data/plugins/report_tests_log_factory/lib/tests_reporter.rb +70 -0
  341. data/plugins/report_tests_log_factory/sample_html_report.png +0 -0
  342. data/plugins/report_tests_pretty_stdout/README.md +54 -0
  343. data/plugins/{stdout_pretty_tests_report → report_tests_pretty_stdout}/assets/template.erb +13 -9
  344. data/plugins/report_tests_pretty_stdout/config/report_tests_pretty_stdout.yml +11 -0
  345. data/plugins/report_tests_pretty_stdout/lib/report_tests_pretty_stdout.rb +73 -0
  346. data/plugins/report_tests_raw_output_log/README.md +50 -0
  347. data/plugins/report_tests_raw_output_log/lib/report_tests_raw_output_log.rb +129 -0
  348. data/plugins/report_tests_teamcity_stdout/README.md +94 -0
  349. data/plugins/report_tests_teamcity_stdout/config/defaults.yml +12 -0
  350. data/plugins/report_tests_teamcity_stdout/config/report_tests_teamcity_stdout.yml +11 -0
  351. data/plugins/report_tests_teamcity_stdout/lib/report_tests_teamcity_stdout.rb +163 -0
  352. data/spec/config_walkinator_spec.rb +62 -0
  353. data/spec/configurator_builder_spec.rb +9 -0
  354. data/spec/configurator_helper_spec.rb +7 -0
  355. data/spec/configurator_spec.rb +8 -0
  356. data/spec/file_finder_helper_spec.rb +30 -10
  357. data/spec/gcov/gcov_deployment_spec.rb +82 -20
  358. data/spec/gcov/gcov_test_cases_spec.rb +211 -64
  359. data/spec/generator_test_results_sanity_checker_spec.rb +26 -10
  360. data/spec/generator_test_results_spec.rb +44 -20
  361. data/spec/manual/stress_test.rb +31 -0
  362. data/spec/parsing_parcels_spec.rb +66 -0
  363. data/spec/preprocessinator_extractor_spec.rb +379 -52
  364. data/spec/preprocessinator_includes_handler_spec.rb +268 -262
  365. data/spec/reportinator_spec.rb +7 -0
  366. data/spec/spec_helper.rb +8 -3
  367. data/spec/spec_system_helper.rb +504 -185
  368. data/spec/support/other_target.yml +7 -0
  369. data/spec/support/target.yml +7 -0
  370. data/spec/support/test_example.fail +3 -2
  371. data/spec/support/test_example.pass +3 -2
  372. data/spec/support/test_example_empty.pass +3 -2
  373. data/spec/support/test_example_ignore.pass +3 -2
  374. data/spec/support/test_example_mangled.pass +3 -2
  375. data/spec/support/test_example_with_time.pass +3 -2
  376. data/spec/system/deployment_as_gem_spec.rb +76 -0
  377. data/spec/system/deployment_as_vendor_spec.rb +123 -0
  378. data/spec/system/example_temp_sensor_spec.rb +264 -0
  379. data/spec/system/upgrade_as_vendor_spec.rb +68 -0
  380. data/spec/system_utils_spec.rb +15 -6
  381. data/spec/test_context_extractor_spec.rb +328 -0
  382. data/spec/tool_executor_helper_spec.rb +116 -207
  383. data/spec/uncategorized_specs_spec.rb +15 -0
  384. data/vendor/c_exception/README.md +1 -12
  385. data/vendor/c_exception/docs/CException.md +4 -47
  386. data/vendor/c_exception/docs/CODE_OF_CONDUCT.md +138 -0
  387. data/vendor/c_exception/docs/CONTRIBUTING.md +238 -0
  388. data/vendor/c_exception/lib/CException.c +13 -0
  389. data/vendor/c_exception/lib/CException.h +8 -1
  390. data/vendor/c_exception/license.txt +22 -0
  391. data/vendor/c_exception/project.yml +232 -6
  392. data/vendor/c_exception/test/TestException.c +10 -3
  393. data/vendor/c_exception/test/support/CExceptionConfig.h +7 -0
  394. data/vendor/cmock/Gemfile +0 -7
  395. data/vendor/cmock/LICENSE.txt +3 -1
  396. data/vendor/cmock/README.md +27 -11
  397. data/vendor/cmock/cmock.gemspec +34 -0
  398. data/vendor/cmock/config/production_environment.rb +7 -6
  399. data/vendor/cmock/config/test_environment.rb +7 -6
  400. data/vendor/cmock/docs/CMockChangeLog.md +166 -0
  401. data/vendor/cmock/docs/CMockKnownIssues.md +13 -0
  402. data/vendor/cmock/docs/CMock_ArgumentValidation.md +274 -0
  403. data/vendor/cmock/docs/CMock_Summary.md +43 -8
  404. data/vendor/cmock/docs/CODE_OF_CONDUCT.md +138 -0
  405. data/vendor/cmock/docs/CONTRIBUTING.md +238 -0
  406. data/vendor/cmock/examples/make_example/Makefile +1 -1
  407. data/vendor/cmock/examples/make_example/src/foo.c +7 -0
  408. data/vendor/cmock/examples/make_example/src/foo.h +7 -0
  409. data/vendor/cmock/examples/make_example/src/main.c +7 -0
  410. data/vendor/cmock/examples/make_example/test/test_foo.c +8 -1
  411. data/vendor/cmock/examples/make_example/test/test_main.c +7 -0
  412. data/vendor/cmock/examples/temp_sensor/rakefile.rb +8 -1
  413. data/vendor/cmock/examples/temp_sensor/rakefile_helper.rb +33 -21
  414. data/vendor/cmock/examples/temp_sensor/src/AT91SAM7X256.h +20 -12
  415. data/vendor/cmock/examples/temp_sensor/src/AdcConductor.c +7 -0
  416. data/vendor/cmock/examples/temp_sensor/src/AdcConductor.h +7 -0
  417. data/vendor/cmock/examples/temp_sensor/src/AdcHardware.c +7 -0
  418. data/vendor/cmock/examples/temp_sensor/src/AdcHardware.h +7 -0
  419. data/vendor/cmock/examples/temp_sensor/src/AdcHardwareConfigurator.c +7 -0
  420. data/vendor/cmock/examples/temp_sensor/src/AdcHardwareConfigurator.h +7 -0
  421. data/vendor/cmock/examples/temp_sensor/src/AdcModel.c +7 -0
  422. data/vendor/cmock/examples/temp_sensor/src/AdcModel.h +7 -0
  423. data/vendor/cmock/examples/temp_sensor/src/AdcTemperatureSensor.c +7 -0
  424. data/vendor/cmock/examples/temp_sensor/src/AdcTemperatureSensor.h +7 -0
  425. data/vendor/cmock/examples/temp_sensor/src/Executor.c +7 -0
  426. data/vendor/cmock/examples/temp_sensor/src/Executor.h +7 -0
  427. data/vendor/cmock/examples/temp_sensor/src/IntrinsicsWrapper.c +7 -0
  428. data/vendor/cmock/examples/temp_sensor/src/IntrinsicsWrapper.h +7 -0
  429. data/vendor/cmock/examples/temp_sensor/src/Main.c +7 -0
  430. data/vendor/cmock/examples/temp_sensor/src/Main.h +7 -0
  431. data/vendor/cmock/examples/temp_sensor/src/Model.c +7 -0
  432. data/vendor/cmock/examples/temp_sensor/src/Model.h +7 -0
  433. data/vendor/cmock/examples/temp_sensor/src/ModelConfig.h +7 -0
  434. data/vendor/cmock/examples/temp_sensor/src/TaskScheduler.c +7 -0
  435. data/vendor/cmock/examples/temp_sensor/src/TaskScheduler.h +7 -0
  436. data/vendor/cmock/examples/temp_sensor/src/TemperatureCalculator.c +7 -0
  437. data/vendor/cmock/examples/temp_sensor/src/TemperatureCalculator.h +7 -0
  438. data/vendor/cmock/examples/temp_sensor/src/TemperatureFilter.c +15 -5
  439. data/vendor/cmock/examples/temp_sensor/src/TemperatureFilter.h +7 -0
  440. data/vendor/cmock/examples/temp_sensor/src/TimerConductor.c +7 -0
  441. data/vendor/cmock/examples/temp_sensor/src/TimerConductor.h +7 -0
  442. data/vendor/cmock/examples/temp_sensor/src/TimerConfigurator.c +7 -0
  443. data/vendor/cmock/examples/temp_sensor/src/TimerConfigurator.h +7 -0
  444. data/vendor/cmock/examples/temp_sensor/src/TimerHardware.c +7 -0
  445. data/vendor/cmock/examples/temp_sensor/src/TimerHardware.h +7 -0
  446. data/vendor/cmock/examples/temp_sensor/src/TimerInterruptConfigurator.c +8 -1
  447. data/vendor/cmock/examples/temp_sensor/src/TimerInterruptConfigurator.h +7 -0
  448. data/vendor/cmock/examples/temp_sensor/src/TimerInterruptHandler.c +7 -0
  449. data/vendor/cmock/examples/temp_sensor/src/TimerInterruptHandler.h +7 -0
  450. data/vendor/cmock/examples/temp_sensor/src/TimerModel.c +7 -0
  451. data/vendor/cmock/examples/temp_sensor/src/TimerModel.h +7 -0
  452. data/vendor/cmock/examples/temp_sensor/src/Types.h +7 -0
  453. data/vendor/cmock/examples/temp_sensor/src/UsartBaudRateRegisterCalculator.c +7 -0
  454. data/vendor/cmock/examples/temp_sensor/src/UsartBaudRateRegisterCalculator.h +7 -0
  455. data/vendor/cmock/examples/temp_sensor/src/UsartConductor.c +7 -0
  456. data/vendor/cmock/examples/temp_sensor/src/UsartConductor.h +7 -0
  457. data/vendor/cmock/examples/temp_sensor/src/UsartConfigurator.c +7 -0
  458. data/vendor/cmock/examples/temp_sensor/src/UsartConfigurator.h +7 -0
  459. data/vendor/cmock/examples/temp_sensor/src/UsartHardware.c +7 -0
  460. data/vendor/cmock/examples/temp_sensor/src/UsartHardware.h +7 -0
  461. data/vendor/cmock/examples/temp_sensor/src/UsartModel.c +7 -0
  462. data/vendor/cmock/examples/temp_sensor/src/UsartModel.h +7 -0
  463. data/vendor/cmock/examples/temp_sensor/src/UsartPutChar.c +7 -0
  464. data/vendor/cmock/examples/temp_sensor/src/UsartPutChar.h +7 -0
  465. data/vendor/cmock/examples/temp_sensor/src/UsartTransmitBufferStatus.c +7 -0
  466. data/vendor/cmock/examples/temp_sensor/src/UsartTransmitBufferStatus.h +7 -0
  467. data/vendor/cmock/examples/temp_sensor/targets/gcc.yml +97 -0
  468. data/vendor/cmock/examples/temp_sensor/targets/iar_v4.yml +143 -0
  469. data/vendor/cmock/examples/temp_sensor/targets/iar_v5.yml +132 -0
  470. data/vendor/cmock/examples/temp_sensor/test/TestAdcConductor.c +7 -0
  471. data/vendor/cmock/examples/temp_sensor/test/TestAdcHardware.c +7 -0
  472. data/vendor/cmock/examples/temp_sensor/test/TestAdcHardwareConfigurator.c +7 -0
  473. data/vendor/cmock/examples/temp_sensor/test/TestAdcModel.c +7 -0
  474. data/vendor/cmock/examples/temp_sensor/test/TestAdcTemperatureSensor.c +7 -0
  475. data/vendor/cmock/examples/temp_sensor/test/TestExecutor.c +7 -0
  476. data/vendor/cmock/examples/temp_sensor/test/TestMain.c +7 -0
  477. data/vendor/cmock/examples/temp_sensor/test/TestModel.c +7 -0
  478. data/vendor/cmock/examples/temp_sensor/test/TestTaskScheduler.c +7 -0
  479. data/vendor/cmock/examples/temp_sensor/test/TestTemperatureCalculator.c +7 -0
  480. data/vendor/cmock/examples/temp_sensor/test/TestTemperatureFilter.c +7 -0
  481. data/vendor/cmock/examples/temp_sensor/test/TestTimerConductor.c +7 -0
  482. data/vendor/cmock/examples/temp_sensor/test/TestTimerConfigurator.c +7 -0
  483. data/vendor/cmock/examples/temp_sensor/test/TestTimerHardware.c +7 -0
  484. data/vendor/cmock/examples/temp_sensor/test/TestTimerInterruptConfigurator.c +9 -2
  485. data/vendor/cmock/examples/temp_sensor/test/TestTimerInterruptHandler.c +7 -0
  486. data/vendor/cmock/examples/temp_sensor/test/TestTimerModel.c +7 -0
  487. data/vendor/cmock/examples/temp_sensor/test/TestUsartBaudRateRegisterCalculator.c +7 -0
  488. data/vendor/cmock/examples/temp_sensor/test/TestUsartConductor.c +7 -0
  489. data/vendor/cmock/examples/temp_sensor/test/TestUsartConfigurator.c +7 -0
  490. data/vendor/cmock/examples/temp_sensor/test/TestUsartHardware.c +7 -0
  491. data/vendor/cmock/examples/temp_sensor/test/TestUsartModel.c +7 -0
  492. data/vendor/cmock/examples/temp_sensor/test/TestUsartPutChar.c +7 -0
  493. data/vendor/cmock/examples/temp_sensor/test/TestUsartTransmitBufferStatus.c +7 -0
  494. data/vendor/cmock/lib/cmock.rb +27 -11
  495. data/vendor/cmock/lib/cmock_config.rb +22 -12
  496. data/vendor/cmock/lib/cmock_file_writer.rb +10 -9
  497. data/vendor/cmock/lib/cmock_generator.rb +29 -18
  498. data/vendor/cmock/lib/cmock_generator_plugin_array.rb +15 -10
  499. data/vendor/cmock/lib/cmock_generator_plugin_callback.rb +7 -7
  500. data/vendor/cmock/lib/cmock_generator_plugin_cexception.rb +7 -7
  501. data/vendor/cmock/lib/cmock_generator_plugin_expect.rb +14 -9
  502. data/vendor/cmock/lib/cmock_generator_plugin_expect_any_args.rb +11 -9
  503. data/vendor/cmock/lib/cmock_generator_plugin_ignore.rb +10 -8
  504. data/vendor/cmock/lib/cmock_generator_plugin_ignore_arg.rb +7 -0
  505. data/vendor/cmock/lib/cmock_generator_plugin_ignore_stateless.rb +10 -8
  506. data/vendor/cmock/lib/cmock_generator_plugin_return_thru_ptr.rb +31 -8
  507. data/vendor/cmock/lib/cmock_generator_utils.rb +11 -10
  508. data/vendor/cmock/lib/cmock_header_parser.rb +43 -37
  509. data/vendor/cmock/lib/cmock_plugin_manager.rb +8 -7
  510. data/vendor/cmock/lib/cmock_unityhelper_parser.rb +13 -8
  511. data/vendor/cmock/lib/cmock_version.rb +29 -0
  512. data/vendor/cmock/scripts/create_makefile.rb +13 -6
  513. data/vendor/cmock/scripts/create_mock.rb +7 -0
  514. data/vendor/cmock/scripts/create_runner.rb +7 -0
  515. data/vendor/cmock/scripts/test_summary.rb +7 -0
  516. data/vendor/cmock/src/cmock.c +24 -2
  517. data/vendor/cmock/src/cmock.h +9 -2
  518. data/vendor/cmock/src/cmock_internals.h +7 -0
  519. data/vendor/cmock/test/c/TestCMockC.c +8 -1
  520. data/vendor/cmock/test/c/TestCMockC.yml +7 -0
  521. data/vendor/cmock/test/c/TestCMockCDynamic.c +7 -0
  522. data/vendor/cmock/test/c/TestCMockCDynamic.yml +7 -0
  523. data/vendor/cmock/test/c/TestCMockCDynamic_Runner.c +7 -0
  524. data/vendor/cmock/test/c/TestCMockC_Runner.c +7 -0
  525. data/vendor/cmock/test/iar/iar_v4/incIAR/AT91SAM7X-EK.h +7 -0
  526. data/vendor/cmock/test/iar/iar_v4/incIAR/AT91SAM7X256_inc.h +7 -0
  527. data/vendor/cmock/test/iar/iar_v4/incIAR/ioat91sam7x256.h +7 -0
  528. data/vendor/cmock/test/iar/iar_v4/srcIAR/Cstartup_SAM7.c +7 -0
  529. data/vendor/cmock/test/iar/iar_v5/incIAR/AT91SAM7X-EK.h +7 -0
  530. data/vendor/cmock/test/iar/iar_v5/incIAR/AT91SAM7X256_inc.h +7 -0
  531. data/vendor/cmock/test/iar/iar_v5/incIAR/project.h +7 -0
  532. data/vendor/cmock/test/iar/iar_v5/srcIAR/Cstartup_SAM7.c +7 -0
  533. data/vendor/cmock/test/rakefile +6 -3
  534. data/vendor/cmock/test/rakefile_helper.rb +25 -11
  535. data/vendor/cmock/test/system/systest_generator.rb +6 -5
  536. data/vendor/cmock/test/system/test_compilation/callingconv.h +7 -0
  537. data/vendor/cmock/test/system/test_compilation/config.yml +7 -0
  538. data/vendor/cmock/test/system/test_compilation/const.h +7 -0
  539. data/vendor/cmock/test/system/test_compilation/inline.h +7 -0
  540. data/vendor/cmock/test/system/test_compilation/osek.h +8 -1
  541. data/vendor/cmock/test/system/test_compilation/parsing.h +12 -2
  542. data/vendor/cmock/test/system/test_interactions/all_plugins_but_other_limits.yml +7 -0
  543. data/vendor/cmock/test/system/test_interactions/all_plugins_coexist.yml +7 -0
  544. data/vendor/cmock/test/system/test_interactions/array_and_pointer_handling.yml +7 -0
  545. data/vendor/cmock/test/system/test_interactions/basic_expect_and_return.yml +7 -0
  546. data/vendor/cmock/test/system/test_interactions/const_primitives_handling.yml +7 -0
  547. data/vendor/cmock/test/system/test_interactions/doesnt_leave_details_behind.yml +7 -0
  548. data/vendor/cmock/test/system/test_interactions/enforce_strict_ordering.yml +7 -0
  549. data/vendor/cmock/test/system/test_interactions/expect_and_return_custom_types.yml +7 -0
  550. data/vendor/cmock/test/system/test_interactions/expect_and_return_treat_as.yml +7 -0
  551. data/vendor/cmock/test/system/test_interactions/expect_and_throw.yml +7 -0
  552. data/vendor/cmock/test/system/test_interactions/expect_any_args.yml +7 -0
  553. data/vendor/cmock/test/system/test_interactions/fancy_pointer_handling.yml +7 -0
  554. data/vendor/cmock/test/system/test_interactions/function_pointer_handling.yml +7 -0
  555. data/vendor/cmock/test/system/test_interactions/ignore_and_return.yml +7 -0
  556. data/vendor/cmock/test/system/test_interactions/ignore_and_return_stateless.yml +7 -0
  557. data/vendor/cmock/test/system/test_interactions/ignore_strict_mock_calling.yml +7 -0
  558. data/vendor/cmock/test/system/test_interactions/newer_standards_stuff1.yml +7 -0
  559. data/vendor/cmock/test/system/test_interactions/nonstandard_parsed_stuff_1.yml +7 -0
  560. data/vendor/cmock/test/system/test_interactions/nonstandard_parsed_stuff_2.yml +7 -0
  561. data/vendor/cmock/test/system/test_interactions/out_of_memory.yml +7 -0
  562. data/vendor/cmock/test/system/test_interactions/parsing_challenges.yml +7 -0
  563. data/vendor/cmock/test/system/test_interactions/return_thru_ptr_and_expect_any_args.yml +7 -0
  564. data/vendor/cmock/test/system/test_interactions/return_thru_ptr_ignore_arg.yml +7 -0
  565. data/vendor/cmock/test/system/test_interactions/skeleton.yml +7 -0
  566. data/vendor/cmock/test/system/test_interactions/skeleton_update.yml +8 -1
  567. data/vendor/cmock/test/system/test_interactions/struct_union_enum_expect_and_return.yml +7 -0
  568. data/vendor/cmock/test/system/test_interactions/struct_union_enum_expect_and_return_with_plugins.yml +7 -0
  569. data/vendor/cmock/test/system/test_interactions/stubs_with_callbacks.yml +7 -0
  570. data/vendor/cmock/test/system/test_interactions/unity_64bit_support.yml +7 -0
  571. data/vendor/cmock/test/system/test_interactions/unity_ignores.yml +7 -0
  572. data/vendor/cmock/test/system/test_interactions/unity_void_pointer_compare.yml +7 -0
  573. data/vendor/cmock/test/system/test_interactions/wrong_expect_and_return.yml +149 -0
  574. data/vendor/cmock/test/targets/clang_strict.yml +7 -0
  575. data/vendor/cmock/test/targets/gcc.yml +7 -0
  576. data/vendor/cmock/test/targets/gcc_64.yml +7 -0
  577. data/vendor/cmock/test/targets/gcc_tiny.yml +7 -0
  578. data/vendor/cmock/test/targets/iar_arm_v4.yml +7 -0
  579. data/vendor/cmock/test/targets/iar_arm_v5.yml +7 -0
  580. data/vendor/cmock/test/test_helper.rb +6 -5
  581. data/vendor/cmock/test/unit/cmock_config_test.rb +6 -5
  582. data/vendor/cmock/test/unit/cmock_config_test.yml +7 -0
  583. data/vendor/cmock/test/unit/cmock_file_writer_test.rb +6 -5
  584. data/vendor/cmock/test/unit/cmock_generator_main_test.rb +29 -17
  585. data/vendor/cmock/test/unit/cmock_generator_plugin_array_test.rb +12 -8
  586. data/vendor/cmock/test/unit/cmock_generator_plugin_callback_test.rb +6 -5
  587. data/vendor/cmock/test/unit/cmock_generator_plugin_cexception_test.rb +6 -5
  588. data/vendor/cmock/test/unit/cmock_generator_plugin_expect_a_test.rb +12 -8
  589. data/vendor/cmock/test/unit/cmock_generator_plugin_expect_any_args_test.rb +11 -7
  590. data/vendor/cmock/test/unit/cmock_generator_plugin_expect_b_test.rb +12 -8
  591. data/vendor/cmock/test/unit/cmock_generator_plugin_ignore_arg_test.rb +6 -5
  592. data/vendor/cmock/test/unit/cmock_generator_plugin_ignore_stateless_test.rb +13 -8
  593. data/vendor/cmock/test/unit/cmock_generator_plugin_ignore_test.rb +13 -8
  594. data/vendor/cmock/test/unit/cmock_generator_plugin_return_thru_ptr_test.rb +87 -14
  595. data/vendor/cmock/test/unit/cmock_generator_utils_test.rb +6 -5
  596. data/vendor/cmock/test/unit/cmock_header_parser_test.rb +54 -17
  597. data/vendor/cmock/test/unit/cmock_plugin_manager_test.rb +6 -5
  598. data/vendor/cmock/test/unit/cmock_unityhelper_parser_test.rb +6 -5
  599. data/vendor/cmock/vendor/c_exception/README.md +4 -17
  600. data/vendor/cmock/vendor/c_exception/docs/CException.md +5 -48
  601. data/vendor/cmock/vendor/c_exception/docs/CODE_OF_CONDUCT.md +138 -0
  602. data/vendor/cmock/vendor/c_exception/docs/CONTRIBUTING.md +238 -0
  603. data/vendor/cmock/vendor/c_exception/lib/CException.c +13 -0
  604. data/vendor/cmock/vendor/c_exception/lib/CException.h +8 -1
  605. data/vendor/cmock/vendor/c_exception/lib/meson.build +2 -2
  606. data/vendor/cmock/vendor/c_exception/license.txt +22 -0
  607. data/vendor/cmock/vendor/c_exception/meson.build +2 -36
  608. data/vendor/cmock/vendor/c_exception/project.yml +232 -6
  609. data/vendor/cmock/vendor/c_exception/test/TestException.c +10 -3
  610. data/vendor/cmock/vendor/c_exception/test/support/CExceptionConfig.h +7 -0
  611. data/vendor/cmock/vendor/unity/CMakeLists.txt +46 -33
  612. data/vendor/cmock/vendor/unity/LICENSE.txt +1 -1
  613. data/vendor/cmock/vendor/unity/README.md +33 -5
  614. data/vendor/cmock/vendor/unity/auto/__init__.py +7 -0
  615. data/vendor/cmock/vendor/unity/auto/colour_prompt.rb +6 -5
  616. data/vendor/cmock/vendor/unity/auto/colour_reporter.rb +7 -6
  617. data/vendor/cmock/vendor/unity/auto/extract_version.py +22 -0
  618. data/vendor/cmock/vendor/unity/auto/generate_config.yml +7 -0
  619. data/vendor/cmock/vendor/unity/auto/generate_module.rb +32 -27
  620. data/vendor/cmock/vendor/unity/auto/generate_test_runner.rb +71 -35
  621. data/vendor/cmock/vendor/unity/auto/parse_output.rb +90 -22
  622. data/vendor/cmock/vendor/unity/auto/run_test.erb +2 -2
  623. data/vendor/cmock/vendor/unity/auto/{unity_to_junit.py → stylize_as_junit.py} +54 -39
  624. data/vendor/cmock/vendor/unity/auto/stylize_as_junit.rb +8 -6
  625. data/vendor/cmock/vendor/unity/auto/test_file_filter.rb +11 -8
  626. data/vendor/cmock/vendor/unity/auto/type_sanitizer.rb +8 -1
  627. data/vendor/cmock/vendor/unity/auto/unity_test_summary.py +7 -6
  628. data/vendor/cmock/vendor/unity/auto/unity_test_summary.rb +13 -8
  629. data/vendor/cmock/vendor/unity/auto/yaml_helper.rb +23 -0
  630. data/vendor/cmock/vendor/unity/docs/CODE_OF_CONDUCT.md +138 -0
  631. data/vendor/cmock/vendor/unity/docs/CONTRIBUTING.md +238 -0
  632. data/vendor/cmock/vendor/unity/docs/MesonGeneratorRunner.md +18 -0
  633. data/vendor/cmock/vendor/unity/docs/UnityAssertionsReference.md +133 -60
  634. data/vendor/cmock/vendor/unity/docs/UnityChangeLog.md +110 -0
  635. data/vendor/cmock/vendor/unity/docs/UnityConfigurationGuide.md +151 -2
  636. data/vendor/cmock/vendor/unity/docs/UnityHelperScriptsGuide.md +289 -1
  637. data/vendor/cmock/vendor/unity/docs/UnityKnownIssues.md +13 -0
  638. data/vendor/cmock/vendor/unity/examples/example_1/makefile +6 -5
  639. data/vendor/cmock/vendor/unity/examples/example_1/meson.build +48 -0
  640. data/vendor/cmock/vendor/unity/examples/example_1/readme.txt +8 -1
  641. data/vendor/cmock/vendor/unity/examples/example_1/src/ProductionCode.c +6 -0
  642. data/vendor/cmock/vendor/unity/examples/example_1/src/ProductionCode.h +6 -0
  643. data/vendor/cmock/vendor/unity/examples/example_1/src/ProductionCode2.c +6 -0
  644. data/vendor/cmock/vendor/unity/examples/example_1/src/ProductionCode2.h +6 -0
  645. data/vendor/cmock/vendor/unity/examples/example_1/subprojects/unity.wrap +3 -0
  646. data/vendor/cmock/vendor/unity/examples/example_1/test/TestProductionCode.c +6 -0
  647. data/vendor/cmock/vendor/unity/examples/example_1/test/TestProductionCode2.c +6 -0
  648. data/vendor/cmock/vendor/unity/examples/example_2/makefile +6 -5
  649. data/vendor/cmock/vendor/unity/examples/example_2/src/ProductionCode.c +6 -0
  650. data/vendor/cmock/vendor/unity/examples/example_2/src/ProductionCode.h +6 -0
  651. data/vendor/cmock/vendor/unity/examples/example_2/src/ProductionCode2.c +6 -0
  652. data/vendor/cmock/vendor/unity/examples/example_2/src/ProductionCode2.h +6 -0
  653. data/vendor/cmock/vendor/unity/examples/example_2/test/TestProductionCode.c +7 -0
  654. data/vendor/cmock/vendor/unity/examples/example_2/test/TestProductionCode2.c +7 -0
  655. data/vendor/cmock/vendor/unity/examples/example_2/test/test_runners/TestProductionCode2_Runner.c +7 -0
  656. data/vendor/cmock/vendor/unity/examples/example_2/test/test_runners/TestProductionCode_Runner.c +7 -0
  657. data/vendor/cmock/vendor/unity/examples/example_2/test/test_runners/all_tests.c +7 -0
  658. data/vendor/cmock/vendor/unity/examples/example_3/helper/UnityHelper.c +7 -0
  659. data/vendor/cmock/vendor/unity/examples/example_3/helper/UnityHelper.h +7 -0
  660. data/vendor/cmock/vendor/unity/examples/example_3/rakefile.rb +7 -0
  661. data/vendor/cmock/vendor/unity/examples/example_3/rakefile_helper.rb +26 -21
  662. data/vendor/cmock/vendor/unity/examples/example_3/src/ProductionCode.c +6 -0
  663. data/vendor/cmock/vendor/unity/examples/example_3/src/ProductionCode.h +6 -0
  664. data/vendor/cmock/vendor/unity/examples/example_3/src/ProductionCode2.c +6 -0
  665. data/vendor/cmock/vendor/unity/examples/example_3/src/ProductionCode2.h +6 -0
  666. data/vendor/cmock/vendor/unity/examples/example_3/target_gcc_32.yml +7 -0
  667. data/vendor/cmock/vendor/unity/examples/example_3/test/TestProductionCode.c +6 -0
  668. data/vendor/cmock/vendor/unity/examples/example_3/test/TestProductionCode2.c +6 -0
  669. data/vendor/cmock/vendor/unity/examples/example_4/meson.build +2 -2
  670. data/vendor/cmock/vendor/unity/examples/example_4/src/ProductionCode.c +6 -0
  671. data/vendor/cmock/vendor/unity/examples/example_4/src/ProductionCode.h +6 -0
  672. data/vendor/cmock/vendor/unity/examples/example_4/src/ProductionCode2.c +6 -0
  673. data/vendor/cmock/vendor/unity/examples/example_4/src/ProductionCode2.h +6 -0
  674. data/vendor/cmock/vendor/unity/examples/example_4/subprojects/unity.wrap +3 -1
  675. data/vendor/cmock/vendor/unity/examples/example_4/test/TestProductionCode.c +6 -0
  676. data/vendor/cmock/vendor/unity/examples/example_4/test/TestProductionCode2.c +6 -0
  677. data/vendor/cmock/vendor/unity/examples/example_4/test/test_runners/meson.build +3 -3
  678. data/vendor/cmock/vendor/unity/examples/unity_config.h +8 -1
  679. data/vendor/cmock/vendor/unity/extras/bdd/readme.md +40 -0
  680. data/vendor/cmock/vendor/unity/extras/bdd/src/unity_bdd.h +44 -0
  681. data/vendor/cmock/vendor/unity/extras/bdd/test/meson.build +9 -0
  682. data/vendor/cmock/vendor/unity/extras/bdd/test/test_bdd.c +129 -0
  683. data/vendor/cmock/vendor/unity/extras/fixture/readme.md +1 -1
  684. data/vendor/cmock/vendor/unity/extras/fixture/src/meson.build +10 -0
  685. data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture.c +6 -6
  686. data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture.h +18 -7
  687. data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture_internals.h +6 -6
  688. data/vendor/cmock/vendor/unity/extras/fixture/test/main/AllTests.c +6 -6
  689. data/vendor/cmock/vendor/unity/extras/fixture/test/template_fixture_tests.c +6 -6
  690. data/vendor/cmock/vendor/unity/extras/fixture/test/unity_fixture_Test.c +6 -6
  691. data/vendor/cmock/vendor/unity/extras/fixture/test/unity_fixture_TestRunner.c +6 -6
  692. data/vendor/cmock/vendor/unity/extras/memory/src/meson.build +9 -0
  693. data/vendor/cmock/vendor/unity/extras/memory/src/unity_memory.c +6 -5
  694. data/vendor/cmock/vendor/unity/extras/memory/src/unity_memory.h +6 -5
  695. data/vendor/cmock/vendor/unity/extras/memory/test/Makefile +7 -0
  696. data/vendor/cmock/vendor/unity/extras/memory/test/unity_memory_Test.c +6 -5
  697. data/vendor/cmock/vendor/unity/extras/memory/test/unity_memory_TestRunner.c +6 -5
  698. data/vendor/cmock/vendor/unity/extras/memory/test/unity_output_Spy.c +6 -5
  699. data/vendor/cmock/vendor/unity/extras/memory/test/unity_output_Spy.h +6 -5
  700. data/vendor/cmock/vendor/unity/library.json +25 -0
  701. data/vendor/cmock/vendor/unity/meson.build +71 -5
  702. data/vendor/cmock/vendor/unity/meson_options.txt +3 -0
  703. data/vendor/cmock/vendor/unity/platformio-build.py +24 -0
  704. data/vendor/cmock/vendor/unity/src/meson.build +11 -5
  705. data/vendor/cmock/vendor/unity/src/unity.c +534 -143
  706. data/vendor/cmock/vendor/unity/src/unity.h +50 -13
  707. data/vendor/cmock/vendor/unity/src/unity_internals.h +188 -58
  708. data/vendor/cmock/vendor/unity/test/Makefile +7 -0
  709. data/vendor/cmock/vendor/unity/test/rakefile +6 -5
  710. data/vendor/cmock/vendor/unity/test/rakefile_helper.rb +9 -8
  711. data/vendor/cmock/vendor/unity/test/spec/generate_module_existing_file_spec.rb +6 -0
  712. data/vendor/cmock/vendor/unity/test/targets/ansi.yml +7 -0
  713. data/vendor/cmock/vendor/unity/test/targets/clang_file.yml +7 -0
  714. data/vendor/cmock/vendor/unity/test/targets/clang_strict.yml +8 -0
  715. data/vendor/cmock/vendor/unity/test/targets/gcc_32.yml +7 -0
  716. data/vendor/cmock/vendor/unity/test/targets/gcc_64.yml +7 -0
  717. data/vendor/cmock/vendor/unity/test/targets/gcc_auto_limits.yml +7 -0
  718. data/vendor/cmock/vendor/unity/test/targets/gcc_auto_stdint.yml +7 -0
  719. data/vendor/cmock/vendor/unity/test/targets/gcc_manual_math.yml +7 -0
  720. data/vendor/cmock/vendor/unity/test/targets/hitech_picc18.yml +7 -0
  721. data/vendor/cmock/vendor/unity/test/targets/iar_arm_v4.yml +7 -0
  722. data/vendor/cmock/vendor/unity/test/targets/iar_arm_v5.yml +7 -0
  723. data/vendor/cmock/vendor/unity/test/targets/iar_arm_v5_3.yml +7 -0
  724. data/vendor/cmock/vendor/unity/test/targets/iar_armcortex_LM3S9B92_v5_4.yml +7 -0
  725. data/vendor/cmock/vendor/unity/test/targets/iar_cortexm3_v5.yml +7 -0
  726. data/vendor/cmock/vendor/unity/test/targets/iar_msp430.yml +7 -0
  727. data/vendor/cmock/vendor/unity/test/targets/iar_sh2a_v6.yml +7 -0
  728. data/vendor/cmock/vendor/unity/test/testdata/CException.h +7 -0
  729. data/vendor/cmock/vendor/unity/test/testdata/Defs.h +8 -0
  730. data/vendor/cmock/vendor/unity/test/testdata/cmock.h +7 -0
  731. data/vendor/cmock/vendor/unity/test/testdata/mockMock.h +7 -0
  732. data/vendor/cmock/vendor/unity/test/testdata/testRunnerGenerator.c +18 -3
  733. data/vendor/cmock/vendor/unity/test/testdata/testRunnerGeneratorSmall.c +8 -5
  734. data/vendor/cmock/vendor/unity/test/testdata/testRunnerGeneratorWithMocks.c +7 -4
  735. data/vendor/cmock/vendor/unity/test/tests/self_assessment_utils.h +12 -5
  736. data/vendor/cmock/vendor/unity/test/tests/test_generate_test_runner.rb +107 -26
  737. data/vendor/cmock/vendor/unity/test/tests/test_unity_arrays.c +73 -6
  738. data/vendor/cmock/vendor/unity/test/tests/test_unity_core.c +12 -8
  739. data/vendor/cmock/vendor/unity/test/tests/test_unity_doubles.c +517 -5
  740. data/vendor/cmock/vendor/unity/test/tests/test_unity_floats.c +516 -5
  741. data/vendor/cmock/vendor/unity/test/tests/test_unity_integers.c +21 -5
  742. data/vendor/cmock/vendor/unity/test/tests/test_unity_integers_64.c +16 -6
  743. data/vendor/cmock/vendor/unity/test/tests/test_unity_memory.c +6 -5
  744. data/vendor/cmock/vendor/unity/test/tests/test_unity_parameterized.c +146 -8
  745. data/vendor/cmock/vendor/unity/test/tests/test_unity_parameterizedDemo.c +28 -0
  746. data/vendor/cmock/vendor/unity/test/tests/test_unity_strings.c +6 -5
  747. data/vendor/cmock/vendor/unity/test/tests/types_for_test.h +21 -0
  748. data/vendor/diy/LICENSE.txt +7 -0
  749. data/vendor/diy/README.rdoc +21 -39
  750. data/vendor/diy/lib/diy/factory.rb +8 -0
  751. data/vendor/diy/lib/diy.rb +8 -0
  752. data/vendor/diy/sample_code/car.rb +8 -0
  753. data/vendor/diy/sample_code/chassis.rb +8 -0
  754. data/vendor/diy/sample_code/diy_example.rb +8 -0
  755. data/vendor/diy/sample_code/engine.rb +8 -0
  756. data/vendor/diy/sample_code/objects.yml +8 -0
  757. data/vendor/diy/test/constructor.rb +8 -0
  758. data/vendor/diy/test/diy_test.rb +8 -0
  759. data/vendor/diy/test/factory_test.rb +8 -0
  760. data/vendor/diy/test/files/broken_construction.yml +8 -0
  761. data/vendor/diy/test/files/cat/cat.rb +8 -0
  762. data/vendor/diy/test/files/cat/extra_conflict.yml +8 -0
  763. data/vendor/diy/test/files/cat/heritage.rb +8 -0
  764. data/vendor/diy/test/files/cat/needs_input.yml +8 -0
  765. data/vendor/diy/test/files/cat/the_cat_lineage.rb +8 -0
  766. data/vendor/diy/test/files/dog/dog_model.rb +8 -0
  767. data/vendor/diy/test/files/dog/dog_presenter.rb +8 -0
  768. data/vendor/diy/test/files/dog/dog_view.rb +8 -0
  769. data/vendor/diy/test/files/dog/file_resolver.rb +8 -0
  770. data/vendor/diy/test/files/dog/other_thing.rb +8 -0
  771. data/vendor/diy/test/files/dog/simple.yml +8 -0
  772. data/vendor/diy/test/files/donkey/foo/bar/qux.rb +8 -0
  773. data/vendor/diy/test/files/donkey/foo.rb +8 -0
  774. data/vendor/diy/test/files/factory/beef.rb +8 -0
  775. data/vendor/diy/test/files/factory/dog.rb +8 -0
  776. data/vendor/diy/test/files/factory/factory.yml +8 -0
  777. data/vendor/diy/test/files/factory/farm/llama.rb +8 -0
  778. data/vendor/diy/test/files/factory/farm/pork.rb +8 -0
  779. data/vendor/diy/test/files/factory/kitten.rb +8 -0
  780. data/vendor/diy/test/files/fud/objects.yml +8 -0
  781. data/vendor/diy/test/files/fud/toy.rb +8 -0
  782. data/vendor/diy/test/files/functions/attached_things_builder.rb +8 -0
  783. data/vendor/diy/test/files/functions/invalid_method.yml +8 -0
  784. data/vendor/diy/test/files/functions/method_extractor.rb +8 -0
  785. data/vendor/diy/test/files/functions/nonsingleton_objects.yml +8 -0
  786. data/vendor/diy/test/files/functions/objects.yml +8 -0
  787. data/vendor/diy/test/files/functions/thing.rb +8 -0
  788. data/vendor/diy/test/files/functions/thing_builder.rb +8 -0
  789. data/vendor/diy/test/files/functions/things_builder.rb +8 -0
  790. data/vendor/diy/test/files/gnu/objects.yml +8 -0
  791. data/vendor/diy/test/files/gnu/thinger.rb +8 -0
  792. data/vendor/diy/test/files/goat/base.rb +8 -0
  793. data/vendor/diy/test/files/goat/can.rb +8 -0
  794. data/vendor/diy/test/files/goat/goat.rb +8 -0
  795. data/vendor/diy/test/files/goat/objects.yml +8 -0
  796. data/vendor/diy/test/files/goat/paper.rb +8 -0
  797. data/vendor/diy/test/files/goat/plane.rb +8 -0
  798. data/vendor/diy/test/files/goat/shirt.rb +8 -0
  799. data/vendor/diy/test/files/goat/wings.rb +8 -0
  800. data/vendor/diy/test/files/horse/holder_thing.rb +8 -0
  801. data/vendor/diy/test/files/horse/objects.yml +8 -0
  802. data/vendor/diy/test/files/namespace/animal/bird.rb +8 -0
  803. data/vendor/diy/test/files/namespace/animal/cat.rb +8 -0
  804. data/vendor/diy/test/files/namespace/animal/reptile/hardshell/turtle.rb +8 -0
  805. data/vendor/diy/test/files/namespace/animal/reptile/lizard.rb +8 -0
  806. data/vendor/diy/test/files/namespace/bad_module_specified.yml +8 -0
  807. data/vendor/diy/test/files/namespace/class_name_combine.yml +8 -0
  808. data/vendor/diy/test/files/namespace/no_module_specified.yml +8 -0
  809. data/vendor/diy/test/files/namespace/objects.yml +8 -0
  810. data/vendor/diy/test/files/namespace/road.rb +8 -0
  811. data/vendor/diy/test/files/namespace/sky.rb +8 -0
  812. data/vendor/diy/test/files/namespace/subcontext.yml +8 -0
  813. data/vendor/diy/test/files/non_singleton/air.rb +8 -0
  814. data/vendor/diy/test/files/non_singleton/fat_cat.rb +8 -0
  815. data/vendor/diy/test/files/non_singleton/objects.yml +8 -0
  816. data/vendor/diy/test/files/non_singleton/pig.rb +8 -0
  817. data/vendor/diy/test/files/non_singleton/thread_spinner.rb +8 -0
  818. data/vendor/diy/test/files/non_singleton/tick.rb +8 -0
  819. data/vendor/diy/test/files/non_singleton/yard.rb +8 -0
  820. data/vendor/diy/test/files/yak/core_model.rb +8 -0
  821. data/vendor/diy/test/files/yak/core_presenter.rb +8 -0
  822. data/vendor/diy/test/files/yak/core_view.rb +8 -0
  823. data/vendor/diy/test/files/yak/data_source.rb +8 -0
  824. data/vendor/diy/test/files/yak/fringe_model.rb +8 -0
  825. data/vendor/diy/test/files/yak/fringe_presenter.rb +8 -0
  826. data/vendor/diy/test/files/yak/fringe_view.rb +8 -0
  827. data/vendor/diy/test/files/yak/giant_squid.rb +8 -0
  828. data/vendor/diy/test/files/yak/krill.rb +8 -0
  829. data/vendor/diy/test/files/yak/my_objects.yml +8 -0
  830. data/vendor/diy/test/files/yak/sub_sub_context_test.yml +8 -0
  831. data/vendor/diy/test/test_helper.rb +8 -0
  832. data/vendor/unity/CMakeLists.txt +46 -33
  833. data/vendor/unity/LICENSE.txt +1 -1
  834. data/vendor/unity/README.md +33 -5
  835. data/vendor/unity/auto/__init__.py +7 -0
  836. data/vendor/unity/auto/colour_prompt.rb +6 -5
  837. data/vendor/unity/auto/colour_reporter.rb +7 -6
  838. data/vendor/unity/auto/extract_version.py +22 -0
  839. data/vendor/unity/auto/generate_config.yml +7 -0
  840. data/vendor/unity/auto/generate_module.rb +32 -27
  841. data/vendor/unity/auto/generate_test_runner.rb +71 -35
  842. data/vendor/unity/auto/parse_output.rb +90 -22
  843. data/vendor/unity/auto/run_test.erb +2 -2
  844. data/vendor/unity/auto/{unity_to_junit.py → stylize_as_junit.py} +54 -39
  845. data/vendor/unity/auto/stylize_as_junit.rb +8 -6
  846. data/vendor/unity/auto/test_file_filter.rb +11 -8
  847. data/vendor/unity/auto/type_sanitizer.rb +8 -1
  848. data/vendor/unity/auto/unity_test_summary.py +7 -6
  849. data/vendor/unity/auto/unity_test_summary.rb +13 -8
  850. data/vendor/unity/auto/yaml_helper.rb +23 -0
  851. data/vendor/unity/docs/CODE_OF_CONDUCT.md +138 -0
  852. data/vendor/unity/docs/CONTRIBUTING.md +238 -0
  853. data/vendor/unity/docs/MesonGeneratorRunner.md +18 -0
  854. data/vendor/unity/docs/UnityAssertionsReference.md +133 -60
  855. data/vendor/unity/docs/UnityChangeLog.md +110 -0
  856. data/vendor/unity/docs/UnityConfigurationGuide.md +151 -2
  857. data/vendor/unity/docs/UnityHelperScriptsGuide.md +289 -1
  858. data/vendor/unity/docs/UnityKnownIssues.md +13 -0
  859. data/vendor/unity/examples/example_1/makefile +6 -5
  860. data/vendor/unity/examples/example_1/meson.build +48 -0
  861. data/vendor/unity/examples/example_1/readme.txt +8 -1
  862. data/vendor/unity/examples/example_1/src/ProductionCode.c +6 -0
  863. data/vendor/unity/examples/example_1/src/ProductionCode.h +6 -0
  864. data/vendor/unity/examples/example_1/src/ProductionCode2.c +6 -0
  865. data/vendor/unity/examples/example_1/src/ProductionCode2.h +6 -0
  866. data/vendor/unity/examples/example_1/subprojects/unity.wrap +3 -0
  867. data/vendor/unity/examples/example_1/test/TestProductionCode.c +6 -0
  868. data/vendor/unity/examples/example_1/test/TestProductionCode2.c +6 -0
  869. data/vendor/unity/examples/example_2/makefile +6 -5
  870. data/vendor/unity/examples/example_2/src/ProductionCode.c +6 -0
  871. data/vendor/unity/examples/example_2/src/ProductionCode.h +6 -0
  872. data/vendor/unity/examples/example_2/src/ProductionCode2.c +6 -0
  873. data/vendor/unity/examples/example_2/src/ProductionCode2.h +6 -0
  874. data/vendor/unity/examples/example_2/test/TestProductionCode.c +7 -0
  875. data/vendor/unity/examples/example_2/test/TestProductionCode2.c +7 -0
  876. data/vendor/unity/examples/example_2/test/test_runners/TestProductionCode2_Runner.c +7 -0
  877. data/vendor/unity/examples/example_2/test/test_runners/TestProductionCode_Runner.c +7 -0
  878. data/vendor/unity/examples/example_2/test/test_runners/all_tests.c +7 -0
  879. data/vendor/unity/examples/example_3/helper/UnityHelper.c +7 -0
  880. data/vendor/unity/examples/example_3/helper/UnityHelper.h +7 -0
  881. data/vendor/unity/examples/example_3/rakefile.rb +7 -0
  882. data/vendor/unity/examples/example_3/rakefile_helper.rb +26 -21
  883. data/vendor/unity/examples/example_3/src/ProductionCode.c +6 -0
  884. data/vendor/unity/examples/example_3/src/ProductionCode.h +6 -0
  885. data/vendor/unity/examples/example_3/src/ProductionCode2.c +6 -0
  886. data/vendor/unity/examples/example_3/src/ProductionCode2.h +6 -0
  887. data/vendor/unity/examples/example_3/target_gcc_32.yml +7 -0
  888. data/vendor/unity/examples/example_3/test/TestProductionCode.c +6 -0
  889. data/vendor/unity/examples/example_3/test/TestProductionCode2.c +6 -0
  890. data/vendor/unity/examples/example_4/meson.build +2 -2
  891. data/vendor/unity/examples/example_4/src/ProductionCode.c +6 -0
  892. data/vendor/unity/examples/example_4/src/ProductionCode.h +6 -0
  893. data/vendor/unity/examples/example_4/src/ProductionCode2.c +6 -0
  894. data/vendor/unity/examples/example_4/src/ProductionCode2.h +6 -0
  895. data/vendor/unity/examples/example_4/subprojects/unity.wrap +3 -1
  896. data/vendor/unity/examples/example_4/test/TestProductionCode.c +6 -0
  897. data/vendor/unity/examples/example_4/test/TestProductionCode2.c +6 -0
  898. data/vendor/unity/examples/example_4/test/test_runners/meson.build +3 -3
  899. data/vendor/unity/examples/unity_config.h +8 -1
  900. data/vendor/unity/extras/bdd/readme.md +40 -0
  901. data/vendor/unity/extras/bdd/src/unity_bdd.h +44 -0
  902. data/vendor/unity/extras/bdd/test/meson.build +9 -0
  903. data/vendor/unity/extras/bdd/test/test_bdd.c +129 -0
  904. data/vendor/unity/extras/fixture/readme.md +1 -1
  905. data/vendor/unity/extras/fixture/src/meson.build +10 -0
  906. data/vendor/unity/extras/fixture/src/unity_fixture.c +6 -6
  907. data/vendor/unity/extras/fixture/src/unity_fixture.h +18 -7
  908. data/vendor/unity/extras/fixture/src/unity_fixture_internals.h +6 -6
  909. data/vendor/unity/extras/fixture/test/main/AllTests.c +6 -6
  910. data/vendor/unity/extras/fixture/test/template_fixture_tests.c +6 -6
  911. data/vendor/unity/extras/fixture/test/unity_fixture_Test.c +6 -6
  912. data/vendor/unity/extras/fixture/test/unity_fixture_TestRunner.c +6 -6
  913. data/vendor/unity/extras/memory/src/meson.build +9 -0
  914. data/vendor/unity/extras/memory/src/unity_memory.c +6 -5
  915. data/vendor/unity/extras/memory/src/unity_memory.h +6 -5
  916. data/vendor/unity/extras/memory/test/Makefile +7 -0
  917. data/vendor/unity/extras/memory/test/unity_memory_Test.c +6 -5
  918. data/vendor/unity/extras/memory/test/unity_memory_TestRunner.c +6 -5
  919. data/vendor/unity/extras/memory/test/unity_output_Spy.c +6 -5
  920. data/vendor/unity/extras/memory/test/unity_output_Spy.h +6 -5
  921. data/vendor/unity/library.json +25 -0
  922. data/vendor/unity/meson.build +71 -5
  923. data/vendor/unity/meson_options.txt +3 -0
  924. data/vendor/unity/platformio-build.py +24 -0
  925. data/vendor/unity/src/meson.build +11 -5
  926. data/vendor/unity/src/unity.c +534 -143
  927. data/vendor/unity/src/unity.h +50 -13
  928. data/vendor/unity/src/unity_internals.h +188 -58
  929. data/vendor/unity/test/Makefile +7 -0
  930. data/vendor/unity/test/rakefile +6 -5
  931. data/vendor/unity/test/rakefile_helper.rb +9 -8
  932. data/vendor/unity/test/spec/generate_module_existing_file_spec.rb +6 -0
  933. data/vendor/unity/test/targets/ansi.yml +7 -0
  934. data/vendor/unity/test/targets/clang_file.yml +7 -0
  935. data/vendor/unity/test/targets/clang_strict.yml +8 -0
  936. data/vendor/unity/test/targets/gcc_32.yml +7 -0
  937. data/vendor/unity/test/targets/gcc_64.yml +7 -0
  938. data/vendor/unity/test/targets/gcc_auto_limits.yml +7 -0
  939. data/vendor/unity/test/targets/gcc_auto_stdint.yml +7 -0
  940. data/vendor/unity/test/targets/gcc_manual_math.yml +7 -0
  941. data/vendor/unity/test/targets/hitech_picc18.yml +7 -0
  942. data/vendor/unity/test/targets/iar_arm_v4.yml +7 -0
  943. data/vendor/unity/test/targets/iar_arm_v5.yml +7 -0
  944. data/vendor/unity/test/targets/iar_arm_v5_3.yml +7 -0
  945. data/vendor/unity/test/targets/iar_armcortex_LM3S9B92_v5_4.yml +7 -0
  946. data/vendor/unity/test/targets/iar_cortexm3_v5.yml +7 -0
  947. data/vendor/unity/test/targets/iar_msp430.yml +7 -0
  948. data/vendor/unity/test/targets/iar_sh2a_v6.yml +7 -0
  949. data/vendor/unity/test/testdata/CException.h +7 -0
  950. data/vendor/unity/test/testdata/Defs.h +8 -0
  951. data/vendor/unity/test/testdata/cmock.h +7 -0
  952. data/vendor/unity/test/testdata/mockMock.h +7 -0
  953. data/vendor/unity/test/testdata/testRunnerGenerator.c +18 -3
  954. data/vendor/unity/test/testdata/testRunnerGeneratorSmall.c +8 -5
  955. data/vendor/unity/test/testdata/testRunnerGeneratorWithMocks.c +7 -4
  956. data/vendor/unity/test/tests/self_assessment_utils.h +12 -5
  957. data/vendor/unity/test/tests/test_generate_test_runner.rb +107 -26
  958. data/vendor/unity/test/tests/test_unity_arrays.c +73 -6
  959. data/vendor/unity/test/tests/test_unity_core.c +12 -8
  960. data/vendor/unity/test/tests/test_unity_doubles.c +517 -5
  961. data/vendor/unity/test/tests/test_unity_floats.c +516 -5
  962. data/vendor/unity/test/tests/test_unity_integers.c +21 -5
  963. data/vendor/unity/test/tests/test_unity_integers_64.c +16 -6
  964. data/vendor/unity/test/tests/test_unity_memory.c +6 -5
  965. data/vendor/unity/test/tests/test_unity_parameterized.c +146 -8
  966. data/vendor/unity/test/tests/test_unity_parameterizedDemo.c +28 -0
  967. data/vendor/unity/test/tests/test_unity_strings.c +6 -5
  968. data/vendor/unity/test/tests/types_for_test.h +21 -0
  969. metadata +315 -570
  970. data/assets/auto_link_deep_dependencies/src/a.c +0 -7
  971. data/assets/auto_link_deep_dependencies/src/b.c +0 -7
  972. data/assets/auto_link_deep_dependencies/src/c.c +0 -8
  973. data/assets/auto_link_deep_dependencies/src/internal_inc/a.h +0 -6
  974. data/assets/auto_link_deep_dependencies/src/internal_inc/b.h +0 -6
  975. data/assets/auto_link_deep_dependencies/src/internal_inc/c.h +0 -6
  976. data/assets/auto_link_deep_dependencies/src/internal_inc/never_compiled.h +0 -6
  977. data/assets/auto_link_deep_dependencies/src/never_compiled.c +0 -6
  978. data/assets/auto_link_deep_dependencies/test/test_a.c +0 -11
  979. data/assets/auto_link_deep_dependencies/test/test_b.c +0 -11
  980. data/assets/auto_link_deep_dependencies/test/test_c.c +0 -11
  981. data/assets/project_as_gem.yml +0 -101
  982. data/assets/project_with_guts.yml +0 -102
  983. data/assets/project_with_guts_gcov.yml +0 -102
  984. data/ceedling.sublime-project +0 -28
  985. data/ceedling.sublime-workspace +0 -452
  986. data/docs/Ceedling Powerful Plugins.pdf +0 -0
  987. data/examples/blinky/project.yml +0 -101
  988. data/examples/blinky/rakefile.rb +0 -30
  989. data/examples/blinky/src/BlinkTask.c +0 -21
  990. data/examples/blinky/src/BlinkTask.h +0 -6
  991. data/examples/blinky/src/Configure.c +0 -36
  992. data/examples/blinky/src/Configure.h +0 -6
  993. data/examples/blinky/src/main.c +0 -51
  994. data/examples/blinky/src/main.h +0 -9
  995. data/examples/blinky/test/support/stub_interrupt.h +0 -347
  996. data/examples/blinky/test/support/stub_io.h +0 -421
  997. data/examples/blinky/test/support/stub_iom328p.h +0 -883
  998. data/examples/blinky/test/support/stub_sfr_defs.h +0 -269
  999. data/examples/blinky/test/test_BlinkTask.c +0 -42
  1000. data/examples/blinky/test/test_Configure.c +0 -29
  1001. data/examples/blinky/test/test_main.c +0 -60
  1002. data/examples/temp_sensor/build/test/cache/AdcConductor.h +0 -20
  1003. data/examples/temp_sensor/build/test/cache/AdcHardware.h +0 -16
  1004. data/examples/temp_sensor/build/test/cache/AdcHardwareConfigurator.h +0 -14
  1005. data/examples/temp_sensor/build/test/cache/AdcModel.h +0 -20
  1006. data/examples/temp_sensor/build/test/cache/AdcTemperatureSensor.h +0 -14
  1007. data/examples/temp_sensor/build/test/cache/Executor.h +0 -12
  1008. data/examples/temp_sensor/build/test/cache/IntrinsicsWrapper.h +0 -9
  1009. data/examples/temp_sensor/build/test/cache/Model.h +0 -10
  1010. data/examples/temp_sensor/build/test/cache/TaskScheduler.h +0 -16
  1011. data/examples/temp_sensor/build/test/cache/TemperatureCalculator.h +0 -10
  1012. data/examples/temp_sensor/build/test/cache/TemperatureFilter.h +0 -14
  1013. data/examples/temp_sensor/build/test/cache/TestAdcConductor.c +0 -169
  1014. data/examples/temp_sensor/build/test/cache/TestAdcHardware.c +0 -82
  1015. data/examples/temp_sensor/build/test/cache/TestAdcModel.c +0 -59
  1016. data/examples/temp_sensor/build/test/cache/TestExecutor.c +0 -63
  1017. data/examples/temp_sensor/build/test/cache/TestMain.c +0 -43
  1018. data/examples/temp_sensor/build/test/cache/TestModel.c +0 -34
  1019. data/examples/temp_sensor/build/test/cache/TestTaskScheduler.c +0 -204
  1020. data/examples/temp_sensor/build/test/cache/TestTemperatureCalculator.c +0 -70
  1021. data/examples/temp_sensor/build/test/cache/TestTemperatureFilter.c +0 -154
  1022. data/examples/temp_sensor/build/test/cache/TestTimerConductor.c +0 -57
  1023. data/examples/temp_sensor/build/test/cache/TestTimerHardware.c +0 -47
  1024. data/examples/temp_sensor/build/test/cache/TestTimerModel.c +0 -31
  1025. data/examples/temp_sensor/build/test/cache/TestUsartBaudRateRegisterCalculator.c +0 -38
  1026. data/examples/temp_sensor/build/test/cache/TestUsartConductor.c +0 -73
  1027. data/examples/temp_sensor/build/test/cache/TestUsartHardware.c +0 -66
  1028. data/examples/temp_sensor/build/test/cache/TestUsartModel.c +0 -73
  1029. data/examples/temp_sensor/build/test/cache/TimerConductor.h +0 -12
  1030. data/examples/temp_sensor/build/test/cache/TimerConfigurator.h +0 -24
  1031. data/examples/temp_sensor/build/test/cache/TimerHardware.h +0 -10
  1032. data/examples/temp_sensor/build/test/cache/TimerInterruptHandler.h +0 -14
  1033. data/examples/temp_sensor/build/test/cache/TimerModel.h +0 -10
  1034. data/examples/temp_sensor/build/test/cache/UsartBaudRateRegisterCalculator.h +0 -10
  1035. data/examples/temp_sensor/build/test/cache/UsartConductor.h +0 -9
  1036. data/examples/temp_sensor/build/test/cache/UsartConfigurator.h +0 -20
  1037. data/examples/temp_sensor/build/test/cache/UsartHardware.h +0 -12
  1038. data/examples/temp_sensor/build/test/cache/UsartModel.h +0 -14
  1039. data/examples/temp_sensor/build/test/cache/UsartPutChar.h +0 -10
  1040. data/examples/temp_sensor/build/test/cache/defines_dependency.yml +0 -77
  1041. data/examples/temp_sensor/build/test/cache/input.yml +0 -310
  1042. data/examples/temp_sensor/build/test/dependencies/AdcConductor.d +0 -2
  1043. data/examples/temp_sensor/build/test/dependencies/AdcHardware.d +0 -3
  1044. data/examples/temp_sensor/build/test/dependencies/AdcModel.d +0 -3
  1045. data/examples/temp_sensor/build/test/dependencies/Executor.d +0 -3
  1046. data/examples/temp_sensor/build/test/dependencies/Main.d +0 -11
  1047. data/examples/temp_sensor/build/test/dependencies/MockAdcConductor.d +0 -6
  1048. data/examples/temp_sensor/build/test/dependencies/MockAdcHardware.d +0 -6
  1049. data/examples/temp_sensor/build/test/dependencies/MockAdcHardwareConfigurator.d +0 -8
  1050. data/examples/temp_sensor/build/test/dependencies/MockAdcModel.d +0 -6
  1051. data/examples/temp_sensor/build/test/dependencies/MockAdcTemperatureSensor.d +0 -8
  1052. data/examples/temp_sensor/build/test/dependencies/MockExecutor.d +0 -6
  1053. data/examples/temp_sensor/build/test/dependencies/MockIntrinsicsWrapper.d +0 -7
  1054. data/examples/temp_sensor/build/test/dependencies/MockModel.d +0 -6
  1055. data/examples/temp_sensor/build/test/dependencies/MockTaskScheduler.d +0 -7
  1056. data/examples/temp_sensor/build/test/dependencies/MockTemperatureCalculator.d +0 -8
  1057. data/examples/temp_sensor/build/test/dependencies/MockTemperatureFilter.d +0 -8
  1058. data/examples/temp_sensor/build/test/dependencies/MockTimerConductor.d +0 -7
  1059. data/examples/temp_sensor/build/test/dependencies/MockTimerConfigurator.d +0 -8
  1060. data/examples/temp_sensor/build/test/dependencies/MockTimerHardware.d +0 -7
  1061. data/examples/temp_sensor/build/test/dependencies/MockTimerInterruptHandler.d +0 -8
  1062. data/examples/temp_sensor/build/test/dependencies/MockTimerModel.d +0 -6
  1063. data/examples/temp_sensor/build/test/dependencies/MockUsartBaudRateRegisterCalculator.d +0 -8
  1064. data/examples/temp_sensor/build/test/dependencies/MockUsartConductor.d +0 -7
  1065. data/examples/temp_sensor/build/test/dependencies/MockUsartConfigurator.d +0 -8
  1066. data/examples/temp_sensor/build/test/dependencies/MockUsartHardware.d +0 -7
  1067. data/examples/temp_sensor/build/test/dependencies/MockUsartModel.d +0 -6
  1068. data/examples/temp_sensor/build/test/dependencies/MockUsartPutChar.d +0 -6
  1069. data/examples/temp_sensor/build/test/dependencies/Model.d +0 -2
  1070. data/examples/temp_sensor/build/test/dependencies/TaskScheduler.d +0 -2
  1071. data/examples/temp_sensor/build/test/dependencies/TemperatureCalculator.d +0 -2
  1072. data/examples/temp_sensor/build/test/dependencies/TemperatureFilter.d +0 -2
  1073. data/examples/temp_sensor/build/test/dependencies/TestAdcConductor.d +0 -6
  1074. data/examples/temp_sensor/build/test/dependencies/TestAdcConductor_runner.d +0 -8
  1075. data/examples/temp_sensor/build/test/dependencies/TestAdcHardware.d +0 -7
  1076. data/examples/temp_sensor/build/test/dependencies/TestAdcHardware_runner.d +0 -9
  1077. data/examples/temp_sensor/build/test/dependencies/TestAdcModel.d +0 -7
  1078. data/examples/temp_sensor/build/test/dependencies/TestAdcModel_runner.d +0 -10
  1079. data/examples/temp_sensor/build/test/dependencies/TestExecutor.d +0 -8
  1080. data/examples/temp_sensor/build/test/dependencies/TestExecutor_runner.d +0 -11
  1081. data/examples/temp_sensor/build/test/dependencies/TestMain.d +0 -4
  1082. data/examples/temp_sensor/build/test/dependencies/TestMain_runner.d +0 -6
  1083. data/examples/temp_sensor/build/test/dependencies/TestModel.d +0 -6
  1084. data/examples/temp_sensor/build/test/dependencies/TestModel_runner.d +0 -8
  1085. data/examples/temp_sensor/build/test/dependencies/TestTaskScheduler.d +0 -4
  1086. data/examples/temp_sensor/build/test/dependencies/TestTaskScheduler_runner.d +0 -4
  1087. data/examples/temp_sensor/build/test/dependencies/TestTemperatureCalculator.d +0 -5
  1088. data/examples/temp_sensor/build/test/dependencies/TestTemperatureCalculator_runner.d +0 -4
  1089. data/examples/temp_sensor/build/test/dependencies/TestTemperatureFilter.d +0 -4
  1090. data/examples/temp_sensor/build/test/dependencies/TestTemperatureFilter_runner.d +0 -4
  1091. data/examples/temp_sensor/build/test/dependencies/TestTimerConductor.d +0 -7
  1092. data/examples/temp_sensor/build/test/dependencies/TestTimerConductor_runner.d +0 -10
  1093. data/examples/temp_sensor/build/test/dependencies/TestTimerHardware.d +0 -5
  1094. data/examples/temp_sensor/build/test/dependencies/TestTimerHardware_runner.d +0 -8
  1095. data/examples/temp_sensor/build/test/dependencies/TestTimerModel.d +0 -5
  1096. data/examples/temp_sensor/build/test/dependencies/TestTimerModel_runner.d +0 -7
  1097. data/examples/temp_sensor/build/test/dependencies/TestUsartBaudRateRegisterCalculator.d +0 -5
  1098. data/examples/temp_sensor/build/test/dependencies/TestUsartBaudRateRegisterCalculator_runner.d +0 -4
  1099. data/examples/temp_sensor/build/test/dependencies/TestUsartConductor.d +0 -7
  1100. data/examples/temp_sensor/build/test/dependencies/TestUsartConductor_runner.d +0 -9
  1101. data/examples/temp_sensor/build/test/dependencies/TestUsartHardware.d +0 -6
  1102. data/examples/temp_sensor/build/test/dependencies/TestUsartHardware_runner.d +0 -8
  1103. data/examples/temp_sensor/build/test/dependencies/TestUsartModel.d +0 -7
  1104. data/examples/temp_sensor/build/test/dependencies/TestUsartModel_runner.d +0 -9
  1105. data/examples/temp_sensor/build/test/dependencies/TimerConductor.d +0 -3
  1106. data/examples/temp_sensor/build/test/dependencies/TimerHardware.d +0 -2
  1107. data/examples/temp_sensor/build/test/dependencies/TimerModel.d +0 -2
  1108. data/examples/temp_sensor/build/test/dependencies/UnityHelper.d +0 -4
  1109. data/examples/temp_sensor/build/test/dependencies/UsartBaudRateRegisterCalculator.d +0 -3
  1110. data/examples/temp_sensor/build/test/dependencies/UsartConductor.d +0 -3
  1111. data/examples/temp_sensor/build/test/dependencies/UsartHardware.d +0 -2
  1112. data/examples/temp_sensor/build/test/dependencies/UsartModel.d +0 -3
  1113. data/examples/temp_sensor/build/test/dependencies/cmock.d +0 -6
  1114. data/examples/temp_sensor/build/test/dependencies/unity.d +0 -4
  1115. data/examples/temp_sensor/build/test/mocks/MockAdcConductor.c +0 -391
  1116. data/examples/temp_sensor/build/test/mocks/MockAdcConductor.h +0 -64
  1117. data/examples/temp_sensor/build/test/mocks/MockAdcHardware.c +0 -313
  1118. data/examples/temp_sensor/build/test/mocks/MockAdcHardware.h +0 -58
  1119. data/examples/temp_sensor/build/test/mocks/MockAdcHardwareConfigurator.c +0 -218
  1120. data/examples/temp_sensor/build/test/mocks/MockAdcHardwareConfigurator.h +0 -52
  1121. data/examples/temp_sensor/build/test/mocks/MockAdcModel.c +0 -453
  1122. data/examples/temp_sensor/build/test/mocks/MockAdcModel.h +0 -64
  1123. data/examples/temp_sensor/build/test/mocks/MockAdcTemperatureSensor.c +0 -252
  1124. data/examples/temp_sensor/build/test/mocks/MockAdcTemperatureSensor.h +0 -52
  1125. data/examples/temp_sensor/build/test/mocks/MockExecutor.c +0 -174
  1126. data/examples/temp_sensor/build/test/mocks/MockExecutor.h +0 -46
  1127. data/examples/temp_sensor/build/test/mocks/MockIntrinsicsWrapper.c +0 -157
  1128. data/examples/temp_sensor/build/test/mocks/MockIntrinsicsWrapper.h +0 -46
  1129. data/examples/temp_sensor/build/test/mocks/MockModel.c +0 -96
  1130. data/examples/temp_sensor/build/test/mocks/MockModel.h +0 -40
  1131. data/examples/temp_sensor/build/test/mocks/MockTaskScheduler.c +0 -326
  1132. data/examples/temp_sensor/build/test/mocks/MockTaskScheduler.h +0 -58
  1133. data/examples/temp_sensor/build/test/mocks/MockTemperatureCalculator.c +0 -126
  1134. data/examples/temp_sensor/build/test/mocks/MockTemperatureCalculator.h +0 -40
  1135. data/examples/temp_sensor/build/test/mocks/MockTemperatureFilter.c +0 -248
  1136. data/examples/temp_sensor/build/test/mocks/MockTemperatureFilter.h +0 -52
  1137. data/examples/temp_sensor/build/test/mocks/MockTimerConductor.c +0 -157
  1138. data/examples/temp_sensor/build/test/mocks/MockTimerConductor.h +0 -46
  1139. data/examples/temp_sensor/build/test/mocks/MockTimerConfigurator.c +0 -523
  1140. data/examples/temp_sensor/build/test/mocks/MockTimerConfigurator.h +0 -82
  1141. data/examples/temp_sensor/build/test/mocks/MockTimerHardware.c +0 -96
  1142. data/examples/temp_sensor/build/test/mocks/MockTimerHardware.h +0 -40
  1143. data/examples/temp_sensor/build/test/mocks/MockTimerInterruptHandler.c +0 -248
  1144. data/examples/temp_sensor/build/test/mocks/MockTimerInterruptHandler.h +0 -52
  1145. data/examples/temp_sensor/build/test/mocks/MockTimerModel.c +0 -109
  1146. data/examples/temp_sensor/build/test/mocks/MockTimerModel.h +0 -40
  1147. data/examples/temp_sensor/build/test/mocks/MockUsartBaudRateRegisterCalculator.c +0 -133
  1148. data/examples/temp_sensor/build/test/mocks/MockUsartBaudRateRegisterCalculator.h +0 -40
  1149. data/examples/temp_sensor/build/test/mocks/MockUsartConductor.c +0 -157
  1150. data/examples/temp_sensor/build/test/mocks/MockUsartConductor.h +0 -46
  1151. data/examples/temp_sensor/build/test/mocks/MockUsartConfigurator.c +0 -414
  1152. data/examples/temp_sensor/build/test/mocks/MockUsartConfigurator.h +0 -70
  1153. data/examples/temp_sensor/build/test/mocks/MockUsartHardware.c +0 -183
  1154. data/examples/temp_sensor/build/test/mocks/MockUsartHardware.h +0 -46
  1155. data/examples/temp_sensor/build/test/mocks/MockUsartModel.c +0 -269
  1156. data/examples/temp_sensor/build/test/mocks/MockUsartModel.h +0 -52
  1157. data/examples/temp_sensor/build/test/mocks/MockUsartPutChar.c +0 -109
  1158. data/examples/temp_sensor/build/test/mocks/MockUsartPutChar.h +0 -40
  1159. data/examples/temp_sensor/build/test/out/TestAdcConductor.out +0 -0
  1160. data/examples/temp_sensor/build/test/out/TestAdcHardware.out +0 -0
  1161. data/examples/temp_sensor/build/test/out/TestAdcModel.out +0 -0
  1162. data/examples/temp_sensor/build/test/out/TestExecutor.out +0 -0
  1163. data/examples/temp_sensor/build/test/out/TestMain.out +0 -0
  1164. data/examples/temp_sensor/build/test/out/TestModel.out +0 -0
  1165. data/examples/temp_sensor/build/test/out/TestTaskScheduler.out +0 -0
  1166. data/examples/temp_sensor/build/test/out/TestTemperatureCalculator.out +0 -0
  1167. data/examples/temp_sensor/build/test/out/TestTemperatureFilter.out +0 -0
  1168. data/examples/temp_sensor/build/test/out/TestTimerConductor.out +0 -0
  1169. data/examples/temp_sensor/build/test/out/TestTimerHardware.out +0 -0
  1170. data/examples/temp_sensor/build/test/out/TestTimerModel.out +0 -0
  1171. data/examples/temp_sensor/build/test/out/TestUsartBaudRateRegisterCalculator.out +0 -0
  1172. data/examples/temp_sensor/build/test/out/TestUsartConductor.out +0 -0
  1173. data/examples/temp_sensor/build/test/out/TestUsartHardware.out +0 -0
  1174. data/examples/temp_sensor/build/test/out/TestUsartModel.out +0 -0
  1175. data/examples/temp_sensor/build/test/out/c/AdcConductor.o +0 -0
  1176. data/examples/temp_sensor/build/test/out/c/AdcHardware.o +0 -0
  1177. data/examples/temp_sensor/build/test/out/c/AdcModel.o +0 -0
  1178. data/examples/temp_sensor/build/test/out/c/Executor.o +0 -0
  1179. data/examples/temp_sensor/build/test/out/c/Main.o +0 -0
  1180. data/examples/temp_sensor/build/test/out/c/MockAdcConductor.o +0 -0
  1181. data/examples/temp_sensor/build/test/out/c/MockAdcHardware.o +0 -0
  1182. data/examples/temp_sensor/build/test/out/c/MockAdcHardwareConfigurator.o +0 -0
  1183. data/examples/temp_sensor/build/test/out/c/MockAdcModel.o +0 -0
  1184. data/examples/temp_sensor/build/test/out/c/MockAdcTemperatureSensor.o +0 -0
  1185. data/examples/temp_sensor/build/test/out/c/MockExecutor.o +0 -0
  1186. data/examples/temp_sensor/build/test/out/c/MockIntrinsicsWrapper.o +0 -0
  1187. data/examples/temp_sensor/build/test/out/c/MockModel.o +0 -0
  1188. data/examples/temp_sensor/build/test/out/c/MockTaskScheduler.o +0 -0
  1189. data/examples/temp_sensor/build/test/out/c/MockTemperatureCalculator.o +0 -0
  1190. data/examples/temp_sensor/build/test/out/c/MockTemperatureFilter.o +0 -0
  1191. data/examples/temp_sensor/build/test/out/c/MockTimerConductor.o +0 -0
  1192. data/examples/temp_sensor/build/test/out/c/MockTimerConfigurator.o +0 -0
  1193. data/examples/temp_sensor/build/test/out/c/MockTimerHardware.o +0 -0
  1194. data/examples/temp_sensor/build/test/out/c/MockTimerInterruptHandler.o +0 -0
  1195. data/examples/temp_sensor/build/test/out/c/MockTimerModel.o +0 -0
  1196. data/examples/temp_sensor/build/test/out/c/MockUsartBaudRateRegisterCalculator.o +0 -0
  1197. data/examples/temp_sensor/build/test/out/c/MockUsartConductor.o +0 -0
  1198. data/examples/temp_sensor/build/test/out/c/MockUsartConfigurator.o +0 -0
  1199. data/examples/temp_sensor/build/test/out/c/MockUsartHardware.o +0 -0
  1200. data/examples/temp_sensor/build/test/out/c/MockUsartModel.o +0 -0
  1201. data/examples/temp_sensor/build/test/out/c/MockUsartPutChar.o +0 -0
  1202. data/examples/temp_sensor/build/test/out/c/Model.o +0 -0
  1203. data/examples/temp_sensor/build/test/out/c/TaskScheduler.o +0 -0
  1204. data/examples/temp_sensor/build/test/out/c/TemperatureCalculator.o +0 -0
  1205. data/examples/temp_sensor/build/test/out/c/TemperatureFilter.o +0 -0
  1206. data/examples/temp_sensor/build/test/out/c/TestAdcConductor.o +0 -0
  1207. data/examples/temp_sensor/build/test/out/c/TestAdcConductor_runner.o +0 -0
  1208. data/examples/temp_sensor/build/test/out/c/TestAdcHardware.o +0 -0
  1209. data/examples/temp_sensor/build/test/out/c/TestAdcHardware_runner.o +0 -0
  1210. data/examples/temp_sensor/build/test/out/c/TestAdcModel.o +0 -0
  1211. data/examples/temp_sensor/build/test/out/c/TestAdcModel_runner.o +0 -0
  1212. data/examples/temp_sensor/build/test/out/c/TestExecutor.o +0 -0
  1213. data/examples/temp_sensor/build/test/out/c/TestExecutor_runner.o +0 -0
  1214. data/examples/temp_sensor/build/test/out/c/TestMain.o +0 -0
  1215. data/examples/temp_sensor/build/test/out/c/TestMain_runner.o +0 -0
  1216. data/examples/temp_sensor/build/test/out/c/TestModel.o +0 -0
  1217. data/examples/temp_sensor/build/test/out/c/TestModel_runner.o +0 -0
  1218. data/examples/temp_sensor/build/test/out/c/TestTaskScheduler.o +0 -0
  1219. data/examples/temp_sensor/build/test/out/c/TestTaskScheduler_runner.o +0 -0
  1220. data/examples/temp_sensor/build/test/out/c/TestTemperatureCalculator.o +0 -0
  1221. data/examples/temp_sensor/build/test/out/c/TestTemperatureCalculator_runner.o +0 -0
  1222. data/examples/temp_sensor/build/test/out/c/TestTemperatureFilter.o +0 -0
  1223. data/examples/temp_sensor/build/test/out/c/TestTemperatureFilter_runner.o +0 -0
  1224. data/examples/temp_sensor/build/test/out/c/TestTimerConductor.o +0 -0
  1225. data/examples/temp_sensor/build/test/out/c/TestTimerConductor_runner.o +0 -0
  1226. data/examples/temp_sensor/build/test/out/c/TestTimerHardware.o +0 -0
  1227. data/examples/temp_sensor/build/test/out/c/TestTimerHardware_runner.o +0 -0
  1228. data/examples/temp_sensor/build/test/out/c/TestTimerModel.o +0 -0
  1229. data/examples/temp_sensor/build/test/out/c/TestTimerModel_runner.o +0 -0
  1230. data/examples/temp_sensor/build/test/out/c/TestUsartBaudRateRegisterCalculator.o +0 -0
  1231. data/examples/temp_sensor/build/test/out/c/TestUsartBaudRateRegisterCalculator_runner.o +0 -0
  1232. data/examples/temp_sensor/build/test/out/c/TestUsartConductor.o +0 -0
  1233. data/examples/temp_sensor/build/test/out/c/TestUsartConductor_runner.o +0 -0
  1234. data/examples/temp_sensor/build/test/out/c/TestUsartHardware.o +0 -0
  1235. data/examples/temp_sensor/build/test/out/c/TestUsartHardware_runner.o +0 -0
  1236. data/examples/temp_sensor/build/test/out/c/TestUsartModel.o +0 -0
  1237. data/examples/temp_sensor/build/test/out/c/TestUsartModel_runner.o +0 -0
  1238. data/examples/temp_sensor/build/test/out/c/TimerConductor.o +0 -0
  1239. data/examples/temp_sensor/build/test/out/c/TimerHardware.o +0 -0
  1240. data/examples/temp_sensor/build/test/out/c/TimerModel.o +0 -0
  1241. data/examples/temp_sensor/build/test/out/c/UnityHelper.o +0 -0
  1242. data/examples/temp_sensor/build/test/out/c/UsartBaudRateRegisterCalculator.o +0 -0
  1243. data/examples/temp_sensor/build/test/out/c/UsartConductor.o +0 -0
  1244. data/examples/temp_sensor/build/test/out/c/UsartHardware.o +0 -0
  1245. data/examples/temp_sensor/build/test/out/c/UsartModel.o +0 -0
  1246. data/examples/temp_sensor/build/test/out/c/cmock.o +0 -0
  1247. data/examples/temp_sensor/build/test/out/c/unity.o +0 -0
  1248. data/examples/temp_sensor/build/test/preprocess/files/AdcConductor.h +0 -20
  1249. data/examples/temp_sensor/build/test/preprocess/files/AdcHardware.h +0 -16
  1250. data/examples/temp_sensor/build/test/preprocess/files/AdcHardwareConfigurator.h +0 -14
  1251. data/examples/temp_sensor/build/test/preprocess/files/AdcModel.h +0 -20
  1252. data/examples/temp_sensor/build/test/preprocess/files/AdcTemperatureSensor.h +0 -14
  1253. data/examples/temp_sensor/build/test/preprocess/files/Executor.h +0 -12
  1254. data/examples/temp_sensor/build/test/preprocess/files/IntrinsicsWrapper.h +0 -9
  1255. data/examples/temp_sensor/build/test/preprocess/files/Model.h +0 -10
  1256. data/examples/temp_sensor/build/test/preprocess/files/TaskScheduler.h +0 -16
  1257. data/examples/temp_sensor/build/test/preprocess/files/TemperatureCalculator.h +0 -10
  1258. data/examples/temp_sensor/build/test/preprocess/files/TemperatureFilter.h +0 -14
  1259. data/examples/temp_sensor/build/test/preprocess/files/TestAdcConductor.c +0 -169
  1260. data/examples/temp_sensor/build/test/preprocess/files/TestAdcHardware.c +0 -82
  1261. data/examples/temp_sensor/build/test/preprocess/files/TestAdcModel.c +0 -59
  1262. data/examples/temp_sensor/build/test/preprocess/files/TestExecutor.c +0 -63
  1263. data/examples/temp_sensor/build/test/preprocess/files/TestMain.c +0 -43
  1264. data/examples/temp_sensor/build/test/preprocess/files/TestModel.c +0 -34
  1265. data/examples/temp_sensor/build/test/preprocess/files/TestTaskScheduler.c +0 -204
  1266. data/examples/temp_sensor/build/test/preprocess/files/TestTemperatureCalculator.c +0 -70
  1267. data/examples/temp_sensor/build/test/preprocess/files/TestTemperatureFilter.c +0 -154
  1268. data/examples/temp_sensor/build/test/preprocess/files/TestTimerConductor.c +0 -57
  1269. data/examples/temp_sensor/build/test/preprocess/files/TestTimerHardware.c +0 -47
  1270. data/examples/temp_sensor/build/test/preprocess/files/TestTimerModel.c +0 -31
  1271. data/examples/temp_sensor/build/test/preprocess/files/TestUsartBaudRateRegisterCalculator.c +0 -38
  1272. data/examples/temp_sensor/build/test/preprocess/files/TestUsartConductor.c +0 -73
  1273. data/examples/temp_sensor/build/test/preprocess/files/TestUsartHardware.c +0 -66
  1274. data/examples/temp_sensor/build/test/preprocess/files/TestUsartModel.c +0 -73
  1275. data/examples/temp_sensor/build/test/preprocess/files/TimerConductor.h +0 -12
  1276. data/examples/temp_sensor/build/test/preprocess/files/TimerConfigurator.h +0 -24
  1277. data/examples/temp_sensor/build/test/preprocess/files/TimerHardware.h +0 -10
  1278. data/examples/temp_sensor/build/test/preprocess/files/TimerInterruptHandler.h +0 -14
  1279. data/examples/temp_sensor/build/test/preprocess/files/TimerModel.h +0 -10
  1280. data/examples/temp_sensor/build/test/preprocess/files/UsartBaudRateRegisterCalculator.h +0 -10
  1281. data/examples/temp_sensor/build/test/preprocess/files/UsartConductor.h +0 -9
  1282. data/examples/temp_sensor/build/test/preprocess/files/UsartConfigurator.h +0 -20
  1283. data/examples/temp_sensor/build/test/preprocess/files/UsartHardware.h +0 -12
  1284. data/examples/temp_sensor/build/test/preprocess/files/UsartModel.h +0 -14
  1285. data/examples/temp_sensor/build/test/preprocess/files/UsartPutChar.h +0 -10
  1286. data/examples/temp_sensor/build/test/preprocess/includes/AdcConductor.h +0 -2
  1287. data/examples/temp_sensor/build/test/preprocess/includes/AdcHardware.h +0 -2
  1288. data/examples/temp_sensor/build/test/preprocess/includes/AdcHardwareConfigurator.h +0 -2
  1289. data/examples/temp_sensor/build/test/preprocess/includes/AdcModel.h +0 -2
  1290. data/examples/temp_sensor/build/test/preprocess/includes/AdcTemperatureSensor.h +0 -2
  1291. data/examples/temp_sensor/build/test/preprocess/includes/Executor.h +0 -2
  1292. data/examples/temp_sensor/build/test/preprocess/includes/IntrinsicsWrapper.h +0 -1
  1293. data/examples/temp_sensor/build/test/preprocess/includes/Model.h +0 -2
  1294. data/examples/temp_sensor/build/test/preprocess/includes/TaskScheduler.h +0 -2
  1295. data/examples/temp_sensor/build/test/preprocess/includes/TemperatureCalculator.h +0 -2
  1296. data/examples/temp_sensor/build/test/preprocess/includes/TemperatureFilter.h +0 -2
  1297. data/examples/temp_sensor/build/test/preprocess/includes/TestAdcConductor.c +0 -7
  1298. data/examples/temp_sensor/build/test/preprocess/includes/TestAdcHardware.c +0 -6
  1299. data/examples/temp_sensor/build/test/preprocess/includes/TestAdcModel.c +0 -7
  1300. data/examples/temp_sensor/build/test/preprocess/includes/TestExecutor.c +0 -9
  1301. data/examples/temp_sensor/build/test/preprocess/includes/TestMain.c +0 -5
  1302. data/examples/temp_sensor/build/test/preprocess/includes/TestModel.c +0 -6
  1303. data/examples/temp_sensor/build/test/preprocess/includes/TestTaskScheduler.c +0 -4
  1304. data/examples/temp_sensor/build/test/preprocess/includes/TestTemperatureCalculator.c +0 -4
  1305. data/examples/temp_sensor/build/test/preprocess/includes/TestTemperatureFilter.c +0 -4
  1306. data/examples/temp_sensor/build/test/preprocess/includes/TestTimerConductor.c +0 -7
  1307. data/examples/temp_sensor/build/test/preprocess/includes/TestTimerHardware.c +0 -5
  1308. data/examples/temp_sensor/build/test/preprocess/includes/TestTimerModel.c +0 -5
  1309. data/examples/temp_sensor/build/test/preprocess/includes/TestUsartBaudRateRegisterCalculator.c +0 -4
  1310. data/examples/temp_sensor/build/test/preprocess/includes/TestUsartConductor.c +0 -7
  1311. data/examples/temp_sensor/build/test/preprocess/includes/TestUsartHardware.c +0 -6
  1312. data/examples/temp_sensor/build/test/preprocess/includes/TestUsartModel.c +0 -7
  1313. data/examples/temp_sensor/build/test/preprocess/includes/TimerConductor.h +0 -2
  1314. data/examples/temp_sensor/build/test/preprocess/includes/TimerConfigurator.h +0 -2
  1315. data/examples/temp_sensor/build/test/preprocess/includes/TimerHardware.h +0 -2
  1316. data/examples/temp_sensor/build/test/preprocess/includes/TimerInterruptHandler.h +0 -2
  1317. data/examples/temp_sensor/build/test/preprocess/includes/TimerModel.h +0 -2
  1318. data/examples/temp_sensor/build/test/preprocess/includes/UsartBaudRateRegisterCalculator.h +0 -2
  1319. data/examples/temp_sensor/build/test/preprocess/includes/UsartConductor.h +0 -1
  1320. data/examples/temp_sensor/build/test/preprocess/includes/UsartConfigurator.h +0 -2
  1321. data/examples/temp_sensor/build/test/preprocess/includes/UsartHardware.h +0 -2
  1322. data/examples/temp_sensor/build/test/preprocess/includes/UsartModel.h +0 -2
  1323. data/examples/temp_sensor/build/test/preprocess/includes/UsartPutChar.h +0 -2
  1324. data/examples/temp_sensor/build/test/results/TestAdcConductor.pass +0 -46
  1325. data/examples/temp_sensor/build/test/results/TestAdcHardware.pass +0 -30
  1326. data/examples/temp_sensor/build/test/results/TestAdcModel.pass +0 -26
  1327. data/examples/temp_sensor/build/test/results/TestExecutor.pass +0 -22
  1328. data/examples/temp_sensor/build/test/results/TestMain.pass +0 -18
  1329. data/examples/temp_sensor/build/test/results/TestModel.pass +0 -18
  1330. data/examples/temp_sensor/build/test/results/TestTaskScheduler.pass +0 -46
  1331. data/examples/temp_sensor/build/test/results/TestTemperatureCalculator.pass +0 -22
  1332. data/examples/temp_sensor/build/test/results/TestTemperatureFilter.pass +0 -30
  1333. data/examples/temp_sensor/build/test/results/TestTimerConductor.pass +0 -22
  1334. data/examples/temp_sensor/build/test/results/TestTimerHardware.pass +0 -18
  1335. data/examples/temp_sensor/build/test/results/TestTimerModel.pass +0 -18
  1336. data/examples/temp_sensor/build/test/results/TestUsartBaudRateRegisterCalculator.pass +0 -18
  1337. data/examples/temp_sensor/build/test/results/TestUsartConductor.pass +0 -26
  1338. data/examples/temp_sensor/build/test/results/TestUsartHardware.pass +0 -22
  1339. data/examples/temp_sensor/build/test/results/TestUsartModel.pass +0 -30
  1340. data/examples/temp_sensor/build/test/runners/TestAdcConductor_runner.c +0 -105
  1341. data/examples/temp_sensor/build/test/runners/TestAdcHardware_runner.c +0 -97
  1342. data/examples/temp_sensor/build/test/runners/TestAdcModel_runner.c +0 -99
  1343. data/examples/temp_sensor/build/test/runners/TestExecutor_runner.c +0 -105
  1344. data/examples/temp_sensor/build/test/runners/TestMain_runner.c +0 -87
  1345. data/examples/temp_sensor/build/test/runners/TestModel_runner.c +0 -91
  1346. data/examples/temp_sensor/build/test/runners/TestTaskScheduler_runner.c +0 -95
  1347. data/examples/temp_sensor/build/test/runners/TestTemperatureCalculator_runner.c +0 -83
  1348. data/examples/temp_sensor/build/test/runners/TestTemperatureFilter_runner.c +0 -87
  1349. data/examples/temp_sensor/build/test/runners/TestTimerConductor_runner.c +0 -97
  1350. data/examples/temp_sensor/build/test/runners/TestTimerHardware_runner.c +0 -87
  1351. data/examples/temp_sensor/build/test/runners/TestTimerModel_runner.c +0 -87
  1352. data/examples/temp_sensor/build/test/runners/TestUsartBaudRateRegisterCalculator_runner.c +0 -81
  1353. data/examples/temp_sensor/build/test/runners/TestUsartConductor_runner.c +0 -99
  1354. data/examples/temp_sensor/build/test/runners/TestUsartHardware_runner.c +0 -93
  1355. data/examples/temp_sensor/build/test/runners/TestUsartModel_runner.c +0 -97
  1356. data/lib/ceedling/build_invoker_utils.rb +0 -39
  1357. data/lib/ceedling/cmock_builder.rb +0 -15
  1358. data/lib/ceedling/file_system_utils.rb +0 -69
  1359. data/lib/ceedling/par_map.rb +0 -19
  1360. data/lib/ceedling/plugin_builder.rb +0 -53
  1361. data/lib/ceedling/preprocessinator_helper.rb +0 -50
  1362. data/lib/ceedling/project_config_manager.rb +0 -52
  1363. data/lib/ceedling/project_file_loader.rb +0 -99
  1364. data/lib/ceedling/rules_cmock.rake +0 -9
  1365. data/lib/ceedling/rules_preprocess.rake +0 -26
  1366. data/lib/ceedling/rules_release_deep_dependencies.rake +0 -15
  1367. data/lib/ceedling/rules_tests_deep_dependencies.rake +0 -15
  1368. data/lib/ceedling/streaminator.rb +0 -40
  1369. data/lib/ceedling/streaminator_helper.rb +0 -15
  1370. data/lib/ceedling/target_loader.rb +0 -38
  1371. data/lib/ceedling/tasks_release_deep_dependencies.rake +0 -9
  1372. data/lib/ceedling/tasks_tests_deep_dependencies.rake +0 -9
  1373. data/lib/ceedling/tasks_vendor.rake +0 -35
  1374. data/lib/ceedling/test_includes_extractor.rb +0 -111
  1375. data/lib/ceedling/version.rb +0 -54
  1376. data/out.fail +0 -24
  1377. data/plugins/colour_report/README.md +0 -20
  1378. data/plugins/colour_report/lib/colour_report.rb +0 -16
  1379. data/plugins/compile_commands_json/README.md +0 -29
  1380. data/plugins/compile_commands_json/lib/compile_commands_json.rb +0 -35
  1381. data/plugins/fake_function_framework/Rakefile +0 -19
  1382. data/plugins/fake_function_framework/examples/fff_example/project.yml +0 -71
  1383. data/plugins/fake_function_framework/examples/fff_example/rakefile.rb +0 -7
  1384. data/plugins/fake_function_framework/examples/fff_example/src/bar.c +0 -1
  1385. data/plugins/fake_function_framework/examples/fff_example/src/custom_types.h +0 -6
  1386. data/plugins/fake_function_framework/examples/fff_example/src/display.c +0 -7
  1387. data/plugins/fake_function_framework/examples/fff_example/src/foo.c +0 -16
  1388. data/plugins/fake_function_framework/examples/fff_example/src/foo.h +0 -8
  1389. data/plugins/fake_function_framework/examples/fff_example/src/subfolder/zzz.c +0 -1
  1390. data/plugins/fake_function_framework/examples/fff_example/src/subfolder/zzz.h +0 -6
  1391. data/plugins/gcov/assets/template.erb +0 -15
  1392. data/plugins/json_tests_report/README.md +0 -36
  1393. data/plugins/json_tests_report/lib/json_tests_report.rb +0 -83
  1394. data/plugins/junit_tests_report/README.md +0 -36
  1395. data/plugins/junit_tests_report/lib/junit_tests_report.rb +0 -134
  1396. data/plugins/raw_output_report/README.md +0 -19
  1397. data/plugins/raw_output_report/lib/raw_output_report.rb +0 -41
  1398. data/plugins/stdout_gtestlike_tests_report/README.md +0 -19
  1399. data/plugins/stdout_gtestlike_tests_report/assets/template.erb copy +0 -59
  1400. data/plugins/stdout_gtestlike_tests_report/config/stdout_gtestlike_tests_report.yml +0 -4
  1401. data/plugins/stdout_gtestlike_tests_report/lib/stdout_gtestlike_tests_report.rb +0 -43
  1402. data/plugins/stdout_ide_tests_report/README.md +0 -18
  1403. data/plugins/stdout_ide_tests_report/config/stdout_ide_tests_report.yml +0 -4
  1404. data/plugins/stdout_ide_tests_report/lib/stdout_ide_tests_report.rb +0 -44
  1405. data/plugins/stdout_pretty_tests_report/README.md +0 -20
  1406. data/plugins/stdout_pretty_tests_report/config/stdout_pretty_tests_report.yml +0 -4
  1407. data/plugins/stdout_pretty_tests_report/lib/stdout_pretty_tests_report.rb +0 -47
  1408. data/plugins/subprojects/README.md +0 -63
  1409. data/plugins/subprojects/config/defaults.yml +0 -33
  1410. data/plugins/subprojects/lib/subprojects.rb +0 -92
  1411. data/plugins/subprojects/subprojects.rake +0 -78
  1412. data/plugins/teamcity_tests_report/README.md +0 -18
  1413. data/plugins/teamcity_tests_report/config/teamcity_tests_report.yml +0 -4
  1414. data/plugins/teamcity_tests_report/lib/teamcity_tests_report.rb +0 -57
  1415. data/plugins/warnings_report/README.md +0 -19
  1416. data/plugins/warnings_report/lib/warnings_report.rb +0 -69
  1417. data/plugins/xml_tests_report/README.md +0 -36
  1418. data/plugins/xml_tests_report/lib/xml_tests_report.rb +0 -110
  1419. data/spec/build_invoker_utils_spec.rb +0 -54
  1420. data/spec/ceedling_spec.rb +0 -154
  1421. data/spec/par_map_spec.rb +0 -57
  1422. data/spec/system/deployment_spec.rb +0 -256
  1423. data/spec/target_loader_spec.rb +0 -30
  1424. data/spec/uncatagorized_specs_spec.rb +0 -8
  1425. data/vendor/behaviors/Manifest.txt +0 -9
  1426. data/vendor/behaviors/Rakefile +0 -19
  1427. data/vendor/behaviors/lib/behaviors/reporttask.rb +0 -158
  1428. data/vendor/behaviors/lib/behaviors.rb +0 -76
  1429. data/vendor/behaviors/test/behaviors_tasks_test.rb +0 -73
  1430. data/vendor/behaviors/test/behaviors_test.rb +0 -50
  1431. data/vendor/behaviors/test/tasks_test/Rakefile +0 -19
  1432. data/vendor/behaviors/test/tasks_test/lib/user.rb +0 -2
  1433. data/vendor/behaviors/test/tasks_test/test/user_test.rb +0 -17
  1434. data/vendor/c_exception/Gemfile +0 -4
  1435. data/vendor/c_exception/Gemfile.lock +0 -12
  1436. data/vendor/cmock/examples/temp_sensor/gcc.yml +0 -44
  1437. data/vendor/cmock/examples/temp_sensor/iar_v4.yml +0 -92
  1438. data/vendor/cmock/examples/temp_sensor/iar_v5.yml +0 -81
  1439. data/vendor/cmock/vendor/c_exception/Gemfile +0 -4
  1440. data/vendor/cmock/vendor/c_exception/Gemfile.lock +0 -12
  1441. data/vendor/hardmock/CHANGES +0 -78
  1442. data/vendor/hardmock/LICENSE +0 -7
  1443. data/vendor/hardmock/README +0 -70
  1444. data/vendor/hardmock/Rakefile +0 -8
  1445. data/vendor/hardmock/config/environment.rb +0 -12
  1446. data/vendor/hardmock/lib/assert_error.rb +0 -23
  1447. data/vendor/hardmock/lib/extend_test_unit.rb +0 -14
  1448. data/vendor/hardmock/lib/hardmock/errors.rb +0 -22
  1449. data/vendor/hardmock/lib/hardmock/expectation.rb +0 -229
  1450. data/vendor/hardmock/lib/hardmock/expectation_builder.rb +0 -9
  1451. data/vendor/hardmock/lib/hardmock/expector.rb +0 -26
  1452. data/vendor/hardmock/lib/hardmock/method_cleanout.rb +0 -33
  1453. data/vendor/hardmock/lib/hardmock/mock.rb +0 -180
  1454. data/vendor/hardmock/lib/hardmock/mock_control.rb +0 -53
  1455. data/vendor/hardmock/lib/hardmock/stubbing.rb +0 -210
  1456. data/vendor/hardmock/lib/hardmock/trapper.rb +0 -31
  1457. data/vendor/hardmock/lib/hardmock/utils.rb +0 -9
  1458. data/vendor/hardmock/lib/hardmock.rb +0 -86
  1459. data/vendor/hardmock/lib/test_unit_before_after.rb +0 -169
  1460. data/vendor/hardmock/rake_tasks/rdoc.rake +0 -19
  1461. data/vendor/hardmock/rake_tasks/rdoc_options.rb +0 -4
  1462. data/vendor/hardmock/rake_tasks/test.rake +0 -22
  1463. data/vendor/hardmock/test/functional/assert_error_test.rb +0 -52
  1464. data/vendor/hardmock/test/functional/auto_verify_test.rb +0 -178
  1465. data/vendor/hardmock/test/functional/direct_mock_usage_test.rb +0 -396
  1466. data/vendor/hardmock/test/functional/hardmock_test.rb +0 -434
  1467. data/vendor/hardmock/test/functional/stubbing_test.rb +0 -479
  1468. data/vendor/hardmock/test/test_helper.rb +0 -43
  1469. data/vendor/hardmock/test/unit/expectation_builder_test.rb +0 -19
  1470. data/vendor/hardmock/test/unit/expectation_test.rb +0 -372
  1471. data/vendor/hardmock/test/unit/expector_test.rb +0 -57
  1472. data/vendor/hardmock/test/unit/method_cleanout_test.rb +0 -36
  1473. data/vendor/hardmock/test/unit/mock_control_test.rb +0 -175
  1474. data/vendor/hardmock/test/unit/mock_test.rb +0 -279
  1475. data/vendor/hardmock/test/unit/test_unit_before_after_test.rb +0 -452
  1476. data/vendor/hardmock/test/unit/trapper_test.rb +0 -62
  1477. data/vendor/hardmock/test/unit/verify_error_test.rb +0 -40
@@ -1,122 +1,515 @@
1
- ceedling-gcov
2
- =============
1
+ # Ceedling Plugin: Gcov
2
+
3
+ This 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.
3
6
 
4
7
  # Plugin Overview
5
8
 
6
- Plugin for integrating GNU GCov code coverage tool into Ceedling projects.
7
- Currently only designed for the gcov command (like LCOV for example). In the
8
- future we could configure this to work with other code coverage tools.
9
+ When enabled, this plugin creates a new set of `gcov:` tasks that mirror
10
+ Ceedling's existing `test:` tasks. A `gcov:` task executes one or more tests
11
+ with coverage enabled for the source files exercised by those tests.
12
+
13
+ This plugin also provides an extensive set of options for generating various
14
+ coverage reports for your project. The simplest is text-based coverage
15
+ summaries printed to the console after a `gcov:` test task is executed.
16
+
17
+ This document details configuration, reporting options, and provides basic
18
+ [troubleshooting help][troubleshooting].
19
+
20
+ [troubleshooting]: #advanced-configuration--troubleshooting
21
+
22
+ # Simple Coverage Summaries
9
23
 
10
- This plugin currently uses [gcovr](https://www.gcovr.com/) and / or
11
- [ReportGenerator](https://danielpalme.github.io/ReportGenerator/)
12
- as utilities to generate HTML, XML, JSON, or Text reports. The normal gcov
13
- plugin _must_ be run first for these reports to generate.
24
+ In its simplest usage, this plugin outputs coverage statistics to the console
25
+ for each source file exercised by a test. These console-based coverage
26
+ summaries are provided after the standard Ceedling test results summary. Other
27
+ than enabling the plugin and ensuring `gcov` is installed, no further set up
28
+ is necessary to produce these summaries.
14
29
 
15
- ## Installation
30
+ _Note_: Automatic summaries may be disabled (see configuration options below).
16
31
 
17
- gcovr can be installed via pip like so:
32
+ When the Gcov plugin is active it enables Ceedling tasks like this:
18
33
 
19
- ```sh
20
- pip install gcovr
34
+ ```shell
35
+ > ceedling gcov:Model
21
36
  ```
22
37
 
23
- ReportGenerator can be installed via .NET Core like so:
38
+ that then generate output like this:
24
39
 
25
- ```sh
26
- dotnet tool install -g dotnet-reportgenerator-globaltool
27
40
  ```
41
+ --------------------------
42
+ GCOV: OVERALL TEST SUMMARY
43
+ --------------------------
44
+ TESTED: 1
45
+ PASSED: 1
46
+ FAILED: 0
47
+ IGNORED: 0
48
+
49
+ ---------------------------
50
+ GCOV: CODE COVERAGE SUMMARY
51
+ ---------------------------
52
+
53
+ TestModel
54
+ ---------
55
+ Model.c | Lines executed:100.00% of 4
56
+ Model.c | No branches
57
+ Model.c | No calls
58
+ TimerModel.c | Lines executed:0.00% of 3
59
+ TimerModel.c | No branches
60
+ TimerModel.c | No calls
61
+ ```
62
+
63
+ # Advanced Coverage Reports
64
+
65
+ For more advanced visualizations and reporting, this plugin also supports a
66
+ variety of report generation options.
67
+
68
+ Advanced report generation uses [gcovr] and / or [ReportGenerator] to generate
69
+ HTML, XML, JSON, or text-based reports from coverage-instrumented test runs.
70
+ See the tools' respective sites for examples of the reports they can generate.
71
+
72
+ In the default configuration, if reports are enabled, this plugin automatically
73
+ generates reports in the build's `artifacts/` directory after each execution of
74
+ a `gcov:` task.
75
+
76
+ An optional setting documented below disables automatic report generation,
77
+ providing a separate Ceedling task instead. Reports can then be generated
78
+ on demand after test suite runs.
79
+
80
+ [gcovr]: https://www.gcovr.com/
81
+ [ReportGenerator]: https://reportgenerator.io
82
+
83
+ # Important Notes on Coverage Summaries vs. Coverage Reports
84
+
85
+ Coverage summaries and coverage reports provide different levels of fidelity
86
+ and usability. Summaries are relatively unsophisticated while reports are
87
+ sophisticated. As such, both provide different capabilities and levels of
88
+ usability.
89
+
90
+ ## Coverage summaries
91
+
92
+ Optional coverage summaries are intentionally simple. They require no
93
+ configuration and, to oversimplify, are largely filtered output from the `gcov`
94
+ tool.
95
+
96
+ Coverage summaries are reported to the console for each source file exercised by
97
+ the tests executed by `gcov:` tasks. That is, coverage summaries correspond to
98
+ the tests executed, and in turn, the source code that your tests call. This
99
+ could be all tests (and thus all source code) or a subset of tests (and some
100
+ subset of source code). The `gcov` tool is run multiple times after test suite
101
+ execution in direct relation to the set of tests you ran with `gcov:` testing
102
+ tasks. In short, the scope of coverage summaries is guaranteed to match the
103
+ test suite you run.
104
+
105
+ Coverage summaries do not include any sort of grand total, final tallies. This
106
+ is the domain of full coverage reports.
107
+
108
+ Note that Ceedling can exercise the same source code under multiple scenarios
109
+ using multiple test files. Practically, this means that the same source file
110
+ may be listed in the coverage summaries more than once. That said, its coverage
111
+ statistics will be the same each time — the aggregate result of all tests that
112
+ exercised it.
113
+
114
+ ## Coverage reports
115
+
116
+ Coverage reports provide both much more detail and better overviews of coverage
117
+ than the console-based coverage summaries. However, with this comes the need
118
+ for more sophisticated configuration and certain caveats on what is reported.
119
+
120
+ Later sections detail how to configure the reports this plugin can generate.
121
+
122
+ Of note is a consequence of how reports are generated and the limits of the
123
+ tools that do so. Reports are generated using coverage results on disk. The
124
+ report generation tools slurp up the coverage results they find in the `gcov/`
125
+ build output directory. This means that previous test suite runs can “pollute”
126
+ coverage reports. The solution is simple if blunt — run the `clobber` task
127
+ before running a coverage-instrumented test suite. This will yield a coverage
128
+ report with scope that matches that of the test suite you run.
129
+
130
+ Both the `gcovr` and `reportgeneator` reporting utilities include powerful
131
+ filters that can limit the scope of reports. Hypothetically, it's possible for
132
+ coverage reports to have the same clear scope as coverage summaries. However,
133
+ in large projects, these filters would cause impractically long command lines.
134
+ Both tools provide configuration file options that would solve the command line
135
+ problem. However, this feature is “experimental” for `gcovr` and considerable
136
+ work to implement for both reporting utilities. At present, running
137
+ `ceedling clobber` before generating reports is the best option to ensure
138
+ accurate reports.
139
+
140
+ # Plugin Set Up & Configuration
141
+
142
+ ## Supported tool versions [May 10, 2024]
143
+
144
+ At the time of the last major updates to the Gcov plugin, the following notes
145
+ on version compatibility were known to be accurate.
28
146
 
29
- It is not required to install both `gcovr` and `ReportGenerator`. Either utility
30
- may be installed to create reports.
147
+ Keep in mind that for proper functioning, you do not necessarily need to
148
+ install all the tooks the Gcov plugin works with. Depending on configuration
149
+ options documented in later sections, any of the following tool combinations
150
+ may be sufficient for your needs:
31
151
 
32
- ## Configuration
152
+ 1. `gcov`
153
+ 1. `gcov` + `gcovr`
154
+ 1. `gcov` + `reportgenerator`
155
+ 1. `gcov` + `gcovr` + `reportgenerator`
156
+
157
+ ### `gcov`
158
+
159
+ The Gcov plugin is known to work with `gcov` packaged with GNU Compiler
160
+ Collection 12.2 and should work with versions through at least 14.
161
+
162
+ The maintainers of `gcov` introduced significant behavioral changes for version
163
+ 12. Previous versions of `gcov` had a simple exit code scheme with only a
164
+ single non-zero exit code upon fatal errors. Since version 12 `gcov` emits a
165
+ variety of exit codes even if the noted issue is a non-fatal error. The Gcov
166
+ plugin’s logic assumes version 12 behavior and processes failure messages and
167
+ exit codes appropriately, taking into account plugin configuration options.
168
+
169
+ The Gcov plugin should be compatible with versions of `gcov` before version 12.
170
+ That is, its improved `gcov` exit handling should not be broken by the prior
171
+ simpler behavior. The Gcov plugin dependes on the `gcov` command line and has
172
+ been compatible with it as far back as `gcov` version 7.
173
+
174
+ Because long file paths are quite common in software development scenarios, by
175
+ default, the Gcov plugin depends on the `gcov` `-x` flag. This flag hashes long
176
+ file paths to ensure they are not a problem for certain platforms' file
177
+ systems. This flag became available with `gcov` version 7. At the time of this
178
+ README section’s last update, the GNU Compiler Collection was at version 14. We
179
+ do not recommend using `gcov` version 6 and earlier. And, in fact, because of
180
+ the Gcov plugin’s dependence on the `gcov` `-x` flag, attempting to use it will
181
+ fail.
182
+
183
+ ### `gcovr`
184
+
185
+ The Gcov plugin is known to work with `gcovr` 5.2 through `gcovr` 6.x. The
186
+ Gcov plugin supports `gcovr` command line conventions since version 4.2 and
187
+ attempts to support `gcovr` command lines before version 4.2. We recommend
188
+ using `gcovr` 5 and later.
189
+
190
+ ### `reportgenerator`
191
+
192
+ The Gcov plugin is known to work with `reportgenerator` 5.2.4. The command line
193
+ for executing `reportgenerator` that the Gcov plugin relies on has largely been
194
+ stable since version 4. We recommend using `reportgenerator` 5.0 and later.
195
+
196
+ ## Toolchain dependencies
197
+
198
+ ### GNU Compiler Collection
199
+
200
+ This plugin relies on the GNU compiler collection. Coverage instrumentation
201
+ is enabled through `gcc` compiler flags. Coverage-insrumented executables
202
+ (i.e. test suites) output coverage result files to disk when run. `gcov`,
203
+ `gcovr`, and `reportgenerator` (the tools managed by this plugin) all produce
204
+ their coverage tallies from these files. `gcov` is part of the GNU compiler
205
+ collection. The other tools — detailed below — require separate installation.
206
+
207
+ Ceedling's default toolchain is the same as needed by this plugin. If you
208
+ are already running Ceedling test suites with the GNU compiler toolchain,
209
+ you are good to go. If you are using another toolchain for test suite and/or
210
+ release builds you will need to install the GNU compiler collection to use
211
+ this plugin. Depending on your needs you may also need to install the reporting
212
+ utilities, `gcovr` and/or `reportgenerator`.
213
+
214
+ ### `gcovr` and `reportgenerator`’s dependence on `gcov`
215
+
216
+ Both the `gcovr` and `reportgenerator` tools depend on the `gcov` tool. This
217
+ dependency plays out in two different ways. In both cases, the report
218
+ generation utilities ingest `gcov`'s output to produce their artifacts. As
219
+ such, `gcov` must be available in your environment if using report generation.
220
+
221
+ 1. `gcovr` calls `gcov` directly.
222
+
223
+ Because it calls `gcov` directly, you are limited as to the
224
+ advanced Ceedling features you can employ to modify `gcov`'s execution.
225
+ However, with a configuration option (see below) you can instruct `gcovr`
226
+ to call something other than `gcov` (e.g. a script that intercepts and
227
+ modifies how `gcovr` calls out to `gcov`).
228
+
229
+ `gcovr` instructs `gcov` to generate `.gcov` files that it processes and
230
+ discards. A `gcovr` option documented below will retain the `.gcov` files.
231
+
232
+ 2. `reportgenerator` expects the existence of `.gcov` files to do its work.
233
+ This Ceedling plugin calls `gcov` appropriately to generate the `.gcov`
234
+ files `reportgenerator` needs before then calling the report utility.
235
+
236
+ You can use Ceedling's features to modify how `gcov` is run before
237
+ `reportgenerator`.
238
+
239
+ ## Enable this plugin
240
+
241
+ To use this plugin it must be enabled in your Ceedling project file:
242
+
243
+ ```yaml
244
+ :plugins:
245
+ :enabled:
246
+ - gcov
247
+ ```
33
248
 
34
- The gcov plugin supports configuration options via your `project.yml` provided
35
- by Ceedling.
249
+ This simple configuration will create new `gcov:` tasks to run tests with
250
+ source coverage and output simple coverage summaries to the console as above.
36
251
 
37
- ### Utilities
252
+ ## Disabling automatic coverage summaries
38
253
 
39
- Gcovr and / or ReportGenerator may be enabled to create coverage reports.
254
+ To disable the coverage summaries generated immediately following `gcov:` tasks,
255
+ simply add the following to a top-level `:gcov:` section in your project
256
+ configuration file.
257
+
258
+ ```yaml
259
+ :plugins:
260
+ :enabled:
261
+ - gcov
262
+
263
+ :gcov:
264
+ :summaries: FALSE
265
+ ```
266
+
267
+ ## Report generation
268
+
269
+ To generate reports:
270
+
271
+ 1. GCovr and / or ReportGenerator must installed or otherwise ready to run in
272
+ Ceedling's environment.
273
+ 1. Reporting options must be configured in your project file beneath a `:gcov:`
274
+ entry.
275
+
276
+ The next sections explain each of these steps.
277
+
278
+ ### Installation of report generation utilities
279
+
280
+ [gcovr] is available on any platform supported by Python.
281
+
282
+ `gcovr` can be installed via pip like this:
283
+
284
+ ```shell
285
+ > pip install gcovr
286
+ ```
287
+
288
+ [ReportGenerator] is available on any platform supported by .Net.
289
+
290
+ `ReportGenerator` can be installed via .NET Core like so:
291
+
292
+ ```shell
293
+ > dotnet tool install -g dotnet-reportgenerator-globaltool
294
+ ```
295
+
296
+ Either or both of `gcovr` or `ReportGenerator` may be used. Only one must
297
+ be installed for advanced report generation.
298
+
299
+ ## Enabling report generation utilities
300
+
301
+ If reports are configured (see next sections) but no `:utilities:` subsection
302
+ exists, this plugin defaults to using `gcovr` for report generation.
303
+
304
+ Otherwise, enable Gcovr and / or ReportGenerator to create coverage reports.
40
305
 
41
306
  ```yaml
42
307
  :gcov:
43
308
  :utilities:
44
- - gcovr # Use gcovr to create the specified reports (default).
45
- - ReportGenerator # Use ReportGenerator to create the specified reports.
309
+ - gcovr # Use `gcovr` to create reports (default if no :utilities set).
310
+ - ReportGenerator # Use `ReportGenerator` to create reports.
46
311
  ```
47
312
 
48
- ### Reports
313
+ ## Automatic and manual report generation
314
+
315
+ By default, if reports are specified, this plugin automatically generates
316
+ reports after any `gcov:` task is executed. To disable this behavior, add
317
+ `:report_task: TRUE` to your project file's `:gcov:` configuration.
318
+
319
+ With this setting enabled, an additional Ceedling task `report:gcov` is enabled.
320
+ It may be executed after `gcov:` tasks to generate the configured reports.
321
+
322
+ For small projects, the default behavior is likely preferred. This alernative
323
+ setting allows large or complex projects to execute potentially time intensive
324
+ report generation only when desired.
49
325
 
50
- Various reports are available and may be enabled with the following
51
- configuration item. See the specific report sections in this README
52
- for additional options and information. All generated reports will be found in `build/artifacts/gcov`.
326
+ Enabling the manual report generation task looks like this:
327
+
328
+ ```yaml
329
+ :gcov:
330
+ :report_task: TRUE
331
+ ```
332
+
333
+ # Example Usage
334
+
335
+ _Note_: Unless disabled, basic coverage summaries are always printed to the
336
+ console regardless of report generation options.
337
+
338
+ ## Automatic report generation (default)
339
+
340
+ If coverage report generation is configured, the plugin defaults to running
341
+ reports after any `gcov:` task.
342
+
343
+ ```yaml
344
+ :plugins:
345
+ :enabled:
346
+ - gcov
347
+
348
+ :gcov:
349
+ :utilities:
350
+ - gcovr # Enabled by default -- shown for completeness
351
+ :report_task: FALSE # Disabled by default -- shown for completeness
352
+ :reports: # See later section for report configuration
353
+ - HtmlBasic
354
+
355
+ ... # Further configuration for reporting (not shown)
356
+
357
+ ```
358
+
359
+ ```shell
360
+ > ceedling gcov:all
361
+ ```
362
+
363
+ ## Report generation configured as manual task
364
+
365
+ If the `:report_task:` configuration option is enabled, reports are not
366
+ automatically generaed after test suite coverage builds. Instead, report
367
+ generation is triggered by the `report:gcov` task.
368
+
369
+ ```yaml
370
+ :plugins:
371
+ :enabled:
372
+ - gcov
373
+
374
+ :gcov:
375
+ :utilities:
376
+ - gcovr # Enabled by default -- shown for completeness
377
+ :report_task: TRUE
378
+ :reports: # See later section for report configuration
379
+ - HtmlBasic # Enabled by default -- shown for completeness
380
+
381
+ ... # Further configuration for reporting (not shown)
382
+
383
+ ```
384
+
385
+ With the separate reporting task enabled, it can be used like any other Ceedling task.
386
+
387
+ ```shell
388
+ > ceedling gcov:all report:gcov
389
+ ```
390
+
391
+ or
392
+
393
+ ```shell
394
+ > ceedling gcov:all
395
+
396
+ > ceedling report:gcov
397
+ ```
398
+
399
+ ### Full report generation configuration example
400
+
401
+ ```yaml
402
+ :plugins:
403
+ :enabled:
404
+ - gcov
405
+
406
+ :gcov:
407
+ :summaries: FALSE # Simple coverage summaries to console disabled
408
+ :reports: # `gcovr` tool enabled by default
409
+ - HtmlDetailed
410
+ - Text
411
+ - Cobertura
412
+ :gcovr: # `gcovr` common and report-specific options
413
+ :report_root: "../../" # Atypical layout -- project.yml is inside a subdirectoy below <build root>
414
+ :sort_percentage: TRUE
415
+ :sort_uncovered: FALSE
416
+ :html_medium_threshold: 60
417
+ :html_high_threshold: 85
418
+ :print_summary: TRUE
419
+ :threads: 4
420
+ :keep: FALSE
421
+ ```
422
+
423
+ # Report Generation Configuration
424
+
425
+ Various reports are available. Each must be enabled in `:gcov` ↳ `:reports`.
426
+
427
+ If no report types are specified, report generation (but not coverage summaries)
428
+ is disabled regardless of any other setting.
429
+
430
+ Most report types can only be generated by `gcovr` or `ReportGenerator`. Some
431
+ can be generated by both. This means that your selection of report is impacted by
432
+ which generation utility is enabled. In fact, in some cases, the same report type
433
+ could be generated by each utility (to different artifact build output folders).
434
+
435
+ Reports are configured with:
436
+
437
+ 1. General or common options for each report generation utility
438
+ 1. Specific options for types of report per each report generation utility
439
+
440
+ These are detailed in the sections that follow. See the
441
+ [GCovr User Guide][gcovr-user-guide] and the
442
+ [ReportGenerator Wiki][report-generator-wiki] for full details.
443
+
444
+ [gcovr-user-guide]: https://www.gcovr.com/en/stable/guide.html
445
+ [report-generator-wiki]: https://github.com/danielpalme/ReportGenerator/wiki
53
446
 
54
447
  ```yaml
55
448
  :gcov:
56
449
  # Specify one or more reports to generate.
57
450
  # Defaults to HtmlBasic.
58
451
  :reports:
59
- # Make an HTML summary report.
452
+ # Generate an HTML summary report.
60
453
  # Supported utilities: gcovr, ReportGenerator
61
454
  - HtmlBasic
62
455
 
63
- # Make an HTML report with line by line coverage of each source file.
456
+ # Generate an HTML report with line by line coverage of each source file.
64
457
  # Supported utilities: gcovr, ReportGenerator
65
458
  - HtmlDetailed
66
459
 
67
- # Make a Text report, which may be output to the console with gcovr or a file in both gcovr and ReportGenerator.
460
+ # Generate a Text report, which may be output to the console with gcovr or a file in both gcovr and ReportGenerator.
68
461
  # Supported utilities: gcovr, ReportGenerator
69
462
  - Text
70
463
 
71
- # Make a Cobertura XML report.
464
+ # Generate a Cobertura XML report.
72
465
  # Supported utilities: gcovr, ReportGenerator
73
466
  - Cobertura
74
467
 
75
- # Make a SonarQube XML report.
468
+ # Generate a SonarQube XML report.
76
469
  # Supported utilities: gcovr, ReportGenerator
77
470
  - SonarQube
78
471
 
79
- # Make a JSON report.
472
+ # Generate a JSON report.
80
473
  # Supported utilities: gcovr
81
474
  - JSON
82
475
 
83
- # Make a detailed HTML report with CSS and JavaScript included in every HTML page. Useful for build servers.
476
+ # Generate a detailed HTML report with CSS and JavaScript included in every HTML page. Useful for build servers.
84
477
  # Supported utilities: ReportGenerator
85
478
  - HtmlInline
86
479
 
87
- # Make a detailed HTML report with a light theme and CSS and JavaScript included in every HTML page for Azure DevOps.
480
+ # Generate a detailed HTML report with a light theme and CSS and JavaScript included in every HTML page for Azure DevOps.
88
481
  # Supported utilities: ReportGenerator
89
482
  - HtmlInlineAzure
90
483
 
91
- # Make a detailed HTML report with a dark theme and CSS and JavaScript included in every HTML page for Azure DevOps.
484
+ # Generate a detailed HTML report with a dark theme and CSS and JavaScript included in every HTML page for Azure DevOps.
92
485
  # Supported utilities: ReportGenerator
93
486
  - HtmlInlineAzureDark
94
487
 
95
- # Make a single HTML file containing a chart with historic coverage information.
488
+ # Generate a single HTML file containing a chart with historic coverage information.
96
489
  # Supported utilities: ReportGenerator
97
490
  - HtmlChart
98
491
 
99
- # Make a detailed HTML report in a single file.
492
+ # Generate a detailed HTML report in a single file.
100
493
  # Supported utilities: ReportGenerator
101
494
  - MHtml
102
495
 
103
- # Make SVG and PNG files that show line and / or branch coverage information.
496
+ # Generate SVG and PNG files that show line and / or branch coverage information.
104
497
  # Supported utilities: ReportGenerator
105
498
  - Badges
106
499
 
107
- # Make a single CSV file containing coverage information per file.
500
+ # Generate a single CSV file containing coverage information per file.
108
501
  # Supported utilities: ReportGenerator
109
502
  - CsvSummary
110
503
 
111
- # Make a single TEX file containing a summary for all files and detailed reports for each files.
504
+ # Generate a single TEX file containing a summary for all files and detailed reports for each files.
112
505
  # Supported utilities: ReportGenerator
113
506
  - Latex
114
507
 
115
- # Make a single TEX file containing a summary for all files.
508
+ # Generate a single TEX file containing a summary for all files.
116
509
  # Supported utilities: ReportGenerator
117
510
  - LatexSummary
118
511
 
119
- # Make a single PNG file containing a chart with historic coverage information.
512
+ # Generate a single PNG file containing a chart with historic coverage information.
120
513
  # Supported utilities: ReportGenerator
121
514
  - PngChart
122
515
 
@@ -124,41 +517,32 @@ for additional options and information. All generated reports will be found in `
124
517
  # Supported utilities: ReportGenerator
125
518
  - TeamCitySummary
126
519
 
127
- # Make a text file in lcov format.
520
+ # Generate a text file in lcov format.
128
521
  # Supported utilities: ReportGenerator
129
522
  - lcov
130
523
 
131
- # Make a XML file containing a summary for all classes and detailed reports for each class.
524
+ # Generate a XML file containing a summary for all classes and detailed reports for each class.
132
525
  # Supported utilities: ReportGenerator
133
526
  - Xml
134
527
 
135
- # Make a single XML file containing a summary for all files.
528
+ # Generate a single XML file containing a summary for all files.
136
529
  # Supported utilities: ReportGenerator
137
530
  - XmlSummary
138
531
  ```
139
532
 
140
- ### Gcovr HTML Reports
533
+ ## Gcovr report output
141
534
 
142
- Generation of Gcovr HTML reports may be modified with the following configuration items.
535
+ All reports generated by `gcovr` are found in `<build root>/artifacts/gcov/gcovr/`.
143
536
 
144
- ```yaml
145
- :gcov:
146
- # Set to 'true' to enable HTML reports or set to 'false' to disable.
147
- # Defaults to enabled. (gcovr --html)
148
- # Deprecated - See the :reports: configuration option.
149
- :html_report: [true|false]
150
-
151
- # Gcovr supports generating two types of HTML reports. Use 'basic' to create
152
- # an HTML report with only the overall file information. Use 'detailed' to create
153
- # an HTML report with line by line coverage of each source file.
154
- # Defaults to 'basic'. Set to 'detailed' for (gcovr --html-details).
155
- # Deprecated - See the :reports: configuration option.
156
- :html_report_type: [basic|detailed]
537
+ ## Gcovr HTML reports
157
538
 
539
+ Generation of HTML reports may be modified with the following configuration items.
158
540
 
541
+ ```yaml
542
+ :gcov:
159
543
  :gcovr:
160
544
  # HTML report filename.
161
- :html_artifact_filename: <output>
545
+ :html_artifact_filename: <filename>
162
546
 
163
547
  # Use 'title' as title for the HTML report.
164
548
  # Default is 'Head'. (gcovr --html-title)
@@ -178,47 +562,39 @@ Generation of Gcovr HTML reports may be modified with the following configuratio
178
562
 
179
563
  # Set to 'true' to use absolute paths to link the 'detailed' reports.
180
564
  # Defaults to relative links. (gcovr --html-absolute-paths)
181
- :html_absolute_paths: [true|false]
565
+ :html_absolute_paths: <true|false>
182
566
 
183
567
  # Override the declared HTML report encoding. Defaults to UTF-8. (gcovr --html-encoding)
184
568
  :html_encoding: <html_encoding>
185
569
  ```
186
570
 
187
- ### Cobertura XML Reports
571
+ ## Gcovr Cobertura XML reports
188
572
 
189
573
  Generation of Cobertura XML reports may be modified with the following configuration items.
190
574
 
191
575
  ```yaml
192
576
  :gcov:
193
- # Set to 'true' to enable Cobertura XML reports or set to 'false' to disable.
194
- # Defaults to disabled. (gcovr --xml)
195
- # Deprecated - See the :reports: configuration option.
196
- :xml_report: [true|false]
197
-
198
-
199
577
  :gcovr:
200
578
  # Set to 'true' to pretty-print the Cobertura XML report, otherwise set to 'false'.
201
579
  # Defaults to disabled. (gcovr --xml-pretty)
202
- :xml_pretty: [true|false]
203
- :cobertura_pretty: [true|false]
580
+ :cobertura_pretty: <true|false>
204
581
 
205
- # Cobertura XML report filename.
206
- :xml_artifact_filename: <output>
207
- :cobertura_artifact_filename: <output>
582
+ # Override default Cobertura XML report filename.
583
+ :cobertura_artifact_filename: <filename>
208
584
  ```
209
585
 
210
- ### SonarQube XML Reports
586
+ ## Gcovr SonarQube XML reports
211
587
 
212
588
  Generation of SonarQube XML reports may be modified with the following configuration items.
213
589
 
214
590
  ```yaml
215
591
  :gcov:
216
592
  :gcovr:
217
- # SonarQube XML report filename.
218
- :sonarqube_artifact_filename: <output>
593
+ # Override default SonarQube XML report filename.
594
+ :sonarqube_artifact_filename: <filename>
219
595
  ```
220
596
 
221
- ### JSON Reports
597
+ ## Gcovr JSON reports
222
598
 
223
599
  Generation of JSON reports may be modified with the following configuration items.
224
600
 
@@ -227,13 +603,13 @@ Generation of JSON reports may be modified with the following configuration item
227
603
  :gcovr:
228
604
  # Set to 'true' to pretty-print the JSON report, otherwise set 'false'.
229
605
  # Defaults to disabled. (gcovr --json-pretty)
230
- :json_pretty: [true|false]
606
+ :json_pretty: <true|false>
231
607
 
232
- # JSON report filename.
233
- :json_artifact_filename: <output>
608
+ # Override default JSON report filename.
609
+ :json_artifact_filename: <filename>
234
610
  ```
235
611
 
236
- ### Text Reports
612
+ ## Gcovr text reports
237
613
 
238
614
  Generation of text reports may be modified with the following configuration items.
239
615
  Text reports may be printed to the console or output to a file.
@@ -241,193 +617,277 @@ Text reports may be printed to the console or output to a file.
241
617
  ```yaml
242
618
  :gcov:
243
619
  :gcovr:
244
- # Text report filename.
245
- # The text report is printed to the console when no filename is provided.
246
- :text_artifact_filename: <output>
620
+ # Override default text report filename.
621
+ :text_artifact_filename: <filename>
247
622
  ```
248
623
 
249
- ### Common Report Options
250
-
251
- There are a number of options to control which files are considered part of
252
- the coverage report. Most often, we only care about coverage on our source code, and not
253
- on tests or automatically generated mocks, runners, etc. However, there are times
254
- where this isn't true... or there are times where we've moved ceedling's directory
255
- structure so that the project file isn't at the root of the project anymore. In these
256
- cases, you may need to tweak `report_include`, `report_exclude`, and `exclude_directories`.
624
+ ## Common gcovr options
257
625
 
258
- One important note about `report_root`: gcovr will take only a single root folder, unlike
259
- Ceedling's ability to take as many as you like. So you will need to choose a folder which is
260
- a superset of ALL the folders you want, and then use the include or exclude options to set up
261
- patterns of files to pay attention to or ignore. It's not ideal, but it works.
626
+ A number of options exist to control which files are considered part of a
627
+ coverage report. This Ceedling gcov plugin itself handles the most important
628
+ aspect only source files under test are compiled with coverage. Tests, mocks,
629
+ and test runners, are not compiled with coverage.
262
630
 
263
- Finally, there are a number of settings which can be specified to adjust the
264
- default behaviors of gcovr:
631
+ **Note:** `gcovr` will only accept a single path for `:report_root`. In typical
632
+ usage, this is of no concern as it is handled automatically. In unusual project
633
+ layouts, you may need to specify a folder that encompasses _all_ build folders
634
+ containing coverage result files and optionally, selectively exclude patterns
635
+ of paths or files. For instance, if your Ceedling project file is not at the
636
+ root of your project, you may need set `:report_root` as well as
637
+ `:report_exclude` and `:exclude_directories`.
265
638
 
266
639
  ```yaml
267
640
  :gcov:
268
641
  :gcovr:
269
642
  # The root directory of your source files. Defaults to ".", the current directory.
270
643
  # File names are reported relative to this root. The report_root is the default report_include.
271
- :report_root: "."
644
+ # Default if unspecified: "."
645
+ :report_root: <path>
272
646
 
273
647
  # Load the specified configuration file.
274
648
  # Defaults to gcovr.cfg in the report_root directory. (gcovr --config)
275
649
  :config_file: <config_file>
276
650
 
277
- # Exit with a status of 2 if the total line coverage is less than MIN.
278
- # Can be ORed with exit status of 'fail_under_branch' option. (gcovr --fail-under-line)
279
- :fail_under_line: 30
651
+ # Exit with a status of 2 if the total line coverage is less than MIN percentage.
652
+ # Can be ORed with exit status of other fail options. (gcovr --fail-under-line)
653
+ :fail_under_line: <1-100>
654
+
655
+ # Exit with a status of 4 if the total branch coverage is less than MIN percentage.
656
+ # Can be ORed with exit status of other fail options. (gcovr --fail-under-branch)
657
+ :fail_under_branch: <1-100>
658
+
659
+ # Exit with a status of 8 if the total decision coverage is less than MIN percentage.
660
+ # Can be ORed with exit status of other fail options. (gcovr --fail-under-decision)
661
+ :fail_under_decision: <1-100>
280
662
 
281
- # Exit with a status of 4 if the total branch coverage is less than MIN.
282
- # Can be ORed with exit status of 'fail_under_line' option. (gcovr --fail-under-branch)
283
- :fail_under_branch: 30
663
+ # Exit with a status of 16 if the total function coverage is less than MIN percentage.
664
+ # Can be ORed with exit status of other fail options. (gcovr --fail-under-function)
665
+ :fail_under_function: <1-100>
666
+
667
+ # If the fail options above are set, specify whether those conditions should break a build.
668
+ # The default option is false and simply logs a warning without breaking the build.
669
+ :exception_on_fail: <true|false>
284
670
 
285
671
  # Select the source file encoding.
286
672
  # Defaults to the system default encoding (UTF-8). (gcovr --source-encoding)
287
- :source_encoding: <source_encoding>
673
+ :source_encoding: <encoding>
288
674
 
289
675
  # Report the branch coverage instead of the line coverage. For text report only. (gcovr --branches).
290
- :branches: [true|false]
676
+ :branches: <true|false>
291
677
 
292
678
  # Sort entries by increasing number of uncovered lines.
293
679
  # For text and HTML report. (gcovr --sort-uncovered)
294
- :sort_uncovered: [true|false]
680
+ :sort_uncovered: <true|false>
295
681
 
296
682
  # Sort entries by increasing percentage of uncovered lines.
297
683
  # For text and HTML report. (gcovr --sort-percentage)
298
- :sort_percentage: [true|false]
684
+ :sort_percentage: <true|false>
299
685
 
300
686
  # Print a small report to stdout with line & branch percentage coverage.
301
687
  # This is in addition to other reports. (gcovr --print-summary).
302
- :print_summary: [true|false]
688
+ :print_summary: <true|false>
303
689
 
304
690
  # Keep only source files that match this filter. (gcovr --filter).
305
- :report_include: "^src"
691
+ # Filters are regular expressions (ex: "^src")
692
+ :report_include: <filter>
306
693
 
307
694
  # Exclude source files that match this filter. (gcovr --exclude).
308
- :report_exclude: "^vendor.*|^build.*|^test.*|^lib.*"
695
+ # Filters are regular expressions (ex: "^vendor.*|^build.*|^test.*|^lib.*")
696
+ :report_exclude: <filter>
309
697
 
310
698
  # Keep only gcov data files that match this filter. (gcovr --gcov-filter).
311
- :gcov_filter: <gcov_filter>
699
+ # Filters are regular expressions
700
+ :gcov_filter: <filter>
312
701
 
313
702
  # Exclude gcov data files that match this filter. (gcovr --gcov-exclude).
314
- :gcov_exclude: <gcov_exclude>
703
+ # Filters are regular expressions
704
+ :gcov_exclude: <filter>
315
705
 
316
- # Exclude directories that match this regex while searching
706
+ # Exclude directories that match this filter while searching
317
707
  # raw coverage files. (gcovr --exclude-directories).
318
- :exclude_directories: <exclude_dirs>
708
+ # Filters are regular expressions
709
+ :exclude_directories: <filters>
319
710
 
320
711
  # Use a particular gcov executable. (gcovr --gcov-executable).
321
- :gcov_executable: <gcov_cmd>
712
+ # (This may be appropriate and necessary in special circumstances.
713
+ # Please review Ceedling's options for modifying tools first.)
714
+ :gcov_executable: <cmd>
322
715
 
323
716
  # Exclude branch coverage from lines without useful
324
717
  # source code. (gcovr --exclude-unreachable-branches).
325
- :exclude_unreachable_branches: [true|false]
718
+ :exclude_unreachable_branches: <true|false>
326
719
 
327
720
  # For branch coverage, exclude branches that the compiler
328
721
  # generates for exception handling. (gcovr --exclude-throw-branches).
329
- :exclude_throw_branches: [true|false]
722
+ :exclude_throw_branches: <true|false>
723
+
724
+ # For Gcovr 6.0+, multiple instances of the same function in coverage results can
725
+ # cause a fatal error. Since Ceedling can test multiple build variations of the
726
+ # same source function, this is bad.
727
+ # Default value for Gcov plugin is 'merge-use-line-max'. See Gcovr docs for more.
728
+ # https://gcovr.com/en/stable/guide/merging.html
729
+ :merge_mode_function: <...>
330
730
 
331
731
  # Use existing gcov files for analysis. Default: False. (gcovr --use-gcov-files)
332
- :use_gcov_files: [true|false]
732
+ :use_gcov_files: <true|false>
333
733
 
334
734
  # Skip lines with parse errors in GCOV files instead of
335
735
  # exiting with an error. (gcovr --gcov-ignore-parse-errors).
336
- :gcov_ignore_parse_errors: [true|false]
736
+ :gcov_ignore_parse_errors: <true|false>
337
737
 
338
738
  # Override normal working directory detection. (gcovr --object-directory)
339
- :object_directory: <objdir>
739
+ :object_directory: <path>
340
740
 
341
741
  # Keep gcov files after processing. (gcovr --keep).
342
- :keep: [true|false]
742
+ :keep: <true|false>
343
743
 
344
744
  # Delete gcda files after processing. (gcovr --delete).
345
- :delete: [true|false]
745
+ :delete: <true|false>
346
746
 
347
747
  # Set the number of threads to use in parallel. (gcovr -j).
348
- :num_parallel_threads: <num_threads>
349
-
350
- # When scanning the code coverage, if any files are found that do not have
351
- # associated coverage data, the command will abort with an error message.
352
- :abort_on_uncovered: true
353
-
354
- # When using the ``abort_on_uncovered`` option, the files in this list will not
355
- # trigger a failure.
356
- # Ceedling globs described in the Ceedling packet ``Path`` section can be used
357
- # when directories are placed on the list. Globs are limited to matching directories
358
- # and not files.
359
- :uncovered_ignore_list: []
748
+ :threads: <count>
360
749
  ```
361
750
 
362
- ### ReportGenerator Configuration
751
+ ## ReportGenerator configuration
752
+
753
+ The `ReportGenerator` utility may be configured with the following configuration items.
363
754
 
364
- The ReportGenerator utility may be configured with the following configuration items.
365
- All generated reports may be found in `build/artifacts/gcov/ReportGenerator`.
755
+ All generated reports are found in `<build root>/artifacts/gcov/ReportGenerator/`.
366
756
 
367
757
  ```yaml
368
758
  :gcov:
369
759
  :report_generator:
370
760
  # Optional directory for storing persistent coverage information.
371
761
  # Can be used in future reports to show coverage evolution.
372
- :history_directory: <history_directory>
762
+ :history_directory: <path>
373
763
 
374
764
  # Optional plugin files for custom reports or custom history storage (separated by semicolon).
375
- :plugins: CustomReports.dll
765
+ :plugins: <plugin.dll>;<*.dll>
376
766
 
377
- # Optional list of assemblies that should be included or excluded in the report (separated by semicolon)..
767
+ # Optional list of assemblies that should be included or excluded in the report (separated by semicolon).
378
768
  # Exclusion filters take precedence over inclusion filters.
379
769
  # Wildcards are allowed, but not regular expressions.
380
- :assembly_filters: "+Included;-Excluded"
770
+ :assembly_filters: +<included>;-<excluded>
381
771
 
382
- # Optional list of classes that should be included or excluded in the report (separated by semicolon)..
772
+ # Optional list of classes that should be included or excluded in the report (separated by semicolon).
383
773
  # Exclusion filters take precedence over inclusion filters.
384
774
  # Wildcards are allowed, but not regular expressions.
385
- :class_filters: "+Included;-Excluded"
775
+ :class_filters: +<included>;-<excluded>
386
776
 
387
- # Optional list of files that should be included or excluded in the report (separated by semicolon)..
777
+ # Optional list of files that should be included or excluded in the report (separated by semicolon).
388
778
  # Exclusion filters take precedence over inclusion filters.
389
779
  # Wildcards are allowed, but not regular expressions.
390
- :file_filters: "-./vendor/*;-./build/*;-./test/*;-./lib/*;+./src/*"
780
+ # Example: "-./vendor/*;-./build/*;-./test/*;-./lib/*;+./src/*"
781
+ :file_filters: +<included>;-<excluded>
391
782
 
392
783
  # The verbosity level of the log messages.
393
- # Values: Verbose, Info, Warning, Error, Off
394
- :verbosity: Warning
784
+ # Values: Verbose, Info, Warning, Error, Off (defaults to Warning)
785
+ :verbosity: <level>
395
786
 
396
787
  # Optional tag or build version.
397
788
  :tag: <tag>
398
789
 
399
790
  # Optional list of one or more regular expressions to exclude gcov notes files that match these filters.
400
791
  :gcov_exclude:
401
- - <exclude_regex1>
402
- - <exclude_regex2>
403
-
404
- # Optionally use a particular gcov executable. Defaults to gcov.
405
- :gcov_executable: <gcov_cmd>
792
+ - <regex>
793
+ - ...
406
794
 
407
795
  # Optionally set the number of threads to use in parallel. Defaults to 1.
408
- :num_parallel_threads: <num_threads>
796
+ :threads: <count>
409
797
 
410
798
  # Optional list of one or more command line arguments to pass to Report Generator.
411
799
  # Useful for configuring Risk Hotspots and Other Settings.
412
800
  # https://github.com/danielpalme/ReportGenerator/wiki/Settings
801
+ # Note: This can be accomplished with Ceedling's tool configuration options outside of plugin
802
+ # configuration but is supported here to collect configuration options in one place.
413
803
  :custom_args:
414
- - <custom_arg1>
415
- - <custom_arg2>
804
+ - <argument>
805
+ - ...
416
806
  ```
417
807
 
418
- ## Example Usage
808
+ # Advanced Configuration & Troubleshooting
809
+
810
+ See the _Ceedling Cookbook_ for options on how to use Ceedling's advanced
811
+ features to modify how this plugin is configured, especially tool
812
+ configurations.
813
+
814
+ Details of interest for this plugin to be modified or made use of using
815
+ Ceedling's advanced features are primarily contained in
816
+ [defaults_gcov.rb](conig/defaults_gcov.rb) and [defaults.yml](config/defaults.yml).
817
+
818
+ ## “gcovr not found”
819
+
820
+ `gcovr` is a Python-based application. Depending on the particulars of its
821
+ installation and your platform, you may encounter a “gcovr not found” error.
822
+ This is usually related to complications of running a Python script as an
823
+ executable.
824
+
825
+ ### Check your `PATH`
826
+
827
+ The problem may be as simple to solve as ensuring your user or system path
828
+ include the path to `python` and/or the `gcovr` script. `gcovr` may be
829
+ successfully installed and findable by Python; this does not necessarily
830
+ mean that shell commands Ceedling spawns can find these tools.
419
831
 
420
- ```sh
421
- ceedling gcov:all utils:gcov
832
+ Options:
833
+
834
+ 1. Modify your user or system path to include your Python installation, `gcovr`
835
+ location, or both.
836
+ 1. Use Ceedling's `:environment` project configuration with its special
837
+ handling of `PATH` to modify the search path Ceedling accesses when it
838
+ executes shell commands. xample below.
839
+
840
+ ```yaml
841
+ :environment:
842
+ - :path: # Concatenates the following with OS-specific path separator
843
+ - <path to add> # Add Python and/or `gcovr` path
844
+ - "#{ENV['PATH']}" # Fetch existing path entries
422
845
  ```
423
846
 
424
- ## To-Do list
847
+ ### Redefine `gcovr` to call Python directly
848
+
849
+ Another solution is simple in concept. Instead of calling `gcovr` directly, call
850
+ `python` with the `gcovr` script as a command line argument (followed by all of
851
+ the configured `gcovr` arguments).
852
+
853
+ To implement the solution, we make use of two features:
854
+
855
+ * `gcovr`'s tool `:executable` definition that looks up an environment variable.
856
+ * Ceedling's `:environment` settings to redefine `gcovr`.
857
+
858
+ Gcovr's tool defintion, like many of Ceedling's tool defintions, defaults to an
859
+ environment variable (`GCOVR`) if it is defined. If we set that environment
860
+ variable to call Python with the path to the `gcovr` script, Ceedling will call
861
+ that instead of only `gcovr`. Ceedling enables you to set environment variables
862
+ that only exist while it runs.
863
+
864
+ In your project file:
865
+
866
+ ```yaml
867
+ :environment:
868
+ # Fill in / omit paths on your system as appropritate to your circumstances
869
+ - :gcovr: <path>/python <path>/gcovr
870
+ ```
871
+
872
+ Alternatively, a slightly more elegant approach may work in some cases:
873
+
874
+ ```yaml
875
+ :environment:
876
+ - ":gcovr: python #{`which gcovr`}" # Shell out to look up the path to gcovr
877
+ ```
878
+
879
+ A variation of this concept relies on Python's knowledge of its runtime
880
+ environment and packages:
881
+
882
+ ```yaml
883
+ :environment:
884
+ - :gcovr: python -m gcovr # Call the gcovr module
885
+ ```
425
886
 
426
- - Generate overall report (combined statistics from all files with coverage)
887
+ # References
427
888
 
428
- ## Citations
889
+ Much of the text describing report generations options in this document was
890
+ taken from the [Gcovr User Guide][gcovr-user-guide] and the
891
+ [ReportGenerator Wiki][report-generator-wiki].
429
892
 
430
- Most of the comment text which describes the options was taken from the
431
- [Gcovr User Guide](https://www.gcovr.com/en/stable/guide.html) and the
432
- [ReportGenerator Wiki](https://github.com/danielpalme/ReportGenerator/wiki).
433
- The text is repeated here to provide the most accurate option functionality.
893
+ The text is repeated here to provide as useful documenation as possible.