ceedling 0.31.1 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1477) hide show
  1. checksums.yaml +4 -4
  2. data/GIT_COMMIT_SHA +1 -0
  3. data/Gemfile +19 -11
  4. data/Gemfile.lock +31 -24
  5. data/README.md +716 -75
  6. data/Rakefile +15 -0
  7. data/assets/ceedling +6 -0
  8. data/assets/default_gitignore +7 -5
  9. data/assets/example_file.c +11 -0
  10. data/assets/example_file.h +9 -0
  11. data/assets/example_file_call.c +7 -0
  12. data/assets/example_file_call.h +7 -0
  13. data/assets/project.yml +402 -0
  14. data/assets/test_example_file.c +9 -2
  15. data/assets/test_example_file_boom.c +9 -2
  16. data/assets/test_example_file_crash.c +25 -0
  17. data/assets/test_example_file_success.c +9 -2
  18. data/assets/test_example_file_unity_printf.c +8 -1
  19. data/assets/test_example_file_verbose.c +8 -1
  20. data/assets/test_example_file_with_mock.c +8 -1
  21. data/assets/test_example_with_parameterized_tests.c +12 -3
  22. data/assets/tests_with_defines/src/adc_hardware.c +8 -1
  23. data/assets/tests_with_defines/src/adc_hardware.h +7 -0
  24. data/assets/tests_with_defines/src/adc_hardware_configurator.c +8 -1
  25. data/assets/tests_with_defines/src/adc_hardware_configurator.h +8 -1
  26. data/assets/tests_with_defines/test/test_adc_hardware.c +7 -0
  27. data/assets/tests_with_defines/test/test_adc_hardware_special.c +7 -0
  28. data/assets/tests_with_preprocessing/src/adc_hardwareA.c +17 -0
  29. data/assets/tests_with_preprocessing/src/adc_hardwareA.h +13 -0
  30. data/assets/tests_with_preprocessing/src/adc_hardwareB.c +14 -0
  31. data/assets/tests_with_preprocessing/src/adc_hardwareB.h +13 -0
  32. data/assets/tests_with_preprocessing/src/adc_hardwareC.c +14 -0
  33. data/assets/tests_with_preprocessing/src/adc_hardwareC.h +13 -0
  34. data/assets/tests_with_preprocessing/src/adc_hardware_configuratorA.h +13 -0
  35. data/assets/tests_with_preprocessing/src/adc_hardware_configuratorB.h +15 -0
  36. data/assets/tests_with_preprocessing/src/adc_hardware_configuratorC.h +15 -0
  37. data/assets/tests_with_preprocessing/test/test_adc_hardwareA.c +41 -0
  38. data/assets/tests_with_preprocessing/test/test_adc_hardwareB.c +25 -0
  39. data/assets/tests_with_preprocessing/test/test_adc_hardwareC.c +29 -0
  40. data/assets/uncovered_example_file.c +7 -0
  41. data/bin/actions_wrapper.rb +50 -0
  42. data/bin/app_cfg.rb +134 -0
  43. data/bin/ceedling +139 -329
  44. data/bin/cli.rb +542 -0
  45. data/bin/cli_handler.rb +480 -0
  46. data/bin/cli_helper.rb +512 -0
  47. data/bin/configinator.rb +111 -0
  48. data/bin/mixinator.rb +136 -0
  49. data/bin/mixins.rb +12 -0
  50. data/bin/objects.yml +80 -0
  51. data/bin/path_validator.rb +54 -0
  52. data/bin/projectinator.rb +244 -0
  53. data/bin/versionator.rb +81 -0
  54. data/ceedling.gemspec +20 -9
  55. data/config/test_environment.rb +6 -2
  56. data/docs/BreakingChanges.md +260 -0
  57. data/docs/CODE_OF_CONDUCT.md +138 -0
  58. data/docs/CONTRIBUTING.md +240 -0
  59. data/docs/CeedlingPacket.md +4999 -1614
  60. data/docs/CeedlingPullRequestChecklist.md +24 -0
  61. data/docs/CeedlingUpgrade.md +1 -1
  62. data/docs/Changelog.md +493 -0
  63. data/docs/PluginDevelopmentGuide.md +764 -0
  64. data/docs/ReleaseNotes.md +353 -0
  65. data/docs/SECURITY.md +41 -0
  66. data/examples/temp_sensor/README.md +18 -0
  67. data/examples/temp_sensor/mixin/add_gcov.yml +51 -0
  68. data/examples/temp_sensor/mixin/add_unity_helper.yml +26 -0
  69. data/examples/temp_sensor/project.yml +315 -28
  70. data/examples/temp_sensor/src/AdcConductor.c +7 -0
  71. data/examples/temp_sensor/src/AdcConductor.h +7 -0
  72. data/examples/temp_sensor/src/AdcHardware.c +7 -0
  73. data/examples/temp_sensor/src/AdcHardware.h +7 -0
  74. data/examples/temp_sensor/src/AdcHardwareConfigurator.c +7 -0
  75. data/examples/temp_sensor/src/AdcHardwareConfigurator.h +7 -0
  76. data/examples/temp_sensor/src/AdcModel.c +7 -0
  77. data/examples/temp_sensor/src/AdcModel.h +7 -0
  78. data/examples/temp_sensor/src/AdcTemperatureSensor.c +7 -0
  79. data/examples/temp_sensor/src/AdcTemperatureSensor.h +7 -0
  80. data/examples/temp_sensor/src/Executor.c +7 -0
  81. data/examples/temp_sensor/src/Executor.h +7 -0
  82. data/examples/temp_sensor/src/IntrinsicsWrapper.c +7 -0
  83. data/examples/temp_sensor/src/IntrinsicsWrapper.h +7 -0
  84. data/examples/temp_sensor/src/Main.c +7 -0
  85. data/examples/temp_sensor/src/Main.h +7 -0
  86. data/examples/temp_sensor/src/Model.c +7 -0
  87. data/examples/temp_sensor/src/Model.h +7 -0
  88. data/examples/temp_sensor/src/ModelConfig.h +7 -0
  89. data/examples/temp_sensor/src/TaskScheduler.c +7 -0
  90. data/examples/temp_sensor/src/TaskScheduler.h +7 -0
  91. data/examples/temp_sensor/src/TemperatureCalculator.c +12 -1
  92. data/examples/temp_sensor/src/TemperatureCalculator.h +7 -0
  93. data/examples/temp_sensor/src/TemperatureFilter.c +7 -0
  94. data/examples/temp_sensor/src/TemperatureFilter.h +7 -0
  95. data/examples/temp_sensor/src/TimerConductor.c +7 -0
  96. data/examples/temp_sensor/src/TimerConductor.h +7 -0
  97. data/examples/temp_sensor/src/TimerConfigurator.c +7 -0
  98. data/examples/temp_sensor/src/TimerConfigurator.h +7 -0
  99. data/examples/temp_sensor/src/TimerHardware.c +7 -0
  100. data/examples/temp_sensor/src/TimerHardware.h +7 -0
  101. data/examples/temp_sensor/src/TimerInterruptConfigurator.c +7 -0
  102. data/examples/temp_sensor/src/TimerInterruptConfigurator.h +7 -0
  103. data/examples/temp_sensor/src/TimerInterruptHandler.c +7 -0
  104. data/examples/temp_sensor/src/TimerInterruptHandler.h +7 -0
  105. data/examples/temp_sensor/src/TimerModel.c +7 -0
  106. data/examples/temp_sensor/src/TimerModel.h +7 -0
  107. data/examples/temp_sensor/src/Types.h +7 -0
  108. data/examples/temp_sensor/src/UsartBaudRateRegisterCalculator.c +7 -0
  109. data/examples/temp_sensor/src/UsartBaudRateRegisterCalculator.h +7 -0
  110. data/examples/temp_sensor/src/UsartConductor.c +7 -0
  111. data/examples/temp_sensor/src/UsartConductor.h +7 -0
  112. data/examples/temp_sensor/src/UsartConfigurator.c +7 -0
  113. data/examples/temp_sensor/src/UsartConfigurator.h +7 -0
  114. data/examples/temp_sensor/src/UsartHardware.c +7 -0
  115. data/examples/temp_sensor/src/UsartHardware.h +7 -0
  116. data/examples/temp_sensor/src/UsartModel.c +7 -0
  117. data/examples/temp_sensor/src/UsartModel.h +7 -0
  118. data/examples/temp_sensor/src/UsartPutChar.c +7 -0
  119. data/examples/temp_sensor/src/UsartPutChar.h +7 -0
  120. data/examples/temp_sensor/src/UsartTransmitBufferStatus.c +7 -0
  121. data/examples/temp_sensor/src/UsartTransmitBufferStatus.h +7 -0
  122. data/examples/temp_sensor/test/TestExecutor.c +8 -1
  123. data/examples/temp_sensor/test/TestMain.c +7 -0
  124. data/examples/temp_sensor/test/TestModel.c +7 -0
  125. data/examples/temp_sensor/test/TestTaskScheduler.c +37 -30
  126. data/examples/temp_sensor/test/TestTemperatureCalculator.c +8 -1
  127. data/examples/temp_sensor/test/TestTemperatureFilter.c +7 -0
  128. data/examples/temp_sensor/test/TestTimerConductor.c +7 -0
  129. data/examples/temp_sensor/test/TestTimerHardware.c +7 -0
  130. data/examples/temp_sensor/test/TestTimerIntegrated.c +53 -0
  131. data/examples/temp_sensor/test/TestTimerModel.c +7 -0
  132. data/examples/temp_sensor/test/TestUsartBaudRateRegisterCalculator.c +12 -5
  133. data/examples/temp_sensor/test/TestUsartConductor.c +7 -0
  134. data/examples/temp_sensor/test/TestUsartHardware.c +7 -0
  135. data/examples/temp_sensor/test/TestUsartIntegrated.c +63 -0
  136. data/examples/temp_sensor/test/TestUsartModel.c +8 -1
  137. data/examples/temp_sensor/test/{TestAdcConductor.c → adc/TestAdcConductor.c} +7 -0
  138. data/examples/temp_sensor/test/{TestAdcHardware.c → adc/TestAdcHardware.c} +8 -1
  139. data/examples/temp_sensor/test/{TestAdcModel.c → adc/TestAdcModel.c} +9 -2
  140. data/examples/temp_sensor/test/support/UnityHelper.c +11 -4
  141. data/examples/temp_sensor/test/support/UnityHelper.h +11 -6
  142. data/lib/ceedling/application.rb +26 -0
  143. data/lib/ceedling/backtrace.gdb +5 -0
  144. data/lib/ceedling/build_batchinator.rb +113 -0
  145. data/lib/ceedling/cacheinator.rb +6 -0
  146. data/lib/ceedling/cacheinator_helper.rb +6 -0
  147. data/lib/ceedling/config_matchinator.rb +192 -0
  148. data/lib/ceedling/config_walkinator.rb +35 -0
  149. data/lib/ceedling/configurator.rb +544 -191
  150. data/lib/ceedling/configurator_builder.rb +262 -179
  151. data/lib/ceedling/configurator_plugins.rb +71 -37
  152. data/lib/ceedling/configurator_setup.rb +726 -55
  153. data/lib/ceedling/configurator_validator.rb +152 -142
  154. data/lib/ceedling/constants.rb +97 -36
  155. data/lib/ceedling/defaults.rb +231 -225
  156. data/lib/ceedling/defineinator.rb +90 -0
  157. data/lib/ceedling/dependinator.rb +9 -75
  158. data/lib/ceedling/encodinator.rb +26 -0
  159. data/lib/ceedling/erb_wrapper.rb +8 -1
  160. data/lib/ceedling/exceptions.rb +47 -0
  161. data/lib/ceedling/file_finder.rb +136 -102
  162. data/lib/ceedling/file_finder_helper.rb +93 -33
  163. data/lib/ceedling/file_path_collection_utils.rb +137 -0
  164. data/lib/ceedling/file_path_utils.rb +72 -84
  165. data/lib/ceedling/file_system_wrapper.rb +6 -0
  166. data/lib/ceedling/file_wrapper.rb +42 -3
  167. data/lib/ceedling/flaginator.rb +43 -52
  168. data/lib/ceedling/generator.rb +283 -104
  169. data/lib/ceedling/generator_helper.rb +63 -25
  170. data/lib/ceedling/generator_mocks.rb +41 -0
  171. data/lib/ceedling/generator_test_results.rb +200 -30
  172. data/lib/ceedling/generator_test_results_backtrace.rb +215 -0
  173. data/lib/ceedling/generator_test_results_sanity_checker.rb +13 -8
  174. data/lib/ceedling/generator_test_runner.rb +62 -36
  175. data/lib/ceedling/include_pathinator.rb +83 -0
  176. data/lib/ceedling/loginator.rb +314 -19
  177. data/lib/ceedling/makefile.rb +6 -0
  178. data/lib/ceedling/objects.yml +120 -81
  179. data/lib/ceedling/parsing_parcels.rb +77 -0
  180. data/lib/ceedling/plugin.rb +14 -64
  181. data/lib/ceedling/plugin_manager.rb +45 -19
  182. data/lib/ceedling/plugin_manager_helper.rb +8 -2
  183. data/lib/ceedling/plugin_reportinator.rb +93 -30
  184. data/lib/ceedling/plugin_reportinator_helper.rb +60 -27
  185. data/lib/ceedling/preprocessinator.rb +213 -30
  186. data/lib/ceedling/preprocessinator_extractor.rb +238 -36
  187. data/lib/ceedling/preprocessinator_file_handler.rb +210 -15
  188. data/lib/ceedling/preprocessinator_includes_handler.rb +353 -160
  189. data/lib/ceedling/rake_utils.rb +6 -0
  190. data/lib/ceedling/rake_wrapper.rb +7 -0
  191. data/lib/ceedling/rakefile.rb +125 -65
  192. data/lib/ceedling/release_invoker.rb +11 -41
  193. data/lib/ceedling/release_invoker_helper.rb +6 -13
  194. data/lib/ceedling/reportinator.rb +99 -1
  195. data/lib/ceedling/rules_release.rake +45 -37
  196. data/lib/ceedling/rules_tests.rake +48 -59
  197. data/lib/ceedling/setupinator.rb +181 -35
  198. data/lib/ceedling/stream_wrapper.rb +38 -15
  199. data/lib/ceedling/system_utils.rb +8 -2
  200. data/lib/ceedling/system_wrapper.rb +83 -13
  201. data/lib/ceedling/task_invoker.rb +15 -67
  202. data/lib/ceedling/tasks_base.rake +15 -92
  203. data/lib/ceedling/tasks_filesystem.rake +35 -49
  204. data/lib/ceedling/tasks_release.rake +25 -12
  205. data/lib/ceedling/tasks_tests.rake +31 -22
  206. data/lib/ceedling/test_context_extractor.rb +379 -0
  207. data/lib/ceedling/test_invoker.rb +452 -111
  208. data/lib/ceedling/test_invoker_helper.rb +332 -17
  209. data/lib/ceedling/test_runner_manager.rb +47 -0
  210. data/lib/ceedling/tool_executor.rb +92 -88
  211. data/lib/ceedling/tool_executor_helper.rb +49 -106
  212. data/lib/ceedling/tool_validator.rb +149 -0
  213. data/lib/ceedling/verbosinator.rb +15 -3
  214. data/lib/ceedling/yaml_wrapper.rb +21 -1
  215. data/lib/ceedling.rb +12 -97
  216. data/lib/version.rb +24 -0
  217. data/license.txt +20 -27
  218. data/plugins/beep/README.md +124 -13
  219. data/plugins/beep/config/defaults.yml +12 -0
  220. data/plugins/beep/config/defaults_beep.rb +67 -0
  221. data/plugins/beep/lib/beep.rb +71 -26
  222. data/plugins/bullseye/README.md +9 -4
  223. data/plugins/bullseye/bullseye.rake +43 -36
  224. data/plugins/bullseye/config/defaults.yml +55 -46
  225. data/plugins/bullseye/lib/bullseye.rb +25 -16
  226. data/plugins/command_hooks/README.md +230 -42
  227. data/plugins/command_hooks/lib/command_hooks.rb +198 -59
  228. data/plugins/compile_commands_json_db/README.md +40 -0
  229. data/plugins/compile_commands_json_db/lib/compile_commands_json_db.rb +51 -0
  230. data/plugins/dependencies/README.md +113 -46
  231. data/plugins/dependencies/Rakefile +188 -0
  232. data/plugins/dependencies/config/defaults.yml +74 -1
  233. data/plugins/dependencies/dependencies.rake +28 -18
  234. data/plugins/dependencies/example/boss/project.yml +231 -0
  235. data/plugins/dependencies/example/boss/src/boss.c +80 -0
  236. data/plugins/dependencies/example/boss/src/boss.h +16 -0
  237. data/plugins/dependencies/example/boss/src/main.c +45 -0
  238. data/plugins/dependencies/example/boss/test/test_boss.c +118 -0
  239. data/plugins/dependencies/example/supervisor/project.yml +165 -0
  240. data/plugins/dependencies/example/supervisor/src/supervisor.c +45 -0
  241. data/plugins/dependencies/example/supervisor/src/supervisor.h +14 -0
  242. data/plugins/dependencies/example/supervisor/test/test_supervisor.c +58 -0
  243. data/plugins/dependencies/example/version.tar.gzip +0 -0
  244. data/plugins/dependencies/example/workerbees.zip +0 -0
  245. data/plugins/dependencies/lib/dependencies.rb +372 -78
  246. data/plugins/{fake_function_framework → fff}/README.md +9 -17
  247. data/plugins/fff/Rakefile +26 -0
  248. data/plugins/fff/config/fff.yml +13 -0
  249. data/plugins/fff/examples/fff_example/project.yml +145 -0
  250. data/plugins/fff/examples/fff_example/src/bar.c +8 -0
  251. data/plugins/{fake_function_framework → fff}/examples/fff_example/src/bar.h +7 -0
  252. data/plugins/fff/examples/fff_example/src/custom_types.h +13 -0
  253. data/plugins/fff/examples/fff_example/src/display.c +14 -0
  254. data/plugins/{fake_function_framework → fff}/examples/fff_example/src/display.h +7 -0
  255. data/plugins/{fake_function_framework → fff}/examples/fff_example/src/event_processor.c +7 -0
  256. data/plugins/{fake_function_framework → fff}/examples/fff_example/src/event_processor.h +7 -0
  257. data/plugins/fff/examples/fff_example/src/foo.c +23 -0
  258. data/plugins/fff/examples/fff_example/src/foo.h +15 -0
  259. data/plugins/fff/examples/fff_example/src/subfolder/zzz.c +8 -0
  260. data/plugins/fff/examples/fff_example/src/subfolder/zzz.h +13 -0
  261. data/plugins/{fake_function_framework → fff}/examples/fff_example/test/test_event_processor.c +24 -19
  262. data/plugins/{fake_function_framework → fff}/examples/fff_example/test/test_foo.c +7 -0
  263. data/plugins/{fake_function_framework/lib/fake_function_framework.rb → fff/lib/fff.rb} +22 -19
  264. data/plugins/{fake_function_framework → fff}/lib/fff_mock_generator.rb +9 -0
  265. data/plugins/{fake_function_framework → fff}/spec/fff_mock_header_generator_spec.rb +7 -0
  266. data/plugins/{fake_function_framework → fff}/spec/fff_mock_source_generator_spec.rb +7 -0
  267. data/plugins/{fake_function_framework → fff}/spec/header_generator.rb +7 -0
  268. data/plugins/{fake_function_framework → fff}/spec/spec_helper.rb +7 -0
  269. data/plugins/{fake_function_framework → fff}/src/fff_unity_helper.h +7 -0
  270. data/plugins/fff/vendor/fff/LICENSE +25 -0
  271. data/plugins/fff/vendor/fff/Makefile +10 -0
  272. data/plugins/fff/vendor/fff/README.md +454 -0
  273. data/plugins/fff/vendor/fff/buildandtest +15 -0
  274. data/plugins/fff/vendor/fff/examples/Makefile +7 -0
  275. data/plugins/fff/vendor/fff/examples/driver_testing/Makefile +64 -0
  276. data/plugins/fff/vendor/fff/examples/driver_testing/driver.c +32 -0
  277. data/plugins/fff/vendor/fff/examples/driver_testing/driver.h +21 -0
  278. data/plugins/fff/vendor/fff/examples/driver_testing/driver.test.cpp +58 -0
  279. data/plugins/fff/vendor/fff/examples/driver_testing/driver.test.fff.cpp +70 -0
  280. data/plugins/fff/vendor/fff/examples/driver_testing/hardware_abstraction.h +25 -0
  281. data/plugins/fff/vendor/fff/examples/driver_testing/registers.h +23 -0
  282. data/plugins/fff/vendor/fff/examples/embedded_ui/DISPLAY.h +27 -0
  283. data/plugins/fff/vendor/fff/examples/embedded_ui/Kata.txt +25 -0
  284. data/plugins/fff/vendor/fff/examples/embedded_ui/Makefile +67 -0
  285. data/plugins/fff/vendor/fff/examples/embedded_ui/SYSTEM.h +31 -0
  286. data/plugins/fff/vendor/fff/examples/embedded_ui/UI.c +56 -0
  287. data/plugins/fff/vendor/fff/examples/embedded_ui/UI.h +22 -0
  288. data/plugins/fff/vendor/fff/examples/embedded_ui/UI_test_ansic.c +191 -0
  289. data/plugins/fff/vendor/fff/examples/embedded_ui/UI_test_cpp.cpp +144 -0
  290. data/plugins/fff/vendor/fff/examples/embedded_ui/test_suite_template.c +42 -0
  291. data/plugins/fff/vendor/fff/fakegen.rb +428 -0
  292. data/plugins/fff/vendor/fff/fff.h +5122 -0
  293. data/plugins/fff/vendor/fff/gtest/Makefile +22 -0
  294. data/plugins/fff/vendor/fff/gtest/gtest-all.cc +9118 -0
  295. data/plugins/fff/vendor/fff/gtest/gtest-main.cc +6 -0
  296. data/plugins/fff/vendor/fff/gtest/gtest.h +19547 -0
  297. data/plugins/fff/vendor/fff/test/Makefile +81 -0
  298. data/plugins/fff/vendor/fff/test/c_test_framework.h +25 -0
  299. data/plugins/fff/vendor/fff/test/fff_test_c.c +116 -0
  300. data/plugins/fff/vendor/fff/test/fff_test_cpp.cpp +53 -0
  301. data/plugins/fff/vendor/fff/test/fff_test_global_c.c +84 -0
  302. data/plugins/fff/vendor/fff/test/fff_test_global_cpp.cpp +31 -0
  303. data/plugins/fff/vendor/fff/test/global_fakes.c +21 -0
  304. data/plugins/fff/vendor/fff/test/global_fakes.h +47 -0
  305. data/plugins/fff/vendor/fff/test/test_cases.include +276 -0
  306. data/plugins/gcov/README.md +631 -171
  307. data/plugins/gcov/config/defaults.yml +30 -0
  308. data/plugins/gcov/config/defaults_gcov.rb +96 -105
  309. data/plugins/gcov/gcov.rake +43 -152
  310. data/plugins/gcov/lib/gcov.rb +234 -88
  311. data/plugins/gcov/lib/gcov_constants.rb +25 -10
  312. data/plugins/gcov/lib/gcovr_reportinator.rb +245 -151
  313. data/plugins/gcov/lib/reportgenerator_reportinator.rb +93 -68
  314. data/plugins/gcov/lib/reportinator_helper.rb +23 -8
  315. data/plugins/module_generator/README.md +163 -15
  316. data/plugins/module_generator/Rakefile +232 -0
  317. data/plugins/module_generator/assets/stubby1.h +13 -0
  318. data/plugins/module_generator/assets/stubby2.h +15 -0
  319. data/plugins/module_generator/config/module_generator.yml +12 -3
  320. data/plugins/module_generator/example/project.yml +174 -0
  321. data/plugins/module_generator/lib/module_generator.rb +63 -21
  322. data/plugins/module_generator/module_generator.rake +7 -0
  323. data/plugins/report_build_warnings_log/README.md +40 -0
  324. data/plugins/report_build_warnings_log/config/defaults.yml +12 -0
  325. data/plugins/report_build_warnings_log/lib/report_build_warnings_log.rb +143 -0
  326. data/plugins/report_tests_gtestlike_stdout/README.md +96 -0
  327. data/plugins/{stdout_gtestlike_tests_report → report_tests_gtestlike_stdout}/assets/template.erb +6 -7
  328. data/plugins/report_tests_gtestlike_stdout/config/report_tests_gtestlike_stdout.yml +11 -0
  329. data/plugins/report_tests_gtestlike_stdout/lib/report_tests_gtestlike_stdout.rb +69 -0
  330. data/plugins/report_tests_ide_stdout/README.md +62 -0
  331. data/plugins/report_tests_ide_stdout/config/report_tests_ide_stdout.yml +11 -0
  332. data/plugins/report_tests_ide_stdout/lib/report_tests_ide_stdout.rb +72 -0
  333. data/plugins/report_tests_log_factory/README.md +446 -0
  334. data/plugins/report_tests_log_factory/config/defaults.yml +11 -0
  335. data/plugins/report_tests_log_factory/lib/cppunit_tests_reporter.rb +100 -0
  336. data/plugins/report_tests_log_factory/lib/html_tests_reporter.rb +181 -0
  337. data/plugins/report_tests_log_factory/lib/json_tests_reporter.rb +72 -0
  338. data/plugins/report_tests_log_factory/lib/junit_tests_reporter.rb +197 -0
  339. data/plugins/report_tests_log_factory/lib/report_tests_log_factory.rb +135 -0
  340. data/plugins/report_tests_log_factory/lib/tests_reporter.rb +70 -0
  341. data/plugins/report_tests_log_factory/sample_html_report.png +0 -0
  342. data/plugins/report_tests_pretty_stdout/README.md +54 -0
  343. data/plugins/{stdout_pretty_tests_report → report_tests_pretty_stdout}/assets/template.erb +13 -9
  344. data/plugins/report_tests_pretty_stdout/config/report_tests_pretty_stdout.yml +11 -0
  345. data/plugins/report_tests_pretty_stdout/lib/report_tests_pretty_stdout.rb +73 -0
  346. data/plugins/report_tests_raw_output_log/README.md +50 -0
  347. data/plugins/report_tests_raw_output_log/lib/report_tests_raw_output_log.rb +129 -0
  348. data/plugins/report_tests_teamcity_stdout/README.md +94 -0
  349. data/plugins/report_tests_teamcity_stdout/config/defaults.yml +12 -0
  350. data/plugins/report_tests_teamcity_stdout/config/report_tests_teamcity_stdout.yml +11 -0
  351. data/plugins/report_tests_teamcity_stdout/lib/report_tests_teamcity_stdout.rb +163 -0
  352. data/spec/config_walkinator_spec.rb +62 -0
  353. data/spec/configurator_builder_spec.rb +9 -0
  354. data/spec/configurator_helper_spec.rb +7 -0
  355. data/spec/configurator_spec.rb +8 -0
  356. data/spec/file_finder_helper_spec.rb +30 -10
  357. data/spec/gcov/gcov_deployment_spec.rb +82 -20
  358. data/spec/gcov/gcov_test_cases_spec.rb +211 -64
  359. data/spec/generator_test_results_sanity_checker_spec.rb +26 -10
  360. data/spec/generator_test_results_spec.rb +44 -20
  361. data/spec/manual/stress_test.rb +31 -0
  362. data/spec/parsing_parcels_spec.rb +66 -0
  363. data/spec/preprocessinator_extractor_spec.rb +379 -52
  364. data/spec/preprocessinator_includes_handler_spec.rb +268 -262
  365. data/spec/reportinator_spec.rb +7 -0
  366. data/spec/spec_helper.rb +8 -3
  367. data/spec/spec_system_helper.rb +504 -185
  368. data/spec/support/other_target.yml +7 -0
  369. data/spec/support/target.yml +7 -0
  370. data/spec/support/test_example.fail +3 -2
  371. data/spec/support/test_example.pass +3 -2
  372. data/spec/support/test_example_empty.pass +3 -2
  373. data/spec/support/test_example_ignore.pass +3 -2
  374. data/spec/support/test_example_mangled.pass +3 -2
  375. data/spec/support/test_example_with_time.pass +3 -2
  376. data/spec/system/deployment_as_gem_spec.rb +76 -0
  377. data/spec/system/deployment_as_vendor_spec.rb +123 -0
  378. data/spec/system/example_temp_sensor_spec.rb +264 -0
  379. data/spec/system/upgrade_as_vendor_spec.rb +68 -0
  380. data/spec/system_utils_spec.rb +15 -6
  381. data/spec/test_context_extractor_spec.rb +328 -0
  382. data/spec/tool_executor_helper_spec.rb +116 -207
  383. data/spec/uncategorized_specs_spec.rb +15 -0
  384. data/vendor/c_exception/README.md +1 -12
  385. data/vendor/c_exception/docs/CException.md +4 -47
  386. data/vendor/c_exception/docs/CODE_OF_CONDUCT.md +138 -0
  387. data/vendor/c_exception/docs/CONTRIBUTING.md +238 -0
  388. data/vendor/c_exception/lib/CException.c +13 -0
  389. data/vendor/c_exception/lib/CException.h +8 -1
  390. data/vendor/c_exception/license.txt +22 -0
  391. data/vendor/c_exception/project.yml +232 -6
  392. data/vendor/c_exception/test/TestException.c +10 -3
  393. data/vendor/c_exception/test/support/CExceptionConfig.h +7 -0
  394. data/vendor/cmock/Gemfile +0 -7
  395. data/vendor/cmock/LICENSE.txt +3 -1
  396. data/vendor/cmock/README.md +27 -11
  397. data/vendor/cmock/cmock.gemspec +34 -0
  398. data/vendor/cmock/config/production_environment.rb +7 -6
  399. data/vendor/cmock/config/test_environment.rb +7 -6
  400. data/vendor/cmock/docs/CMockChangeLog.md +166 -0
  401. data/vendor/cmock/docs/CMockKnownIssues.md +13 -0
  402. data/vendor/cmock/docs/CMock_ArgumentValidation.md +274 -0
  403. data/vendor/cmock/docs/CMock_Summary.md +43 -8
  404. data/vendor/cmock/docs/CODE_OF_CONDUCT.md +138 -0
  405. data/vendor/cmock/docs/CONTRIBUTING.md +238 -0
  406. data/vendor/cmock/examples/make_example/Makefile +1 -1
  407. data/vendor/cmock/examples/make_example/src/foo.c +7 -0
  408. data/vendor/cmock/examples/make_example/src/foo.h +7 -0
  409. data/vendor/cmock/examples/make_example/src/main.c +7 -0
  410. data/vendor/cmock/examples/make_example/test/test_foo.c +8 -1
  411. data/vendor/cmock/examples/make_example/test/test_main.c +7 -0
  412. data/vendor/cmock/examples/temp_sensor/rakefile.rb +8 -1
  413. data/vendor/cmock/examples/temp_sensor/rakefile_helper.rb +33 -21
  414. data/vendor/cmock/examples/temp_sensor/src/AT91SAM7X256.h +20 -12
  415. data/vendor/cmock/examples/temp_sensor/src/AdcConductor.c +7 -0
  416. data/vendor/cmock/examples/temp_sensor/src/AdcConductor.h +7 -0
  417. data/vendor/cmock/examples/temp_sensor/src/AdcHardware.c +7 -0
  418. data/vendor/cmock/examples/temp_sensor/src/AdcHardware.h +7 -0
  419. data/vendor/cmock/examples/temp_sensor/src/AdcHardwareConfigurator.c +7 -0
  420. data/vendor/cmock/examples/temp_sensor/src/AdcHardwareConfigurator.h +7 -0
  421. data/vendor/cmock/examples/temp_sensor/src/AdcModel.c +7 -0
  422. data/vendor/cmock/examples/temp_sensor/src/AdcModel.h +7 -0
  423. data/vendor/cmock/examples/temp_sensor/src/AdcTemperatureSensor.c +7 -0
  424. data/vendor/cmock/examples/temp_sensor/src/AdcTemperatureSensor.h +7 -0
  425. data/vendor/cmock/examples/temp_sensor/src/Executor.c +7 -0
  426. data/vendor/cmock/examples/temp_sensor/src/Executor.h +7 -0
  427. data/vendor/cmock/examples/temp_sensor/src/IntrinsicsWrapper.c +7 -0
  428. data/vendor/cmock/examples/temp_sensor/src/IntrinsicsWrapper.h +7 -0
  429. data/vendor/cmock/examples/temp_sensor/src/Main.c +7 -0
  430. data/vendor/cmock/examples/temp_sensor/src/Main.h +7 -0
  431. data/vendor/cmock/examples/temp_sensor/src/Model.c +7 -0
  432. data/vendor/cmock/examples/temp_sensor/src/Model.h +7 -0
  433. data/vendor/cmock/examples/temp_sensor/src/ModelConfig.h +7 -0
  434. data/vendor/cmock/examples/temp_sensor/src/TaskScheduler.c +7 -0
  435. data/vendor/cmock/examples/temp_sensor/src/TaskScheduler.h +7 -0
  436. data/vendor/cmock/examples/temp_sensor/src/TemperatureCalculator.c +7 -0
  437. data/vendor/cmock/examples/temp_sensor/src/TemperatureCalculator.h +7 -0
  438. data/vendor/cmock/examples/temp_sensor/src/TemperatureFilter.c +15 -5
  439. data/vendor/cmock/examples/temp_sensor/src/TemperatureFilter.h +7 -0
  440. data/vendor/cmock/examples/temp_sensor/src/TimerConductor.c +7 -0
  441. data/vendor/cmock/examples/temp_sensor/src/TimerConductor.h +7 -0
  442. data/vendor/cmock/examples/temp_sensor/src/TimerConfigurator.c +7 -0
  443. data/vendor/cmock/examples/temp_sensor/src/TimerConfigurator.h +7 -0
  444. data/vendor/cmock/examples/temp_sensor/src/TimerHardware.c +7 -0
  445. data/vendor/cmock/examples/temp_sensor/src/TimerHardware.h +7 -0
  446. data/vendor/cmock/examples/temp_sensor/src/TimerInterruptConfigurator.c +8 -1
  447. data/vendor/cmock/examples/temp_sensor/src/TimerInterruptConfigurator.h +7 -0
  448. data/vendor/cmock/examples/temp_sensor/src/TimerInterruptHandler.c +7 -0
  449. data/vendor/cmock/examples/temp_sensor/src/TimerInterruptHandler.h +7 -0
  450. data/vendor/cmock/examples/temp_sensor/src/TimerModel.c +7 -0
  451. data/vendor/cmock/examples/temp_sensor/src/TimerModel.h +7 -0
  452. data/vendor/cmock/examples/temp_sensor/src/Types.h +7 -0
  453. data/vendor/cmock/examples/temp_sensor/src/UsartBaudRateRegisterCalculator.c +7 -0
  454. data/vendor/cmock/examples/temp_sensor/src/UsartBaudRateRegisterCalculator.h +7 -0
  455. data/vendor/cmock/examples/temp_sensor/src/UsartConductor.c +7 -0
  456. data/vendor/cmock/examples/temp_sensor/src/UsartConductor.h +7 -0
  457. data/vendor/cmock/examples/temp_sensor/src/UsartConfigurator.c +7 -0
  458. data/vendor/cmock/examples/temp_sensor/src/UsartConfigurator.h +7 -0
  459. data/vendor/cmock/examples/temp_sensor/src/UsartHardware.c +7 -0
  460. data/vendor/cmock/examples/temp_sensor/src/UsartHardware.h +7 -0
  461. data/vendor/cmock/examples/temp_sensor/src/UsartModel.c +7 -0
  462. data/vendor/cmock/examples/temp_sensor/src/UsartModel.h +7 -0
  463. data/vendor/cmock/examples/temp_sensor/src/UsartPutChar.c +7 -0
  464. data/vendor/cmock/examples/temp_sensor/src/UsartPutChar.h +7 -0
  465. data/vendor/cmock/examples/temp_sensor/src/UsartTransmitBufferStatus.c +7 -0
  466. data/vendor/cmock/examples/temp_sensor/src/UsartTransmitBufferStatus.h +7 -0
  467. data/vendor/cmock/examples/temp_sensor/targets/gcc.yml +97 -0
  468. data/vendor/cmock/examples/temp_sensor/targets/iar_v4.yml +143 -0
  469. data/vendor/cmock/examples/temp_sensor/targets/iar_v5.yml +132 -0
  470. data/vendor/cmock/examples/temp_sensor/test/TestAdcConductor.c +7 -0
  471. data/vendor/cmock/examples/temp_sensor/test/TestAdcHardware.c +7 -0
  472. data/vendor/cmock/examples/temp_sensor/test/TestAdcHardwareConfigurator.c +7 -0
  473. data/vendor/cmock/examples/temp_sensor/test/TestAdcModel.c +7 -0
  474. data/vendor/cmock/examples/temp_sensor/test/TestAdcTemperatureSensor.c +7 -0
  475. data/vendor/cmock/examples/temp_sensor/test/TestExecutor.c +7 -0
  476. data/vendor/cmock/examples/temp_sensor/test/TestMain.c +7 -0
  477. data/vendor/cmock/examples/temp_sensor/test/TestModel.c +7 -0
  478. data/vendor/cmock/examples/temp_sensor/test/TestTaskScheduler.c +7 -0
  479. data/vendor/cmock/examples/temp_sensor/test/TestTemperatureCalculator.c +7 -0
  480. data/vendor/cmock/examples/temp_sensor/test/TestTemperatureFilter.c +7 -0
  481. data/vendor/cmock/examples/temp_sensor/test/TestTimerConductor.c +7 -0
  482. data/vendor/cmock/examples/temp_sensor/test/TestTimerConfigurator.c +7 -0
  483. data/vendor/cmock/examples/temp_sensor/test/TestTimerHardware.c +7 -0
  484. data/vendor/cmock/examples/temp_sensor/test/TestTimerInterruptConfigurator.c +9 -2
  485. data/vendor/cmock/examples/temp_sensor/test/TestTimerInterruptHandler.c +7 -0
  486. data/vendor/cmock/examples/temp_sensor/test/TestTimerModel.c +7 -0
  487. data/vendor/cmock/examples/temp_sensor/test/TestUsartBaudRateRegisterCalculator.c +7 -0
  488. data/vendor/cmock/examples/temp_sensor/test/TestUsartConductor.c +7 -0
  489. data/vendor/cmock/examples/temp_sensor/test/TestUsartConfigurator.c +7 -0
  490. data/vendor/cmock/examples/temp_sensor/test/TestUsartHardware.c +7 -0
  491. data/vendor/cmock/examples/temp_sensor/test/TestUsartModel.c +7 -0
  492. data/vendor/cmock/examples/temp_sensor/test/TestUsartPutChar.c +7 -0
  493. data/vendor/cmock/examples/temp_sensor/test/TestUsartTransmitBufferStatus.c +7 -0
  494. data/vendor/cmock/lib/cmock.rb +27 -11
  495. data/vendor/cmock/lib/cmock_config.rb +22 -12
  496. data/vendor/cmock/lib/cmock_file_writer.rb +10 -9
  497. data/vendor/cmock/lib/cmock_generator.rb +29 -18
  498. data/vendor/cmock/lib/cmock_generator_plugin_array.rb +15 -10
  499. data/vendor/cmock/lib/cmock_generator_plugin_callback.rb +7 -7
  500. data/vendor/cmock/lib/cmock_generator_plugin_cexception.rb +7 -7
  501. data/vendor/cmock/lib/cmock_generator_plugin_expect.rb +14 -9
  502. data/vendor/cmock/lib/cmock_generator_plugin_expect_any_args.rb +11 -9
  503. data/vendor/cmock/lib/cmock_generator_plugin_ignore.rb +10 -8
  504. data/vendor/cmock/lib/cmock_generator_plugin_ignore_arg.rb +7 -0
  505. data/vendor/cmock/lib/cmock_generator_plugin_ignore_stateless.rb +10 -8
  506. data/vendor/cmock/lib/cmock_generator_plugin_return_thru_ptr.rb +31 -8
  507. data/vendor/cmock/lib/cmock_generator_utils.rb +11 -10
  508. data/vendor/cmock/lib/cmock_header_parser.rb +43 -37
  509. data/vendor/cmock/lib/cmock_plugin_manager.rb +8 -7
  510. data/vendor/cmock/lib/cmock_unityhelper_parser.rb +13 -8
  511. data/vendor/cmock/lib/cmock_version.rb +29 -0
  512. data/vendor/cmock/scripts/create_makefile.rb +13 -6
  513. data/vendor/cmock/scripts/create_mock.rb +7 -0
  514. data/vendor/cmock/scripts/create_runner.rb +7 -0
  515. data/vendor/cmock/scripts/test_summary.rb +7 -0
  516. data/vendor/cmock/src/cmock.c +24 -2
  517. data/vendor/cmock/src/cmock.h +9 -2
  518. data/vendor/cmock/src/cmock_internals.h +7 -0
  519. data/vendor/cmock/test/c/TestCMockC.c +8 -1
  520. data/vendor/cmock/test/c/TestCMockC.yml +7 -0
  521. data/vendor/cmock/test/c/TestCMockCDynamic.c +7 -0
  522. data/vendor/cmock/test/c/TestCMockCDynamic.yml +7 -0
  523. data/vendor/cmock/test/c/TestCMockCDynamic_Runner.c +7 -0
  524. data/vendor/cmock/test/c/TestCMockC_Runner.c +7 -0
  525. data/vendor/cmock/test/iar/iar_v4/incIAR/AT91SAM7X-EK.h +7 -0
  526. data/vendor/cmock/test/iar/iar_v4/incIAR/AT91SAM7X256_inc.h +7 -0
  527. data/vendor/cmock/test/iar/iar_v4/incIAR/ioat91sam7x256.h +7 -0
  528. data/vendor/cmock/test/iar/iar_v4/srcIAR/Cstartup_SAM7.c +7 -0
  529. data/vendor/cmock/test/iar/iar_v5/incIAR/AT91SAM7X-EK.h +7 -0
  530. data/vendor/cmock/test/iar/iar_v5/incIAR/AT91SAM7X256_inc.h +7 -0
  531. data/vendor/cmock/test/iar/iar_v5/incIAR/project.h +7 -0
  532. data/vendor/cmock/test/iar/iar_v5/srcIAR/Cstartup_SAM7.c +7 -0
  533. data/vendor/cmock/test/rakefile +6 -3
  534. data/vendor/cmock/test/rakefile_helper.rb +25 -11
  535. data/vendor/cmock/test/system/systest_generator.rb +6 -5
  536. data/vendor/cmock/test/system/test_compilation/callingconv.h +7 -0
  537. data/vendor/cmock/test/system/test_compilation/config.yml +7 -0
  538. data/vendor/cmock/test/system/test_compilation/const.h +7 -0
  539. data/vendor/cmock/test/system/test_compilation/inline.h +7 -0
  540. data/vendor/cmock/test/system/test_compilation/osek.h +8 -1
  541. data/vendor/cmock/test/system/test_compilation/parsing.h +12 -2
  542. data/vendor/cmock/test/system/test_interactions/all_plugins_but_other_limits.yml +7 -0
  543. data/vendor/cmock/test/system/test_interactions/all_plugins_coexist.yml +7 -0
  544. data/vendor/cmock/test/system/test_interactions/array_and_pointer_handling.yml +7 -0
  545. data/vendor/cmock/test/system/test_interactions/basic_expect_and_return.yml +7 -0
  546. data/vendor/cmock/test/system/test_interactions/const_primitives_handling.yml +7 -0
  547. data/vendor/cmock/test/system/test_interactions/doesnt_leave_details_behind.yml +7 -0
  548. data/vendor/cmock/test/system/test_interactions/enforce_strict_ordering.yml +7 -0
  549. data/vendor/cmock/test/system/test_interactions/expect_and_return_custom_types.yml +7 -0
  550. data/vendor/cmock/test/system/test_interactions/expect_and_return_treat_as.yml +7 -0
  551. data/vendor/cmock/test/system/test_interactions/expect_and_throw.yml +7 -0
  552. data/vendor/cmock/test/system/test_interactions/expect_any_args.yml +7 -0
  553. data/vendor/cmock/test/system/test_interactions/fancy_pointer_handling.yml +7 -0
  554. data/vendor/cmock/test/system/test_interactions/function_pointer_handling.yml +7 -0
  555. data/vendor/cmock/test/system/test_interactions/ignore_and_return.yml +7 -0
  556. data/vendor/cmock/test/system/test_interactions/ignore_and_return_stateless.yml +7 -0
  557. data/vendor/cmock/test/system/test_interactions/ignore_strict_mock_calling.yml +7 -0
  558. data/vendor/cmock/test/system/test_interactions/newer_standards_stuff1.yml +7 -0
  559. data/vendor/cmock/test/system/test_interactions/nonstandard_parsed_stuff_1.yml +7 -0
  560. data/vendor/cmock/test/system/test_interactions/nonstandard_parsed_stuff_2.yml +7 -0
  561. data/vendor/cmock/test/system/test_interactions/out_of_memory.yml +7 -0
  562. data/vendor/cmock/test/system/test_interactions/parsing_challenges.yml +7 -0
  563. data/vendor/cmock/test/system/test_interactions/return_thru_ptr_and_expect_any_args.yml +7 -0
  564. data/vendor/cmock/test/system/test_interactions/return_thru_ptr_ignore_arg.yml +7 -0
  565. data/vendor/cmock/test/system/test_interactions/skeleton.yml +7 -0
  566. data/vendor/cmock/test/system/test_interactions/skeleton_update.yml +8 -1
  567. data/vendor/cmock/test/system/test_interactions/struct_union_enum_expect_and_return.yml +7 -0
  568. data/vendor/cmock/test/system/test_interactions/struct_union_enum_expect_and_return_with_plugins.yml +7 -0
  569. data/vendor/cmock/test/system/test_interactions/stubs_with_callbacks.yml +7 -0
  570. data/vendor/cmock/test/system/test_interactions/unity_64bit_support.yml +7 -0
  571. data/vendor/cmock/test/system/test_interactions/unity_ignores.yml +7 -0
  572. data/vendor/cmock/test/system/test_interactions/unity_void_pointer_compare.yml +7 -0
  573. data/vendor/cmock/test/system/test_interactions/wrong_expect_and_return.yml +149 -0
  574. data/vendor/cmock/test/targets/clang_strict.yml +7 -0
  575. data/vendor/cmock/test/targets/gcc.yml +7 -0
  576. data/vendor/cmock/test/targets/gcc_64.yml +7 -0
  577. data/vendor/cmock/test/targets/gcc_tiny.yml +7 -0
  578. data/vendor/cmock/test/targets/iar_arm_v4.yml +7 -0
  579. data/vendor/cmock/test/targets/iar_arm_v5.yml +7 -0
  580. data/vendor/cmock/test/test_helper.rb +6 -5
  581. data/vendor/cmock/test/unit/cmock_config_test.rb +6 -5
  582. data/vendor/cmock/test/unit/cmock_config_test.yml +7 -0
  583. data/vendor/cmock/test/unit/cmock_file_writer_test.rb +6 -5
  584. data/vendor/cmock/test/unit/cmock_generator_main_test.rb +29 -17
  585. data/vendor/cmock/test/unit/cmock_generator_plugin_array_test.rb +12 -8
  586. data/vendor/cmock/test/unit/cmock_generator_plugin_callback_test.rb +6 -5
  587. data/vendor/cmock/test/unit/cmock_generator_plugin_cexception_test.rb +6 -5
  588. data/vendor/cmock/test/unit/cmock_generator_plugin_expect_a_test.rb +12 -8
  589. data/vendor/cmock/test/unit/cmock_generator_plugin_expect_any_args_test.rb +11 -7
  590. data/vendor/cmock/test/unit/cmock_generator_plugin_expect_b_test.rb +12 -8
  591. data/vendor/cmock/test/unit/cmock_generator_plugin_ignore_arg_test.rb +6 -5
  592. data/vendor/cmock/test/unit/cmock_generator_plugin_ignore_stateless_test.rb +13 -8
  593. data/vendor/cmock/test/unit/cmock_generator_plugin_ignore_test.rb +13 -8
  594. data/vendor/cmock/test/unit/cmock_generator_plugin_return_thru_ptr_test.rb +87 -14
  595. data/vendor/cmock/test/unit/cmock_generator_utils_test.rb +6 -5
  596. data/vendor/cmock/test/unit/cmock_header_parser_test.rb +54 -17
  597. data/vendor/cmock/test/unit/cmock_plugin_manager_test.rb +6 -5
  598. data/vendor/cmock/test/unit/cmock_unityhelper_parser_test.rb +6 -5
  599. data/vendor/cmock/vendor/c_exception/README.md +4 -17
  600. data/vendor/cmock/vendor/c_exception/docs/CException.md +5 -48
  601. data/vendor/cmock/vendor/c_exception/docs/CODE_OF_CONDUCT.md +138 -0
  602. data/vendor/cmock/vendor/c_exception/docs/CONTRIBUTING.md +238 -0
  603. data/vendor/cmock/vendor/c_exception/lib/CException.c +13 -0
  604. data/vendor/cmock/vendor/c_exception/lib/CException.h +8 -1
  605. data/vendor/cmock/vendor/c_exception/lib/meson.build +2 -2
  606. data/vendor/cmock/vendor/c_exception/license.txt +22 -0
  607. data/vendor/cmock/vendor/c_exception/meson.build +2 -36
  608. data/vendor/cmock/vendor/c_exception/project.yml +232 -6
  609. data/vendor/cmock/vendor/c_exception/test/TestException.c +10 -3
  610. data/vendor/cmock/vendor/c_exception/test/support/CExceptionConfig.h +7 -0
  611. data/vendor/cmock/vendor/unity/CMakeLists.txt +46 -33
  612. data/vendor/cmock/vendor/unity/LICENSE.txt +1 -1
  613. data/vendor/cmock/vendor/unity/README.md +33 -5
  614. data/vendor/cmock/vendor/unity/auto/__init__.py +7 -0
  615. data/vendor/cmock/vendor/unity/auto/colour_prompt.rb +6 -5
  616. data/vendor/cmock/vendor/unity/auto/colour_reporter.rb +7 -6
  617. data/vendor/cmock/vendor/unity/auto/extract_version.py +22 -0
  618. data/vendor/cmock/vendor/unity/auto/generate_config.yml +7 -0
  619. data/vendor/cmock/vendor/unity/auto/generate_module.rb +32 -27
  620. data/vendor/cmock/vendor/unity/auto/generate_test_runner.rb +71 -35
  621. data/vendor/cmock/vendor/unity/auto/parse_output.rb +90 -22
  622. data/vendor/cmock/vendor/unity/auto/run_test.erb +2 -2
  623. data/vendor/cmock/vendor/unity/auto/{unity_to_junit.py → stylize_as_junit.py} +54 -39
  624. data/vendor/cmock/vendor/unity/auto/stylize_as_junit.rb +8 -6
  625. data/vendor/cmock/vendor/unity/auto/test_file_filter.rb +11 -8
  626. data/vendor/cmock/vendor/unity/auto/type_sanitizer.rb +8 -1
  627. data/vendor/cmock/vendor/unity/auto/unity_test_summary.py +7 -6
  628. data/vendor/cmock/vendor/unity/auto/unity_test_summary.rb +13 -8
  629. data/vendor/cmock/vendor/unity/auto/yaml_helper.rb +23 -0
  630. data/vendor/cmock/vendor/unity/docs/CODE_OF_CONDUCT.md +138 -0
  631. data/vendor/cmock/vendor/unity/docs/CONTRIBUTING.md +238 -0
  632. data/vendor/cmock/vendor/unity/docs/MesonGeneratorRunner.md +18 -0
  633. data/vendor/cmock/vendor/unity/docs/UnityAssertionsReference.md +133 -60
  634. data/vendor/cmock/vendor/unity/docs/UnityChangeLog.md +110 -0
  635. data/vendor/cmock/vendor/unity/docs/UnityConfigurationGuide.md +151 -2
  636. data/vendor/cmock/vendor/unity/docs/UnityHelperScriptsGuide.md +289 -1
  637. data/vendor/cmock/vendor/unity/docs/UnityKnownIssues.md +13 -0
  638. data/vendor/cmock/vendor/unity/examples/example_1/makefile +6 -5
  639. data/vendor/cmock/vendor/unity/examples/example_1/meson.build +48 -0
  640. data/vendor/cmock/vendor/unity/examples/example_1/readme.txt +8 -1
  641. data/vendor/cmock/vendor/unity/examples/example_1/src/ProductionCode.c +6 -0
  642. data/vendor/cmock/vendor/unity/examples/example_1/src/ProductionCode.h +6 -0
  643. data/vendor/cmock/vendor/unity/examples/example_1/src/ProductionCode2.c +6 -0
  644. data/vendor/cmock/vendor/unity/examples/example_1/src/ProductionCode2.h +6 -0
  645. data/vendor/cmock/vendor/unity/examples/example_1/subprojects/unity.wrap +3 -0
  646. data/vendor/cmock/vendor/unity/examples/example_1/test/TestProductionCode.c +6 -0
  647. data/vendor/cmock/vendor/unity/examples/example_1/test/TestProductionCode2.c +6 -0
  648. data/vendor/cmock/vendor/unity/examples/example_2/makefile +6 -5
  649. data/vendor/cmock/vendor/unity/examples/example_2/src/ProductionCode.c +6 -0
  650. data/vendor/cmock/vendor/unity/examples/example_2/src/ProductionCode.h +6 -0
  651. data/vendor/cmock/vendor/unity/examples/example_2/src/ProductionCode2.c +6 -0
  652. data/vendor/cmock/vendor/unity/examples/example_2/src/ProductionCode2.h +6 -0
  653. data/vendor/cmock/vendor/unity/examples/example_2/test/TestProductionCode.c +7 -0
  654. data/vendor/cmock/vendor/unity/examples/example_2/test/TestProductionCode2.c +7 -0
  655. data/vendor/cmock/vendor/unity/examples/example_2/test/test_runners/TestProductionCode2_Runner.c +7 -0
  656. data/vendor/cmock/vendor/unity/examples/example_2/test/test_runners/TestProductionCode_Runner.c +7 -0
  657. data/vendor/cmock/vendor/unity/examples/example_2/test/test_runners/all_tests.c +7 -0
  658. data/vendor/cmock/vendor/unity/examples/example_3/helper/UnityHelper.c +7 -0
  659. data/vendor/cmock/vendor/unity/examples/example_3/helper/UnityHelper.h +7 -0
  660. data/vendor/cmock/vendor/unity/examples/example_3/rakefile.rb +7 -0
  661. data/vendor/cmock/vendor/unity/examples/example_3/rakefile_helper.rb +26 -21
  662. data/vendor/cmock/vendor/unity/examples/example_3/src/ProductionCode.c +6 -0
  663. data/vendor/cmock/vendor/unity/examples/example_3/src/ProductionCode.h +6 -0
  664. data/vendor/cmock/vendor/unity/examples/example_3/src/ProductionCode2.c +6 -0
  665. data/vendor/cmock/vendor/unity/examples/example_3/src/ProductionCode2.h +6 -0
  666. data/vendor/cmock/vendor/unity/examples/example_3/target_gcc_32.yml +7 -0
  667. data/vendor/cmock/vendor/unity/examples/example_3/test/TestProductionCode.c +6 -0
  668. data/vendor/cmock/vendor/unity/examples/example_3/test/TestProductionCode2.c +6 -0
  669. data/vendor/cmock/vendor/unity/examples/example_4/meson.build +2 -2
  670. data/vendor/cmock/vendor/unity/examples/example_4/src/ProductionCode.c +6 -0
  671. data/vendor/cmock/vendor/unity/examples/example_4/src/ProductionCode.h +6 -0
  672. data/vendor/cmock/vendor/unity/examples/example_4/src/ProductionCode2.c +6 -0
  673. data/vendor/cmock/vendor/unity/examples/example_4/src/ProductionCode2.h +6 -0
  674. data/vendor/cmock/vendor/unity/examples/example_4/subprojects/unity.wrap +3 -1
  675. data/vendor/cmock/vendor/unity/examples/example_4/test/TestProductionCode.c +6 -0
  676. data/vendor/cmock/vendor/unity/examples/example_4/test/TestProductionCode2.c +6 -0
  677. data/vendor/cmock/vendor/unity/examples/example_4/test/test_runners/meson.build +3 -3
  678. data/vendor/cmock/vendor/unity/examples/unity_config.h +8 -1
  679. data/vendor/cmock/vendor/unity/extras/bdd/readme.md +40 -0
  680. data/vendor/cmock/vendor/unity/extras/bdd/src/unity_bdd.h +44 -0
  681. data/vendor/cmock/vendor/unity/extras/bdd/test/meson.build +9 -0
  682. data/vendor/cmock/vendor/unity/extras/bdd/test/test_bdd.c +129 -0
  683. data/vendor/cmock/vendor/unity/extras/fixture/readme.md +1 -1
  684. data/vendor/cmock/vendor/unity/extras/fixture/src/meson.build +10 -0
  685. data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture.c +6 -6
  686. data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture.h +18 -7
  687. data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture_internals.h +6 -6
  688. data/vendor/cmock/vendor/unity/extras/fixture/test/main/AllTests.c +6 -6
  689. data/vendor/cmock/vendor/unity/extras/fixture/test/template_fixture_tests.c +6 -6
  690. data/vendor/cmock/vendor/unity/extras/fixture/test/unity_fixture_Test.c +6 -6
  691. data/vendor/cmock/vendor/unity/extras/fixture/test/unity_fixture_TestRunner.c +6 -6
  692. data/vendor/cmock/vendor/unity/extras/memory/src/meson.build +9 -0
  693. data/vendor/cmock/vendor/unity/extras/memory/src/unity_memory.c +6 -5
  694. data/vendor/cmock/vendor/unity/extras/memory/src/unity_memory.h +6 -5
  695. data/vendor/cmock/vendor/unity/extras/memory/test/Makefile +7 -0
  696. data/vendor/cmock/vendor/unity/extras/memory/test/unity_memory_Test.c +6 -5
  697. data/vendor/cmock/vendor/unity/extras/memory/test/unity_memory_TestRunner.c +6 -5
  698. data/vendor/cmock/vendor/unity/extras/memory/test/unity_output_Spy.c +6 -5
  699. data/vendor/cmock/vendor/unity/extras/memory/test/unity_output_Spy.h +6 -5
  700. data/vendor/cmock/vendor/unity/library.json +25 -0
  701. data/vendor/cmock/vendor/unity/meson.build +71 -5
  702. data/vendor/cmock/vendor/unity/meson_options.txt +3 -0
  703. data/vendor/cmock/vendor/unity/platformio-build.py +24 -0
  704. data/vendor/cmock/vendor/unity/src/meson.build +11 -5
  705. data/vendor/cmock/vendor/unity/src/unity.c +534 -143
  706. data/vendor/cmock/vendor/unity/src/unity.h +50 -13
  707. data/vendor/cmock/vendor/unity/src/unity_internals.h +188 -58
  708. data/vendor/cmock/vendor/unity/test/Makefile +7 -0
  709. data/vendor/cmock/vendor/unity/test/rakefile +6 -5
  710. data/vendor/cmock/vendor/unity/test/rakefile_helper.rb +9 -8
  711. data/vendor/cmock/vendor/unity/test/spec/generate_module_existing_file_spec.rb +6 -0
  712. data/vendor/cmock/vendor/unity/test/targets/ansi.yml +7 -0
  713. data/vendor/cmock/vendor/unity/test/targets/clang_file.yml +7 -0
  714. data/vendor/cmock/vendor/unity/test/targets/clang_strict.yml +8 -0
  715. data/vendor/cmock/vendor/unity/test/targets/gcc_32.yml +7 -0
  716. data/vendor/cmock/vendor/unity/test/targets/gcc_64.yml +7 -0
  717. data/vendor/cmock/vendor/unity/test/targets/gcc_auto_limits.yml +7 -0
  718. data/vendor/cmock/vendor/unity/test/targets/gcc_auto_stdint.yml +7 -0
  719. data/vendor/cmock/vendor/unity/test/targets/gcc_manual_math.yml +7 -0
  720. data/vendor/cmock/vendor/unity/test/targets/hitech_picc18.yml +7 -0
  721. data/vendor/cmock/vendor/unity/test/targets/iar_arm_v4.yml +7 -0
  722. data/vendor/cmock/vendor/unity/test/targets/iar_arm_v5.yml +7 -0
  723. data/vendor/cmock/vendor/unity/test/targets/iar_arm_v5_3.yml +7 -0
  724. data/vendor/cmock/vendor/unity/test/targets/iar_armcortex_LM3S9B92_v5_4.yml +7 -0
  725. data/vendor/cmock/vendor/unity/test/targets/iar_cortexm3_v5.yml +7 -0
  726. data/vendor/cmock/vendor/unity/test/targets/iar_msp430.yml +7 -0
  727. data/vendor/cmock/vendor/unity/test/targets/iar_sh2a_v6.yml +7 -0
  728. data/vendor/cmock/vendor/unity/test/testdata/CException.h +7 -0
  729. data/vendor/cmock/vendor/unity/test/testdata/Defs.h +8 -0
  730. data/vendor/cmock/vendor/unity/test/testdata/cmock.h +7 -0
  731. data/vendor/cmock/vendor/unity/test/testdata/mockMock.h +7 -0
  732. data/vendor/cmock/vendor/unity/test/testdata/testRunnerGenerator.c +18 -3
  733. data/vendor/cmock/vendor/unity/test/testdata/testRunnerGeneratorSmall.c +8 -5
  734. data/vendor/cmock/vendor/unity/test/testdata/testRunnerGeneratorWithMocks.c +7 -4
  735. data/vendor/cmock/vendor/unity/test/tests/self_assessment_utils.h +12 -5
  736. data/vendor/cmock/vendor/unity/test/tests/test_generate_test_runner.rb +107 -26
  737. data/vendor/cmock/vendor/unity/test/tests/test_unity_arrays.c +73 -6
  738. data/vendor/cmock/vendor/unity/test/tests/test_unity_core.c +12 -8
  739. data/vendor/cmock/vendor/unity/test/tests/test_unity_doubles.c +517 -5
  740. data/vendor/cmock/vendor/unity/test/tests/test_unity_floats.c +516 -5
  741. data/vendor/cmock/vendor/unity/test/tests/test_unity_integers.c +21 -5
  742. data/vendor/cmock/vendor/unity/test/tests/test_unity_integers_64.c +16 -6
  743. data/vendor/cmock/vendor/unity/test/tests/test_unity_memory.c +6 -5
  744. data/vendor/cmock/vendor/unity/test/tests/test_unity_parameterized.c +146 -8
  745. data/vendor/cmock/vendor/unity/test/tests/test_unity_parameterizedDemo.c +28 -0
  746. data/vendor/cmock/vendor/unity/test/tests/test_unity_strings.c +6 -5
  747. data/vendor/cmock/vendor/unity/test/tests/types_for_test.h +21 -0
  748. data/vendor/diy/LICENSE.txt +7 -0
  749. data/vendor/diy/README.rdoc +21 -39
  750. data/vendor/diy/lib/diy/factory.rb +8 -0
  751. data/vendor/diy/lib/diy.rb +8 -0
  752. data/vendor/diy/sample_code/car.rb +8 -0
  753. data/vendor/diy/sample_code/chassis.rb +8 -0
  754. data/vendor/diy/sample_code/diy_example.rb +8 -0
  755. data/vendor/diy/sample_code/engine.rb +8 -0
  756. data/vendor/diy/sample_code/objects.yml +8 -0
  757. data/vendor/diy/test/constructor.rb +8 -0
  758. data/vendor/diy/test/diy_test.rb +8 -0
  759. data/vendor/diy/test/factory_test.rb +8 -0
  760. data/vendor/diy/test/files/broken_construction.yml +8 -0
  761. data/vendor/diy/test/files/cat/cat.rb +8 -0
  762. data/vendor/diy/test/files/cat/extra_conflict.yml +8 -0
  763. data/vendor/diy/test/files/cat/heritage.rb +8 -0
  764. data/vendor/diy/test/files/cat/needs_input.yml +8 -0
  765. data/vendor/diy/test/files/cat/the_cat_lineage.rb +8 -0
  766. data/vendor/diy/test/files/dog/dog_model.rb +8 -0
  767. data/vendor/diy/test/files/dog/dog_presenter.rb +8 -0
  768. data/vendor/diy/test/files/dog/dog_view.rb +8 -0
  769. data/vendor/diy/test/files/dog/file_resolver.rb +8 -0
  770. data/vendor/diy/test/files/dog/other_thing.rb +8 -0
  771. data/vendor/diy/test/files/dog/simple.yml +8 -0
  772. data/vendor/diy/test/files/donkey/foo/bar/qux.rb +8 -0
  773. data/vendor/diy/test/files/donkey/foo.rb +8 -0
  774. data/vendor/diy/test/files/factory/beef.rb +8 -0
  775. data/vendor/diy/test/files/factory/dog.rb +8 -0
  776. data/vendor/diy/test/files/factory/factory.yml +8 -0
  777. data/vendor/diy/test/files/factory/farm/llama.rb +8 -0
  778. data/vendor/diy/test/files/factory/farm/pork.rb +8 -0
  779. data/vendor/diy/test/files/factory/kitten.rb +8 -0
  780. data/vendor/diy/test/files/fud/objects.yml +8 -0
  781. data/vendor/diy/test/files/fud/toy.rb +8 -0
  782. data/vendor/diy/test/files/functions/attached_things_builder.rb +8 -0
  783. data/vendor/diy/test/files/functions/invalid_method.yml +8 -0
  784. data/vendor/diy/test/files/functions/method_extractor.rb +8 -0
  785. data/vendor/diy/test/files/functions/nonsingleton_objects.yml +8 -0
  786. data/vendor/diy/test/files/functions/objects.yml +8 -0
  787. data/vendor/diy/test/files/functions/thing.rb +8 -0
  788. data/vendor/diy/test/files/functions/thing_builder.rb +8 -0
  789. data/vendor/diy/test/files/functions/things_builder.rb +8 -0
  790. data/vendor/diy/test/files/gnu/objects.yml +8 -0
  791. data/vendor/diy/test/files/gnu/thinger.rb +8 -0
  792. data/vendor/diy/test/files/goat/base.rb +8 -0
  793. data/vendor/diy/test/files/goat/can.rb +8 -0
  794. data/vendor/diy/test/files/goat/goat.rb +8 -0
  795. data/vendor/diy/test/files/goat/objects.yml +8 -0
  796. data/vendor/diy/test/files/goat/paper.rb +8 -0
  797. data/vendor/diy/test/files/goat/plane.rb +8 -0
  798. data/vendor/diy/test/files/goat/shirt.rb +8 -0
  799. data/vendor/diy/test/files/goat/wings.rb +8 -0
  800. data/vendor/diy/test/files/horse/holder_thing.rb +8 -0
  801. data/vendor/diy/test/files/horse/objects.yml +8 -0
  802. data/vendor/diy/test/files/namespace/animal/bird.rb +8 -0
  803. data/vendor/diy/test/files/namespace/animal/cat.rb +8 -0
  804. data/vendor/diy/test/files/namespace/animal/reptile/hardshell/turtle.rb +8 -0
  805. data/vendor/diy/test/files/namespace/animal/reptile/lizard.rb +8 -0
  806. data/vendor/diy/test/files/namespace/bad_module_specified.yml +8 -0
  807. data/vendor/diy/test/files/namespace/class_name_combine.yml +8 -0
  808. data/vendor/diy/test/files/namespace/no_module_specified.yml +8 -0
  809. data/vendor/diy/test/files/namespace/objects.yml +8 -0
  810. data/vendor/diy/test/files/namespace/road.rb +8 -0
  811. data/vendor/diy/test/files/namespace/sky.rb +8 -0
  812. data/vendor/diy/test/files/namespace/subcontext.yml +8 -0
  813. data/vendor/diy/test/files/non_singleton/air.rb +8 -0
  814. data/vendor/diy/test/files/non_singleton/fat_cat.rb +8 -0
  815. data/vendor/diy/test/files/non_singleton/objects.yml +8 -0
  816. data/vendor/diy/test/files/non_singleton/pig.rb +8 -0
  817. data/vendor/diy/test/files/non_singleton/thread_spinner.rb +8 -0
  818. data/vendor/diy/test/files/non_singleton/tick.rb +8 -0
  819. data/vendor/diy/test/files/non_singleton/yard.rb +8 -0
  820. data/vendor/diy/test/files/yak/core_model.rb +8 -0
  821. data/vendor/diy/test/files/yak/core_presenter.rb +8 -0
  822. data/vendor/diy/test/files/yak/core_view.rb +8 -0
  823. data/vendor/diy/test/files/yak/data_source.rb +8 -0
  824. data/vendor/diy/test/files/yak/fringe_model.rb +8 -0
  825. data/vendor/diy/test/files/yak/fringe_presenter.rb +8 -0
  826. data/vendor/diy/test/files/yak/fringe_view.rb +8 -0
  827. data/vendor/diy/test/files/yak/giant_squid.rb +8 -0
  828. data/vendor/diy/test/files/yak/krill.rb +8 -0
  829. data/vendor/diy/test/files/yak/my_objects.yml +8 -0
  830. data/vendor/diy/test/files/yak/sub_sub_context_test.yml +8 -0
  831. data/vendor/diy/test/test_helper.rb +8 -0
  832. data/vendor/unity/CMakeLists.txt +46 -33
  833. data/vendor/unity/LICENSE.txt +1 -1
  834. data/vendor/unity/README.md +33 -5
  835. data/vendor/unity/auto/__init__.py +7 -0
  836. data/vendor/unity/auto/colour_prompt.rb +6 -5
  837. data/vendor/unity/auto/colour_reporter.rb +7 -6
  838. data/vendor/unity/auto/extract_version.py +22 -0
  839. data/vendor/unity/auto/generate_config.yml +7 -0
  840. data/vendor/unity/auto/generate_module.rb +32 -27
  841. data/vendor/unity/auto/generate_test_runner.rb +71 -35
  842. data/vendor/unity/auto/parse_output.rb +90 -22
  843. data/vendor/unity/auto/run_test.erb +2 -2
  844. data/vendor/unity/auto/{unity_to_junit.py → stylize_as_junit.py} +54 -39
  845. data/vendor/unity/auto/stylize_as_junit.rb +8 -6
  846. data/vendor/unity/auto/test_file_filter.rb +11 -8
  847. data/vendor/unity/auto/type_sanitizer.rb +8 -1
  848. data/vendor/unity/auto/unity_test_summary.py +7 -6
  849. data/vendor/unity/auto/unity_test_summary.rb +13 -8
  850. data/vendor/unity/auto/yaml_helper.rb +23 -0
  851. data/vendor/unity/docs/CODE_OF_CONDUCT.md +138 -0
  852. data/vendor/unity/docs/CONTRIBUTING.md +238 -0
  853. data/vendor/unity/docs/MesonGeneratorRunner.md +18 -0
  854. data/vendor/unity/docs/UnityAssertionsReference.md +133 -60
  855. data/vendor/unity/docs/UnityChangeLog.md +110 -0
  856. data/vendor/unity/docs/UnityConfigurationGuide.md +151 -2
  857. data/vendor/unity/docs/UnityHelperScriptsGuide.md +289 -1
  858. data/vendor/unity/docs/UnityKnownIssues.md +13 -0
  859. data/vendor/unity/examples/example_1/makefile +6 -5
  860. data/vendor/unity/examples/example_1/meson.build +48 -0
  861. data/vendor/unity/examples/example_1/readme.txt +8 -1
  862. data/vendor/unity/examples/example_1/src/ProductionCode.c +6 -0
  863. data/vendor/unity/examples/example_1/src/ProductionCode.h +6 -0
  864. data/vendor/unity/examples/example_1/src/ProductionCode2.c +6 -0
  865. data/vendor/unity/examples/example_1/src/ProductionCode2.h +6 -0
  866. data/vendor/unity/examples/example_1/subprojects/unity.wrap +3 -0
  867. data/vendor/unity/examples/example_1/test/TestProductionCode.c +6 -0
  868. data/vendor/unity/examples/example_1/test/TestProductionCode2.c +6 -0
  869. data/vendor/unity/examples/example_2/makefile +6 -5
  870. data/vendor/unity/examples/example_2/src/ProductionCode.c +6 -0
  871. data/vendor/unity/examples/example_2/src/ProductionCode.h +6 -0
  872. data/vendor/unity/examples/example_2/src/ProductionCode2.c +6 -0
  873. data/vendor/unity/examples/example_2/src/ProductionCode2.h +6 -0
  874. data/vendor/unity/examples/example_2/test/TestProductionCode.c +7 -0
  875. data/vendor/unity/examples/example_2/test/TestProductionCode2.c +7 -0
  876. data/vendor/unity/examples/example_2/test/test_runners/TestProductionCode2_Runner.c +7 -0
  877. data/vendor/unity/examples/example_2/test/test_runners/TestProductionCode_Runner.c +7 -0
  878. data/vendor/unity/examples/example_2/test/test_runners/all_tests.c +7 -0
  879. data/vendor/unity/examples/example_3/helper/UnityHelper.c +7 -0
  880. data/vendor/unity/examples/example_3/helper/UnityHelper.h +7 -0
  881. data/vendor/unity/examples/example_3/rakefile.rb +7 -0
  882. data/vendor/unity/examples/example_3/rakefile_helper.rb +26 -21
  883. data/vendor/unity/examples/example_3/src/ProductionCode.c +6 -0
  884. data/vendor/unity/examples/example_3/src/ProductionCode.h +6 -0
  885. data/vendor/unity/examples/example_3/src/ProductionCode2.c +6 -0
  886. data/vendor/unity/examples/example_3/src/ProductionCode2.h +6 -0
  887. data/vendor/unity/examples/example_3/target_gcc_32.yml +7 -0
  888. data/vendor/unity/examples/example_3/test/TestProductionCode.c +6 -0
  889. data/vendor/unity/examples/example_3/test/TestProductionCode2.c +6 -0
  890. data/vendor/unity/examples/example_4/meson.build +2 -2
  891. data/vendor/unity/examples/example_4/src/ProductionCode.c +6 -0
  892. data/vendor/unity/examples/example_4/src/ProductionCode.h +6 -0
  893. data/vendor/unity/examples/example_4/src/ProductionCode2.c +6 -0
  894. data/vendor/unity/examples/example_4/src/ProductionCode2.h +6 -0
  895. data/vendor/unity/examples/example_4/subprojects/unity.wrap +3 -1
  896. data/vendor/unity/examples/example_4/test/TestProductionCode.c +6 -0
  897. data/vendor/unity/examples/example_4/test/TestProductionCode2.c +6 -0
  898. data/vendor/unity/examples/example_4/test/test_runners/meson.build +3 -3
  899. data/vendor/unity/examples/unity_config.h +8 -1
  900. data/vendor/unity/extras/bdd/readme.md +40 -0
  901. data/vendor/unity/extras/bdd/src/unity_bdd.h +44 -0
  902. data/vendor/unity/extras/bdd/test/meson.build +9 -0
  903. data/vendor/unity/extras/bdd/test/test_bdd.c +129 -0
  904. data/vendor/unity/extras/fixture/readme.md +1 -1
  905. data/vendor/unity/extras/fixture/src/meson.build +10 -0
  906. data/vendor/unity/extras/fixture/src/unity_fixture.c +6 -6
  907. data/vendor/unity/extras/fixture/src/unity_fixture.h +18 -7
  908. data/vendor/unity/extras/fixture/src/unity_fixture_internals.h +6 -6
  909. data/vendor/unity/extras/fixture/test/main/AllTests.c +6 -6
  910. data/vendor/unity/extras/fixture/test/template_fixture_tests.c +6 -6
  911. data/vendor/unity/extras/fixture/test/unity_fixture_Test.c +6 -6
  912. data/vendor/unity/extras/fixture/test/unity_fixture_TestRunner.c +6 -6
  913. data/vendor/unity/extras/memory/src/meson.build +9 -0
  914. data/vendor/unity/extras/memory/src/unity_memory.c +6 -5
  915. data/vendor/unity/extras/memory/src/unity_memory.h +6 -5
  916. data/vendor/unity/extras/memory/test/Makefile +7 -0
  917. data/vendor/unity/extras/memory/test/unity_memory_Test.c +6 -5
  918. data/vendor/unity/extras/memory/test/unity_memory_TestRunner.c +6 -5
  919. data/vendor/unity/extras/memory/test/unity_output_Spy.c +6 -5
  920. data/vendor/unity/extras/memory/test/unity_output_Spy.h +6 -5
  921. data/vendor/unity/library.json +25 -0
  922. data/vendor/unity/meson.build +71 -5
  923. data/vendor/unity/meson_options.txt +3 -0
  924. data/vendor/unity/platformio-build.py +24 -0
  925. data/vendor/unity/src/meson.build +11 -5
  926. data/vendor/unity/src/unity.c +534 -143
  927. data/vendor/unity/src/unity.h +50 -13
  928. data/vendor/unity/src/unity_internals.h +188 -58
  929. data/vendor/unity/test/Makefile +7 -0
  930. data/vendor/unity/test/rakefile +6 -5
  931. data/vendor/unity/test/rakefile_helper.rb +9 -8
  932. data/vendor/unity/test/spec/generate_module_existing_file_spec.rb +6 -0
  933. data/vendor/unity/test/targets/ansi.yml +7 -0
  934. data/vendor/unity/test/targets/clang_file.yml +7 -0
  935. data/vendor/unity/test/targets/clang_strict.yml +8 -0
  936. data/vendor/unity/test/targets/gcc_32.yml +7 -0
  937. data/vendor/unity/test/targets/gcc_64.yml +7 -0
  938. data/vendor/unity/test/targets/gcc_auto_limits.yml +7 -0
  939. data/vendor/unity/test/targets/gcc_auto_stdint.yml +7 -0
  940. data/vendor/unity/test/targets/gcc_manual_math.yml +7 -0
  941. data/vendor/unity/test/targets/hitech_picc18.yml +7 -0
  942. data/vendor/unity/test/targets/iar_arm_v4.yml +7 -0
  943. data/vendor/unity/test/targets/iar_arm_v5.yml +7 -0
  944. data/vendor/unity/test/targets/iar_arm_v5_3.yml +7 -0
  945. data/vendor/unity/test/targets/iar_armcortex_LM3S9B92_v5_4.yml +7 -0
  946. data/vendor/unity/test/targets/iar_cortexm3_v5.yml +7 -0
  947. data/vendor/unity/test/targets/iar_msp430.yml +7 -0
  948. data/vendor/unity/test/targets/iar_sh2a_v6.yml +7 -0
  949. data/vendor/unity/test/testdata/CException.h +7 -0
  950. data/vendor/unity/test/testdata/Defs.h +8 -0
  951. data/vendor/unity/test/testdata/cmock.h +7 -0
  952. data/vendor/unity/test/testdata/mockMock.h +7 -0
  953. data/vendor/unity/test/testdata/testRunnerGenerator.c +18 -3
  954. data/vendor/unity/test/testdata/testRunnerGeneratorSmall.c +8 -5
  955. data/vendor/unity/test/testdata/testRunnerGeneratorWithMocks.c +7 -4
  956. data/vendor/unity/test/tests/self_assessment_utils.h +12 -5
  957. data/vendor/unity/test/tests/test_generate_test_runner.rb +107 -26
  958. data/vendor/unity/test/tests/test_unity_arrays.c +73 -6
  959. data/vendor/unity/test/tests/test_unity_core.c +12 -8
  960. data/vendor/unity/test/tests/test_unity_doubles.c +517 -5
  961. data/vendor/unity/test/tests/test_unity_floats.c +516 -5
  962. data/vendor/unity/test/tests/test_unity_integers.c +21 -5
  963. data/vendor/unity/test/tests/test_unity_integers_64.c +16 -6
  964. data/vendor/unity/test/tests/test_unity_memory.c +6 -5
  965. data/vendor/unity/test/tests/test_unity_parameterized.c +146 -8
  966. data/vendor/unity/test/tests/test_unity_parameterizedDemo.c +28 -0
  967. data/vendor/unity/test/tests/test_unity_strings.c +6 -5
  968. data/vendor/unity/test/tests/types_for_test.h +21 -0
  969. metadata +315 -570
  970. data/assets/auto_link_deep_dependencies/src/a.c +0 -7
  971. data/assets/auto_link_deep_dependencies/src/b.c +0 -7
  972. data/assets/auto_link_deep_dependencies/src/c.c +0 -8
  973. data/assets/auto_link_deep_dependencies/src/internal_inc/a.h +0 -6
  974. data/assets/auto_link_deep_dependencies/src/internal_inc/b.h +0 -6
  975. data/assets/auto_link_deep_dependencies/src/internal_inc/c.h +0 -6
  976. data/assets/auto_link_deep_dependencies/src/internal_inc/never_compiled.h +0 -6
  977. data/assets/auto_link_deep_dependencies/src/never_compiled.c +0 -6
  978. data/assets/auto_link_deep_dependencies/test/test_a.c +0 -11
  979. data/assets/auto_link_deep_dependencies/test/test_b.c +0 -11
  980. data/assets/auto_link_deep_dependencies/test/test_c.c +0 -11
  981. data/assets/project_as_gem.yml +0 -101
  982. data/assets/project_with_guts.yml +0 -102
  983. data/assets/project_with_guts_gcov.yml +0 -102
  984. data/ceedling.sublime-project +0 -28
  985. data/ceedling.sublime-workspace +0 -452
  986. data/docs/Ceedling Powerful Plugins.pdf +0 -0
  987. data/examples/blinky/project.yml +0 -101
  988. data/examples/blinky/rakefile.rb +0 -30
  989. data/examples/blinky/src/BlinkTask.c +0 -21
  990. data/examples/blinky/src/BlinkTask.h +0 -6
  991. data/examples/blinky/src/Configure.c +0 -36
  992. data/examples/blinky/src/Configure.h +0 -6
  993. data/examples/blinky/src/main.c +0 -51
  994. data/examples/blinky/src/main.h +0 -9
  995. data/examples/blinky/test/support/stub_interrupt.h +0 -347
  996. data/examples/blinky/test/support/stub_io.h +0 -421
  997. data/examples/blinky/test/support/stub_iom328p.h +0 -883
  998. data/examples/blinky/test/support/stub_sfr_defs.h +0 -269
  999. data/examples/blinky/test/test_BlinkTask.c +0 -42
  1000. data/examples/blinky/test/test_Configure.c +0 -29
  1001. data/examples/blinky/test/test_main.c +0 -60
  1002. data/examples/temp_sensor/build/test/cache/AdcConductor.h +0 -20
  1003. data/examples/temp_sensor/build/test/cache/AdcHardware.h +0 -16
  1004. data/examples/temp_sensor/build/test/cache/AdcHardwareConfigurator.h +0 -14
  1005. data/examples/temp_sensor/build/test/cache/AdcModel.h +0 -20
  1006. data/examples/temp_sensor/build/test/cache/AdcTemperatureSensor.h +0 -14
  1007. data/examples/temp_sensor/build/test/cache/Executor.h +0 -12
  1008. data/examples/temp_sensor/build/test/cache/IntrinsicsWrapper.h +0 -9
  1009. data/examples/temp_sensor/build/test/cache/Model.h +0 -10
  1010. data/examples/temp_sensor/build/test/cache/TaskScheduler.h +0 -16
  1011. data/examples/temp_sensor/build/test/cache/TemperatureCalculator.h +0 -10
  1012. data/examples/temp_sensor/build/test/cache/TemperatureFilter.h +0 -14
  1013. data/examples/temp_sensor/build/test/cache/TestAdcConductor.c +0 -169
  1014. data/examples/temp_sensor/build/test/cache/TestAdcHardware.c +0 -82
  1015. data/examples/temp_sensor/build/test/cache/TestAdcModel.c +0 -59
  1016. data/examples/temp_sensor/build/test/cache/TestExecutor.c +0 -63
  1017. data/examples/temp_sensor/build/test/cache/TestMain.c +0 -43
  1018. data/examples/temp_sensor/build/test/cache/TestModel.c +0 -34
  1019. data/examples/temp_sensor/build/test/cache/TestTaskScheduler.c +0 -204
  1020. data/examples/temp_sensor/build/test/cache/TestTemperatureCalculator.c +0 -70
  1021. data/examples/temp_sensor/build/test/cache/TestTemperatureFilter.c +0 -154
  1022. data/examples/temp_sensor/build/test/cache/TestTimerConductor.c +0 -57
  1023. data/examples/temp_sensor/build/test/cache/TestTimerHardware.c +0 -47
  1024. data/examples/temp_sensor/build/test/cache/TestTimerModel.c +0 -31
  1025. data/examples/temp_sensor/build/test/cache/TestUsartBaudRateRegisterCalculator.c +0 -38
  1026. data/examples/temp_sensor/build/test/cache/TestUsartConductor.c +0 -73
  1027. data/examples/temp_sensor/build/test/cache/TestUsartHardware.c +0 -66
  1028. data/examples/temp_sensor/build/test/cache/TestUsartModel.c +0 -73
  1029. data/examples/temp_sensor/build/test/cache/TimerConductor.h +0 -12
  1030. data/examples/temp_sensor/build/test/cache/TimerConfigurator.h +0 -24
  1031. data/examples/temp_sensor/build/test/cache/TimerHardware.h +0 -10
  1032. data/examples/temp_sensor/build/test/cache/TimerInterruptHandler.h +0 -14
  1033. data/examples/temp_sensor/build/test/cache/TimerModel.h +0 -10
  1034. data/examples/temp_sensor/build/test/cache/UsartBaudRateRegisterCalculator.h +0 -10
  1035. data/examples/temp_sensor/build/test/cache/UsartConductor.h +0 -9
  1036. data/examples/temp_sensor/build/test/cache/UsartConfigurator.h +0 -20
  1037. data/examples/temp_sensor/build/test/cache/UsartHardware.h +0 -12
  1038. data/examples/temp_sensor/build/test/cache/UsartModel.h +0 -14
  1039. data/examples/temp_sensor/build/test/cache/UsartPutChar.h +0 -10
  1040. data/examples/temp_sensor/build/test/cache/defines_dependency.yml +0 -77
  1041. data/examples/temp_sensor/build/test/cache/input.yml +0 -310
  1042. data/examples/temp_sensor/build/test/dependencies/AdcConductor.d +0 -2
  1043. data/examples/temp_sensor/build/test/dependencies/AdcHardware.d +0 -3
  1044. data/examples/temp_sensor/build/test/dependencies/AdcModel.d +0 -3
  1045. data/examples/temp_sensor/build/test/dependencies/Executor.d +0 -3
  1046. data/examples/temp_sensor/build/test/dependencies/Main.d +0 -11
  1047. data/examples/temp_sensor/build/test/dependencies/MockAdcConductor.d +0 -6
  1048. data/examples/temp_sensor/build/test/dependencies/MockAdcHardware.d +0 -6
  1049. data/examples/temp_sensor/build/test/dependencies/MockAdcHardwareConfigurator.d +0 -8
  1050. data/examples/temp_sensor/build/test/dependencies/MockAdcModel.d +0 -6
  1051. data/examples/temp_sensor/build/test/dependencies/MockAdcTemperatureSensor.d +0 -8
  1052. data/examples/temp_sensor/build/test/dependencies/MockExecutor.d +0 -6
  1053. data/examples/temp_sensor/build/test/dependencies/MockIntrinsicsWrapper.d +0 -7
  1054. data/examples/temp_sensor/build/test/dependencies/MockModel.d +0 -6
  1055. data/examples/temp_sensor/build/test/dependencies/MockTaskScheduler.d +0 -7
  1056. data/examples/temp_sensor/build/test/dependencies/MockTemperatureCalculator.d +0 -8
  1057. data/examples/temp_sensor/build/test/dependencies/MockTemperatureFilter.d +0 -8
  1058. data/examples/temp_sensor/build/test/dependencies/MockTimerConductor.d +0 -7
  1059. data/examples/temp_sensor/build/test/dependencies/MockTimerConfigurator.d +0 -8
  1060. data/examples/temp_sensor/build/test/dependencies/MockTimerHardware.d +0 -7
  1061. data/examples/temp_sensor/build/test/dependencies/MockTimerInterruptHandler.d +0 -8
  1062. data/examples/temp_sensor/build/test/dependencies/MockTimerModel.d +0 -6
  1063. data/examples/temp_sensor/build/test/dependencies/MockUsartBaudRateRegisterCalculator.d +0 -8
  1064. data/examples/temp_sensor/build/test/dependencies/MockUsartConductor.d +0 -7
  1065. data/examples/temp_sensor/build/test/dependencies/MockUsartConfigurator.d +0 -8
  1066. data/examples/temp_sensor/build/test/dependencies/MockUsartHardware.d +0 -7
  1067. data/examples/temp_sensor/build/test/dependencies/MockUsartModel.d +0 -6
  1068. data/examples/temp_sensor/build/test/dependencies/MockUsartPutChar.d +0 -6
  1069. data/examples/temp_sensor/build/test/dependencies/Model.d +0 -2
  1070. data/examples/temp_sensor/build/test/dependencies/TaskScheduler.d +0 -2
  1071. data/examples/temp_sensor/build/test/dependencies/TemperatureCalculator.d +0 -2
  1072. data/examples/temp_sensor/build/test/dependencies/TemperatureFilter.d +0 -2
  1073. data/examples/temp_sensor/build/test/dependencies/TestAdcConductor.d +0 -6
  1074. data/examples/temp_sensor/build/test/dependencies/TestAdcConductor_runner.d +0 -8
  1075. data/examples/temp_sensor/build/test/dependencies/TestAdcHardware.d +0 -7
  1076. data/examples/temp_sensor/build/test/dependencies/TestAdcHardware_runner.d +0 -9
  1077. data/examples/temp_sensor/build/test/dependencies/TestAdcModel.d +0 -7
  1078. data/examples/temp_sensor/build/test/dependencies/TestAdcModel_runner.d +0 -10
  1079. data/examples/temp_sensor/build/test/dependencies/TestExecutor.d +0 -8
  1080. data/examples/temp_sensor/build/test/dependencies/TestExecutor_runner.d +0 -11
  1081. data/examples/temp_sensor/build/test/dependencies/TestMain.d +0 -4
  1082. data/examples/temp_sensor/build/test/dependencies/TestMain_runner.d +0 -6
  1083. data/examples/temp_sensor/build/test/dependencies/TestModel.d +0 -6
  1084. data/examples/temp_sensor/build/test/dependencies/TestModel_runner.d +0 -8
  1085. data/examples/temp_sensor/build/test/dependencies/TestTaskScheduler.d +0 -4
  1086. data/examples/temp_sensor/build/test/dependencies/TestTaskScheduler_runner.d +0 -4
  1087. data/examples/temp_sensor/build/test/dependencies/TestTemperatureCalculator.d +0 -5
  1088. data/examples/temp_sensor/build/test/dependencies/TestTemperatureCalculator_runner.d +0 -4
  1089. data/examples/temp_sensor/build/test/dependencies/TestTemperatureFilter.d +0 -4
  1090. data/examples/temp_sensor/build/test/dependencies/TestTemperatureFilter_runner.d +0 -4
  1091. data/examples/temp_sensor/build/test/dependencies/TestTimerConductor.d +0 -7
  1092. data/examples/temp_sensor/build/test/dependencies/TestTimerConductor_runner.d +0 -10
  1093. data/examples/temp_sensor/build/test/dependencies/TestTimerHardware.d +0 -5
  1094. data/examples/temp_sensor/build/test/dependencies/TestTimerHardware_runner.d +0 -8
  1095. data/examples/temp_sensor/build/test/dependencies/TestTimerModel.d +0 -5
  1096. data/examples/temp_sensor/build/test/dependencies/TestTimerModel_runner.d +0 -7
  1097. data/examples/temp_sensor/build/test/dependencies/TestUsartBaudRateRegisterCalculator.d +0 -5
  1098. data/examples/temp_sensor/build/test/dependencies/TestUsartBaudRateRegisterCalculator_runner.d +0 -4
  1099. data/examples/temp_sensor/build/test/dependencies/TestUsartConductor.d +0 -7
  1100. data/examples/temp_sensor/build/test/dependencies/TestUsartConductor_runner.d +0 -9
  1101. data/examples/temp_sensor/build/test/dependencies/TestUsartHardware.d +0 -6
  1102. data/examples/temp_sensor/build/test/dependencies/TestUsartHardware_runner.d +0 -8
  1103. data/examples/temp_sensor/build/test/dependencies/TestUsartModel.d +0 -7
  1104. data/examples/temp_sensor/build/test/dependencies/TestUsartModel_runner.d +0 -9
  1105. data/examples/temp_sensor/build/test/dependencies/TimerConductor.d +0 -3
  1106. data/examples/temp_sensor/build/test/dependencies/TimerHardware.d +0 -2
  1107. data/examples/temp_sensor/build/test/dependencies/TimerModel.d +0 -2
  1108. data/examples/temp_sensor/build/test/dependencies/UnityHelper.d +0 -4
  1109. data/examples/temp_sensor/build/test/dependencies/UsartBaudRateRegisterCalculator.d +0 -3
  1110. data/examples/temp_sensor/build/test/dependencies/UsartConductor.d +0 -3
  1111. data/examples/temp_sensor/build/test/dependencies/UsartHardware.d +0 -2
  1112. data/examples/temp_sensor/build/test/dependencies/UsartModel.d +0 -3
  1113. data/examples/temp_sensor/build/test/dependencies/cmock.d +0 -6
  1114. data/examples/temp_sensor/build/test/dependencies/unity.d +0 -4
  1115. data/examples/temp_sensor/build/test/mocks/MockAdcConductor.c +0 -391
  1116. data/examples/temp_sensor/build/test/mocks/MockAdcConductor.h +0 -64
  1117. data/examples/temp_sensor/build/test/mocks/MockAdcHardware.c +0 -313
  1118. data/examples/temp_sensor/build/test/mocks/MockAdcHardware.h +0 -58
  1119. data/examples/temp_sensor/build/test/mocks/MockAdcHardwareConfigurator.c +0 -218
  1120. data/examples/temp_sensor/build/test/mocks/MockAdcHardwareConfigurator.h +0 -52
  1121. data/examples/temp_sensor/build/test/mocks/MockAdcModel.c +0 -453
  1122. data/examples/temp_sensor/build/test/mocks/MockAdcModel.h +0 -64
  1123. data/examples/temp_sensor/build/test/mocks/MockAdcTemperatureSensor.c +0 -252
  1124. data/examples/temp_sensor/build/test/mocks/MockAdcTemperatureSensor.h +0 -52
  1125. data/examples/temp_sensor/build/test/mocks/MockExecutor.c +0 -174
  1126. data/examples/temp_sensor/build/test/mocks/MockExecutor.h +0 -46
  1127. data/examples/temp_sensor/build/test/mocks/MockIntrinsicsWrapper.c +0 -157
  1128. data/examples/temp_sensor/build/test/mocks/MockIntrinsicsWrapper.h +0 -46
  1129. data/examples/temp_sensor/build/test/mocks/MockModel.c +0 -96
  1130. data/examples/temp_sensor/build/test/mocks/MockModel.h +0 -40
  1131. data/examples/temp_sensor/build/test/mocks/MockTaskScheduler.c +0 -326
  1132. data/examples/temp_sensor/build/test/mocks/MockTaskScheduler.h +0 -58
  1133. data/examples/temp_sensor/build/test/mocks/MockTemperatureCalculator.c +0 -126
  1134. data/examples/temp_sensor/build/test/mocks/MockTemperatureCalculator.h +0 -40
  1135. data/examples/temp_sensor/build/test/mocks/MockTemperatureFilter.c +0 -248
  1136. data/examples/temp_sensor/build/test/mocks/MockTemperatureFilter.h +0 -52
  1137. data/examples/temp_sensor/build/test/mocks/MockTimerConductor.c +0 -157
  1138. data/examples/temp_sensor/build/test/mocks/MockTimerConductor.h +0 -46
  1139. data/examples/temp_sensor/build/test/mocks/MockTimerConfigurator.c +0 -523
  1140. data/examples/temp_sensor/build/test/mocks/MockTimerConfigurator.h +0 -82
  1141. data/examples/temp_sensor/build/test/mocks/MockTimerHardware.c +0 -96
  1142. data/examples/temp_sensor/build/test/mocks/MockTimerHardware.h +0 -40
  1143. data/examples/temp_sensor/build/test/mocks/MockTimerInterruptHandler.c +0 -248
  1144. data/examples/temp_sensor/build/test/mocks/MockTimerInterruptHandler.h +0 -52
  1145. data/examples/temp_sensor/build/test/mocks/MockTimerModel.c +0 -109
  1146. data/examples/temp_sensor/build/test/mocks/MockTimerModel.h +0 -40
  1147. data/examples/temp_sensor/build/test/mocks/MockUsartBaudRateRegisterCalculator.c +0 -133
  1148. data/examples/temp_sensor/build/test/mocks/MockUsartBaudRateRegisterCalculator.h +0 -40
  1149. data/examples/temp_sensor/build/test/mocks/MockUsartConductor.c +0 -157
  1150. data/examples/temp_sensor/build/test/mocks/MockUsartConductor.h +0 -46
  1151. data/examples/temp_sensor/build/test/mocks/MockUsartConfigurator.c +0 -414
  1152. data/examples/temp_sensor/build/test/mocks/MockUsartConfigurator.h +0 -70
  1153. data/examples/temp_sensor/build/test/mocks/MockUsartHardware.c +0 -183
  1154. data/examples/temp_sensor/build/test/mocks/MockUsartHardware.h +0 -46
  1155. data/examples/temp_sensor/build/test/mocks/MockUsartModel.c +0 -269
  1156. data/examples/temp_sensor/build/test/mocks/MockUsartModel.h +0 -52
  1157. data/examples/temp_sensor/build/test/mocks/MockUsartPutChar.c +0 -109
  1158. data/examples/temp_sensor/build/test/mocks/MockUsartPutChar.h +0 -40
  1159. data/examples/temp_sensor/build/test/out/TestAdcConductor.out +0 -0
  1160. data/examples/temp_sensor/build/test/out/TestAdcHardware.out +0 -0
  1161. data/examples/temp_sensor/build/test/out/TestAdcModel.out +0 -0
  1162. data/examples/temp_sensor/build/test/out/TestExecutor.out +0 -0
  1163. data/examples/temp_sensor/build/test/out/TestMain.out +0 -0
  1164. data/examples/temp_sensor/build/test/out/TestModel.out +0 -0
  1165. data/examples/temp_sensor/build/test/out/TestTaskScheduler.out +0 -0
  1166. data/examples/temp_sensor/build/test/out/TestTemperatureCalculator.out +0 -0
  1167. data/examples/temp_sensor/build/test/out/TestTemperatureFilter.out +0 -0
  1168. data/examples/temp_sensor/build/test/out/TestTimerConductor.out +0 -0
  1169. data/examples/temp_sensor/build/test/out/TestTimerHardware.out +0 -0
  1170. data/examples/temp_sensor/build/test/out/TestTimerModel.out +0 -0
  1171. data/examples/temp_sensor/build/test/out/TestUsartBaudRateRegisterCalculator.out +0 -0
  1172. data/examples/temp_sensor/build/test/out/TestUsartConductor.out +0 -0
  1173. data/examples/temp_sensor/build/test/out/TestUsartHardware.out +0 -0
  1174. data/examples/temp_sensor/build/test/out/TestUsartModel.out +0 -0
  1175. data/examples/temp_sensor/build/test/out/c/AdcConductor.o +0 -0
  1176. data/examples/temp_sensor/build/test/out/c/AdcHardware.o +0 -0
  1177. data/examples/temp_sensor/build/test/out/c/AdcModel.o +0 -0
  1178. data/examples/temp_sensor/build/test/out/c/Executor.o +0 -0
  1179. data/examples/temp_sensor/build/test/out/c/Main.o +0 -0
  1180. data/examples/temp_sensor/build/test/out/c/MockAdcConductor.o +0 -0
  1181. data/examples/temp_sensor/build/test/out/c/MockAdcHardware.o +0 -0
  1182. data/examples/temp_sensor/build/test/out/c/MockAdcHardwareConfigurator.o +0 -0
  1183. data/examples/temp_sensor/build/test/out/c/MockAdcModel.o +0 -0
  1184. data/examples/temp_sensor/build/test/out/c/MockAdcTemperatureSensor.o +0 -0
  1185. data/examples/temp_sensor/build/test/out/c/MockExecutor.o +0 -0
  1186. data/examples/temp_sensor/build/test/out/c/MockIntrinsicsWrapper.o +0 -0
  1187. data/examples/temp_sensor/build/test/out/c/MockModel.o +0 -0
  1188. data/examples/temp_sensor/build/test/out/c/MockTaskScheduler.o +0 -0
  1189. data/examples/temp_sensor/build/test/out/c/MockTemperatureCalculator.o +0 -0
  1190. data/examples/temp_sensor/build/test/out/c/MockTemperatureFilter.o +0 -0
  1191. data/examples/temp_sensor/build/test/out/c/MockTimerConductor.o +0 -0
  1192. data/examples/temp_sensor/build/test/out/c/MockTimerConfigurator.o +0 -0
  1193. data/examples/temp_sensor/build/test/out/c/MockTimerHardware.o +0 -0
  1194. data/examples/temp_sensor/build/test/out/c/MockTimerInterruptHandler.o +0 -0
  1195. data/examples/temp_sensor/build/test/out/c/MockTimerModel.o +0 -0
  1196. data/examples/temp_sensor/build/test/out/c/MockUsartBaudRateRegisterCalculator.o +0 -0
  1197. data/examples/temp_sensor/build/test/out/c/MockUsartConductor.o +0 -0
  1198. data/examples/temp_sensor/build/test/out/c/MockUsartConfigurator.o +0 -0
  1199. data/examples/temp_sensor/build/test/out/c/MockUsartHardware.o +0 -0
  1200. data/examples/temp_sensor/build/test/out/c/MockUsartModel.o +0 -0
  1201. data/examples/temp_sensor/build/test/out/c/MockUsartPutChar.o +0 -0
  1202. data/examples/temp_sensor/build/test/out/c/Model.o +0 -0
  1203. data/examples/temp_sensor/build/test/out/c/TaskScheduler.o +0 -0
  1204. data/examples/temp_sensor/build/test/out/c/TemperatureCalculator.o +0 -0
  1205. data/examples/temp_sensor/build/test/out/c/TemperatureFilter.o +0 -0
  1206. data/examples/temp_sensor/build/test/out/c/TestAdcConductor.o +0 -0
  1207. data/examples/temp_sensor/build/test/out/c/TestAdcConductor_runner.o +0 -0
  1208. data/examples/temp_sensor/build/test/out/c/TestAdcHardware.o +0 -0
  1209. data/examples/temp_sensor/build/test/out/c/TestAdcHardware_runner.o +0 -0
  1210. data/examples/temp_sensor/build/test/out/c/TestAdcModel.o +0 -0
  1211. data/examples/temp_sensor/build/test/out/c/TestAdcModel_runner.o +0 -0
  1212. data/examples/temp_sensor/build/test/out/c/TestExecutor.o +0 -0
  1213. data/examples/temp_sensor/build/test/out/c/TestExecutor_runner.o +0 -0
  1214. data/examples/temp_sensor/build/test/out/c/TestMain.o +0 -0
  1215. data/examples/temp_sensor/build/test/out/c/TestMain_runner.o +0 -0
  1216. data/examples/temp_sensor/build/test/out/c/TestModel.o +0 -0
  1217. data/examples/temp_sensor/build/test/out/c/TestModel_runner.o +0 -0
  1218. data/examples/temp_sensor/build/test/out/c/TestTaskScheduler.o +0 -0
  1219. data/examples/temp_sensor/build/test/out/c/TestTaskScheduler_runner.o +0 -0
  1220. data/examples/temp_sensor/build/test/out/c/TestTemperatureCalculator.o +0 -0
  1221. data/examples/temp_sensor/build/test/out/c/TestTemperatureCalculator_runner.o +0 -0
  1222. data/examples/temp_sensor/build/test/out/c/TestTemperatureFilter.o +0 -0
  1223. data/examples/temp_sensor/build/test/out/c/TestTemperatureFilter_runner.o +0 -0
  1224. data/examples/temp_sensor/build/test/out/c/TestTimerConductor.o +0 -0
  1225. data/examples/temp_sensor/build/test/out/c/TestTimerConductor_runner.o +0 -0
  1226. data/examples/temp_sensor/build/test/out/c/TestTimerHardware.o +0 -0
  1227. data/examples/temp_sensor/build/test/out/c/TestTimerHardware_runner.o +0 -0
  1228. data/examples/temp_sensor/build/test/out/c/TestTimerModel.o +0 -0
  1229. data/examples/temp_sensor/build/test/out/c/TestTimerModel_runner.o +0 -0
  1230. data/examples/temp_sensor/build/test/out/c/TestUsartBaudRateRegisterCalculator.o +0 -0
  1231. data/examples/temp_sensor/build/test/out/c/TestUsartBaudRateRegisterCalculator_runner.o +0 -0
  1232. data/examples/temp_sensor/build/test/out/c/TestUsartConductor.o +0 -0
  1233. data/examples/temp_sensor/build/test/out/c/TestUsartConductor_runner.o +0 -0
  1234. data/examples/temp_sensor/build/test/out/c/TestUsartHardware.o +0 -0
  1235. data/examples/temp_sensor/build/test/out/c/TestUsartHardware_runner.o +0 -0
  1236. data/examples/temp_sensor/build/test/out/c/TestUsartModel.o +0 -0
  1237. data/examples/temp_sensor/build/test/out/c/TestUsartModel_runner.o +0 -0
  1238. data/examples/temp_sensor/build/test/out/c/TimerConductor.o +0 -0
  1239. data/examples/temp_sensor/build/test/out/c/TimerHardware.o +0 -0
  1240. data/examples/temp_sensor/build/test/out/c/TimerModel.o +0 -0
  1241. data/examples/temp_sensor/build/test/out/c/UnityHelper.o +0 -0
  1242. data/examples/temp_sensor/build/test/out/c/UsartBaudRateRegisterCalculator.o +0 -0
  1243. data/examples/temp_sensor/build/test/out/c/UsartConductor.o +0 -0
  1244. data/examples/temp_sensor/build/test/out/c/UsartHardware.o +0 -0
  1245. data/examples/temp_sensor/build/test/out/c/UsartModel.o +0 -0
  1246. data/examples/temp_sensor/build/test/out/c/cmock.o +0 -0
  1247. data/examples/temp_sensor/build/test/out/c/unity.o +0 -0
  1248. data/examples/temp_sensor/build/test/preprocess/files/AdcConductor.h +0 -20
  1249. data/examples/temp_sensor/build/test/preprocess/files/AdcHardware.h +0 -16
  1250. data/examples/temp_sensor/build/test/preprocess/files/AdcHardwareConfigurator.h +0 -14
  1251. data/examples/temp_sensor/build/test/preprocess/files/AdcModel.h +0 -20
  1252. data/examples/temp_sensor/build/test/preprocess/files/AdcTemperatureSensor.h +0 -14
  1253. data/examples/temp_sensor/build/test/preprocess/files/Executor.h +0 -12
  1254. data/examples/temp_sensor/build/test/preprocess/files/IntrinsicsWrapper.h +0 -9
  1255. data/examples/temp_sensor/build/test/preprocess/files/Model.h +0 -10
  1256. data/examples/temp_sensor/build/test/preprocess/files/TaskScheduler.h +0 -16
  1257. data/examples/temp_sensor/build/test/preprocess/files/TemperatureCalculator.h +0 -10
  1258. data/examples/temp_sensor/build/test/preprocess/files/TemperatureFilter.h +0 -14
  1259. data/examples/temp_sensor/build/test/preprocess/files/TestAdcConductor.c +0 -169
  1260. data/examples/temp_sensor/build/test/preprocess/files/TestAdcHardware.c +0 -82
  1261. data/examples/temp_sensor/build/test/preprocess/files/TestAdcModel.c +0 -59
  1262. data/examples/temp_sensor/build/test/preprocess/files/TestExecutor.c +0 -63
  1263. data/examples/temp_sensor/build/test/preprocess/files/TestMain.c +0 -43
  1264. data/examples/temp_sensor/build/test/preprocess/files/TestModel.c +0 -34
  1265. data/examples/temp_sensor/build/test/preprocess/files/TestTaskScheduler.c +0 -204
  1266. data/examples/temp_sensor/build/test/preprocess/files/TestTemperatureCalculator.c +0 -70
  1267. data/examples/temp_sensor/build/test/preprocess/files/TestTemperatureFilter.c +0 -154
  1268. data/examples/temp_sensor/build/test/preprocess/files/TestTimerConductor.c +0 -57
  1269. data/examples/temp_sensor/build/test/preprocess/files/TestTimerHardware.c +0 -47
  1270. data/examples/temp_sensor/build/test/preprocess/files/TestTimerModel.c +0 -31
  1271. data/examples/temp_sensor/build/test/preprocess/files/TestUsartBaudRateRegisterCalculator.c +0 -38
  1272. data/examples/temp_sensor/build/test/preprocess/files/TestUsartConductor.c +0 -73
  1273. data/examples/temp_sensor/build/test/preprocess/files/TestUsartHardware.c +0 -66
  1274. data/examples/temp_sensor/build/test/preprocess/files/TestUsartModel.c +0 -73
  1275. data/examples/temp_sensor/build/test/preprocess/files/TimerConductor.h +0 -12
  1276. data/examples/temp_sensor/build/test/preprocess/files/TimerConfigurator.h +0 -24
  1277. data/examples/temp_sensor/build/test/preprocess/files/TimerHardware.h +0 -10
  1278. data/examples/temp_sensor/build/test/preprocess/files/TimerInterruptHandler.h +0 -14
  1279. data/examples/temp_sensor/build/test/preprocess/files/TimerModel.h +0 -10
  1280. data/examples/temp_sensor/build/test/preprocess/files/UsartBaudRateRegisterCalculator.h +0 -10
  1281. data/examples/temp_sensor/build/test/preprocess/files/UsartConductor.h +0 -9
  1282. data/examples/temp_sensor/build/test/preprocess/files/UsartConfigurator.h +0 -20
  1283. data/examples/temp_sensor/build/test/preprocess/files/UsartHardware.h +0 -12
  1284. data/examples/temp_sensor/build/test/preprocess/files/UsartModel.h +0 -14
  1285. data/examples/temp_sensor/build/test/preprocess/files/UsartPutChar.h +0 -10
  1286. data/examples/temp_sensor/build/test/preprocess/includes/AdcConductor.h +0 -2
  1287. data/examples/temp_sensor/build/test/preprocess/includes/AdcHardware.h +0 -2
  1288. data/examples/temp_sensor/build/test/preprocess/includes/AdcHardwareConfigurator.h +0 -2
  1289. data/examples/temp_sensor/build/test/preprocess/includes/AdcModel.h +0 -2
  1290. data/examples/temp_sensor/build/test/preprocess/includes/AdcTemperatureSensor.h +0 -2
  1291. data/examples/temp_sensor/build/test/preprocess/includes/Executor.h +0 -2
  1292. data/examples/temp_sensor/build/test/preprocess/includes/IntrinsicsWrapper.h +0 -1
  1293. data/examples/temp_sensor/build/test/preprocess/includes/Model.h +0 -2
  1294. data/examples/temp_sensor/build/test/preprocess/includes/TaskScheduler.h +0 -2
  1295. data/examples/temp_sensor/build/test/preprocess/includes/TemperatureCalculator.h +0 -2
  1296. data/examples/temp_sensor/build/test/preprocess/includes/TemperatureFilter.h +0 -2
  1297. data/examples/temp_sensor/build/test/preprocess/includes/TestAdcConductor.c +0 -7
  1298. data/examples/temp_sensor/build/test/preprocess/includes/TestAdcHardware.c +0 -6
  1299. data/examples/temp_sensor/build/test/preprocess/includes/TestAdcModel.c +0 -7
  1300. data/examples/temp_sensor/build/test/preprocess/includes/TestExecutor.c +0 -9
  1301. data/examples/temp_sensor/build/test/preprocess/includes/TestMain.c +0 -5
  1302. data/examples/temp_sensor/build/test/preprocess/includes/TestModel.c +0 -6
  1303. data/examples/temp_sensor/build/test/preprocess/includes/TestTaskScheduler.c +0 -4
  1304. data/examples/temp_sensor/build/test/preprocess/includes/TestTemperatureCalculator.c +0 -4
  1305. data/examples/temp_sensor/build/test/preprocess/includes/TestTemperatureFilter.c +0 -4
  1306. data/examples/temp_sensor/build/test/preprocess/includes/TestTimerConductor.c +0 -7
  1307. data/examples/temp_sensor/build/test/preprocess/includes/TestTimerHardware.c +0 -5
  1308. data/examples/temp_sensor/build/test/preprocess/includes/TestTimerModel.c +0 -5
  1309. data/examples/temp_sensor/build/test/preprocess/includes/TestUsartBaudRateRegisterCalculator.c +0 -4
  1310. data/examples/temp_sensor/build/test/preprocess/includes/TestUsartConductor.c +0 -7
  1311. data/examples/temp_sensor/build/test/preprocess/includes/TestUsartHardware.c +0 -6
  1312. data/examples/temp_sensor/build/test/preprocess/includes/TestUsartModel.c +0 -7
  1313. data/examples/temp_sensor/build/test/preprocess/includes/TimerConductor.h +0 -2
  1314. data/examples/temp_sensor/build/test/preprocess/includes/TimerConfigurator.h +0 -2
  1315. data/examples/temp_sensor/build/test/preprocess/includes/TimerHardware.h +0 -2
  1316. data/examples/temp_sensor/build/test/preprocess/includes/TimerInterruptHandler.h +0 -2
  1317. data/examples/temp_sensor/build/test/preprocess/includes/TimerModel.h +0 -2
  1318. data/examples/temp_sensor/build/test/preprocess/includes/UsartBaudRateRegisterCalculator.h +0 -2
  1319. data/examples/temp_sensor/build/test/preprocess/includes/UsartConductor.h +0 -1
  1320. data/examples/temp_sensor/build/test/preprocess/includes/UsartConfigurator.h +0 -2
  1321. data/examples/temp_sensor/build/test/preprocess/includes/UsartHardware.h +0 -2
  1322. data/examples/temp_sensor/build/test/preprocess/includes/UsartModel.h +0 -2
  1323. data/examples/temp_sensor/build/test/preprocess/includes/UsartPutChar.h +0 -2
  1324. data/examples/temp_sensor/build/test/results/TestAdcConductor.pass +0 -46
  1325. data/examples/temp_sensor/build/test/results/TestAdcHardware.pass +0 -30
  1326. data/examples/temp_sensor/build/test/results/TestAdcModel.pass +0 -26
  1327. data/examples/temp_sensor/build/test/results/TestExecutor.pass +0 -22
  1328. data/examples/temp_sensor/build/test/results/TestMain.pass +0 -18
  1329. data/examples/temp_sensor/build/test/results/TestModel.pass +0 -18
  1330. data/examples/temp_sensor/build/test/results/TestTaskScheduler.pass +0 -46
  1331. data/examples/temp_sensor/build/test/results/TestTemperatureCalculator.pass +0 -22
  1332. data/examples/temp_sensor/build/test/results/TestTemperatureFilter.pass +0 -30
  1333. data/examples/temp_sensor/build/test/results/TestTimerConductor.pass +0 -22
  1334. data/examples/temp_sensor/build/test/results/TestTimerHardware.pass +0 -18
  1335. data/examples/temp_sensor/build/test/results/TestTimerModel.pass +0 -18
  1336. data/examples/temp_sensor/build/test/results/TestUsartBaudRateRegisterCalculator.pass +0 -18
  1337. data/examples/temp_sensor/build/test/results/TestUsartConductor.pass +0 -26
  1338. data/examples/temp_sensor/build/test/results/TestUsartHardware.pass +0 -22
  1339. data/examples/temp_sensor/build/test/results/TestUsartModel.pass +0 -30
  1340. data/examples/temp_sensor/build/test/runners/TestAdcConductor_runner.c +0 -105
  1341. data/examples/temp_sensor/build/test/runners/TestAdcHardware_runner.c +0 -97
  1342. data/examples/temp_sensor/build/test/runners/TestAdcModel_runner.c +0 -99
  1343. data/examples/temp_sensor/build/test/runners/TestExecutor_runner.c +0 -105
  1344. data/examples/temp_sensor/build/test/runners/TestMain_runner.c +0 -87
  1345. data/examples/temp_sensor/build/test/runners/TestModel_runner.c +0 -91
  1346. data/examples/temp_sensor/build/test/runners/TestTaskScheduler_runner.c +0 -95
  1347. data/examples/temp_sensor/build/test/runners/TestTemperatureCalculator_runner.c +0 -83
  1348. data/examples/temp_sensor/build/test/runners/TestTemperatureFilter_runner.c +0 -87
  1349. data/examples/temp_sensor/build/test/runners/TestTimerConductor_runner.c +0 -97
  1350. data/examples/temp_sensor/build/test/runners/TestTimerHardware_runner.c +0 -87
  1351. data/examples/temp_sensor/build/test/runners/TestTimerModel_runner.c +0 -87
  1352. data/examples/temp_sensor/build/test/runners/TestUsartBaudRateRegisterCalculator_runner.c +0 -81
  1353. data/examples/temp_sensor/build/test/runners/TestUsartConductor_runner.c +0 -99
  1354. data/examples/temp_sensor/build/test/runners/TestUsartHardware_runner.c +0 -93
  1355. data/examples/temp_sensor/build/test/runners/TestUsartModel_runner.c +0 -97
  1356. data/lib/ceedling/build_invoker_utils.rb +0 -39
  1357. data/lib/ceedling/cmock_builder.rb +0 -15
  1358. data/lib/ceedling/file_system_utils.rb +0 -69
  1359. data/lib/ceedling/par_map.rb +0 -19
  1360. data/lib/ceedling/plugin_builder.rb +0 -53
  1361. data/lib/ceedling/preprocessinator_helper.rb +0 -50
  1362. data/lib/ceedling/project_config_manager.rb +0 -52
  1363. data/lib/ceedling/project_file_loader.rb +0 -99
  1364. data/lib/ceedling/rules_cmock.rake +0 -9
  1365. data/lib/ceedling/rules_preprocess.rake +0 -26
  1366. data/lib/ceedling/rules_release_deep_dependencies.rake +0 -15
  1367. data/lib/ceedling/rules_tests_deep_dependencies.rake +0 -15
  1368. data/lib/ceedling/streaminator.rb +0 -40
  1369. data/lib/ceedling/streaminator_helper.rb +0 -15
  1370. data/lib/ceedling/target_loader.rb +0 -38
  1371. data/lib/ceedling/tasks_release_deep_dependencies.rake +0 -9
  1372. data/lib/ceedling/tasks_tests_deep_dependencies.rake +0 -9
  1373. data/lib/ceedling/tasks_vendor.rake +0 -35
  1374. data/lib/ceedling/test_includes_extractor.rb +0 -111
  1375. data/lib/ceedling/version.rb +0 -54
  1376. data/out.fail +0 -24
  1377. data/plugins/colour_report/README.md +0 -20
  1378. data/plugins/colour_report/lib/colour_report.rb +0 -16
  1379. data/plugins/compile_commands_json/README.md +0 -29
  1380. data/plugins/compile_commands_json/lib/compile_commands_json.rb +0 -35
  1381. data/plugins/fake_function_framework/Rakefile +0 -19
  1382. data/plugins/fake_function_framework/examples/fff_example/project.yml +0 -71
  1383. data/plugins/fake_function_framework/examples/fff_example/rakefile.rb +0 -7
  1384. data/plugins/fake_function_framework/examples/fff_example/src/bar.c +0 -1
  1385. data/plugins/fake_function_framework/examples/fff_example/src/custom_types.h +0 -6
  1386. data/plugins/fake_function_framework/examples/fff_example/src/display.c +0 -7
  1387. data/plugins/fake_function_framework/examples/fff_example/src/foo.c +0 -16
  1388. data/plugins/fake_function_framework/examples/fff_example/src/foo.h +0 -8
  1389. data/plugins/fake_function_framework/examples/fff_example/src/subfolder/zzz.c +0 -1
  1390. data/plugins/fake_function_framework/examples/fff_example/src/subfolder/zzz.h +0 -6
  1391. data/plugins/gcov/assets/template.erb +0 -15
  1392. data/plugins/json_tests_report/README.md +0 -36
  1393. data/plugins/json_tests_report/lib/json_tests_report.rb +0 -83
  1394. data/plugins/junit_tests_report/README.md +0 -36
  1395. data/plugins/junit_tests_report/lib/junit_tests_report.rb +0 -134
  1396. data/plugins/raw_output_report/README.md +0 -19
  1397. data/plugins/raw_output_report/lib/raw_output_report.rb +0 -41
  1398. data/plugins/stdout_gtestlike_tests_report/README.md +0 -19
  1399. data/plugins/stdout_gtestlike_tests_report/assets/template.erb copy +0 -59
  1400. data/plugins/stdout_gtestlike_tests_report/config/stdout_gtestlike_tests_report.yml +0 -4
  1401. data/plugins/stdout_gtestlike_tests_report/lib/stdout_gtestlike_tests_report.rb +0 -43
  1402. data/plugins/stdout_ide_tests_report/README.md +0 -18
  1403. data/plugins/stdout_ide_tests_report/config/stdout_ide_tests_report.yml +0 -4
  1404. data/plugins/stdout_ide_tests_report/lib/stdout_ide_tests_report.rb +0 -44
  1405. data/plugins/stdout_pretty_tests_report/README.md +0 -20
  1406. data/plugins/stdout_pretty_tests_report/config/stdout_pretty_tests_report.yml +0 -4
  1407. data/plugins/stdout_pretty_tests_report/lib/stdout_pretty_tests_report.rb +0 -47
  1408. data/plugins/subprojects/README.md +0 -63
  1409. data/plugins/subprojects/config/defaults.yml +0 -33
  1410. data/plugins/subprojects/lib/subprojects.rb +0 -92
  1411. data/plugins/subprojects/subprojects.rake +0 -78
  1412. data/plugins/teamcity_tests_report/README.md +0 -18
  1413. data/plugins/teamcity_tests_report/config/teamcity_tests_report.yml +0 -4
  1414. data/plugins/teamcity_tests_report/lib/teamcity_tests_report.rb +0 -57
  1415. data/plugins/warnings_report/README.md +0 -19
  1416. data/plugins/warnings_report/lib/warnings_report.rb +0 -69
  1417. data/plugins/xml_tests_report/README.md +0 -36
  1418. data/plugins/xml_tests_report/lib/xml_tests_report.rb +0 -110
  1419. data/spec/build_invoker_utils_spec.rb +0 -54
  1420. data/spec/ceedling_spec.rb +0 -154
  1421. data/spec/par_map_spec.rb +0 -57
  1422. data/spec/system/deployment_spec.rb +0 -256
  1423. data/spec/target_loader_spec.rb +0 -30
  1424. data/spec/uncatagorized_specs_spec.rb +0 -8
  1425. data/vendor/behaviors/Manifest.txt +0 -9
  1426. data/vendor/behaviors/Rakefile +0 -19
  1427. data/vendor/behaviors/lib/behaviors/reporttask.rb +0 -158
  1428. data/vendor/behaviors/lib/behaviors.rb +0 -76
  1429. data/vendor/behaviors/test/behaviors_tasks_test.rb +0 -73
  1430. data/vendor/behaviors/test/behaviors_test.rb +0 -50
  1431. data/vendor/behaviors/test/tasks_test/Rakefile +0 -19
  1432. data/vendor/behaviors/test/tasks_test/lib/user.rb +0 -2
  1433. data/vendor/behaviors/test/tasks_test/test/user_test.rb +0 -17
  1434. data/vendor/c_exception/Gemfile +0 -4
  1435. data/vendor/c_exception/Gemfile.lock +0 -12
  1436. data/vendor/cmock/examples/temp_sensor/gcc.yml +0 -44
  1437. data/vendor/cmock/examples/temp_sensor/iar_v4.yml +0 -92
  1438. data/vendor/cmock/examples/temp_sensor/iar_v5.yml +0 -81
  1439. data/vendor/cmock/vendor/c_exception/Gemfile +0 -4
  1440. data/vendor/cmock/vendor/c_exception/Gemfile.lock +0 -12
  1441. data/vendor/hardmock/CHANGES +0 -78
  1442. data/vendor/hardmock/LICENSE +0 -7
  1443. data/vendor/hardmock/README +0 -70
  1444. data/vendor/hardmock/Rakefile +0 -8
  1445. data/vendor/hardmock/config/environment.rb +0 -12
  1446. data/vendor/hardmock/lib/assert_error.rb +0 -23
  1447. data/vendor/hardmock/lib/extend_test_unit.rb +0 -14
  1448. data/vendor/hardmock/lib/hardmock/errors.rb +0 -22
  1449. data/vendor/hardmock/lib/hardmock/expectation.rb +0 -229
  1450. data/vendor/hardmock/lib/hardmock/expectation_builder.rb +0 -9
  1451. data/vendor/hardmock/lib/hardmock/expector.rb +0 -26
  1452. data/vendor/hardmock/lib/hardmock/method_cleanout.rb +0 -33
  1453. data/vendor/hardmock/lib/hardmock/mock.rb +0 -180
  1454. data/vendor/hardmock/lib/hardmock/mock_control.rb +0 -53
  1455. data/vendor/hardmock/lib/hardmock/stubbing.rb +0 -210
  1456. data/vendor/hardmock/lib/hardmock/trapper.rb +0 -31
  1457. data/vendor/hardmock/lib/hardmock/utils.rb +0 -9
  1458. data/vendor/hardmock/lib/hardmock.rb +0 -86
  1459. data/vendor/hardmock/lib/test_unit_before_after.rb +0 -169
  1460. data/vendor/hardmock/rake_tasks/rdoc.rake +0 -19
  1461. data/vendor/hardmock/rake_tasks/rdoc_options.rb +0 -4
  1462. data/vendor/hardmock/rake_tasks/test.rake +0 -22
  1463. data/vendor/hardmock/test/functional/assert_error_test.rb +0 -52
  1464. data/vendor/hardmock/test/functional/auto_verify_test.rb +0 -178
  1465. data/vendor/hardmock/test/functional/direct_mock_usage_test.rb +0 -396
  1466. data/vendor/hardmock/test/functional/hardmock_test.rb +0 -434
  1467. data/vendor/hardmock/test/functional/stubbing_test.rb +0 -479
  1468. data/vendor/hardmock/test/test_helper.rb +0 -43
  1469. data/vendor/hardmock/test/unit/expectation_builder_test.rb +0 -19
  1470. data/vendor/hardmock/test/unit/expectation_test.rb +0 -372
  1471. data/vendor/hardmock/test/unit/expector_test.rb +0 -57
  1472. data/vendor/hardmock/test/unit/method_cleanout_test.rb +0 -36
  1473. data/vendor/hardmock/test/unit/mock_control_test.rb +0 -175
  1474. data/vendor/hardmock/test/unit/mock_test.rb +0 -279
  1475. data/vendor/hardmock/test/unit/test_unit_before_after_test.rb +0 -452
  1476. data/vendor/hardmock/test/unit/trapper_test.rb +0 -62
  1477. data/vendor/hardmock/test/unit/verify_error_test.rb +0 -40
@@ -1,189 +1,382 @@
1
-
1
+ # =========================================================================
2
+ # Ceedling - Test-Centered Build System for C
3
+ # ThrowTheSwitch.org
4
+ # Copyright (c) 2010-25 Mike Karlesky, Mark VanderVoord, & Greg Williams
5
+ # SPDX-License-Identifier: MIT
6
+ # =========================================================================
2
7
 
3
8
  class PreprocessinatorIncludesHandler
4
9
 
5
- constructor :configurator, :tool_executor, :task_invoker, :file_path_utils, :yaml_wrapper, :file_wrapper, :file_finder
6
- @@makefile_cache = {}
10
+ constructor :configurator, :tool_executor, :test_context_extractor, :file_wrapper, :yaml_wrapper, :loginator, :reportinator
11
+
12
+ ##
13
+ ## Includes Extraction Overview
14
+ ## ============================
15
+ ##
16
+ ## BACKGROUND
17
+ ## --------
18
+ ## #include extraction is hard to do. In simple cases a regex approach suffices, but nested header files,
19
+ ## clever macros, and conditional preprocessing statements easily introduce high complexity.
20
+ ##
21
+ ## Unfortunately, there's no readily available cross-platform C parsing tool that provides a simple means
22
+ ## to extract the #include statements directly embedded in a given file. Even the gcc preprocessor itself
23
+ ## only comes close to providing this information externally.
24
+ ##
25
+ ## APPROACH
26
+ ## --------
27
+ ## (Full details including fallback options are in the extensive code comments among the methods below.)
28
+ ##
29
+ ## Sadly, we can't preprocess a file with full search paths and defines and ask for the #include statements
30
+ ## embedded in a file. We get far more #includes than we want with no way to discern which are at the depth
31
+ ## of the file being processed.
32
+ ##
33
+ ## Instead, we try our best to use some educated guessing to get as close as possible to the desired list.
34
+ ##
35
+ ## I. Try to extract shallow defines with no crawling out into other header files. This conservative approach
36
+ ## gives us a reference point on possible directly included files. The results may be incomplete, though.
37
+ ## They also may mistakenly list #includes that should not be in the list--because of #ifndef defaults or
38
+ ## because of system headers or #include <...> statements and differences among gcc implementations.
39
+ ##
40
+ ## II. Extract a full list of #includes by spidering out into nested headers and processing all macros, etc.
41
+ ## This is the greedy approach.
42
+ ##
43
+ ## III. Find #includes common to (I) and (II). The results of (I) should limit the potentially lengthy
44
+ ## results of (II). The complete and accurate list of (II) should cut out any mistaken entries in (I).
45
+ ##
46
+ ## IV. I–III are not foolproof. A purely greedy approach or a purely conservative approach will cause symbol
47
+ ## conflicts, missing symbols, etc. The blended and balanced approach should come quite close to an
48
+ ## accurate list of shallow includes. Edge cases and gaps will cause trouble. Other Ceedling features
49
+ ## should provide the tools to intervene.
50
+ ##
51
+
52
+ def extract_includes(filepath:, test:, flags:, include_paths:, defines:, deep: false)
53
+ msg = @reportinator.generate_module_progress(
54
+ operation: "Extracting #include statements via preprocessor from",
55
+ module_name: test,
56
+ filename: File.basename(filepath)
57
+ )
58
+ @loginator.log(msg, Verbosity::NORMAL)
59
+
60
+ # Extract shallow includes with preprocessor and fallback regex
61
+ shallow = extract_shallow_includes(
62
+ test: test,
63
+ filepath: filepath,
64
+ flags: flags,
65
+ defines: defines
66
+ )
67
+
68
+ # Extract nested includes but optionally act in fallback mode
69
+ nested = extract_nested_includes(
70
+ filepath: filepath,
71
+ include_paths: include_paths,
72
+ flags: flags,
73
+ defines: defines,
74
+ # If no shallow results, fall back to only depth 1 results of nested discovery
75
+ shallow: shallow.empty?
76
+ )
7
77
 
8
- # shallow includes: only those headers a source file explicitly includes
78
+ # Combine shallow and nested include knowledge of mocks
79
+ mocks = combine_mocks(shallow, nested)
9
80
 
10
- def invoke_shallow_includes_list(filepath)
11
- @task_invoker.invoke_test_shallow_include_lists( [@file_path_utils.form_preprocessed_includes_list_filepath(filepath)] )
81
+ # Redefine shallow and nested results without any mocks
82
+ shallow = remove_mocks( shallow )
83
+ nested = remove_mocks( nested )
84
+
85
+ # Return
86
+ # - Includes common to shallow and nested results, with paths from nested
87
+ # - Add mocks back in (may be empty if mocking not enabled)
88
+ return common_includes(shallow:shallow, nested:nested, deep:deep) + mocks
12
89
  end
13
90
 
14
- ##
15
- # Ask the preprocessor for a make-style dependency rule of only the headers
16
- # the source file immediately includes.
17
- #
18
- # === Arguments
19
- # +filepath+ _String_:: Path to the test file to process.
20
- #
21
- # === Return
22
- # _String_:: The text of the dependency rule generated by the preprocessor.
23
- def form_shallow_dependencies_rule(filepath)
24
- if @@makefile_cache.has_key?(filepath)
25
- return @@makefile_cache[filepath]
91
+ # Write to disk a yaml representation of a list of includes
92
+ def write_includes_list(filepath, list)
93
+ @yaml_wrapper.dump(filepath, list)
94
+ end
95
+
96
+ ### Private ###
97
+ private
98
+
99
+ def extract_shallow_includes(test:, filepath:, flags:, defines:)
100
+ # Shallow includes extraction, first attempt with preprocessor
101
+ success, shallow =
102
+ extract_shallow_includes_preprocessor(
103
+ test: test,
104
+ filepath: filepath,
105
+ flags: flags,
106
+ defines: defines
107
+ )
108
+
109
+ # Shallow includes extraction, second attempt with file read + regex
110
+ if not success
111
+ shallow = extract_shallow_includes_regex(
112
+ test: test,
113
+ filepath: filepath,
114
+ flags: flags,
115
+ defines: defines
116
+ )
26
117
  end
27
- # change filename (prefix of '_') to prevent preprocessor from finding
28
- # include files in temp directory containing file it's scanning
29
- temp_filepath = @file_path_utils.form_temp_path(filepath, '_')
30
-
31
- # read the file and replace all include statements with a decorated version
32
- # (decorating the names creates file names that don't exist, thus preventing
33
- # the preprocessor from snaking out and discovering the entire include path
34
- # that winds through the code). The decorated filenames indicate files that
35
- # are included directly by the test file.
36
- contents = @file_wrapper.read(filepath)
37
-
38
- if !contents.valid_encoding?
39
- contents = contents.encode("UTF-16be", :invalid=>:replace, :replace=>"?").encode('UTF-8')
118
+
119
+ return shallow
120
+ end
121
+
122
+ def extract_shallow_includes_preprocessor(test:, filepath:, flags:, defines:)
123
+ ##
124
+ ## Preprocessor Make Rule Handling
125
+ ## ===============================
126
+ ##
127
+ ## Creation:
128
+ ## - This output is created with the -MM -MG -MP command line options.
129
+ ## - No search paths are used towards extracting only the #include statements of the file.
130
+ ## The intent is to minimize the list of .h -> .c module matches to, in turn, minimize
131
+ ## unnecessary compilation when extracting includes from a test file.
132
+ ## - Note: This approach can have gaps with complex macros / conditional statements.
133
+ ## Gaps can be minimized with proper defines in the project file.
134
+ ## However, needed / complex macros located in other header files can still gum
135
+ ## up the works.
136
+ ##
137
+ ## Format:
138
+ ## - First line is .o file followed by colon and dependencies (on one or more lines).
139
+ ## - "Phony" make rules follow that conveniently list each #include, one per line.
140
+ ##
141
+ ## Notes:
142
+ ## - Many errors can occur but may not necessarily prevent usable results.
143
+ ## - A file with no includes will create the first line with self-referential .h file path.
144
+ ## - Make rule formation assumes any files not found in a search path will be generated.
145
+ ## - Since we're not using search paths, the preprocessor largely assumes all #include
146
+ ## files are generated (and include no paths).
147
+ ## - The exception is #include files that exist in the same directory as the file
148
+ ## being processed.
149
+ ##
150
+ ## Approach:
151
+ ## 1. Disable exceptions for tool execution as errors are likely.
152
+ ## - We may still have usable output.
153
+ ## - We do not want to stop execution on fatal error; instead use a fallback method.
154
+ ## 2. The only true error is no make rule present--check for this first.
155
+ ## - A make rule may be present but not depedencies if the file has no #includes.
156
+ ## 3. Extract includes from "phony" make rules that follow opening rule line.
157
+ ## - These may be .h or .c files.
158
+ ##
159
+ ## Example output follows
160
+ ## -----------------------------------------------------------------------------------------
161
+ ## os.o: ../../src/app/task/os/os.h fstd_types.h FreeRTOS.h queue.h
162
+ ## fstd_types.h:
163
+ ## FreeRTOS.h:
164
+ ## queue.h:
165
+ ## ../../src/app/task/os/os.h:72:21: error: no include path in which to search for stdbool.h
166
+ ## 72 | #include <stdbool.h>
167
+ ## | ^
168
+ ## ../../src/app/task/os/os.h:73:20: error: no include path in which to search for stdint.h
169
+ ## 73 | #include <stdint.h>
170
+ ## | ^
171
+ ##
172
+
173
+ # Matcher for the first line of the make rule output
174
+ make_rule_matcher = /^\S+\.o:\s+.+$/ # <characters>.o: <characters>
175
+
176
+ # Matcher for the “phony“ make rule output lines for each #include dependency (.h, .c, etc.)
177
+ # Capture file name before the colon
178
+ include_matcher = /^(\S+\.\S+):\s*$/ # <characters>.<extension>:
179
+
180
+ command =
181
+ @tool_executor.build_command_line(
182
+ @configurator.tools_test_shallow_includes_preprocessor,
183
+ flags,
184
+ filepath,
185
+ defines
186
+ )
187
+
188
+ # Assume possible errors so we have best shot at extracting results from preprocessing.
189
+ # Full code compilation will catch any breaking code errors
190
+ command[:options][:boom] = false
191
+ shell_result = @tool_executor.exec( command )
192
+
193
+ make_rules = shell_result[:output]
194
+
195
+ # Do not check exit code for success. In some error conditions we still get usable output.
196
+ # Look for the first line of the make rule output.
197
+ if not make_rules =~ make_rule_matcher
198
+ msg = "Preprocessor #include extraction failed: #{shell_result[:output]}"
199
+ @loginator.log(msg, Verbosity::DEBUG)
200
+
201
+ return false, []
40
202
  end
41
203
 
42
- contents.gsub!( /^\s*#include\s+[\"<]\s*(\S+)\s*[\">]/, "#include \"\\1\"\n#include \"@@@@\\1\"" )
43
- contents.gsub!( /^\s*TEST_FILE\(\s*\"\s*(\S+)\s*\"\s*\)/, "#include \"\\1\"\n#include \"@@@@\\1\"")
44
- @file_wrapper.write( temp_filepath, contents )
204
+ includes = []
45
205
 
46
- # extract the make-style dependency rule telling the preprocessor to
47
- # ignore the fact that it can't find the included files
48
- command = @tool_executor.build_command_line(@configurator.tools_test_includes_preprocessor, [], temp_filepath)
49
- shell_result = @tool_executor.exec(command[:line], command[:options])
206
+ # Extract the #include dependencies from the "phony" make rules, one per line
207
+ includes = make_rules.scan( include_matcher )
208
+ includes.flatten! # Regex results can be nested arrays becuase of paren captures
50
209
 
51
- @@makefile_cache[filepath] = shell_result[:output]
52
- return shell_result[:output]
210
+ return true, includes.uniq
53
211
  end
54
212
 
55
- ##
56
- # Extract the headers that are directly included by a source file using the
57
- # provided, annotated Make dependency rule.
58
- #
59
- # === Arguments
60
- # +filepath+ _String_:: C source or header file to extract includes for.
61
- #
62
- # === Return
63
- # _Array_ of _String_:: Array of the direct dependencies for the source file.
64
- def extract_includes(filepath)
65
- to_process = [filepath]
66
- ignore_list = []
67
- list = []
68
- all_mocks = []
69
-
70
- include_paths = @configurator.project_config_hash[:collection_paths_include]
71
- include_paths = [] if include_paths.nil?
72
- include_paths.map! {|path| File.expand_path(path)}
73
-
74
- while to_process.length > 0
75
- target = to_process.shift()
76
- ignore_list << target
77
- new_deps, new_to_process, all_mocks = extract_includes_helper(target, include_paths, ignore_list, all_mocks)
78
- list += new_deps
79
- to_process += new_to_process
80
- if !@configurator.project_config_hash[:project_auto_link_deep_dependencies]
81
- break
82
- else
83
- list = list.uniq()
84
- to_process = to_process.uniq()
85
- end
213
+ def extract_shallow_includes_regex(test:, filepath:, flags:, defines:)
214
+ msg = @reportinator.generate_module_progress(
215
+ operation: "Using fallback regex #include extraction for",
216
+ module_name: test,
217
+ filename: File.basename( filepath )
218
+ )
219
+ @loginator.log(msg, Verbosity::NORMAL)
220
+
221
+ # Use abilities of @test_context_extractor to extract the #includes via regex on the file
222
+ includes = []
223
+ @file_wrapper.open( filepath, 'r' ) do |file|
224
+ includes = @test_context_extractor.extract_includes( file )
86
225
  end
87
226
 
88
- return list
227
+ return includes
89
228
  end
90
229
 
91
- def extract_includes_helper(filepath, include_paths, ignore_list, mocks)
92
- # Extract the dependencies from the make rule
93
- make_rule = self.form_shallow_dependencies_rule(filepath)
94
- target_file = make_rule.split[0].gsub(':', '').gsub('\\','/')
95
- base = File.basename(target_file, File.extname(target_file))
96
- make_rule_dependencies = make_rule.gsub(/.*\b#{Regexp.escape(base)}\S*/, '').gsub(/\\$/, '')
97
-
98
- # Extract the headers dependencies from the make rule
99
- hdr_ext = @configurator.extension_header
100
- headers_dependencies = make_rule_dependencies.split.find_all {|path| path.end_with?(hdr_ext) }.uniq
101
- headers_dependencies.map! {|hdr| hdr.gsub('\\','/') }
102
- full_path_headers_dependencies = extract_full_path_dependencies(headers_dependencies)
103
-
104
- # Extract the sources dependencies from the make rule
105
- src_ext = @configurator.extension_source
106
- sources_dependencies = make_rule_dependencies.split.find_all {|path| path.end_with?(src_ext) }.uniq
107
- sources_dependencies.map! {|src| src.gsub('\\','/') }
108
- full_path_sources_dependencies = extract_full_path_dependencies(sources_dependencies)
109
-
110
- list = full_path_headers_dependencies + full_path_sources_dependencies
111
-
112
- mock_prefix = @configurator.project_config_hash[:cmock_mock_prefix]
113
- # Creating list of mocks
114
- mocks += full_path_headers_dependencies.find_all do |header|
115
- File.basename(header) =~ /^#{mock_prefix}.*$/
116
- end.compact
117
-
118
- # ignore real file when both mock and real file exist
119
- mocks.each do |mock|
120
- list.each do |filename|
121
- if File.basename(filename) == File.basename(mock).sub(mock_prefix, '')
122
- ignore_list << filename
123
- end
124
- end
125
- end.compact
126
-
127
- # Filtering list of final includes to only include mocks and anything that is NOT in the ignore_list
128
- list = list.select do |item|
129
- mocks.include? item or !(ignore_list.any? { |ignore_item| !item.match(/^(.*\/)?#{Regexp.escape(ignore_item)}$/).nil? })
130
- end
230
+ def extract_nested_includes(filepath:, include_paths:, flags:, defines:, shallow:false)
231
+ ##
232
+ ## Preprocessor Header File Listing Handling
233
+ ## =========================================
234
+ ##
235
+ ## Creation:
236
+ ## - This output is created with the -MM -MG -H command line options.
237
+ ## - -MM -MG generates unused make rule that significantly reduces overall output.
238
+ ## - -H creates the header file output listing we actually want.
239
+ ## - Search paths are provided towards fully preprocessing all macros / conditionals and
240
+ ## symbols. (This produces a rich list of #includes far greater than we need.)
241
+ ##
242
+ ## Format (ignoring throwaway make rule):
243
+ ## - Each included filepath is listed per line.
244
+ ## - The depth of the #include nesting is signified by precending '.'s.
245
+ ## - Files directly #include'd in the file being preprocessed are at depth 1 ('.')
246
+ ##
247
+ ## Notes:
248
+ ## - Because search paths and defines are provided, error-free execution is assumed.
249
+ ## If the preprocessor fails, issues exist that will cause full compilation to fail.
250
+ ## - Unfortuantely, because of ordering and nesting effects, a file directly #include'd may
251
+ ## not be listed at depth 1 ('.'). Instead, it may end up listed at greater depth beneath
252
+ ## another #include'd file if both files reference it. That is, there is no way
253
+ ## to give the preprocessor full context and ask for only the files directly
254
+ ## #include'd in the file being processed.
255
+ ## - The preprocessor outputs the -H #include listing to STDERR. ToolExecutor does this
256
+ ## by default in creating the shell result output.
257
+ ## - Since we're using search paths, all #included files will include paths. Depending on
258
+ ## circumstances, this could yield a list with generated mocks with full build paths.
259
+ ##
260
+ ## Approach:
261
+ ## - Match on each listing line a filepath preceeded by its depth
262
+ ## - One mode of using this preprocessor approach is as a fallback / double-check method
263
+ ## if the simpler, earler shallow preprocessing produces no #include results. When used
264
+ ## this way we match only #include'd files at depth 1 ('.'), hoping we extract an
265
+ ## appropriate, usable list of #includes.
266
+ ##
267
+ ## Example output follows
268
+ ## -----------------------------------------------------------------------------------------
269
+ ## . build/vendor/unity/src/unity.h
270
+ ## .. build/vendor/unity/src/unity_internals.h
271
+ ## . src/Types.h
272
+ ## . src/Model.h
273
+ ## . src/TimerModel.h
274
+ ## .. src/Testing.h
275
+ ## TestModel.o: test/TestModel.c build/vendor/unity/src/unity.h \
276
+ ## build/vendor/unity/src/unity_internals.h setjmp.h math.h stddef.h \
277
+ ## stdint.h limits.h stdio.h src/Types.h src/Model.h src/TimerModel.h \
278
+ ## src/Testing.h MockTaskScheduler.h MockTemperatureFilter.h
279
+ ##
280
+
281
+ command =
282
+ @tool_executor.build_command_line(
283
+ @configurator.tools_test_nested_includes_preprocessor,
284
+ flags,
285
+ filepath,
286
+ include_paths,
287
+ defines
288
+ )
131
289
 
132
- to_process = []
133
-
134
- if @configurator.project_config_hash[:project_auto_link_deep_dependencies]
135
- # Creating list of headers that should be recursively pre-processed
136
- # Skipping mocks and vendor headers
137
- headers_to_deep_link = full_path_headers_dependencies.select do |hdr|
138
- !(mocks.include? hdr) and (hdr.match(/^(.*\/)(#{VENDORS_FILES.join('|')}) + #{Regexp.escape(hdr_ext)}$/).nil?)
139
- end
140
- headers_to_deep_link.map! {|hdr| File.expand_path(hdr) }
141
- headers_to_deep_link.compact!
142
-
143
- headers_to_deep_link.each do |hdr|
144
- if (ignore_list.none? {|ignore_header| hdr.match(/^(.*\/)?#{Regexp.escape(ignore_header)}$/)} and
145
- include_paths.none? {|include_path| hdr =~ /^#{include_path}\.*/})
146
- if File.exist?(hdr)
147
- to_process << hdr
148
- src = @file_finder.find_compilation_input_file(hdr, :ignore)
149
- to_process << src if src
150
- end
151
- end
152
- end
290
+ # Let the preprocessor do as much as possible
291
+ # We'll extract nothing if a catastrophic error, but we'll see it in debug logging
292
+ # Any real problems will be flagged by actual compilation step
293
+ command[:options][:boom] = false
294
+
295
+ shell_result = @tool_executor.exec( command )
296
+
297
+ list = shell_result[:output]
298
+
299
+ includes = []
300
+
301
+ # Extract entries from #include listing
302
+ if shallow
303
+ # First level of includes in preprocessor output
304
+ includes = list.scan(/^\. (.+$)\s*$/) # . <filepath>
305
+ else
306
+ # All levels of includes in preprocessor output
307
+ includes = list.scan(/^\.+ (.+$)\s*$/) # ... <filepath>
153
308
  end
154
309
 
155
- return list, to_process, mocks
310
+ includes.flatten! # Regex results can be nested arrays becuase of paren captures
156
311
 
312
+ return includes.uniq
157
313
  end
158
314
 
159
- def write_shallow_includes_list(filepath, list)
160
- @yaml_wrapper.dump(filepath, list)
315
+ def combine_mocks(*lists)
316
+ # Handle mocks
317
+ # - Ensure no build filepaths in mock listings
318
+ # - Do not return mocks if mocking is disabled
319
+ mocks = []
320
+
321
+ # Bail out early if mocks are not enabled
322
+ return [] if !@configurator.project_use_mocks
323
+
324
+ # Use some greediness to ensure we get all possible mocks
325
+ lists.each { |list| mocks |= extract_mocks( list ) }
326
+
327
+ # If generated mocks are in the build directory, the preprocessor will have found them.
328
+ # This leads to duplicated mocks -- the shallow list with no paths and the nested list with paths.
329
+ # Remove mocks with any path (the path will be the build directory); preserve just the shallow list.
330
+ mocks.reject! {|mock| File.dirname( mock ) != '.' }
331
+
332
+ return mocks
161
333
  end
162
334
 
163
- private
335
+ # Return a list of mock .h files with no paths
336
+ def extract_mocks(includes)
337
+ return includes.select { |include| File.basename(include).start_with?( @configurator.cmock_mock_prefix ) }
338
+ end
339
+
340
+ # Return list of includes with any mocks removed
341
+ def remove_mocks(includes)
342
+ return includes.reject { |include| File.basename(include).start_with?( @configurator.cmock_mock_prefix ) }
343
+ end
344
+
345
+ # Return includes common in both lists with the full paths of the nested list
346
+ def common_includes(shallow:, nested:, deep: false)
347
+ return shallow if nested.empty?
348
+ return nested if shallow.empty?
164
349
 
165
- def extract_full_path_dependencies(dependencies)
166
- # Separate the real files form the annotated ones and remove the '@@@@'
167
- annotated_files, real_files = dependencies.partition {|file| file =~ /^@@@@/}
168
- annotated_files.map! {|file| file.gsub('@@@@','') }
169
- # Matching annotated_files values against real_files to ensure that
170
- # annotated_files contain full path entries (as returned by make rule)
171
- annotated_files.map! {|file| real_files.find {|real| !real.match(/^(.*\/)?#{Regexp.escape(file)}$/).nil?}}
172
- annotated_files = annotated_files.compact
173
-
174
- # Find which of our annotated files are "real" dependencies. This is
175
- # intended to weed out dependencies that have been removed due to build
176
- # options defined in the project yaml and/or in the files themselves.
177
- return annotated_files.find_all do |annotated_file|
178
- # find the index of the "real" file that matches the annotated one.
179
- idx = real_files.find_index do |real_file|
180
- real_file =~ /^(.*\/)?#{Regexp.escape(annotated_file)}$/
181
- end
182
- # If we found a real file, delete it from the array and return it,
183
- # otherwise return nil. Since nil is falsy this has the effect of making
184
- # find_all return only the annotated filess for which a real file was
185
- # found/deleted
186
- idx ? real_files.delete_at(idx) : nil
187
- end.compact
350
+ # Notes:
351
+ # - We want to preserve filepaths whenever possible. Other areas of Ceedling use or discard the
352
+ # filepath as needed.
353
+ # - We generally do not have filepaths in the shallow list--except when the #include is in the
354
+ # same directory as the file being processed
355
+
356
+ # Approach
357
+ # 1. Create hashed lists of shallow and nested for easier matching
358
+ # 2. Perform appropriate mix of paths
359
+ # a. A union if performing a deep include list
360
+ # b. An intersection if performing a shallow include list
361
+ # 3. Pick the "fullest" path from the lists (assumes nested list has deeper paths)
362
+
363
+ # Hash list for Shallow Search
364
+ _shallow = {}
365
+ shallow.each { |item| _shallow[ File.basename(item) ] = item }
366
+
367
+ # Hash list for Nested Search
368
+ _nested = {}
369
+ nested.each {|item| _nested[ File.basename(item) ] = item }
370
+
371
+ # Determine the filenames to include in our list
372
+ basenames = if deep
373
+ ( _nested.keys.to_set.union( _shallow.keys.to_set ) )
374
+ else
375
+ ( _nested.keys.to_set.intersection( _shallow.keys.to_set ) )
376
+ end
377
+
378
+ # Iterate through the basenames and return the fullest version of each
379
+ return basenames.map {|v| _nested[v] || _shallow[v] }
188
380
  end
381
+
189
382
  end
@@ -1,3 +1,9 @@
1
+ # =========================================================================
2
+ # Ceedling - Test-Centered Build System for C
3
+ # ThrowTheSwitch.org
4
+ # Copyright (c) 2010-25 Mike Karlesky, Mark VanderVoord, & Greg Williams
5
+ # SPDX-License-Identifier: MIT
6
+ # =========================================================================
1
7
 
2
8
  class RakeUtils
3
9
 
@@ -1,3 +1,10 @@
1
+ # =========================================================================
2
+ # Ceedling - Test-Centered Build System for C
3
+ # ThrowTheSwitch.org
4
+ # Copyright (c) 2010-25 Mike Karlesky, Mark VanderVoord, & Greg Williams
5
+ # SPDX-License-Identifier: MIT
6
+ # =========================================================================
7
+
1
8
  require 'rubygems'
2
9
  require 'rake'
3
10
  require 'ceedling/makefile' # our replacement for rake's make-style dependency loader