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,40 +1,78 @@
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 'ceedling/constants'
9
+ require 'ceedling/exceptions'
2
10
 
3
11
 
4
12
  class GeneratorHelper
5
13
 
6
- constructor :streaminator
14
+ constructor :loginator
7
15
 
16
+ def test_crash?(test_filename, executable, shell_result)
17
+ runner = File.basename(executable)
8
18
 
9
- def test_results_error_handler(executable, shell_result)
10
- notice = ''
11
- error = false
12
-
19
+ crash = false
20
+
21
+ # Unix Signal 11 ==> SIGSEGV
22
+ # Applies to Unix-like systems including MSYS on Windows
23
+ if (shell_result[:status].termsig == 11)
24
+ @loginator.log( "#{runner} process terminated with SIGSEGV (Unix Signal 11)", Verbosity::DEBUG, LogLabels::CRASH )
25
+ crash = true
26
+ end
27
+
28
+ # No test results found in test executable output
29
+ if (shell_result[:output] =~ PATTERNS::TEST_STDOUT_STATISTICS).nil?
30
+ # No debug logging here because we log this condition in the error log handling below
31
+ crash = true
32
+ end
33
+
34
+ # Negative lookahead regex that checks all lines in test STDERR output.
35
+ # (?m) enables multiline mode.
36
+ # Matches only a line with a 'segfault' variant that does not begin with the test code filename.
37
+ # Processing STDERR and ignoring lines that look like test case results helps limit false positives.
38
+ segfault_pattern = 'Seg.*fault'
39
+ regex = /\A(?!(?m).*^#{Regexp.escape(test_filename)}.*$).*(?:#{segfault_pattern})/mi
40
+
41
+ if shell_result[:stderr].match?(regex)
42
+ @loginator.log( "#{runner} STDERR reports segmentation fault", Verbosity::DEBUG, LogLabels::CRASH )
43
+ crash = true
44
+ end
45
+
46
+ return crash
47
+ end
48
+
49
+ def log_test_results_crash(executable, shell_result, backtrace)
50
+ runner = File.basename(executable)
51
+
52
+ notice = "Test executable `#{runner}` seems to have crashed -- likely terminating early due to a bad code reference.\n"
53
+
54
+ # Check for empty output
13
55
  if (shell_result[:output].nil? or shell_result[:output].strip.empty?)
14
- error = true
15
- # mirror style of generic tool_executor failure output
16
- notice = "\n" +
17
- "ERROR: Test executable \"#{File.basename(executable)}\" failed.\n" +
18
- "> Produced no output to $stdout.\n"
19
- elsif ((shell_result[:output] =~ TEST_STDOUT_STATISTICS_PATTERN).nil?)
20
- error = true
21
- # mirror style of generic tool_executor failure output
22
- notice = "\n" +
23
- "ERROR: Test executable \"#{File.basename(executable)}\" failed.\n" +
24
- "> Produced no final test result counts in $stdout:\n" +
25
- "#{shell_result[:output].strip}\n"
56
+ # Mirror style of generic tool_executor failure output
57
+ notice += "> Produced no output (including no final test result counts).\n"
58
+
59
+ # Check for no test results
60
+ elsif ((shell_result[:output] =~ PATTERNS::TEST_STDOUT_STATISTICS).nil?)
61
+ # Mirror style of generic tool_executor failure output
62
+ notice += "> Produced some output but contains no final test result counts.\n"
26
63
  end
27
64
 
28
- if (error)
29
- # since we told the tool executor to ignore the exit code, handle it explicitly here
30
- notice += "> And exited with status: [#{shell_result[:exit_code]}] (count of failed tests).\n" if (shell_result[:exit_code] != nil)
31
- notice += "> And then likely crashed.\n" if (shell_result[:exit_code] == nil)
65
+ notice += "> Causes can include: bad memory access, stack overflow, heap error, or bad branch in source or test code.\n"
32
66
 
33
- notice += "> This is often a symptom of a bad memory access in source or test code.\n\n"
34
-
35
- @streaminator.stderr_puts(notice, Verbosity::COMPLAIN)
36
- raise
67
+ # Incorporate knowledge of the backtrace setting into a recommendation
68
+ case backtrace
69
+ when :simple
70
+ notice += "> Consider configuring :project ↳ :use_backtrace to use the :gdb option to find the cause (see documentation).\n"
71
+ when :none
72
+ notice += "> Consider configuring :project ↳ :use_backtrace to help find the cause (see documentation).\n"
37
73
  end
74
+
75
+ @loginator.log( notice, Verbosity::ERRORS, LogLabels::CRASH )
38
76
  end
39
77
 
40
78
  end
@@ -0,0 +1,41 @@
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
+
8
+ require 'cmock'
9
+
10
+ class GeneratorMocks
11
+
12
+ constructor :configurator
13
+
14
+ def manufacture(config)
15
+ return CMock.new(config)
16
+ end
17
+
18
+ def build_configuration( output_path )
19
+ config = @configurator.get_cmock_config
20
+ config[:mock_path] = output_path
21
+
22
+ # Verbosity management for logging messages
23
+ verbosity = @configurator.project_verbosity
24
+
25
+ # Default to errors and warnings only so we can customize messages inside Ceedling
26
+ config[:verbosity] = 1
27
+
28
+ # Extreme ends of verbosity scale case handling
29
+ if (verbosity == Verbosity::SILENT)
30
+ # CMock is silent
31
+ config[:verbosity] = 0
32
+
33
+ elsif (verbosity == Verbosity::DEBUG)
34
+ # CMock max verbosity
35
+ config[:verbosity] = 3
36
+ end
37
+
38
+ return config
39
+ end
40
+
41
+ end
@@ -1,69 +1,223 @@
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' # for .ext()
3
10
  require 'ceedling/constants'
11
+ require 'ceedling/exceptions'
12
+
13
+
14
+ ##
15
+ ## Sample Unity Test Executable Output
16
+ ## ===================================
17
+ ##
18
+ ## - Output is line-oriented. Anything outside the recognized lines is assumed to be from `printf()`
19
+ ## or equivalent calls and collected for presentation as a collection of $stdout lines.
20
+ ## - Multiline output (i.e. failure messages) can be achieved by "encoding" newlines as literal
21
+ ## "\n"s (slash-n). `extract_line_elements()` handles converting newline markers into real newlines.
22
+ ## - :PASS has no trailing message unless Unity's test case execution duration feature is enabled.
23
+ ## If enabled, a numeric value with 'ms' as a units signifier trails, ":PASS 1.2 ms".
24
+ ## - :IGNORE optionally can include a trailing message.
25
+ ## - :FAIL has a trailing message that relays an assertion failure or crash condition.
26
+ ## - The statistics line always has the same format with only the count values varying.
27
+ ## - If there are no failed test cases, the final line is 'OK'. Otherwise, it is 'FAIL'.
28
+ ##
29
+ ## $stdout:
30
+ ## -----------------------------------------------------------------------------------------------------
31
+ ## TestUsartModel.c:24:testGetBaudRateRegisterSettingShouldReturnAppropriateBaudRateRegisterSetting:PASS
32
+ ## TestUsartModel.c:34:testIgnore:IGNORE
33
+ ## TestUsartModel.c:39:testFail:FAIL: Expected 2 Was 3
34
+ ## TestUsartModel.c:49:testGetFormattedTemperatureFormatsTemperatureFromCalculatorAppropriately:PASS
35
+ ## TestUsartModel.c:55:testShouldReturnErrorMessageUponInvalidTemperatureValue:PASS
36
+ ## TestUsartModel.c:61:testShouldReturnWakeupMessage:PASS
37
+ ##
38
+ ## -----------------------
39
+ ## 6 Tests 1 Failures 1 Ignored
40
+ ## FAIL
41
+
42
+ ##
43
+ ## Sample Test Results Output File (YAML)
44
+ ## ======================================
45
+ ## The following corresponds to the test executable output above.
46
+ ##
47
+ ## TestUsartModel.fail:
48
+ ## ---
49
+ ## :source:
50
+ ## :file: test/TestUsartModel.c
51
+ ## :dirname: test
52
+ ## :basename: TestUsartModel.c
53
+ ## :successes:
54
+ ## - :test: testGetBaudRateRegisterSettingShouldReturnAppropriateBaudRateRegisterSetting
55
+ ## :line: 24
56
+ ## :message: ''
57
+ ## :unity_test_time: 0
58
+ ## - :test: testGetFormattedTemperatureFormatsTemperatureFromCalculatorAppropriately
59
+ ## :line: 49
60
+ ## :message: ''
61
+ ## :unity_test_time: 0
62
+ ## - :test: testShouldReturnErrorMessageUponInvalidTemperatureValue
63
+ ## :line: 55
64
+ ## :message: ''
65
+ ## :unity_test_time: 0
66
+ ## - :test: testShouldReturnWakeupMessage
67
+ ## :line: 61
68
+ ## :message: ''
69
+ ## :unity_test_time: 0
70
+ ## :failures:
71
+ ## - :test: testFail
72
+ ## :line: 39
73
+ ## :message: Expected 2 Was 3
74
+ ## :unity_test_time: 0
75
+ ## :ignores:
76
+ ## - :test: testIgnore
77
+ ## :line: 34
78
+ ## :message: ''
79
+ ## :unity_test_time: 0
80
+ ## :counts:
81
+ ## :total: 6
82
+ ## :passed: 4
83
+ ## :failed: 1
84
+ ## :ignored: 1
85
+ ## :stdout: []
86
+ ## :time: 0.006512000225484371
4
87
 
5
88
  class GeneratorTestResults
6
89
 
7
90
  constructor :configurator, :generator_test_results_sanity_checker, :yaml_wrapper
8
91
 
9
- def process_and_write_results(unity_shell_result, results_file, test_file)
92
+ def setup()
93
+ # Aliases
94
+ @sanity_checker = @generator_test_results_sanity_checker
95
+ end
96
+
97
+ def process_and_write_results(executable, unity_shell_result, results_file, test_file)
10
98
  output_file = results_file
11
99
 
12
100
  results = get_results_structure
13
101
 
14
- results[:source][:path] = File.dirname(test_file)
15
- results[:source][:file] = File.basename(test_file)
102
+ results[:source][:dirname] = File.dirname(test_file)
103
+ results[:source][:basename] = File.basename(test_file)
104
+ results[:source][:file] = test_file
16
105
  results[:time] = unity_shell_result[:time] unless unity_shell_result[:time].nil?
17
106
 
18
- # process test statistics
19
- if (unity_shell_result[:output] =~ TEST_STDOUT_STATISTICS_PATTERN)
20
- results[:counts][:total] = $1.to_i
21
- results[:counts][:failed] = $2.to_i
107
+ # Process test statistics
108
+ if (unity_shell_result[:output] =~ PATTERNS::TEST_STDOUT_STATISTICS)
109
+ results[:counts][:total] = $1.to_i
110
+ results[:counts][:failed] = $2.to_i
22
111
  results[:counts][:ignored] = $3.to_i
23
112
  results[:counts][:passed] = (results[:counts][:total] - results[:counts][:failed] - results[:counts][:ignored])
113
+ else
114
+ raise CeedlingException.new( "Could not parse output for `#{executable}`: \"#{unity_shell_result[:output]}\"" )
24
115
  end
25
116
 
26
- # remove test statistics lines
27
- output_string = unity_shell_result[:output].sub(TEST_STDOUT_STATISTICS_PATTERN, '')
117
+ # Remove test statistics lines
118
+ output_string = unity_shell_result[:output].sub( PATTERNS::TEST_STDOUT_STATISTICS, '' )
28
119
 
120
+ # Process test executable results line-by-line
29
121
  output_string.lines do |line|
30
- # process unity output
31
- case line
122
+ # Process Unity test executable output
123
+ case line.chomp
32
124
  when /(:IGNORE)/
33
- elements = extract_line_elements(line, results[:source][:file])
34
- results[:ignores] << elements[0]
125
+ elements = extract_line_elements( executable, line, results[:source][:file] )
126
+ results[:ignores] << elements[0]
35
127
  results[:stdout] << elements[1] if (!elements[1].nil?)
128
+
36
129
  when /(:PASS$)/
37
- elements = extract_line_elements(line, results[:source][:file])
38
- results[:successes] << elements[0]
130
+ elements = extract_line_elements( executable, line, results[:source][:file] )
131
+ results[:successes] << elements[0]
39
132
  results[:stdout] << elements[1] if (!elements[1].nil?)
133
+
40
134
  when /(:PASS \(.* ms\)$)/
41
- elements = extract_line_elements(line, results[:source][:file])
42
- results[:successes] << elements[0]
135
+ elements = extract_line_elements( executable, line, results[:source][:file] )
136
+ results[:successes] << elements[0]
43
137
  results[:stdout] << elements[1] if (!elements[1].nil?)
138
+
44
139
  when /(:FAIL)/
45
- elements = extract_line_elements(line, results[:source][:file])
140
+ elements = extract_line_elements( executable, line, results[:source][:file] )
46
141
  results[:failures] << elements[0]
47
142
  results[:stdout] << elements[1] if (!elements[1].nil?)
48
- else # collect up all other
49
- results[:stdout] << line.chomp
143
+
144
+ # Collect up all other output
145
+ else
146
+ results[:stdout] << line.chomp # Ignores blank lines
50
147
  end
51
148
  end
52
149
 
53
- @generator_test_results_sanity_checker.verify(results, unity_shell_result[:exit_code])
150
+ @sanity_checker.verify( results, unity_shell_result[:exit_code] )
54
151
 
55
- output_file = results_file.ext(@configurator.extension_testfail) if (results[:counts][:failed] > 0)
152
+ output_file = results_file.ext( @configurator.extension_testfail ) if (results[:counts][:failed] > 0)
56
153
 
57
154
  @yaml_wrapper.dump(output_file, results)
58
155
 
59
156
  return { :result_file => output_file, :result => results }
60
157
  end
61
158
 
159
+ # Filter list of test cases:
160
+ # --test_case
161
+ # --exclude_test_case
162
+ #
163
+ # @return Array - list of the test_case hashses {:test, :line_number}
164
+ def filter_test_cases(test_cases)
165
+ _test_cases = test_cases.clone
166
+
167
+ # Filter tests which contain test_case_name passed by `--test_case` argument
168
+ if !@configurator.include_test_case.empty?
169
+ _test_cases.delete_if { |i| !(i[:test] =~ /#{@configurator.include_test_case}/) }
170
+ end
171
+
172
+ # Filter tests which contain test_case_name passed by `--exclude_test_case` argument
173
+ if !@configurator.exclude_test_case.empty?
174
+ _test_cases.delete_if { |i| i[:test] =~ /#{@configurator.exclude_test_case}/ }
175
+ end
176
+
177
+ return _test_cases
178
+ end
179
+
180
+ def create_crash_failure(source, shell_result, test_cases)
181
+ count = test_cases.size()
182
+
183
+ output = []
184
+ test_cases.each do |test_case|
185
+ output << "#{source}:#{test_case[:line_number]}:#{test_case[:test]}:FAIL: Test executable crashed"
186
+ end
187
+
188
+ shell_result[:output] =
189
+ regenerate_test_executable_stdout(
190
+ total: count,
191
+ failed: count,
192
+ ignored: 0,
193
+ output: output
194
+ )
195
+
196
+ shell_result[:exit_code] = count
197
+
198
+ return shell_result
199
+ end
200
+
201
+ # Fill out a template to mimic Unity's test executable output
202
+ def regenerate_test_executable_stdout(total:, failed:, ignored:, output:[])
203
+ values = {
204
+ :total => total,
205
+ :failed => failed,
206
+ :ignored => ignored,
207
+ :output => output.map {|line| line.strip()}.join("\n"),
208
+ :result => (failed > 0) ? 'FAIL' : 'OK'
209
+ }
210
+
211
+ return UNITY_TEST_RESULTS_TEMPLATE % values
212
+ end
213
+
214
+ ### Private ###
215
+
62
216
  private
63
217
 
64
218
  def get_results_structure
65
219
  return {
66
- :source => {:path => '', :file => ''},
220
+ :source => {:file => '', :dirname => '', :basename => '' },
67
221
  :successes => [],
68
222
  :failures => [],
69
223
  :ignores => [],
@@ -73,10 +227,10 @@ class GeneratorTestResults
73
227
  }
74
228
  end
75
229
 
76
- def extract_line_elements(line, filename)
77
- # handle anything preceding filename in line as extra output to be collected
230
+ def extract_line_elements(executable, line, filename)
231
+ # Handle anything preceding filename in line as extra output to be collected
78
232
  stdout = nil
79
- stdout_regex = /(.+)#{Regexp.escape(filename)}.+/i
233
+ stdout_regex = /(.+)#{Regexp.escape(filename)}:[0-9]+:(PASS|IGNORE|FAIL).+/i
80
234
  unity_test_time = 0
81
235
 
82
236
  if (line =~ stdout_regex)
@@ -84,17 +238,33 @@ class GeneratorTestResults
84
238
  line.sub!(/#{Regexp.escape(stdout)}/, '')
85
239
  end
86
240
 
87
- # collect up test results minus and extra output
241
+ # Collect up test results minus any extra output
88
242
  elements = (line.strip.split(':'))[1..-1]
89
243
 
90
- # find timestamp if available
244
+ # Find timestamp if available
91
245
  if (elements[-1] =~ / \((\d*(?:\.\d*)?) ms\)/)
92
246
  unity_test_time = $1.to_f / 1000
93
247
  elements[-1].sub!(/ \((\d*(?:\.\d*)?) ms\)/, '')
94
248
  end
95
249
 
96
- return {:test => elements[1], :line => elements[0].to_i, :message => (elements[3..-1].join(':')).strip, :unity_test_time => unity_test_time}, stdout if elements.size >= 3
97
- return {:test => '???', :line => -1, :message => nil, :unity_test_time => unity_test_time} #fallback safe option. TODO better handling
250
+ if elements[3..-1]
251
+ message = (elements[3..-1].join(':')).strip
252
+ else
253
+ message = nil
254
+ end
255
+
256
+ components = {
257
+ :test => elements[1],
258
+ :line => elements[0].to_i,
259
+ # Decode any multline strings
260
+ :message => message.nil? ? nil : message.gsub( NEWLINE_TOKEN, "\n" ),
261
+ :unity_test_time => unity_test_time
262
+ }
263
+
264
+ return components, stdout if elements.size >= 3
265
+
266
+ # Fall through failure case
267
+ raise CeedlingException.new( "Could not parse results output line \"line\" for `#{executable}`" )
98
268
  end
99
269
 
100
270
  end
@@ -0,0 +1,215 @@
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
+
8
+ class GeneratorTestResultsBacktrace
9
+
10
+ constructor :configurator, :tool_executor, :generator_test_results
11
+
12
+ def setup()
13
+ @RESULTS_COLLECTOR = Struct.new( :passed, :failed, :ignored, :output, keyword_init:true )
14
+ end
15
+
16
+ def do_simple(filename, executable, shell_result, test_cases)
17
+ # Clean stats tracker
18
+ test_case_results = @RESULTS_COLLECTOR.new( passed:0, failed:0, ignored:0, output:[] )
19
+
20
+ # Reset time
21
+ shell_result[:time] = 0
22
+
23
+ # Iterate on test cases
24
+ test_cases.each do |test_case|
25
+ # Build the test fixture to run with our test case of interest
26
+ command = @tool_executor.build_command_line(
27
+ @configurator.tools_test_fixture_simple_backtrace, [],
28
+ executable,
29
+ test_case[:test]
30
+ )
31
+ # Things are gonna go boom, so ignore booms to get output
32
+ command[:options][:boom] = false
33
+
34
+ crash_result = @tool_executor.exec( command )
35
+
36
+ # Sum execution time for each test case
37
+ # Note: Running tests serpatately increases total execution time)
38
+ shell_result[:time] += crash_result[:time].to_f()
39
+
40
+ # Process single test case stats
41
+ case crash_result[:output]
42
+ # Success test case
43
+ when /(^#{filename}.+:PASS\s*$)/
44
+ test_case_results[:passed] += 1
45
+ test_output = $1 # Grab regex match
46
+
47
+ # Ignored test case
48
+ when /(^#{filename}.+:IGNORE\s*$)/
49
+ test_case_results[:ignored] += 1
50
+ test_output = $1 # Grab regex match
51
+
52
+ when /(^#{filename}.+:FAIL(:.+)?\s*$)/
53
+ test_case_results[:failed] += 1
54
+ test_output = $1 # Grab regex match
55
+
56
+ else # Crash failure case
57
+ test_case_results[:failed] += 1
58
+ test_output = "#{filename}}:#{test_case[:line_number]}:#{test_case[:test]}:FAIL: Test case crashed"
59
+ end
60
+
61
+ # Collect up real and stand-in test results output
62
+ test_case_results[:output] << test_output
63
+ end
64
+
65
+ # Reset shell result exit code and output
66
+ shell_result[:exit_code] = test_case_results[:failed]
67
+ shell_result[:output] =
68
+ @generator_test_results.regenerate_test_executable_stdout(
69
+ total: test_cases.size(),
70
+ ignored: test_case_results[:ignored],
71
+ failed: test_case_results[:failed],
72
+ output: test_case_results[:output]
73
+ )
74
+
75
+ return shell_result
76
+ end
77
+
78
+ def do_gdb(filename, executable, shell_result, test_cases)
79
+ gdb_script_filepath = File.join( @configurator.project_build_tests_root, BACKTRACE_GDB_SCRIPT_FILE )
80
+
81
+ # Clean stats tracker
82
+ test_case_results = @RESULTS_COLLECTOR.new( passed:0, failed:0, ignored:0, output:[] )
83
+
84
+ # Reset time
85
+ shell_result[:time] = 0
86
+
87
+ # Iterate on test cases
88
+ test_cases.each do |test_case|
89
+ # Build the test fixture to run with our test case of interest
90
+ command = @tool_executor.build_command_line(
91
+ @configurator.tools_test_backtrace_gdb, [],
92
+ gdb_script_filepath,
93
+ executable,
94
+ test_case[:test]
95
+ )
96
+ # Things are gonna go boom, so ignore booms to get output
97
+ command[:options][:boom] = false
98
+
99
+ crash_result = @tool_executor.exec( command )
100
+
101
+ # Sum execution time for each test case
102
+ # Note: Running tests serpatately increases total execution time)
103
+ shell_result[:time] += crash_result[:time].to_f()
104
+
105
+ test_output = ''
106
+
107
+ # Process single test case stats
108
+ case crash_result[:output]
109
+ # Success test case
110
+ when /(^#{filename}.+:PASS\s*$)/
111
+ test_case_results[:passed] += 1
112
+ test_output = $1 # Grab regex match
113
+
114
+ # Ignored test case
115
+ when /(^#{filename}.+:IGNORE\s*$)/
116
+ test_case_results[:ignored] += 1
117
+ test_output = $1 # Grab regex match
118
+
119
+ when /(^#{filename}.+:FAIL(:.+)?\s*$)/
120
+ test_case_results[:failed] += 1
121
+ test_output = $1 # Grab regex match
122
+
123
+ else # Crash failure case
124
+ test_case_results[:failed] += 1
125
+
126
+ # Collect file_name and line in which crash occurred
127
+ matched = crash_result[:output].match( /#{test_case[:test]}\s*\(\)\sat.+#{filename}:(\d+)\n/ )
128
+
129
+ # If we found an error report line containing `test_case() at filename.c:###` in `gdb` output
130
+ if matched
131
+ # Line number
132
+ line_number = matched[1]
133
+
134
+ # Filter the `gdb` $stdout report to find most important lines of text
135
+ crash_report = filter_gdb_test_report( crash_result[:output], test_case[:test], filename )
136
+
137
+ # Unity’s test executable output is line oriented.
138
+ # Multi-line output is not possible (it looks like random `printf()` statements to the results parser)
139
+ # "Encode" newlines in multiline string to be handled by the test results parser.
140
+ test_output = crash_report.gsub( "\n", NEWLINE_TOKEN )
141
+
142
+ test_output = "#{filename}:#{line_number}:#{test_case[:test]}:FAIL: Test case crashed >> #{test_output}"
143
+
144
+ # Otherwise communicate that `gdb` failed to produce a usable report
145
+ else
146
+ test_output = "#{filename}:#{test_case[:line_number]}:#{test_case[:test]}:FAIL: Test case crashed (no usable `gdb` report)"
147
+ end
148
+ end
149
+
150
+ test_case_results[:output] << test_output
151
+ end
152
+
153
+ # Reset shell result exit code and output
154
+ shell_result[:exit_code] = test_case_results[:failed]
155
+ shell_result[:output] =
156
+ @generator_test_results.regenerate_test_executable_stdout(
157
+ total: test_cases.size(),
158
+ ignored: test_case_results[:ignored],
159
+ failed: test_case_results[:failed],
160
+ output: test_case_results[:output]
161
+ )
162
+
163
+ return shell_result
164
+ end
165
+
166
+ ### Private ###
167
+ private
168
+
169
+ def filter_gdb_test_report(report, test_case, filename)
170
+ # Sample `gdb` backtrace output
171
+ # =============================
172
+ # [Thread debugging using libthread_db enabled]
173
+ # Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
174
+ #
175
+ # [1] > Program received signal SIGSEGV, Segmentation fault.
176
+ # 0x0000555999f661fb in testCrash () at test/TestUsartModel.c:40
177
+ # [2] > 40 uint32_t i = *nullptr;
178
+ # #0 0x0000555999f661fb in testCrash () at test/TestUsartModel.c:40
179
+ # #1 0x0000555999f674de in run_test (func=0x555999f661e7 <testCrash>, name=0x555999f6b2e0 "testCrash", line_num=37) at build/test/runners/TestUsartModel_runner.c:76
180
+ # #2 0x0000555999f6766b in main (argc=3, argv=0x7fff917e2c98) at build/test/runners/TestUsartModel_runner.c:117
181
+
182
+ lines = report.split( "\n" )
183
+
184
+ # Safe defaults to extract entire report
185
+ report_start_index = 0 # [1]
186
+ report_end_index = (lines.size()-1) # [2]
187
+
188
+ # Find line preceding last `<test_case> () at <filename>`, [2];
189
+ # it is the offending line of code.
190
+ # We don't need the rest of the call trace -- it's just from the runner
191
+ # up to the crashed test case.
192
+ lines.each_with_index do |line, index|
193
+ if line =~ /#{test_case}.+at.+#{filename}/
194
+ report_end_index = (index - 1) unless (index == 0)
195
+ end
196
+ end
197
+
198
+ # Work up from [2] to find top line of the containing text block, [1].
199
+ # Go until we find a blank line; then increment index back down a line.
200
+ # This lops off any unneeded preamble.
201
+ report_end_index.downto(0).to_a().each do |index|
202
+ if lines[index].empty?
203
+ # Look for a blank line and adjust index to next line of text
204
+ report_start_index = (index + 1)
205
+ break
206
+ end
207
+ end
208
+
209
+ length = (report_end_index - report_start_index) + 1
210
+
211
+ # Reconstitute the report from the extracted lines
212
+ return lines[report_start_index, length].join( "\n" )
213
+ end
214
+
215
+ end