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
@@ -0,0 +1,764 @@
1
+ # Developing Plugins for Ceedling
2
+
3
+ This guide walks you through the process of creating custom plugins for
4
+ [Ceedling](https://github.com/ThrowTheSwitch/Ceedling).
5
+
6
+ It is assumed that the reader has a working installation of Ceedling and some
7
+ basic usage experience, *i.e.* project creation/configuration and running tasks.
8
+
9
+ Some experience with Ruby and Rake will be helpful but not absolutely required.
10
+ You can learn the basics as you go — often by looking at other, existing
11
+ Ceedling plugins or by simply searching for code examples online.
12
+
13
+ ## Contents
14
+
15
+ * [Custom Plugins Overview](#custom-plugins-overview)
16
+ * [Plugin Conventions & Architecture](#plugin-conventions--architecture)
17
+ 1. [Configuration Plugin](#plugin-option-1-configuration)
18
+ 1. [Programmatic `Plugin` subclass](#plugin-option-2-plugin-subclass)
19
+ 1. [Rake Tasks Plugin](#plugin-option-3-rake-tasks)
20
+
21
+ ## Development Roadmap & Notes
22
+
23
+ (See Ceedling's _[release notes](ReleaseNotes.md)_ for more.)
24
+
25
+ * Ceedling 1.0 marks the beginning of moving all of Ceedling away from relying
26
+ on Rake. New, Rake-based plugins should not be developed. Rake dependencies
27
+ among built-in plugins will be refactored as the transition occurs.
28
+ * Ceedling's entire plugin architecture will be overhauled in future releases.
29
+ The current structure is too dependent on Rake and provides both too little
30
+ and too much access to Ceedling's core.
31
+ * Certain aspects of Ceedling's plugin structure have developed organically.
32
+ Consistency, coherence, and usability may not be high — particularly for
33
+ build step hook argument hashes and test results data structures used in
34
+ programmatic plugins.
35
+ * Because of iterating on Ceedling's core design and features, documentation
36
+ here may not always be perfectly up to date.
37
+
38
+ ---
39
+
40
+ # Custom Plugins Overview
41
+
42
+ Ceedling plugins extend Ceedling without modifying its core code. They are
43
+ implemented in YAML and the Ruby programming language and are loaded by
44
+ Ceedling at runtime.
45
+
46
+ Plugins provide the ability to customize the behavior of Ceedling at various
47
+ stages of a build — preprocessing, compiling, linking, building, testing, and
48
+ reporting.
49
+
50
+ See _[CeedlingPacket]_ for basic details of operation (`:plugins` configuration
51
+ section) and for a [directory of built-in plugins][plugins-directory].
52
+
53
+ [CeedlingPacket]: CeedlingPacket.md
54
+ [plugins-directory]: CeedlingPacket.md#ceedlings-built-in-plugins-a-directory
55
+
56
+ # Plugin Conventions & Architecture
57
+
58
+ Plugins are enabled and configured from within a Ceedling project's YAML
59
+ configuration file (`:plugins` section).
60
+
61
+ Conventions & requirements:
62
+
63
+ * Plugin configuration names, the containing directory names, and filenames
64
+ must:
65
+ * All match (i.e. identical names)
66
+ * Be snake_case (lowercase with connecting underscores).
67
+ * Plugins must be organized in a containing directory (the name of the plugin
68
+ as used in the project configuration `:plugins` ↳ `:enabled` list is its
69
+ containing directory name).
70
+ * A plugin's containing directory must be located in a Ruby load path. Load
71
+ paths may be added to a Ceedling project using the `:plugins` ↳ `:load_paths`
72
+ list.
73
+ * Rake plugins place their Rakefiles in the root of thecontaining plugin
74
+ directory.
75
+ * Programmatic plugins must contain either or both `config/` and `lib/`
76
+ subdirectories within their containing directories.
77
+ * Configuration plugins must place their files within a `config/` subdirectory
78
+ within the plugin's containing directory.
79
+
80
+ Ceedling provides 3 options to customize its behavior through a plugin. Each
81
+ strategy is implemented with source files conforming to location and naming
82
+ conventions. These approaches can be combined.
83
+
84
+ 1. Configuration (YAML & Ruby)
85
+ 1. `Plugin` subclass (Ruby)
86
+ 1. Rake tasks (Ruby)
87
+
88
+ # Plugin Option 1: Configuration
89
+
90
+ The configuration option, surprisingly enough, provides Ceedling configuration
91
+ values. Configuration plugin values can supplement or override project
92
+ configuration values.
93
+
94
+ Not long after Ceedling plugins were developed the `option:` feature was added
95
+ to Ceedling to merge in secondary configuration files. This feature is
96
+ typically a better way to manage nultiple configurations and in many ways
97
+ supersedes a configuration plugin.
98
+
99
+ That said, a configuration plugin is more capable than the `option:` feature and
100
+ can be appropriate in some circumstances. Further, Ceedling's configuration
101
+ pluging abilities are often a great way to provide configuration to
102
+ programmatic `Plugin` subclasses (Ceedling plugins options #2).
103
+
104
+ ## Three flavors of configuration plugins exist
105
+
106
+ 1. **YAML defaults.** The data of a simple YAML file is incorporated into
107
+ Ceedling's configuration defaults during startup.
108
+ 1. **Programmatic (Ruby) defaults.** Ruby code creates a configuration hash
109
+ that Ceedling incorporates into its configuration defaults during startup.
110
+ This provides the greatest flexibility in creating configuration values.
111
+ 1. **YAML configurations.** The data of a simple YAML file is incorporated into
112
+ Ceedling's configuration much like your project configuration file.
113
+
114
+ ## Example configuration plugin layout
115
+
116
+ Project configuration file:
117
+
118
+ ```yaml
119
+ :plugins:
120
+ :load_paths:
121
+ - support/plugins
122
+ :enabled:
123
+ - zoom_zap
124
+ ```
125
+
126
+ Ceedling project directory sturcture:
127
+
128
+ (Third flavor of configuration plugin shown.)
129
+
130
+ ```
131
+ project/
132
+ ├── project.yml
133
+ └── support/
134
+ └── plugins/
135
+ └── zoom_zap/
136
+ └── config/
137
+ └── zoom_zap.yml
138
+ ```
139
+
140
+ ## Ceedling configuration build & use
141
+
142
+ Configuration is developed at startup by assembling defaults, collecting
143
+ user-configured settings, and then populating any missing values with defaults.
144
+
145
+ Defaults:
146
+
147
+ 1. Ceedling loads its own defaults separately from your project configuration
148
+ 1. Supporting framework defaults such as for CMock are populated into (1)
149
+ 1. Any plugin defaults are merged with (2).
150
+
151
+ Final project configuration:
152
+
153
+ 1. Your project file is loaded and any mixins merged
154
+ 1. Supporting framework settings that depend on project configuration are populated
155
+ 1. Plugin configurations are merged with the result of (1) and (2)
156
+ 1. Defaults are populated into your project configuration
157
+ 1. Path standardization, string replacement, and related occur throughout the final
158
+ configuration
159
+
160
+ Merging means that existing simple configuration valuees are replaced or, in the
161
+ case of containers such as lists and hashes, values are added to. If no such
162
+ key/value pairs already exist, they are simply inserted into the configuration.
163
+
164
+ Populating means inserting a configuration value if none already exists. As an
165
+ example, if Ceedling finds no compiler defined for test builds in your project
166
+ configuration, it populates your configuration with its own internal tool definition.
167
+
168
+ A plugin may implement its own code to use extract custom configuration from
169
+ the Ceedling project file. See the built-in plugins for examples. For instance, the
170
+ Beep plugin makes use of a top-level `:beep` section in project configuration. In
171
+ such cases, it's typically wise to make use of a plugin's option for defining
172
+ default values. Configuration handling code is greatly simplified if values are
173
+ guaranteed to exist in some form. This elimiates a great deal of presence checking
174
+ and related code.
175
+
176
+ ## Configuration Plugin Flavors
177
+
178
+ ### Configuration Plugin Flvaor A: YAML Defaults
179
+
180
+ Naming and location convention: `<plugin_name>/config/defaults.yml`
181
+
182
+ Configuration values are defined inside a YAML file just as the Ceedling project
183
+ configuration file.
184
+
185
+ Keys and values are defined in Ceedling's “base” configuration along with all
186
+ default values Ceedling loads at startup. If a particular key/value pair is
187
+ already set at the time the plugin attempts to set it, it will not be
188
+ redefined.
189
+
190
+ YAML values are static apart from Ceedling's ability to perform string
191
+ substitution at configuration load time (see _[CeedlingPacket]_ for more).
192
+ Programmatic Ruby defaults (next section) are more flexible but more
193
+ complicated.
194
+
195
+ ```yaml
196
+ # Any valid YAML is appropriate
197
+ :key:
198
+ :value: <setting>
199
+ ```
200
+
201
+ ### Configuration Plugin Flvaor B: Programmatic (Ruby) Defaults
202
+
203
+ Naming and location convention: `<plugin_name>/config/defaults_<plugin_name>.rb`
204
+
205
+ Configuration values are defined in a Ruby hash returned by a “naked” function
206
+ `get_default_config()` in a Ruby file. The Ruby file is loaded and evaluated at
207
+ Ceedling startup. It can contain anything allowed in a Ruby script file but
208
+ must contain the accessor function. The returned hash's top-level keys will
209
+ live in Ceedling's configuration at the same level in the configuration
210
+ hierarchy as a Ceedling project file's top-level keys ('top-level' refers to
211
+ the left-most keys in the YAML, not to how “high” the keys are towards the top
212
+ of the file).
213
+
214
+ Keys and values are defined in Ceedling's “base” configuration along with all
215
+ default values Ceedling loads at startup. If a particular key/value pair is
216
+ already set at the time the plugin attempts to set it, it will not be
217
+ redefined.
218
+
219
+ This configuration option is more flexible than that documented in the previous
220
+ section as full Ruby execution is possible in creating the defaults hash.
221
+
222
+ ### Configuration Plugin Flvaor C: YAML Values
223
+
224
+ Naming and location convention: `<plugin_name>/config/<plugin_name>.yml`
225
+
226
+ Configuration values are defined inside a YAML file just as the Ceedling project
227
+ configuration file.
228
+
229
+ Keys and values are defined in Ceedling's “base” configuration along with all
230
+ default values Ceedling loads at startup. If a particular key/value pair is
231
+ already set at the time the plugin attempts to set it, it will not be
232
+ redefined.
233
+
234
+ YAML values are static apart from Ceedling's ability to perform string
235
+ substitution at configuration load time (see _[CeedlingPacket]_ for more).
236
+ Programmatic Ruby defaults (next section) are more flexible but more
237
+ complicated.
238
+
239
+ ```yaml
240
+ # Any valid YAML is appropriate
241
+ :key:
242
+ :value: <setting>
243
+ ```
244
+
245
+ # Plugin Option 2: `Plugin` Subclass
246
+
247
+ Naming and location conventions:
248
+
249
+ * `<plugin_name>/lib/<plugin_name>.rb`
250
+ * The plugin's class name must be the camelized version (a.k.a. “bumpy case")
251
+ of the plugin filename — `whiz_bang.rb` ➡️ `WhizBang`.
252
+
253
+ This plugin option allows full programmatic ability connceted to any of a number
254
+ of predefined Ceedling build steps.
255
+
256
+ The contents of `<plugin_name>.rb` must implement a class that subclasses
257
+ `Plugin`, Ceedling's plugin base class.
258
+
259
+ ## Example `Plugin` subclass
260
+
261
+ An incomplete `Plugin` subclass follows to illustate the basics.
262
+
263
+ ```ruby
264
+ # whiz_bang/lib/whiz_bang.rb
265
+ require 'ceedling/plugin'
266
+
267
+ class WhizBang < Plugin
268
+ def setup
269
+ # ...
270
+ end
271
+
272
+ # Build step hook
273
+ def pre_test(test)
274
+ # ...
275
+ end
276
+
277
+ # Build step hook
278
+ def post_test(test)
279
+ # ...
280
+ end
281
+ end
282
+ ```
283
+
284
+ ## Example programmatic plugin layout
285
+
286
+ Project configuration file:
287
+
288
+ ```yaml
289
+ :plugins:
290
+ :load_paths:
291
+ - support/plugins
292
+ :enabled:
293
+ - whiz_bang
294
+ ```
295
+
296
+ Ceedling project directory sturcture:
297
+
298
+ ```
299
+ project/
300
+ ├── project.yml
301
+ └── support/
302
+ └── plugins/
303
+ └── whiz_bang/
304
+ └── lib/
305
+ └── whiz_bang.rb
306
+ ```
307
+
308
+ It is possible and often convenient to add more `.rb` files to the containing
309
+ `lib/` directory to allow good organization of plugin code. No Ceedling
310
+ conventions exist for these supplemental code files. Only standard Ruby
311
+ constaints exists for these filenames and content.
312
+
313
+ ## `Plugin` instance variables
314
+
315
+ Each `Plugin` sublcass has access to the following instance variables:
316
+
317
+ * `@name`
318
+ * `@ceedling`
319
+
320
+ `@name` is self explanatory. `@ceedling` is a hash containing every object
321
+ within the Ceedling application; its keys are the filenames of the objects
322
+ minus file extension.
323
+
324
+ Objects commonly used in plugins include:
325
+
326
+ * `@ceedling[:configurator]` — Project configuration
327
+ * `@ceedling[:streaminator]` — Logging
328
+ * `@ceedling[:reportinator]` — String formatting for logging
329
+ * `@ceedling[:file_wrapper]` — File operations
330
+ * `@ceedling[:plugin_reportinator]` — Various needs including gathering test
331
+ results
332
+
333
+ ## `Plugin` method `setup()`
334
+
335
+ If your plugin defines this method, it will be called during plugin creation at
336
+ Ceedling startup. It is effectively your constructor for your custom `Plugin`
337
+ subclass.
338
+
339
+ ## `Plugin` hook methods `pre_` and `post_` conventions & concerns
340
+
341
+ ### Multi-threaded protections
342
+
343
+ Because Ceedling can run build operations in multiple threads, build step hook
344
+ handliers must be thread safe. Practically speaking, this generally requires
345
+ a `Mutex` object `synchronize()`d around any code that writes to or reads from
346
+ a common data structure instantiated within a plugin.
347
+
348
+ A common example is collecting test results filepaths from the
349
+ `post_test_fixture_execute()` hook. A hash or array accumulating these
350
+ filepaths as text executables complete their runs must have appropriate
351
+ threading protections.
352
+
353
+ ### Command line tool shell results
354
+
355
+ Pre and post build step hooks are often called on either side of a command line
356
+ tool operation. If a command line tool is executed for a build step (e.g. test
357
+ compilation), the `arg_hash` will be the same for the pre and post hooks with
358
+ one difference.
359
+
360
+ In the `post_` hook, the `arg_hash` parameter will contain a `shell_result` key
361
+ whose associated value is itself a hash with the following contents:
362
+
363
+ ```ruby
364
+ {
365
+ :output => "<Console output>", # String holding any $stdout / redirected $stderr output
366
+ :status => <Process::Status>, # Ruby object of type Process::Status
367
+ :exit_code => <int>, # Command line exit code (extracted from :status object)
368
+ :time => <float> # Seconds elapsed for shell operation
369
+ }
370
+ ```
371
+
372
+ _**Note:**_ Test preprocessing steps are quite sophissticated and involve various
373
+ combination of tool executions. The `post_` preprocessing hooks do not inlucde shell
374
+ results. Future updates to Ceedling’s plugin system will create a more robust means
375
+ of attaching custom behaviors to test preprocessing or connecting your own preprocessing
376
+ pipeline with toolchains other than GCC.
377
+
378
+ ## `Plugin` hook methods `pre_mock_preprocess(arg_hash)` and `post_mock_preprocess(arg_hash)`
379
+
380
+ These methods are called before and after execution of preprocessing for header
381
+ files to be mocked (see [CeedlingPacket] to understand preprocessing). If a
382
+ project does not enable preprocessing or a build does not include tests, these
383
+ are not called. This pair of methods is called a number of times equal to the
384
+ number of mocks in a test build.
385
+
386
+ The argument `arg_hash` follows the structure below:
387
+
388
+ ```ruby
389
+ arg_hash = {
390
+ # Filepath of header file to be preprocessed on its way to being mocked
391
+ :header_file => "<filepath>",
392
+ # Filepath of processed header file
393
+ :preprocessed_header_file => "<filepath>",
394
+ # Filepath of tests C file the mock will be used by
395
+ :test => "<filepath>",
396
+ # List of flags to be provided to `cpp` GNU preprocessor tool
397
+ :flags => [<flags>],
398
+ # List of search paths to be provided to `cpp` GNU preprocessor tool
399
+ :include_paths => [<paths>],
400
+ # List of compilation symbols to be provided to `cpp` GNU preprocessor tool
401
+ :defines => [<defines>]
402
+ }
403
+ ```
404
+
405
+ ## `Plugin` hook methods `pre_test_preprocess(arg_hash)` and `post_test_preprocess(arg_hash)`
406
+
407
+ These methods are called before and after execution of test file preprocessing
408
+ (see [CeedlingPacket] to understand preprocessing). If a project does not
409
+ enable preprocessing or a build does not include tests, these are not called.
410
+ This pair of methods is called a number of times equal to the number of test
411
+ files in a test build.
412
+
413
+ The argument `arg_hash` follows the structure below:
414
+
415
+ ```ruby
416
+ arg_hash = {
417
+ # Filepath of C test file to be preprocessed on its way to being used to generate runner
418
+ :test_file => "<filepath>",
419
+ # Filepath of processed tests file
420
+ :preprocessed_test_file => "<filepath>",
421
+ # Filepath of tests C file the mock will be used by
422
+ :test => "<filepath>",
423
+ # List of flags to be provided to `cpp` GNU preprocessor tool
424
+ :flags => [<flags>],
425
+ # List of search paths to be provided to `cpp` GNU preprocessor tool
426
+ :include_paths => [<paths>],
427
+ # List of compilation symbols to be provided to `cpp` GNU preprocessor tool
428
+ :defines => [<defines>]
429
+ }
430
+ ```
431
+
432
+ ## `Plugin` hook methods `pre_mock_generate(arg_hash)` and `post_mock_generate(arg_hash)`
433
+
434
+ These methods are called before and after mock generation. If a project does not
435
+ enable mocks or a build does not include tests, these are not called. This pair
436
+ of methods is called a number of times equal to the number of mocks in a test
437
+ build.
438
+
439
+ The argument `arg_hash` follows the structure below:
440
+
441
+ ```ruby
442
+ arg_hash = {
443
+ # Filepath of the header file being mocked.
444
+ :header_file => "<filepath>",
445
+ # Additional context passed by the calling function.
446
+ # Ceedling passes the :test symbol by default while plugins may provide another
447
+ :context => :<context>,
448
+ # Filepath of the tests C file that references the requested mock
449
+ :test => "<filepath>",
450
+ # Filepath of the generated mock C code.
451
+ :output_path => "<filepath>"
452
+ }
453
+ ```
454
+
455
+ ## `Plugin` hook methods `pre_runner_generate(arg_hash)` and `post_runner_generate(arg_hash)`
456
+
457
+ These methods are called before and after execution of test runner generation. A
458
+ test runner includes all the necessary C scaffolding (and `main()` entry point)
459
+ to call the test cases defined in a test file when a test executable runs. If a
460
+ build does not include tests, these are not called. This pair of methods is
461
+ called a number of times equal to the number of test files in a test build.
462
+
463
+ The argument `arg_hash` follows the structure below:
464
+
465
+ ```ruby
466
+ arg_hash = {
467
+ # Additional context passed by the calling function.
468
+ # Ceedling passes the :test symbol by default while plugins may provide another
469
+ :context => :<context>,
470
+ # Filepath of the tests C file.
471
+ :test_file => "<filepath>",
472
+ # Filepath of the test file to be processed (if preprocessing enabled, this is not the same as :test_file).
473
+ :input_file => "<filepath>",
474
+ # Filepath of the generated tests runner file.
475
+ :runner_file => "<filepath>"
476
+ }
477
+ ```
478
+
479
+ ## `Plugin` hook methods `pre_compile_execute(arg_hash)` and `post_compile_execute(arg_hash)`
480
+
481
+ These methods are called before and after source file compilation. These are
482
+ called in both test and release builds. This pair of methods is called a number
483
+ of times equal to the number of C files in a test or release build.
484
+
485
+ The argument `arg_hash` follows the structure below:
486
+
487
+ ```ruby
488
+ arg_hash = {
489
+ :tool => {
490
+ # Hash holding compiler tool elements (see CeedlingPacket)
491
+ },
492
+ # Symbol of the operation being performed, e.g. :compile, :assemble or :link
493
+ :operation => :<operation>,
494
+ # Additional context passed by the calling function.
495
+ # Ceedling provides :test or :release by default while plugins may provide another.
496
+ :context => :<context>,
497
+ # Filepath of the input C file
498
+ :source => "<filepath>",
499
+ # Filepath of the output object file
500
+ :object => "<filepath>",
501
+ # List of flags to be provided to compiler tool
502
+ :flags => [<flags>],
503
+ # List of search paths to be provided to compiler tool
504
+ :search_paths => [<paths>],
505
+ # List of compilation symbols to be provided to compiler tool
506
+ :defines => [<defines>],
507
+ # Filepath of the listing file, e.g. .lst file
508
+ :list => "<filepath>",
509
+ # Filepath of the dependencies file, e.g. .d file
510
+ :dependencies => "<filepath>"
511
+ }
512
+ ```
513
+
514
+ ## `Plugin` hook methods `pre_link_execute(arg_hash)` and `post_link_execute(arg_hash)`
515
+
516
+ These methods are called before and after linking an executable. These are
517
+ called in both test and release builds. These are called for each test
518
+ executable and each release artifact. This pair of methods is called a number
519
+ of times equal to the number of test files in a test build or release artifacts
520
+ in a release build.
521
+
522
+ The argument `arg_hash` follows the structure below:
523
+
524
+ ```ruby
525
+ arg_hash = {
526
+ # Hash holding linker tool properties.
527
+ :tool => {
528
+ # Hash holding compiler tool elements (see CeedlingPacket)
529
+ },
530
+ # Additional context passed by the calling function.
531
+ # Ceedling provides :test or :release by default while plugins may provide another.
532
+ :context => :<context>,
533
+ # List of object files paths being linked, e.g. .o files
534
+ :objects => [],
535
+ # List of flags to be provided to linker tool
536
+ :flags => [<flags>],
537
+ # Filepath of the output file, e.g. .out file
538
+ :executable => "<filepath>",
539
+ # Filepath of the map file, e.g. .map file
540
+ :map => "<filepath>",
541
+ # List of libraries to link, e.g. those passed to the (GNU) linker with -l
542
+ :libraries => [<names>],
543
+ # List of libraries paths, e.g. the ones passed to the (GNU) linker with -L
544
+ :libpaths => [<paths>]
545
+ }
546
+ ```
547
+
548
+ ## `Plugin` hook methods `pre_test_fixture_execute(arg_hash)` and `post_test_fixture_execute(arg_hash)`
549
+
550
+ These methods are called before and after running a test executable. If a build
551
+ does not include tests, these are not called. This pair of methods is called
552
+ for each test executable in a build (each test file is ultimately built into a
553
+ test executable).
554
+
555
+ The argument `arg_hash` follows the structure below:
556
+
557
+ ```ruby
558
+ arg_hash = {
559
+ # Hash holding execution tool properties.
560
+ :tool => {
561
+ # Hash holding compiler tool elements (see CeedlingPacket)
562
+ },
563
+ # Additional context passed by the calling function.
564
+ # Ceedling provides :test or :release by default while plugins may provide another.
565
+ :context => :<context>,
566
+ # Name of the test file minus path and extension (`test/TestIness.c` -> 'TestIness')
567
+ :test_name => "<name>",
568
+ # Filepath of original tests C file that became the test executable
569
+ :test_filepath => "<filepath>",
570
+ # Path to the tests executable file, e.g. .out file
571
+ :executable => "<filepath>",
572
+ # Path to the tests result file, e.g. .pass/.fail file
573
+ :result_file => "<filepath>"
574
+ }
575
+ ```
576
+
577
+ ## `Plugin` hook methods `pre_test(test)` and `post_test(test)`
578
+
579
+ These methods are called before and after performing all steps needed to run a
580
+ test file — i.e. configure, preprocess, compile, link, run, get results, etc.
581
+ This pair of methods is called for each test file in a test build.
582
+
583
+ The argument `test` corresponds to the path of the test C file being processed.
584
+
585
+ ## `Plugin` hook methods `pre_release()` and `post_release()`
586
+
587
+ These methods are called before and after performing all steps needed to run the
588
+ release task — i.e. configure, preprocess, compile, link, etc.
589
+
590
+ ## `Plugin` hook methods `pre_build` and `post_build`
591
+
592
+ These methods are called before and after executing any ceedling task — e.g:
593
+ test, release, coverage, etc.
594
+
595
+ ## `Plugin` hook methods `post_error()`
596
+
597
+ This method is called at the conclusion of a Ceedling build that encounters any
598
+ error that halts the build process. To be clear, a test build with failing test
599
+ cases is not a build error.
600
+
601
+ ## `Plugin` hook methods `summary()`
602
+
603
+ This method is called when invoking the summary task, `ceedling summary`. This
604
+ method facilitates logging the results of the last build without running the
605
+ previous build again.
606
+
607
+ ## Validating a plugin’s tools
608
+
609
+ By default, Ceedling validates configured tools at startup according to a
610
+ simple setting within the tool definition. This works just fine for default
611
+ core tools and options. However, in the case of plugins, tools may not be even
612
+ relevant to a plugin's operation depending on its configurable options. It's
613
+ a bit silly for a tool not needed by your project to fail validation if
614
+ Ceedling can't find it in your `$PATH`. Similarly, it's irresponsible to skip
615
+ validating a tool just because it may not be needed.
616
+
617
+ Ceedling provides optional, programmatic tool validation for these cases.
618
+ `@ceedling]:tool_validator].validate()` can be forced to ignore a tool's
619
+ `required:` setting to validate it. In such a scenario, a plugin should
620
+ configure its own tools as `:optional => true` but forcibly validate them at
621
+ plugin startup if the plugin's configuration options require said tool.
622
+
623
+ An example from the `gcov` plugin illustrates this.
624
+
625
+ ```ruby
626
+ # Validate gcov summary tool if coverage summaries are enabled (summaries rely on the `gcov` tool)
627
+ if summaries_enabled?( @project_config )
628
+ @ceedling[:tool_validator].validate(
629
+ tool: TOOLS_GCOV_SUMMARY, # Tool defintion as Ruby hash
630
+ boom: true # Ignore optional status (raise exception if invalid)
631
+ )
632
+ end
633
+ ```
634
+
635
+ The tool `TOOLS_GCOV_SUMMARY` is defined with a Ruby hash in the plugin code.
636
+ It is configured with `:optional => true`. At plugin startup, configuration
637
+ options determine if the tool is needed. It is forcibly validated if the plugin
638
+ configuration requires it.
639
+
640
+ ## Collecting test results from within `Plugin` subclass
641
+
642
+ Some testing-specific plugins need access to test results to do their work. A
643
+ utility method is available for this purpose.
644
+
645
+ `@ceedling[:plugin_reportinator].assemble_test_results()`
646
+
647
+ This method takes as an argument a list of results filepaths. These typically
648
+ correspond directly to the collection of test files Ceedling processed in a
649
+ given test build. It's common for this list of filepaths to be assembled from
650
+ the `post_test_fixture_execute` build step execution hook.
651
+
652
+ The data that `assemble_test_results()` returns hss a structure as follows. In
653
+ this example, actual results from a single, real test file are presented as
654
+ hash/array Ruby code with comments and with some edits to reduce line length.
655
+
656
+ ```ruby
657
+ {
658
+ # Associates each test executable (i.e. test file) with an execution run time
659
+ :times => {
660
+ "test/TestUsartModel.c" => 0.21196400001645088
661
+ },
662
+
663
+ # List of succeeding test cases, grouped by test file.
664
+ :successes => [
665
+ {
666
+ :source => {:file => "test/TestUsartModel.c", :dirname => "test", :basename => "TestUsartModel.c"},
667
+ :collection => [
668
+ # If Unity is configured to do so, it will output execution run time for each test case.
669
+ # Ceedling creates a zero entry if the Unity option is not enabled.
670
+ {:test => "testCase1", :line => 17, :message => "", :unity_test_time => 0.0},
671
+ {:test => "testCase2", :line => 31, :message => "", :unity_test_time => 0.0}
672
+ ]
673
+ }
674
+ ],
675
+
676
+ # List of failing test cases, grouped by test file.
677
+ :failures => [
678
+ {
679
+ :source => {:file => "test/TestUsartModel.c", :dirname => "test", :basename => "TestUsartModel.c"},
680
+ :collection => [
681
+ {:test => "testCase3", :line => 25, :message => "<failure message>", :unity_test_time => 0.0}
682
+ ]
683
+ }
684
+ ],
685
+
686
+ # List of ignored test cases, grouped by test file.
687
+ :ignores => [
688
+ {
689
+ :source => {:file => "test/TestUsartModel.c", :dirname => "test", :basename => "TestUsartModel.c"},
690
+ :collection => [
691
+ {:test => "testCase4", :line => 39, :message => "", :unity_test_time => 0.0}
692
+ ]
693
+ }
694
+ ],
695
+
696
+ # List of strings printed to $stdout, grouped by test file.
697
+ :stdout => [
698
+ {
699
+ :source => {:file => "test/TestUsartModel.c", :dirname => "test", :basename => "TestUsartModel.c"},
700
+ # Calls to print to $stdout are outside Unity's scope, preventing attaching test file line numbers
701
+ :collection => [
702
+ "<$stdout string (e.g. printf() call)>"
703
+ ]
704
+ }
705
+ ],
706
+
707
+ # Test suite run stats
708
+ :counts => {
709
+ :total => 4,
710
+ :passed => 2,
711
+ :failed => 1,
712
+ :ignored => 1,
713
+ :stdout => 1},
714
+
715
+ # The sum of all test file execution run times
716
+ :total_time => 0.21196400001645088
717
+ }
718
+ ```
719
+
720
+ # Plugin Option 3: Rake Tasks
721
+
722
+ This plugin type adds custom Rake tasks to your project that can be run with `ceedling <custom_task>`.
723
+
724
+ Naming and location conventions: `<plugin_name>/<plugin_name>.rake`
725
+
726
+ ## Example Rake task
727
+
728
+ ```ruby
729
+ # Only tasks with description are listed by `ceedling -T`
730
+ desc "Print hello world to console"
731
+ task :hello_world do
732
+ sh "echo Hello World!"
733
+ end
734
+ ```
735
+
736
+ Resulting, example command line:
737
+
738
+ ```shell
739
+ > ceedling hello_world
740
+ > Hello World!
741
+ ```
742
+
743
+ ## Example Rake plugin layout
744
+
745
+ Project configuration file:
746
+
747
+ ```yaml
748
+ :plugins:
749
+ :load_paths:
750
+ - support/plugins
751
+ :enabled:
752
+ - hello_world
753
+ ```
754
+
755
+ Ceedling project directory sturcture:
756
+
757
+ ```
758
+ project/
759
+ ├── project.yml
760
+ └── support/
761
+ └── plugins/
762
+ └── hello_world/
763
+ └── hello_world.rake
764
+ ```