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
data/README.md CHANGED
@@ -1,111 +1,752 @@
1
1
  Ceedling ![CI](https://github.com/ThrowTheSwitch/Ceedling/workflows/CI/badge.svg)
2
2
  ========
3
- Ceedling is a build system for C projects that is something of an extension
4
- around Ruby’s Rake (make-ish) build system. Ceedling also makes TDD (Test-Driven Development)
5
- in C a breeze by integrating [CMock](https://github.com/throwtheswitch/cmock),
6
- [Unity](https://github.com/throwtheswitch/unity), and
7
- [CException](https://github.com/throwtheswitch/cexception) --
8
- three other awesome open-source projects you can’t live without if you're creating awesomeness
9
- in the C language. Ceedling is also extensible with a handy plugin mechanism.
10
3
 
11
- Usage Documentation
12
- ===================
4
+ Welcome to **Ceedling 1.0.1**
13
5
 
14
- Documentation and license info exists [in the repo in docs/](docs/CeedlingPacket.md)
6
+ See the [Release Notes](docs/ReleaseNotes.md) for an overview
7
+ of all that’s new since 0.31.1 plus links to the detailed Changelog and list of
8
+ Breaking Changes.
15
9
 
16
- Getting Started
17
- ===============
10
+ # 🌱 Ceedling is a handy-dandy build system for C projects
18
11
 
19
- First make sure Ruby is installed on your system (if it's not already). Then, from a command prompt:
12
+ ## Developer-friendly release _and_ test builds
20
13
 
21
- > gem install ceedling
14
+ Ceedling can build your release artifact but is especially adept at building
15
+ unit test suites for your C projects — even in tricky embedded systems.
22
16
 
23
- (Alternate Installation for Those Planning to Be Ceedling Developers)
24
- ======================================================================
17
+ Ceedling and its complementary pieces and parts are (and always will be) freely
18
+ available and open source. **_[Ceedling Assist][ceedling-pro]_** is a growing list
19
+ of paid products and services to help you do even more with these tools.
25
20
 
26
- > git clone --recursive https://github.com/throwtheswitch/ceedling.git
27
- > cd ceedling
28
- > bundle install # Ensures you have all RubyGems needed
29
- > git submodule update --init --recursive # Updates all submodules
30
- > bundle exec rake # Run all Ceedling library tests
21
+ [ceedling-pro]: https://www.thingamabyte.com/ceedling
31
22
 
32
- If bundler isn't installed on your system or you run into problems, you might have to install it:
23
+ ⭐️ **Eager to just get going? Jump to
24
+ [📚 Documentation & Learning](#-documentation--learning) and
25
+ [🚀 Getting Started](#-getting-started).**
33
26
 
34
- > sudo gem install bundler
27
+ Ceedling works the way developers want to work. It is flexible and entirely
28
+ command-line driven. It drives code generation and command line tools for you.
29
+ All generated and framework code is easy to see and understand.
35
30
 
36
- If you run into trouble running bundler and get messages like this `can't find gem
37
- bundler (>= 0.a) with executable bundle (Gem::GemNotFoundException)`, you may
38
- need to install a different version of bundler. For this please reference the
39
- version in the Gemfile.lock. An example based on the current Gemfile.lock is as
40
- followed:
31
+ Ceedling’s features support all types of C development from low-level embedded
32
+ to enterprise systems. No tool is perfect, but Ceedling can do a whole lot to
33
+ help you and your team produce quality software.
41
34
 
42
- > sudo gem install bundler -v 1.16.2
35
+ ## Ceedling is a suite of tools
43
36
 
44
- Creating A Project
45
- ==================
37
+ Ceedling is also a suite of tools. It is the glue for bringing together three
38
+ other awesome open-source projects you can’t live without if you‘re creating
39
+ awesomeness in the C language.
46
40
 
47
- Creating a project with Ceedling is easy. Simply tell ceedling the
48
- name of the project, and it will create a subdirectory called that
49
- name and fill it with a default directory structure and configuration.
41
+ 1. **[Unity]**, an [xUnit]-style test framework.
42
+ 1. **[CMock]**<sup>†</sup>, a code generating,
43
+ [function mocking & stubbing][test-doubles] kit for interaction-based testing.
44
+ 1. **[CException]**, a framework for adding simple exception handling to C projects
45
+ in the style of higher-order programming languages.
50
46
 
51
- ceedling new YourNewProjectName
47
+ <sup>†</sup> Through a [plugin][FFF-plugin], Ceedling also supports [FFF] for
48
+ [fake functions][test-doubles] as an alternative to CMock’s mocks and stubs.
52
49
 
53
- You can add files to your src and test directories and they will
54
- instantly become part of your test build. Need a different structure?
55
- You can start to tweak the `project.yml` file immediately with your new
56
- path or tool requirements.
50
+ ## But, wait. There’s more.
57
51
 
58
- You can upgrade to the latest version of Ceedling at any time,
59
- automatically gaining access to the packaged Unity and CMock that
60
- come with it.
52
+ For simple project structures, Ceedling can build and test an entire project
53
+ from just a few lines in its project configuration file.
61
54
 
62
- gem update ceedling
55
+ Because it handles all the nitty-gritty of rebuilds and becuase of Unity and
56
+ CMock, Ceedling makes [Test-Driven Development][TDD] in C a breeze. It even
57
+ provides handy backtrace debugging options for finding the source of crashing
58
+ code exercised by your unit tests.
63
59
 
64
- Documentation
65
- =============
60
+ Ceedling is extensible with a simple plugin mechanism. It comes with a
61
+ number of [built-in plugins][ceedling-plugins] for code coverage, test suite
62
+ report generation, Continuous Integration features, IDE integration, release
63
+ library builds & dependency management, and more.
66
64
 
67
- Are you just getting started with Ceedling? Maybe you'd like your
68
- project to be installed with some of its handy documentation? No problem!
69
- You can do this when you create a new project.
65
+ [Unity]: https://github.com/throwtheswitch/unity
66
+ [xUnit]: https://en.wikipedia.org/wiki/XUnit
67
+ [CMock]: https://github.com/throwtheswitch/cmock
68
+ [CException]: https://github.com/throwtheswitch/cexception
69
+ [TDD]: http://en.wikipedia.org/wiki/Test-driven_development
70
+ [test-doubles]: https://blog.pragmatists.com/test-doubles-fakes-mocks-and-stubs-1a7491dfa3da
71
+ [FFF]: https://github.com/ElectronVector/fake_function_framework
72
+ [FFF-plugin]: plugins/fff
73
+ [ceedling-plugins]: docs/CeedlingPacket.md#ceedling-plugins
70
74
 
71
- ceedling new --docs MyAwesomeProject
75
+ <br/>
72
76
 
73
- Bonding Your Tools And Project
74
- ==============================
77
+ # 🙋‍♀️ Need Help? Want to Help?
75
78
 
76
- Ceedling can deploy all of its guts into the project as well. This
77
- allows it to be used without having to worry about external dependencies.
78
- You don't have to worry about Ceedling changing for this particular
79
- project just because you updated your gems... no need to worry about
80
- changes in Unity or CMock breaking your build in the future. If you'd like
81
- to use Ceedling this way, tell it you want a local copy when you create
79
+ * Found a bug or want to suggest a feature?
80
+ **[Submit an issue][ceedling-issues]** at this repo.
81
+ * Trying to understand features or solve a testing problem? Hit the
82
+ **[discussion forums][forums]**.
83
+ * Paid training, customizations, and support contracts are available through
84
+ **[Ceedling Pro][ceedling-pro]**.
85
+
86
+ The ThrowTheSwitch community follows a **[code of conduct](docs/CODE_OF_CONDUCT.md)**.
87
+
88
+ Please familiarize yourself with our guidelines for **[contributing](docs/CONTRIBUTING.md)** to this project, be it code, reviews, documentation, or reports.
89
+
90
+ Yes, work has begun on certified versions of the Ceedling suite of tools to be available through **[Ceedling Pro][ceedling-pro]**. [Reach out to ThingamaByte][thingama-contact] for more.
91
+
92
+ [ceedling-issues]: https://github.com/ThrowTheSwitch/Ceedling/issues
93
+ [forums]: https://www.throwtheswitch.org/forums
94
+ [thingama-contact]: https://www.thingamabyte.com/contact
95
+
96
+ <br/>
97
+
98
+ # 🧑‍🍳 Sample Unit Testing Code
99
+
100
+ While Ceedling can build your release artifact, its claim to fame is building and running test suites.
101
+
102
+ There’s a good chance you’re looking at Ceedling because of its test suite abilities. And, you’d probably like to see what that looks like, huh? Well, let’s cook you up some realistic examples of tested code and running Ceedling with that code.
103
+
104
+ (A sample Ceedling project configuration file and links to documentation for it are a bit further down in _[🚀 Getting Started](#-getting-started)_.)
105
+
106
+ ## First, we start with servings of source code to be tested…
107
+
108
+ ### Recipe.c
109
+
110
+ ```c
111
+ #include "Recipe.h"
112
+ #include "Kitchen.h"
113
+ #include <stdio.h>
114
+
115
+ #define MAX_SPICE_COUNT (4)
116
+ #define MAX_SPICE_AMOUNT_TSP (8.0f)
117
+
118
+ static float spice_amount = 0;
119
+ static uint8_t spice_count = 0;
120
+
121
+ void Recipe_Reset(char* recipe, size_t size) {
122
+ memset(recipe, 0, size);
123
+ spice_amount = 0;
124
+ spice_count = 0;
125
+ }
126
+
127
+ // Add ingredients to a spice list string with amounts (tsp.)
128
+ bool_t Recipe_BuildSpiceListTsp(char* list, size_t maxLen, SpiceId spice, float amount) {
129
+ if ((++spice_count > MAX_SPICE_COUNT) || ((spice_amount += amount) > MAX_SPICE_AMOUNT_TSP)) {
130
+ snprintf( list, maxLen, "Too spicy!" );
131
+ return FALSE;
132
+ }
133
+
134
+ // Kitchen_Ingredient() not shown
135
+ snprintf( list + strlen(list), maxLen, "%s\n", Kitchen_Ingredient( spice, amount, TEASPOON ) );
136
+ return TRUE;
137
+ }
138
+ ```
139
+
140
+ ### Baking.c
141
+
142
+ ```c
143
+ #include "Oven.h"
144
+ #include "Time.h"
145
+ #include "Baking.h"
146
+
147
+ bool_t Baking_PreheatOven(float setTempF, duration_t timeout) {
148
+ float temperature = 0.0;
149
+ Timer* timer = Time_StartTimer( timeout );
150
+
151
+ Oven_SetTemperatureF( setTempF );
152
+
153
+ while (temperature < setTempF) {
154
+ Time_SleepMs( 250 );
155
+ if (Time_IsTimerExpired( timer )) break;
156
+ temperature = Oven_GetTemperatureReadingF();
157
+ }
158
+
159
+ return (temperature >= setTempF);
160
+ }
161
+
162
+ ```
163
+
164
+ ## Next, a sprinkle of unit test code…
165
+
166
+ Some of what Ceedling does is by naming conventions. See Ceedling’s [documentation](#-documentation--learning) for much more on this.
167
+
168
+ ### TestRecipe.c
169
+
170
+ ```c
171
+ #include "unity.h" // Unity, unit test framework
172
+ #include "Recipe.h" // By convention, Recipe.c is part of TestRecipe executable build
173
+ #include "Kitchen.h" // By convention, Kitchen.c (not shown) is part of TestRecipe executable build
174
+
175
+ char recipe[100];
176
+
177
+ void setUp(void) {
178
+ // Execute reset before each test case
179
+ Recipe_Reset( recipe, sizeof(recipe) );
180
+ }
181
+
182
+ void test_Recipe_BuildSpiceListTsp_shouldBuildSpiceList(void) {
183
+ TEST_ASSERT_TRUE( Recipe_BuildSpiceListTsp( recipe, sizeof(recipe), OREGANO, 0.5 ) );
184
+ TEST_ASSERT_TRUE( Recipe_BuildSpiceListTsp( recipe, sizeof(recipe), ROSEMARY, 1.0 ) );
185
+ TEST_ASSERT_TRUE( Recipe_BuildSpiceListTsp( recipe, sizeof(recipe), THYME, 0.33 ) );
186
+ TEST_ASSERT_EQUAL_STRING( "1/2 tsp. Oregano\n1 tsp. Rosemary\n1/3 tsp. Thyme\n", recipe );
187
+ }
188
+
189
+ void test_Recipe_BuildSpiceListTsp_shouldFailIfTooMuchSpice(void) {
190
+ TEST_ASSERT_TRUE ( Recipe_BuildSpiceListTsp( recipe, sizeof(recipe), CORIANDER, 4.0 ) );
191
+ TEST_ASSERT_TRUE ( Recipe_BuildSpiceListTsp( recipe, sizeof(recipe), BLACK_PEPPER, 4.0 ) );
192
+ // Total spice = 8.0 + 0.1 tsp.
193
+ TEST_ASSERT_FALSE( Recipe_BuildSpiceListTsp( recipe, sizeof(recipe), BASIL, 0.1 ) );
194
+ TEST_ASSERT_EQUAL_STRING( "Too spicy!", recipe );
195
+ }
196
+
197
+ void test_Recipe_BuildSpiceListTsp_shouldFailIfTooManySpices(void) {
198
+ TEST_ASSERT_TRUE ( Recipe_BuildSpiceListTsp( recipe, sizeof(recipe), OREGANO, 1.0 ) );
199
+ TEST_ASSERT_TRUE ( Recipe_BuildSpiceListTsp( recipe, sizeof(recipe), CORIANDER, 1.0 ) );
200
+ TEST_ASSERT_TRUE ( Recipe_BuildSpiceListTsp( recipe, sizeof(recipe), BLACK_PEPPER, 1.0 ) );
201
+ TEST_ASSERT_TRUE ( Recipe_BuildSpiceListTsp( recipe, sizeof(recipe), THYME, 1.0 ) );
202
+ // Attempt to add 5th spice
203
+ TEST_ASSERT_FALSE( Recipe_BuildSpiceListTsp( recipe, sizeof(recipe), BASIL, 1.0 ) );
204
+ TEST_ASSERT_EQUAL_STRING( "Too spicy!", recipe );
205
+ }
206
+ ```
207
+
208
+ ### TestBaking.c
209
+
210
+ Let’s flavor our test code with a dash of mocks as well…
211
+
212
+ ```c
213
+ #include "unity.h" // Unity, unit test framework
214
+ #include "Baking.h" // By convention, Baking.c is part of TestBaking executable build
215
+ #include "MockOven.h" // By convention, mock .h/.c code generated from Oven.h by CMock
216
+ #include "MockTime.h" // By convention, mock .h/.c code generated from Time.h by CMock
217
+
218
+ /*
219
+ * 🚫 This test will fail! Find the missing logic in `Baking_PreheatOven()`.
220
+ * (`Oven_SetTemperatureF()` returns success / failure.)
221
+ */
222
+ void test_Baking_PreheatOven_shouldFailIfSettingOvenTemperatureFails(void) {
223
+ Timer timer; // Uninitialized struct
224
+
225
+ Time_StartTimer_ExpectAndReturn( TWENTY_MIN, &timer );
226
+
227
+ // Tell source code that setting the oven temperature did not work
228
+ Oven_SetTemperatureF_ExpectAndReturn( 350.0, FALSE );
229
+
230
+ TEST_ASSERT_FALSE( Baking_PreheatOven( 350.0, TWENTY_MIN ) );
231
+ }
232
+
233
+ void test_Baking_PreheatOven_shouldFailIfTimeoutExpires(void) {
234
+ Timer timer; // Uninitialized struct
235
+
236
+ Time_StartTimer_ExpectAndReturn( TEN_MIN, &timer );
237
+
238
+ Oven_SetTemperatureF_ExpectAndReturn( 200.0, TRUE );
239
+
240
+ // We only care that `sleep()` is called, not necessarily every call to it
241
+ Time_SleepMs_Ignore();
242
+
243
+ // Unrolled loop of timeout and temperature checks
244
+ Time_IsTimerExpired_ExpectAndReturn( &timer, FALSE );
245
+ Oven_GetTemperatureReadingF_ExpectAndReturn( 100.0 );
246
+ Time_IsTimerExpired_ExpectAndReturn( &timer, FALSE );
247
+ Oven_GetTemperatureReadingF_ExpectAndReturn( 105.0 );
248
+ Time_IsTimerExpired_ExpectAndReturn( &timer, FALSE );
249
+ Oven_GetTemperatureReadingF_ExpectAndReturn( 110.0 );
250
+ Time_IsTimerExpired_ExpectAndReturn( &timer, TRUE );
251
+
252
+ TEST_ASSERT_FALSE( Baking_PreheatOven( 200.0, TEN_MIN ) );
253
+ }
254
+
255
+ void test_Baking_PreheatOven_shouldSucceedAfterAWhile(void) {
256
+ Timer timer; // Uninitialized struct
257
+
258
+ Time_StartTimer_ExpectAndReturn( TEN_MIN, &timer );
259
+
260
+ Oven_SetTemperatureF_ExpectAndReturn( 400.0, TRUE );
261
+
262
+ // We only care that `sleep()` is called, not necessarily every call to it
263
+ Time_SleepMs_Ignore();
264
+
265
+ // Unrolled loop of timeout and temperature checks
266
+ Time_IsTimerExpired_ExpectAndReturn( &timer, FALSE );
267
+ Oven_GetTemperatureReadingF_ExpectAndReturn( 390.0 );
268
+ Time_IsTimerExpired_ExpectAndReturn( &timer, FALSE );
269
+ Oven_GetTemperatureReadingF_ExpectAndReturn( 395.0 );
270
+ Time_IsTimerExpired_ExpectAndReturn( &timer, FALSE );
271
+ Oven_GetTemperatureReadingF_ExpectAndReturn( 399.0 );
272
+ Time_IsTimerExpired_ExpectAndReturn( &timer, FALSE );
273
+ Oven_GetTemperatureReadingF_ExpectAndReturn( 401.0 );
274
+
275
+ TEST_ASSERT_TRUE( Baking_PreheatOven( 400.0, TEN_MIN ) );
276
+ }
277
+ ```
278
+
279
+ ## Add a pinch of command line…
280
+
281
+ See Ceedling’s [documentation](#-documentation--learning) for examples and everything you need to know about Ceedling’s configuration file options (not shown here).
282
+
283
+ The super duper short version is that your project configuration file tells Ceedling where to find test and source files, what testing options you’re using, sets compilation symbols and build tool flags, enables your plugins, and configures your build tool command lines (Ceedling defaults to using the GNU compiler collection — which must be installed, if used).
284
+
285
+ ```shell
286
+ > ceedling test:all
287
+ ```
288
+
289
+ ## Voilà! Test results. `#ChefsKiss`
290
+
291
+ The test results below are one of the last bits of logging Ceedling produces for a test suite build. Not shown here are all the steps for extracting build details, C code generation, and compilation and linking.
292
+
293
+ ```
294
+ -------------------
295
+ FAILED TEST SUMMARY
296
+ -------------------
297
+ [test/TestBaking.c]
298
+ Test: test_Baking_PreheatOven_shouldFailIfSettingOvenTemperatureFails
299
+ At line (7): "Function Time_SleepMs() called more times than expected."
300
+
301
+ -----------------------
302
+ ❌ OVERALL TEST SUMMARY
303
+ -----------------------
304
+ TESTED: 6
305
+ PASSED: 5
306
+ FAILED: 1
307
+ IGNORED: 0
308
+ ```
309
+
310
+ ## Ceedling also supports various side dishes in your delicious test suite
311
+
312
+ The Unity project supports parameterized test cases like this:
313
+
314
+ ```C
315
+ TEST_RANGE([5, 100, 5])
316
+ void test_should_handle_divisible_by_5_for_parameterized_test_range(int num) {
317
+ TEST_ASSERT_EQUAL(0, (num % 5));
318
+ }
319
+ ```
320
+
321
+ Ceedling can do all the magic to build and run this test code simply by enabling parameterized test cases in its project configuration. Keep reading for more on how to configure a Ceedling build.
322
+
323
+ ```yaml
324
+ :unity:
325
+ :use_param_tests: TRUE
326
+ ```
327
+
328
+ <br/>
329
+
330
+ # 📚 Documentation & Learning
331
+
332
+ A variety of options for [community-based support][TTS-help] exist.
333
+
334
+ Training and support contracts are available through **_[Ceedling Pro][ceedling-pro]_**
335
+
336
+ [TTS-help]: https://www.throwtheswitch.org/#help-section
337
+
338
+ The [Agile Embedded Podcast][ae-podcast] includes an [episode on Ceedling][ceedling-episode]!
339
+
340
+ [ae-podcast]: https://agileembeddedpodcast.com/
341
+ [ceedling-episode]: https://agileembeddedpodcast.com/episodes/ceedling
342
+
343
+ ## Ceedling docs
344
+
345
+ * **_[Ceedling Packet][ceedling-packet]_** is Ceedling’s user manual. It also references and links to the documentation of the projects, _Unity_, _CMock_, and _CException_, that it weaves together into your test and release builds.
346
+ * **[Release Notes][release-notes]**, **[Breaking Changes][breaking-changes]**, and **[Changelog][changelog]** can be found in the **[docs/](docs/)** directory along with a variety of guides and much more.
347
+ * The **[Plugins section](https://github.com/ThrowTheSwitch/Ceedling/blob/test/ceedling_0_32_rc/docs/CeedlingPacket.md#ceedling-plugins)** within _Ceedling Packet_ lists all of Ceedling’s built-in plugins providing overviews and links to their documentation.
348
+
349
+ _Note:_ Check the [Release Notes][release-notes] for a “cheat sheet” illustrating project configuration option changes for new releases in the form of a Ceedling project YAML configuration file. This may be especially useful to those already familiar with the tool wanting to update to the latest and greatest as quickly as possible.
350
+
351
+ ## Library and courses
352
+
353
+ [ThrowTheSwitch.org][TTS]:
354
+
355
+ * Provides a small but useful **[library of resources and guides][library]** on testing and using the Ceedling suite of tools.
356
+ * Discusses your **[options for running a test suite][running-options]**, particularly in the context of embedded systems.
357
+ * Links to paid courses, **_[Dr. Surly’s School for Mad Scientists][courses]_**, that provide in-depth training on creating C unit tests and using Unity, CMock, and Ceedling to do so.
358
+
359
+ ## Online tutorial
360
+
361
+ Matt Chernosky’s **[detailed tutorial][tutorial]** demonstrates using Ceedling to build a C project with test suite. As the tutorial is a number of years old, the content is a bit out of date. That said, it provides an excellent overview of a real project. Matt is the author of [FFF] and the [FFF plugin][FFF-plugin] for Ceedling.
362
+
363
+ [ceedling-packet]: docs/CeedlingPacket.md
364
+ [release-notes]: docs/ReleaseNotes.md
365
+ [breaking-changes]: docs/BreakingChanges.md
366
+ [changelog]: docs/Changelog.md
367
+ [TTS]: https://throwtheswitch.org
368
+ [library]: http://www.throwtheswitch.org/library
369
+ [running-options]: http://www.throwtheswitch.org/build/which
370
+ [courses]: http://www.throwtheswitch.org/dr-surlys-school
371
+ [tutorial]: http://www.electronvector.com/blog/add-unit-tests-to-your-current-project-with-ceedling
372
+
373
+ <br/>
374
+
375
+ # 🚀 Getting Started
376
+
377
+ 👀 See the **_[Quick Start](docs/CeedlingPacket.md#quick-start)_** section in Ceedling’s user manual, _Ceedling Packet_.
378
+
379
+ ## The basics
380
+
381
+ ### Local installation from the RubyGems repository
382
+
383
+ 1. Install [Ruby]. (Only Ruby 3+ supported.)
384
+ 1. Install the Ceedling gem from the RubyGems repository. All supporting frameworks are included and this style of installation installs dependencies as well.
385
+ ```shell
386
+ > gem install ceedling
387
+ ```
388
+ 1. Begin crafting your project:
389
+ 1. Create an empty Ceedling project.
390
+ ```shell
391
+ > ceedling new <name> [<destination path>]
392
+ ```
393
+ 1. Or, add a Ceedling project file to the root of an existing code project.
394
+ 1. Run tasks like so:
395
+ ```shell
396
+ > ceedling test:all release
397
+ ```
398
+ ### Local installation of the .gem file downloaded from this repo
399
+
400
+ If you are working with prerelease versions of Ceedling or some other off-the-beaten-path installation scenario, you may want to directly install the Ceedling .gem file attached to any of the Github releases. No problem.
401
+
402
+ The steps are similar to the preceding with two changes:
403
+
404
+ 1. `gem install --local <ceedling .gem filepath>`
405
+ 1. Any missing dependencies must be manually installed before installation of the local Ceedling gem will succeed. A local installation attempt will complain about any missing dependencies. Simply `gem install` them by name.
406
+
407
+ [Ruby]: https://www.ruby-lang.org/
408
+
409
+ ### _MadScienceLab_ Docker Images
410
+
411
+ As an alternative to local installation, fully packaged Docker images containing Ruby, Ceedling, the GCC toolchain, and more are also available. [Docker][docker-overview] is a virtualization technology that provides self-contained software bundles that are a portable, well-managed alternative to local installation of tools like Ceedling.
412
+
413
+ Four Docker image variants containing Ceedling and supporting tools exist. These four images are available for both Intel and ARM host platforms (Docker does the right thing based on your host environment). The latter includes ARM Linux and Apple’s M-series macOS devices.
414
+
415
+ 1. **_[MadScienceLab][docker-image-base]_**. This image contains Ruby, Ceedling, CMock, Unity, CException, the GNU Compiler Collection (gcc), and a handful of essential C libraries and command line utilities.
416
+ 1. **_[MadScienceLab Plugins][docker-image-plugins]_**. This image contains all of the above plus the command line tools that Ceedling’s built-in plugins rely on. Naturally, it is quite a bit larger than option (1) because of the additional tools and dependencies.
417
+ 1. **_[MadScienceLab ARM][docker-image-arm]_**. This image mirrors (1) with the compiler toolchain replaced with the GNU `arm-none-eabi` variant.
418
+ 1. **_[MadScienceLab ARM + Plugins][docker-image-arm-plugins]_**. This image is (3) with the addition of all the complementary plugin tooling just like (2) provides.
419
+
420
+ See the Docker Hub pages linked above for more documentation on these images.
421
+
422
+ Just to be clear here, most users of the _MadScienceLab_ Docker images will probably care about the ability to run unit tests on your own host. If you are one of those users, no matter what host platform you are on — Intel or ARM — you’ll want to go with (1) or (2) above. The tools within the image will automatically do the right thing within your environment. Options (3) and (4) are most useful for specialized cross-compilation scenarios.
423
+
424
+ #### _MadScienceLab_ Docker Image usage basics
425
+
426
+ To use a _MadScienceLab_ image from your local terminal:
427
+
428
+ 1. [Install Docker][docker-install]
429
+ 1. Determine:
430
+ 1. The local path of your Ceedling project
431
+ 1. The variant and revision of the Docker image you’ll be using
432
+ 1. Run the container with:
433
+ 1. The Docker `run` command and `-it --rm` command line options
434
+ 1. A Docker volume mapping from the root of your project to the default project path inside the container (_/home/dev/project_)
435
+
436
+ See the command line examples in the following two sections.
437
+
438
+ Note that all of these somewhat lengthy command lines lend themselves well to being wrapped up in simple helper scripts specific to your project and directory structure.
439
+
440
+ #### Run a _MadScienceLab_ Docker Image as an interactive terminal
441
+
442
+ When the container launches as shown below, it will drop you into a Z-shell command line that has access to all the tools and utilities available within the container. In this usage, the Docker container becomes just another terminal, including ending its execution with `exit`.
443
+
444
+ ```shell
445
+ > docker run -it --rm -v /my/local/project/path:/home/dev/project throwtheswitch/madsciencelab-plugins:1.0.0
446
+ ```
447
+
448
+ Once the _MadScienceLab_ container’s command line is available, to run Ceedling, execute it just as you would after installing Ceedling locally:
449
+
450
+ ```shell
451
+ ~/project > ceedling help
452
+ ```
453
+
454
+ ```shell
455
+ ~/project > ceedling new ...
456
+ ```
457
+
458
+ ```shell
459
+ ~/project > ceedling test:all
460
+ ```
461
+
462
+ #### Run a _MadScienceLab_ Docker Image as a command line utility
463
+
464
+ Alternatively, you can run Ceedling through the _MadScienceLab_ Docker container directly from the command line as a command line utility. The general pattern is immediately below.
465
+
466
+ ```shell
467
+ > docker run -it --rm -v /my/local/project/path:/home/dev/project throwtheswitch/madsciencelab-plugins:1.0.0 <Ceedling command line>
468
+ ```
469
+
470
+ As a specific example, to run all tests in a suite, the command line would be this:
471
+
472
+ ```shell
473
+ > docker run -it --rm -v /my/local/project/path:/home/dev/project throwtheswitch/madsciencelab-plugins:1.0.0 ceedling test:all
474
+ ```
475
+
476
+ In this usage, the container starts, executes Ceedling, and then ends.
477
+
478
+ [docker-overview]: https://www.ibm.com/topics/docker
479
+ [docker-install]: https://www.docker.com/products/docker-desktop/
480
+
481
+ [docker-image-base]: https://hub.docker.com/repository/docker/throwtheswitch/madsciencelab
482
+ [docker-image-plugins]: https://hub.docker.com/repository/docker/throwtheswitch/madsciencelab-plugins
483
+ [docker-image-arm]: https://hub.docker.com/repository/docker/throwtheswitch/madsciencelab-arm-none-eabi
484
+ [docker-image-arm-plugins]: https://hub.docker.com/repository/docker/throwtheswitch/madsciencelab-arm-none-eabi-plugins
485
+
486
+ ### Example super-duper simple Ceedling configuration file
487
+
488
+ ```yaml
489
+ :project:
490
+ :build_root: project/build/
491
+ :release_build: TRUE
492
+
493
+ :paths:
494
+ :test:
495
+ - tests/**
496
+ :source:
497
+ - source/**
498
+ :include:
499
+ - inc/**
500
+ ```
501
+
502
+ See this [commented project configuration file][example-config-file] for a much more complete and sophisticated example of a project configuration.
503
+
504
+ Or, use Ceedling’s built-in `examples` & `example` commands to extract a sample project and reference its project file.
505
+
506
+ See the [configuration section][ceedling-packet-config] in _Ceedling Packet_ for way more details on your project configuration options than we can provide here.
507
+
508
+ [example-config-file]: assets/project.yml
509
+ [ceedling-packet-config]: docs/CeedlingPacket.md#the-almighty-ceedling-project-configuration-file-in-glorious-yaml
510
+
511
+ ## Using Ceedling’s command line (and related)
512
+
513
+ ### Command line help
514
+
515
+ For an overview of all commands, it’s as easy as…
516
+
517
+ ```sh
518
+ > ceedling help
519
+ ```
520
+
521
+ For a detailed explanation of a single command…
522
+
523
+ ```sh
524
+ > ceedling help <command>
525
+ ```
526
+
527
+ ### Creating a project
528
+
529
+ Creating a project with Ceedling is easy. Simply tell Ceedling the name of the
530
+ project, and it will create a directory with that name and fill it with a
531
+ default subdirectory structure and configuration file. An optional destination
532
+ path is also possible.
533
+
534
+ ```shell
535
+ > ceedling new YourNewProjectName
536
+ ```
537
+
538
+ You can add files to your `src/` and `test/` directories, and they will
539
+ instantly become part of your test and/or release build. Need a different
540
+ structure? You can modify the `project.yml` file with your new path or
541
+ tooling setup.
542
+
543
+ #### Installing local documentation
544
+
545
+ Are you just getting started with Ceedling? Maybe you’d like your
546
+ project to be installed with some of its handy [documentation](docs/)?
547
+ No problem! You can do this when you create a new project…
548
+
549
+ ```shell
550
+ > ceedling new --docs MyAwesomeProject
551
+ ```
552
+
553
+ #### Attaching a Ceedling version to your project
554
+
555
+ Ceedling can be installed as a globally available Ruby gem. Ceedling can
556
+ also deploy all its guts into your project instead. This allows it to
557
+ be used without worrying about external dependencies. More importantly,
558
+ you don’t have to worry about Ceedling changing outside of your project
559
+ just because you updated your gems. No need to worry about changes in
560
+ Unity or CMock breaking your build in the future.
561
+
562
+ To use Ceedling this way, tell it you want a local copy when you create
82
563
  your project:
83
564
 
84
- ceedling new --local YourNewProjectName
565
+ ```shell
566
+ > ceedling new --local YourNewProjectName
567
+ ```
568
+
569
+ This will install all of Unity, CMock, CException, and Ceedling itself
570
+ into a new folder `vendor/` inside your project `YourNewProjectName/`.
571
+ It will create the same simple empty directory structure for you with
572
+ `src/` and `test/` folders as the standard `new` command.
573
+
574
+ ### Running build & plugin tasks
575
+
576
+ You can view all the build and plugin tasks available to you thanks to your
577
+ Ceedling project file with `ceedling help`. Ceedling’s command line help
578
+ provides a summary list from your project configuration if Ceedling is
579
+ able to find your project file (`ceedling help help` for more on this).
580
+
581
+ Running Ceedling build tasks tends to look like this…
582
+
583
+ ```shell
584
+ > ceedling test:all release
585
+ ```
586
+
587
+ ```shell
588
+ > ceedling gcov:all --verbosity=obnoxious --test-case=boot --mixin=code_cruncher_toolchain
589
+ ```
590
+
591
+ ### Upgrading / updating Ceedling
592
+
593
+ You can upgrade to the latest version of Ceedling at any time, automatically
594
+ gaining access to any accompanying updates to Unity, CMock, and CException.
595
+
596
+ To update a locally installed gem…
597
+
598
+ ```shell
599
+ > gem update ceedling
600
+ ```
601
+
602
+ Otherwise, if you are using the Docker image, you may upgrade by pulling
603
+ a newer version of the image…
604
+
605
+ ```shell
606
+ > docker pull throwtheswitch/madsciencelab:<tag>
607
+ ```
608
+
609
+ If you want to force a vendored version of Ceedling inside your project to
610
+ upgrade to match your latest gem, no problem. Just do the following…
611
+
612
+ ```shell
613
+ > ceedling upgrade --local YourNewProjectName
614
+ ```
615
+
616
+ Just like with the `new` command, an `upgrade` should be executed from
617
+ within the root directory of your project.
618
+
619
+ ### Git integration
620
+
621
+ Are you using Git? You might want Ceedling to create a `.gitignore`
622
+ that ignores the build folder while retaining control of the artifacts
623
+ folder. This will also add a `.gitkeep` file to your `test/support` folder.
624
+ You can enable this by adding `--gitsupport` to your `new` call.
625
+
626
+ ```shell
627
+ > ceedling new --gitsupport YourNewProjectName
628
+ ```
629
+ <br/>
630
+
631
+ # 💻 Contributing to Ceedling Development
632
+
633
+ ## Alternate installation options for Ceedling development
634
+
635
+ ### Alternate local installation for development
636
+
637
+ After installing Ruby…
638
+
639
+ ```shell
640
+ > git clone --recursive https://github.com/throwtheswitch/ceedling.git
641
+ > cd ceedling
642
+ > git submodule update --init --recursive
643
+ > bundle install
644
+ ```
645
+
646
+ The Ceedling repository incorporates its supporting frameworks and some
647
+ plugins via Git submodules. A simple clone may not pull in the latest
648
+ and greatest.
649
+
650
+ The `bundle` tool ensures you have all needed Ruby gems installed. If
651
+ Bundler isn’t installed on your system or you run into problems, you
652
+ might have to install it:
653
+
654
+ ```shell
655
+ > sudo gem install bundler
656
+ ```
657
+
658
+ If you run into trouble running bundler and get messages like _can’t
659
+ find gem bundler (>= 0.a) with executable bundle
660
+ (Gem::GemNotFoundException)_, you may need to install a different
661
+ version of Bundler. For this please reference the version in the
662
+ Gemfile.lock.
663
+
664
+ ```shell
665
+ > sudo gem install bundler -v <version in Gemfile.lock>
666
+ ```
667
+
668
+ ### Alternate Docker image usage for development
669
+
670
+ As an alternative to local installation of Ceedling, nearly all development
671
+ tasks can be accomplished with the _MadScienceLab_ Docker images.
672
+
673
+ When running an existing image as a development container, one merely needs
674
+ to map a volume from your local Ceedling code repository to Ceedling’s
675
+ installation location within the container. With that accomplished,
676
+ experimenting with project builds and running self-tests is simple.
677
+
678
+ 1. Start your target Docker container from your host system terminal:
679
+
680
+ ```shell
681
+ > docker run -it --rm throwtheswitch/<image>:<tag>
682
+ ```
683
+ 1. Look up and note Ceedling’s installation path (listed in `version` output) from within the container command line:
684
+
685
+ ```shell
686
+ ~/project > ceedling version
687
+
688
+
689
+ ```
690
+ 1. Exit the container.
691
+ 1. Restart the container from your host system with the Ceedling installation
692
+ volume mapping from (2) and any other command line options you need:
693
+
694
+ ```shell
695
+ > docker run -it --rm -v /my/local/ceedling/repo:<container installation path> -v /my/local/experiment/path:/home/dev/project throwtheswitch/<image>:<tag>
696
+ ```
697
+
698
+ For development tasks, from the container shell you can:
699
+
700
+ 1. Run experiment projects you map into the container (e.g. at _/home/dev/project_).
701
+ 1. Run the self-test suite. Navigate to the gem installation path discovered in (2) above. From this location, follow the instructions in the section that immediately follows.
702
+
703
+ ## Running Ceedling’s self-tests
704
+
705
+ Ceedling uses [RSpec] for its tests.
706
+
707
+ To execute tests you may run the following from the root of your local
708
+ Ceedling repository. This test suite build option balances test coverage
709
+ with suite execution time.
710
+
711
+ ```shell
712
+ > rake spec
713
+ ```
714
+
715
+ To run individual test files (Ceedling’s Ruby-based tests, that is) and
716
+ perform other tasks, use the available Rake tasks. From the root of your
717
+ local Ceedling repo, list those task like this:
718
+
719
+ ```shell
720
+ > rake -T
721
+ ```
85
722
 
86
- This will install all of Unity, CMock, and Ceedling into a new folder
87
- named `vendor` inside your project `YourNewProjectName`. It will still create
88
- the simple directory structure for you with `src` and `test` folders.
723
+ [RSpec]: https://rspec.info
89
724
 
90
- SCORE!
725
+ ## Working in `bin/` vs. `lib/`
91
726
 
92
- If you want to force a locally installed version of Ceedling to upgrade
93
- to match your latest gem later, it's easy! Just issue the following command:
727
+ Most of Ceedling’s functionality is contained in the application code residing
728
+ in `lib/`. Ceedling’s command line handling, startup configuration, project
729
+ file loading, and mixin handling are contained in a “bootloader” in `bin/`.
730
+ The code in `bin/` is the source of the `ceedling` command line tool and
731
+ launches the application from `lib/`.
94
732
 
95
- ceedling upgrade --local YourNewProjectName
733
+ Depending on what you’re working on you may need to run Ceedling using
734
+ a specialized approach.
96
735
 
97
- Just like the `new` command, it's called from the parent directory of your
98
- project.
736
+ If you are only working in `lib/`, you can:
99
737
 
100
- Are you afraid of losing all your local changes when this happens? You can keep
101
- Ceedling from updating your project file by issuing `no_configs`.
738
+ 1. Run Ceedling using the `ceedling` command line utility you already have
739
+ installed. The code in `bin/` will run from your locally installed gem or
740
+ from within your Docker container and launch the Ceedling application for
741
+ you.
742
+ 1. Modify a project file by setting a path value for `:project` ↳ `:which_ceedling`
743
+ that points to the local copy of Ceedling you cloned from the Git repository.
744
+ See _CeedlingPacket_ for details.
102
745
 
103
- ceedling upgrade --local --no_configs TheProject
746
+ If you are working in `bin/`, running `ceedling` at the command line will not
747
+ call your modified code. Instead, you must execute the path to the executable
748
+ `ceedling` in the `bin/` folder of the local Ceedling repository you are
749
+ working on.
104
750
 
105
- Git Integration
106
- ===============
107
751
 
108
- Are you using Git? You might want to automatically have Ceedling create a
109
- `gitignore` file for you by adding `--gitignore` to your `new` call.
110
752
 
111
- *HAPPY TESTING!*