ceedling 0.9.0 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1282) hide show
  1. checksums.yaml +7 -0
  2. data/GIT_COMMIT_SHA +1 -0
  3. data/Gemfile +23 -2
  4. data/Gemfile.lock +50 -0
  5. data/README.md +728 -42
  6. data/Rakefile +21 -75
  7. data/assets/ceedling +9 -0
  8. data/assets/ceedling.cmd +1 -0
  9. data/assets/default_gitignore +7 -0
  10. data/assets/example_file.c +16 -0
  11. data/assets/example_file.h +15 -0
  12. data/assets/example_file_call.c +13 -0
  13. data/assets/example_file_call.h +13 -0
  14. data/assets/project.yml +402 -0
  15. data/assets/test_example_file.c +20 -0
  16. data/assets/test_example_file_boom.c +20 -0
  17. data/assets/test_example_file_crash.c +25 -0
  18. data/assets/test_example_file_success.c +21 -0
  19. data/assets/test_example_file_unity_printf.c +19 -0
  20. data/assets/test_example_file_verbose.c +19 -0
  21. data/assets/test_example_file_with_mock.c +20 -0
  22. data/assets/test_example_with_parameterized_tests.c +28 -0
  23. data/assets/tests_with_defines/src/adc_hardware.c +18 -0
  24. data/assets/tests_with_defines/src/adc_hardware.h +13 -0
  25. data/assets/tests_with_defines/src/adc_hardware_configurator.c +18 -0
  26. data/assets/tests_with_defines/src/adc_hardware_configurator.h +17 -0
  27. data/assets/tests_with_defines/test/test_adc_hardware.c +28 -0
  28. data/assets/tests_with_defines/test/test_adc_hardware_special.c +28 -0
  29. data/assets/tests_with_preprocessing/src/adc_hardwareA.c +17 -0
  30. data/assets/tests_with_preprocessing/src/adc_hardwareA.h +13 -0
  31. data/assets/tests_with_preprocessing/src/adc_hardwareB.c +14 -0
  32. data/assets/tests_with_preprocessing/src/adc_hardwareB.h +13 -0
  33. data/assets/tests_with_preprocessing/src/adc_hardwareC.c +14 -0
  34. data/assets/tests_with_preprocessing/src/adc_hardwareC.h +13 -0
  35. data/assets/tests_with_preprocessing/src/adc_hardware_configuratorA.h +13 -0
  36. data/assets/tests_with_preprocessing/src/adc_hardware_configuratorB.h +15 -0
  37. data/assets/tests_with_preprocessing/src/adc_hardware_configuratorC.h +15 -0
  38. data/assets/tests_with_preprocessing/test/test_adc_hardwareA.c +41 -0
  39. data/assets/tests_with_preprocessing/test/test_adc_hardwareB.c +25 -0
  40. data/assets/tests_with_preprocessing/test/test_adc_hardwareC.c +29 -0
  41. data/assets/uncovered_example_file.c +12 -0
  42. data/bin/actions_wrapper.rb +50 -0
  43. data/bin/app_cfg.rb +134 -0
  44. data/bin/ceedling +146 -57
  45. data/bin/cli.rb +542 -0
  46. data/bin/cli_handler.rb +480 -0
  47. data/bin/cli_helper.rb +512 -0
  48. data/bin/configinator.rb +111 -0
  49. data/bin/mixinator.rb +136 -0
  50. data/bin/mixins.rb +12 -0
  51. data/bin/objects.yml +80 -0
  52. data/bin/path_validator.rb +54 -0
  53. data/bin/projectinator.rb +244 -0
  54. data/bin/versionator.rb +81 -0
  55. data/ceedling.gemspec +54 -14
  56. data/config/test_environment.rb +14 -0
  57. data/docs/BreakingChanges.md +260 -0
  58. data/docs/CODE_OF_CONDUCT.md +138 -0
  59. data/docs/CONTRIBUTING.md +240 -0
  60. data/docs/Ceedling Basic Porting.pdf +0 -0
  61. data/docs/Ceedling Managing Release Code.pdf +0 -0
  62. data/docs/Ceedling Working with IDEs.pdf +0 -0
  63. data/docs/CeedlingPacket.md +5651 -0
  64. data/docs/CeedlingPullRequestChecklist.md +24 -0
  65. data/docs/CeedlingUpgrade.md +83 -0
  66. data/docs/Changelog.md +493 -0
  67. data/docs/PluginDevelopmentGuide.md +764 -0
  68. data/docs/ReleaseNotes.md +353 -0
  69. data/docs/SECURITY.md +41 -0
  70. data/docs/ThrowTheSwitchCodingStandard.md +207 -0
  71. data/examples/temp_sensor/README.md +18 -0
  72. data/examples/temp_sensor/mixin/add_gcov.yml +51 -0
  73. data/examples/temp_sensor/mixin/add_unity_helper.yml +26 -0
  74. data/examples/temp_sensor/project.yml +355 -70
  75. data/examples/temp_sensor/src/AdcConductor.c +49 -42
  76. data/examples/temp_sensor/src/AdcConductor.h +20 -11
  77. data/examples/temp_sensor/src/AdcHardware.c +34 -27
  78. data/examples/temp_sensor/src/AdcHardware.h +18 -11
  79. data/examples/temp_sensor/src/AdcHardwareConfigurator.c +25 -18
  80. data/examples/temp_sensor/src/AdcHardwareConfigurator.h +17 -10
  81. data/examples/temp_sensor/src/AdcModel.c +40 -33
  82. data/examples/temp_sensor/src/AdcModel.h +20 -13
  83. data/examples/temp_sensor/src/AdcTemperatureSensor.c +58 -51
  84. data/examples/temp_sensor/src/AdcTemperatureSensor.h +17 -10
  85. data/examples/temp_sensor/src/Executor.c +32 -25
  86. data/examples/temp_sensor/src/Executor.h +16 -9
  87. data/examples/temp_sensor/src/IntrinsicsWrapper.c +25 -18
  88. data/examples/temp_sensor/src/IntrinsicsWrapper.h +14 -7
  89. data/examples/temp_sensor/src/Main.c +53 -46
  90. data/examples/temp_sensor/src/Main.h +14 -7
  91. data/examples/temp_sensor/src/Model.c +17 -10
  92. data/examples/temp_sensor/src/Model.h +15 -8
  93. data/examples/temp_sensor/src/ModelConfig.h +14 -7
  94. data/examples/temp_sensor/src/TaskScheduler.c +79 -72
  95. data/examples/temp_sensor/src/TaskScheduler.h +18 -11
  96. data/examples/temp_sensor/src/TemperatureCalculator.c +38 -27
  97. data/examples/temp_sensor/src/TemperatureCalculator.h +15 -6
  98. data/examples/temp_sensor/src/TemperatureFilter.c +45 -39
  99. data/examples/temp_sensor/src/TemperatureFilter.h +17 -10
  100. data/examples/temp_sensor/src/TimerConductor.c +22 -15
  101. data/examples/temp_sensor/src/TimerConductor.h +16 -9
  102. data/examples/temp_sensor/src/TimerConfigurator.c +58 -51
  103. data/examples/temp_sensor/src/TimerConfigurator.h +22 -15
  104. data/examples/temp_sensor/src/TimerHardware.c +22 -15
  105. data/examples/temp_sensor/src/TimerHardware.h +15 -8
  106. data/examples/temp_sensor/src/TimerInterruptConfigurator.c +62 -55
  107. data/examples/temp_sensor/src/TimerInterruptConfigurator.h +20 -13
  108. data/examples/temp_sensor/src/TimerInterruptHandler.c +32 -25
  109. data/examples/temp_sensor/src/TimerInterruptHandler.h +17 -10
  110. data/examples/temp_sensor/src/TimerModel.c +16 -9
  111. data/examples/temp_sensor/src/TimerModel.h +15 -8
  112. data/examples/temp_sensor/src/Types.h +97 -103
  113. data/examples/temp_sensor/src/UsartBaudRateRegisterCalculator.c +25 -18
  114. data/examples/temp_sensor/src/UsartBaudRateRegisterCalculator.h +15 -6
  115. data/examples/temp_sensor/src/UsartConductor.c +28 -21
  116. data/examples/temp_sensor/src/UsartConductor.h +14 -7
  117. data/examples/temp_sensor/src/UsartConfigurator.c +46 -39
  118. data/examples/temp_sensor/src/UsartConfigurator.h +20 -13
  119. data/examples/temp_sensor/src/UsartHardware.c +29 -34
  120. data/examples/temp_sensor/src/UsartHardware.h +16 -10
  121. data/examples/temp_sensor/src/UsartModel.c +41 -34
  122. data/examples/temp_sensor/src/UsartModel.h +17 -10
  123. data/examples/temp_sensor/src/UsartPutChar.c +23 -16
  124. data/examples/temp_sensor/src/UsartPutChar.h +15 -8
  125. data/examples/temp_sensor/src/UsartTransmitBufferStatus.c +14 -7
  126. data/examples/temp_sensor/src/UsartTransmitBufferStatus.h +15 -8
  127. data/examples/temp_sensor/test/TestExecutor.c +43 -0
  128. data/examples/temp_sensor/test/TestMain.c +31 -0
  129. data/examples/temp_sensor/test/TestModel.c +27 -0
  130. data/examples/temp_sensor/test/TestTaskScheduler.c +111 -0
  131. data/examples/temp_sensor/test/TestTemperatureCalculator.c +43 -0
  132. data/examples/temp_sensor/test/TestTemperatureFilter.c +86 -0
  133. data/examples/temp_sensor/test/TestTimerConductor.c +39 -0
  134. data/examples/temp_sensor/test/TestTimerHardware.c +33 -0
  135. data/examples/temp_sensor/test/TestTimerIntegrated.c +53 -0
  136. data/examples/temp_sensor/test/TestTimerModel.c +25 -0
  137. data/examples/temp_sensor/test/TestUsartBaudRateRegisterCalculator.c +28 -0
  138. data/examples/temp_sensor/test/TestUsartConductor.c +47 -0
  139. data/examples/temp_sensor/test/TestUsartHardware.c +43 -0
  140. data/examples/temp_sensor/test/TestUsartIntegrated.c +63 -0
  141. data/examples/temp_sensor/test/TestUsartModel.c +47 -0
  142. data/examples/temp_sensor/test/adc/TestAdcConductor.c +128 -0
  143. data/examples/temp_sensor/test/adc/TestAdcHardware.c +51 -0
  144. data/examples/temp_sensor/test/adc/TestAdcModel.c +40 -0
  145. data/examples/temp_sensor/test/support/UnityHelper.c +19 -10
  146. data/examples/temp_sensor/test/support/UnityHelper.h +17 -12
  147. data/lib/ceedling/application.rb +26 -0
  148. data/lib/ceedling/backtrace.gdb +5 -0
  149. data/lib/ceedling/build_batchinator.rb +113 -0
  150. data/lib/ceedling/cacheinator.rb +53 -0
  151. data/lib/ceedling/cacheinator_helper.rb +41 -0
  152. data/lib/ceedling/config_matchinator.rb +192 -0
  153. data/lib/ceedling/config_walkinator.rb +35 -0
  154. data/lib/ceedling/configurator.rb +735 -0
  155. data/lib/ceedling/configurator_builder.rb +558 -0
  156. data/lib/ceedling/configurator_plugins.rb +165 -0
  157. data/lib/ceedling/configurator_setup.rb +799 -0
  158. data/lib/ceedling/configurator_validator.rb +203 -0
  159. data/lib/ceedling/constants.rb +160 -0
  160. data/lib/ceedling/defaults.rb +477 -0
  161. data/lib/ceedling/defineinator.rb +90 -0
  162. data/lib/ceedling/dependinator.rb +31 -0
  163. data/lib/ceedling/encodinator.rb +26 -0
  164. data/lib/ceedling/erb_wrapper.rb +16 -0
  165. data/lib/ceedling/exceptions.rb +47 -0
  166. data/lib/ceedling/file_finder.rb +183 -0
  167. data/lib/ceedling/file_finder_helper.rb +116 -0
  168. data/lib/ceedling/file_path_collection_utils.rb +137 -0
  169. data/lib/ceedling/file_path_utils.rb +190 -0
  170. data/lib/ceedling/file_system_wrapper.rb +16 -0
  171. data/lib/ceedling/file_wrapper.rb +122 -0
  172. data/lib/ceedling/flaginator.rb +65 -0
  173. data/lib/ceedling/generator.rb +365 -0
  174. data/lib/ceedling/generator_helper.rb +78 -0
  175. data/lib/ceedling/generator_mocks.rb +41 -0
  176. data/lib/ceedling/generator_test_results.rb +270 -0
  177. data/lib/ceedling/generator_test_results_backtrace.rb +215 -0
  178. data/lib/ceedling/generator_test_results_sanity_checker.rb +70 -0
  179. data/lib/ceedling/generator_test_runner.rb +84 -0
  180. data/lib/ceedling/include_pathinator.rb +83 -0
  181. data/lib/ceedling/loginator.rb +326 -0
  182. data/lib/ceedling/makefile.rb +52 -0
  183. data/lib/ceedling/objects.yml +352 -0
  184. data/lib/ceedling/parsing_parcels.rb +77 -0
  185. data/lib/ceedling/plugin.rb +30 -0
  186. data/lib/ceedling/plugin_manager.rb +133 -0
  187. data/lib/ceedling/plugin_manager_helper.rb +25 -0
  188. data/lib/ceedling/plugin_reportinator.rb +139 -0
  189. data/lib/ceedling/plugin_reportinator_helper.rb +84 -0
  190. data/lib/ceedling/preprocessinator.rb +239 -0
  191. data/lib/ceedling/preprocessinator_extractor.rb +257 -0
  192. data/lib/ceedling/preprocessinator_file_handler.rb +229 -0
  193. data/lib/ceedling/preprocessinator_includes_handler.rb +382 -0
  194. data/lib/ceedling/rake_utils.rb +23 -0
  195. data/lib/ceedling/rake_wrapper.rb +40 -0
  196. data/lib/ceedling/rakefile.rb +145 -0
  197. data/lib/ceedling/release_invoker.rb +68 -0
  198. data/lib/ceedling/release_invoker_helper.rb +12 -0
  199. data/lib/ceedling/reportinator.rb +124 -0
  200. data/lib/ceedling/rules_release.rake +107 -0
  201. data/lib/ceedling/rules_tests.rake +62 -0
  202. data/lib/ceedling/setupinator.rb +199 -0
  203. data/lib/ceedling/stream_wrapper.rb +51 -0
  204. data/lib/ceedling/system_utils.rb +43 -0
  205. data/lib/ceedling/system_wrapper.rb +150 -0
  206. data/lib/ceedling/task_invoker.rb +70 -0
  207. data/lib/ceedling/tasks_base.rake +39 -0
  208. data/lib/ceedling/tasks_filesystem.rake +99 -0
  209. data/lib/ceedling/tasks_release.rake +43 -0
  210. data/lib/ceedling/tasks_tests.rake +71 -0
  211. data/lib/ceedling/test_context_extractor.rb +379 -0
  212. data/lib/ceedling/test_invoker.rb +506 -0
  213. data/lib/ceedling/test_invoker_helper.rb +347 -0
  214. data/lib/ceedling/test_runner_manager.rb +47 -0
  215. data/lib/ceedling/tool_executor.rb +233 -0
  216. data/lib/ceedling/tool_executor_helper.rb +107 -0
  217. data/lib/ceedling/tool_validator.rb +149 -0
  218. data/lib/ceedling/verbosinator.rb +22 -0
  219. data/lib/ceedling/yaml_wrapper.rb +37 -0
  220. data/lib/ceedling.rb +12 -4
  221. data/lib/version.rb +24 -0
  222. data/license.txt +24 -0
  223. data/plugins/beep/README.md +133 -0
  224. data/plugins/beep/config/defaults.yml +12 -0
  225. data/plugins/beep/config/defaults_beep.rb +67 -0
  226. data/plugins/beep/lib/beep.rb +85 -0
  227. data/plugins/bullseye/README.md +81 -0
  228. data/plugins/bullseye/bullseye.rake +180 -0
  229. data/plugins/bullseye/config/defaults.yml +66 -0
  230. data/plugins/bullseye/lib/bullseye.rb +203 -0
  231. data/plugins/command_hooks/README.md +241 -0
  232. data/plugins/command_hooks/lib/command_hooks.rb +231 -0
  233. data/plugins/compile_commands_json_db/README.md +40 -0
  234. data/plugins/compile_commands_json_db/lib/compile_commands_json_db.rb +51 -0
  235. data/plugins/dependencies/README.md +321 -0
  236. data/plugins/dependencies/Rakefile +188 -0
  237. data/plugins/dependencies/config/defaults.yml +78 -0
  238. data/plugins/dependencies/dependencies.rake +157 -0
  239. data/plugins/dependencies/example/boss/project.yml +231 -0
  240. data/plugins/dependencies/example/boss/src/boss.c +80 -0
  241. data/plugins/dependencies/example/boss/src/boss.h +16 -0
  242. data/plugins/dependencies/example/boss/src/main.c +45 -0
  243. data/plugins/dependencies/example/boss/test/test_boss.c +118 -0
  244. data/plugins/dependencies/example/supervisor/project.yml +165 -0
  245. data/plugins/dependencies/example/supervisor/src/supervisor.c +45 -0
  246. data/plugins/dependencies/example/supervisor/src/supervisor.h +14 -0
  247. data/plugins/dependencies/example/supervisor/test/test_supervisor.c +58 -0
  248. data/plugins/dependencies/example/version.tar.gzip +0 -0
  249. data/plugins/dependencies/example/workerbees.zip +0 -0
  250. data/plugins/dependencies/lib/dependencies.rb +531 -0
  251. data/plugins/fff/README.md +242 -0
  252. data/plugins/fff/Rakefile +26 -0
  253. data/plugins/fff/config/fff.yml +13 -0
  254. data/plugins/fff/examples/fff_example/project.yml +145 -0
  255. data/plugins/fff/examples/fff_example/src/bar.c +8 -0
  256. data/plugins/fff/examples/fff_example/src/bar.h +21 -0
  257. data/plugins/fff/examples/fff_example/src/custom_types.h +13 -0
  258. data/plugins/fff/examples/fff_example/src/display.c +14 -0
  259. data/plugins/fff/examples/fff_example/src/display.h +23 -0
  260. data/plugins/fff/examples/fff_example/src/event_processor.c +100 -0
  261. data/plugins/fff/examples/fff_example/src/event_processor.h +18 -0
  262. data/plugins/fff/examples/fff_example/src/foo.c +23 -0
  263. data/plugins/fff/examples/fff_example/src/foo.h +15 -0
  264. data/plugins/fff/examples/fff_example/src/subfolder/zzz.c +8 -0
  265. data/plugins/fff/examples/fff_example/src/subfolder/zzz.h +13 -0
  266. data/plugins/fff/examples/fff_example/test/test_event_processor.c +160 -0
  267. data/plugins/fff/examples/fff_example/test/test_foo.c +54 -0
  268. data/plugins/fff/lib/fff.rb +90 -0
  269. data/plugins/fff/lib/fff_mock_generator.rb +172 -0
  270. data/plugins/fff/spec/fff_mock_header_generator_spec.rb +311 -0
  271. data/plugins/fff/spec/fff_mock_source_generator_spec.rb +156 -0
  272. data/plugins/fff/spec/header_generator.rb +58 -0
  273. data/plugins/fff/spec/spec_helper.rb +103 -0
  274. data/plugins/fff/src/fff_unity_helper.h +40 -0
  275. data/plugins/fff/vendor/fff/LICENSE +25 -0
  276. data/plugins/fff/vendor/fff/Makefile +10 -0
  277. data/plugins/fff/vendor/fff/README.md +454 -0
  278. data/plugins/fff/vendor/fff/buildandtest +15 -0
  279. data/plugins/fff/vendor/fff/examples/Makefile +7 -0
  280. data/plugins/fff/vendor/fff/examples/driver_testing/Makefile +64 -0
  281. data/plugins/fff/vendor/fff/examples/driver_testing/driver.c +32 -0
  282. data/plugins/fff/vendor/fff/examples/driver_testing/driver.h +21 -0
  283. data/plugins/fff/vendor/fff/examples/driver_testing/driver.test.cpp +58 -0
  284. data/plugins/fff/vendor/fff/examples/driver_testing/driver.test.fff.cpp +70 -0
  285. data/plugins/fff/vendor/fff/examples/driver_testing/hardware_abstraction.h +25 -0
  286. data/plugins/fff/vendor/fff/examples/driver_testing/registers.h +23 -0
  287. data/plugins/fff/vendor/fff/examples/embedded_ui/DISPLAY.h +27 -0
  288. data/plugins/fff/vendor/fff/examples/embedded_ui/Kata.txt +25 -0
  289. data/plugins/fff/vendor/fff/examples/embedded_ui/Makefile +67 -0
  290. data/plugins/fff/vendor/fff/examples/embedded_ui/SYSTEM.h +31 -0
  291. data/plugins/fff/vendor/fff/examples/embedded_ui/UI.c +56 -0
  292. data/plugins/fff/vendor/fff/examples/embedded_ui/UI.h +22 -0
  293. data/plugins/fff/vendor/fff/examples/embedded_ui/UI_test_ansic.c +191 -0
  294. data/plugins/fff/vendor/fff/examples/embedded_ui/UI_test_cpp.cpp +144 -0
  295. data/plugins/fff/vendor/fff/examples/embedded_ui/test_suite_template.c +42 -0
  296. data/plugins/fff/vendor/fff/fakegen.rb +428 -0
  297. data/plugins/fff/vendor/fff/fff.h +5122 -0
  298. data/plugins/fff/vendor/fff/gtest/Makefile +22 -0
  299. data/plugins/fff/vendor/fff/gtest/gtest-all.cc +9118 -0
  300. data/plugins/fff/vendor/fff/gtest/gtest-main.cc +6 -0
  301. data/plugins/fff/vendor/fff/gtest/gtest.h +19547 -0
  302. data/plugins/fff/vendor/fff/test/Makefile +81 -0
  303. data/plugins/fff/vendor/fff/test/c_test_framework.h +25 -0
  304. data/plugins/fff/vendor/fff/test/fff_test_c.c +116 -0
  305. data/plugins/fff/vendor/fff/test/fff_test_cpp.cpp +53 -0
  306. data/plugins/fff/vendor/fff/test/fff_test_global_c.c +84 -0
  307. data/plugins/fff/vendor/fff/test/fff_test_global_cpp.cpp +31 -0
  308. data/plugins/fff/vendor/fff/test/global_fakes.c +21 -0
  309. data/plugins/fff/vendor/fff/test/global_fakes.h +47 -0
  310. data/plugins/fff/vendor/fff/test/test_cases.include +276 -0
  311. data/plugins/gcov/README.md +893 -0
  312. data/plugins/gcov/config/defaults.yml +30 -0
  313. data/plugins/gcov/config/defaults_gcov.rb +109 -0
  314. data/plugins/gcov/gcov.rake +100 -0
  315. data/plugins/gcov/lib/gcov.rb +282 -0
  316. data/plugins/gcov/lib/gcov_constants.rb +63 -0
  317. data/plugins/gcov/lib/gcovr_reportinator.rb +425 -0
  318. data/plugins/gcov/lib/reportgenerator_reportinator.rb +220 -0
  319. data/plugins/gcov/lib/reportinator_helper.rb +30 -0
  320. data/plugins/module_generator/README.md +267 -0
  321. data/plugins/module_generator/Rakefile +232 -0
  322. data/plugins/module_generator/assets/stubby1.h +13 -0
  323. data/plugins/module_generator/assets/stubby2.h +15 -0
  324. data/plugins/module_generator/config/module_generator.yml +13 -0
  325. data/plugins/module_generator/example/project.yml +174 -0
  326. data/plugins/module_generator/lib/module_generator.rb +122 -0
  327. data/plugins/module_generator/module_generator.rake +69 -0
  328. data/plugins/report_build_warnings_log/README.md +40 -0
  329. data/plugins/report_build_warnings_log/config/defaults.yml +12 -0
  330. data/plugins/report_build_warnings_log/lib/report_build_warnings_log.rb +143 -0
  331. data/plugins/report_tests_gtestlike_stdout/README.md +96 -0
  332. data/plugins/report_tests_gtestlike_stdout/assets/template.erb +83 -0
  333. data/plugins/report_tests_gtestlike_stdout/config/report_tests_gtestlike_stdout.yml +11 -0
  334. data/plugins/report_tests_gtestlike_stdout/lib/report_tests_gtestlike_stdout.rb +69 -0
  335. data/plugins/report_tests_ide_stdout/README.md +62 -0
  336. data/plugins/report_tests_ide_stdout/config/report_tests_ide_stdout.yml +11 -0
  337. data/plugins/report_tests_ide_stdout/lib/report_tests_ide_stdout.rb +72 -0
  338. data/plugins/report_tests_log_factory/README.md +446 -0
  339. data/plugins/report_tests_log_factory/config/defaults.yml +11 -0
  340. data/plugins/report_tests_log_factory/lib/cppunit_tests_reporter.rb +100 -0
  341. data/plugins/report_tests_log_factory/lib/html_tests_reporter.rb +181 -0
  342. data/plugins/report_tests_log_factory/lib/json_tests_reporter.rb +72 -0
  343. data/plugins/report_tests_log_factory/lib/junit_tests_reporter.rb +197 -0
  344. data/plugins/report_tests_log_factory/lib/report_tests_log_factory.rb +135 -0
  345. data/plugins/report_tests_log_factory/lib/tests_reporter.rb +70 -0
  346. data/plugins/report_tests_log_factory/sample_html_report.png +0 -0
  347. data/plugins/report_tests_pretty_stdout/README.md +54 -0
  348. data/plugins/report_tests_pretty_stdout/assets/template.erb +63 -0
  349. data/plugins/report_tests_pretty_stdout/config/report_tests_pretty_stdout.yml +11 -0
  350. data/plugins/report_tests_pretty_stdout/lib/report_tests_pretty_stdout.rb +73 -0
  351. data/plugins/report_tests_raw_output_log/README.md +50 -0
  352. data/plugins/report_tests_raw_output_log/lib/report_tests_raw_output_log.rb +129 -0
  353. data/plugins/report_tests_teamcity_stdout/README.md +94 -0
  354. data/plugins/report_tests_teamcity_stdout/config/defaults.yml +12 -0
  355. data/plugins/report_tests_teamcity_stdout/config/report_tests_teamcity_stdout.yml +11 -0
  356. data/plugins/report_tests_teamcity_stdout/lib/report_tests_teamcity_stdout.rb +163 -0
  357. data/spec/config_walkinator_spec.rb +62 -0
  358. data/spec/configurator_builder_spec.rb +16 -0
  359. data/spec/configurator_helper_spec.rb +12 -0
  360. data/spec/configurator_spec.rb +18 -0
  361. data/spec/file_finder_helper_spec.rb +73 -0
  362. data/spec/gcov/gcov_deployment_spec.rb +135 -0
  363. data/spec/gcov/gcov_test_cases_spec.rb +344 -0
  364. data/spec/generator_test_results_sanity_checker_spec.rb +104 -0
  365. data/spec/generator_test_results_spec.rb +131 -0
  366. data/spec/manual/stress_test.rb +31 -0
  367. data/spec/parsing_parcels_spec.rb +66 -0
  368. data/spec/preprocessinator_extractor_spec.rb +408 -0
  369. data/spec/preprocessinator_includes_handler_spec.rb +289 -0
  370. data/spec/reportinator_spec.rb +26 -0
  371. data/spec/spec_helper.rb +31 -0
  372. data/spec/spec_system_helper.rb +994 -0
  373. data/spec/support/other_target.yml +7 -0
  374. data/spec/support/target.yml +7 -0
  375. data/spec/support/test_example.fail +25 -0
  376. data/spec/support/test_example.pass +25 -0
  377. data/spec/support/test_example_empty.pass +15 -0
  378. data/spec/support/test_example_ignore.pass +25 -0
  379. data/spec/support/test_example_mangled.pass +22 -0
  380. data/spec/support/test_example_with_time.pass +25 -0
  381. data/spec/system/deployment_as_gem_spec.rb +76 -0
  382. data/spec/system/deployment_as_vendor_spec.rb +123 -0
  383. data/spec/system/example_temp_sensor_spec.rb +264 -0
  384. data/spec/system/upgrade_as_vendor_spec.rb +68 -0
  385. data/spec/system_utils_spec.rb +65 -0
  386. data/spec/test_context_extractor_spec.rb +328 -0
  387. data/spec/tool_executor_helper_spec.rb +219 -0
  388. data/spec/uncategorized_specs_spec.rb +15 -0
  389. data/vendor/c_exception/README.md +236 -0
  390. data/vendor/c_exception/docs/CException.md +289 -0
  391. data/vendor/c_exception/docs/CODE_OF_CONDUCT.md +138 -0
  392. data/vendor/c_exception/docs/CONTRIBUTING.md +238 -0
  393. data/vendor/c_exception/docs/ThrowTheSwitchCodingStandard.md +207 -0
  394. data/vendor/c_exception/lib/CException.c +59 -0
  395. data/vendor/c_exception/lib/CException.h +122 -0
  396. data/vendor/c_exception/lib/meson.build +11 -0
  397. data/vendor/c_exception/license.txt +22 -0
  398. data/vendor/c_exception/meson.build +14 -0
  399. data/vendor/c_exception/project.yml +263 -0
  400. data/vendor/c_exception/test/TestException.c +398 -0
  401. data/vendor/c_exception/test/support/CExceptionConfig.h +53 -0
  402. data/vendor/cmock/Gemfile +1 -0
  403. data/vendor/cmock/LICENSE.txt +21 -0
  404. data/vendor/cmock/README.md +55 -0
  405. data/vendor/cmock/cmock.gemspec +34 -0
  406. data/vendor/cmock/config/production_environment.rb +13 -0
  407. data/vendor/cmock/config/test_environment.rb +17 -0
  408. data/vendor/cmock/docs/CMockChangeLog.md +166 -0
  409. data/vendor/cmock/docs/CMockKnownIssues.md +13 -0
  410. data/vendor/cmock/docs/CMock_ArgumentValidation.md +274 -0
  411. data/vendor/cmock/docs/CMock_Summary.md +866 -0
  412. data/vendor/cmock/docs/CODE_OF_CONDUCT.md +138 -0
  413. data/vendor/cmock/docs/CONTRIBUTING.md +238 -0
  414. data/vendor/cmock/docs/ThrowTheSwitchCodingStandard.md +207 -0
  415. data/vendor/cmock/examples/make_example/Makefile +30 -0
  416. data/vendor/cmock/examples/make_example/src/foo.c +12 -0
  417. data/vendor/cmock/examples/make_example/src/foo.h +12 -0
  418. data/vendor/cmock/examples/make_example/src/main.c +22 -0
  419. data/vendor/cmock/examples/make_example/test/test_foo.c +24 -0
  420. data/vendor/cmock/examples/make_example/test/test_main.c +22 -0
  421. data/vendor/cmock/examples/temp_sensor/rakefile.rb +49 -0
  422. data/vendor/cmock/examples/temp_sensor/rakefile_helper.rb +280 -0
  423. data/vendor/cmock/examples/temp_sensor/src/AT91SAM7X256.h +2564 -0
  424. data/vendor/cmock/examples/temp_sensor/src/AdcConductor.c +49 -0
  425. data/vendor/cmock/examples/temp_sensor/src/AdcConductor.h +18 -0
  426. data/vendor/cmock/examples/temp_sensor/src/AdcHardware.c +34 -0
  427. data/vendor/cmock/examples/temp_sensor/src/AdcHardware.h +16 -0
  428. data/vendor/cmock/examples/temp_sensor/src/AdcHardwareConfigurator.c +25 -0
  429. data/vendor/cmock/examples/temp_sensor/src/AdcHardwareConfigurator.h +17 -0
  430. data/vendor/cmock/examples/temp_sensor/src/AdcModel.c +40 -0
  431. data/vendor/cmock/examples/temp_sensor/src/AdcModel.h +20 -0
  432. data/vendor/cmock/examples/temp_sensor/src/AdcTemperatureSensor.c +58 -0
  433. data/vendor/cmock/examples/temp_sensor/src/AdcTemperatureSensor.h +17 -0
  434. data/vendor/cmock/examples/temp_sensor/src/Executor.c +32 -0
  435. data/vendor/cmock/examples/temp_sensor/src/Executor.h +16 -0
  436. data/vendor/cmock/examples/temp_sensor/src/IntrinsicsWrapper.c +25 -0
  437. data/vendor/cmock/examples/temp_sensor/src/IntrinsicsWrapper.h +14 -0
  438. data/vendor/cmock/examples/temp_sensor/src/Main.c +53 -0
  439. data/vendor/cmock/examples/temp_sensor/src/Main.h +14 -0
  440. data/vendor/cmock/examples/temp_sensor/src/Model.c +17 -0
  441. data/vendor/cmock/examples/temp_sensor/src/Model.h +15 -0
  442. data/vendor/cmock/examples/temp_sensor/src/ModelConfig.h +14 -0
  443. data/vendor/cmock/examples/temp_sensor/src/TaskScheduler.c +79 -0
  444. data/vendor/cmock/examples/temp_sensor/src/TaskScheduler.h +18 -0
  445. data/vendor/cmock/examples/temp_sensor/src/TemperatureCalculator.c +34 -0
  446. data/vendor/cmock/examples/temp_sensor/src/TemperatureCalculator.h +13 -0
  447. data/vendor/cmock/examples/temp_sensor/src/TemperatureFilter.c +49 -0
  448. data/vendor/cmock/examples/temp_sensor/src/TemperatureFilter.h +17 -0
  449. data/vendor/cmock/examples/temp_sensor/src/TimerConductor.c +22 -0
  450. data/vendor/cmock/examples/temp_sensor/src/TimerConductor.h +16 -0
  451. data/vendor/cmock/examples/temp_sensor/src/TimerConfigurator.c +58 -0
  452. data/vendor/cmock/examples/temp_sensor/src/TimerConfigurator.h +22 -0
  453. data/vendor/cmock/examples/temp_sensor/src/TimerHardware.c +22 -0
  454. data/vendor/cmock/examples/temp_sensor/src/TimerHardware.h +15 -0
  455. data/vendor/cmock/examples/temp_sensor/src/TimerInterruptConfigurator.c +62 -0
  456. data/vendor/cmock/examples/temp_sensor/src/TimerInterruptConfigurator.h +20 -0
  457. data/vendor/cmock/examples/temp_sensor/src/TimerInterruptHandler.c +32 -0
  458. data/vendor/cmock/examples/temp_sensor/src/TimerInterruptHandler.h +17 -0
  459. data/vendor/cmock/examples/temp_sensor/src/TimerModel.c +16 -0
  460. data/vendor/cmock/examples/temp_sensor/src/TimerModel.h +15 -0
  461. data/vendor/cmock/examples/temp_sensor/src/Types.h +110 -0
  462. data/vendor/cmock/examples/temp_sensor/src/UsartBaudRateRegisterCalculator.c +25 -0
  463. data/vendor/cmock/examples/temp_sensor/src/UsartBaudRateRegisterCalculator.h +13 -0
  464. data/vendor/cmock/examples/temp_sensor/src/UsartConductor.c +28 -0
  465. data/vendor/cmock/examples/temp_sensor/src/UsartConductor.h +14 -0
  466. data/vendor/cmock/examples/temp_sensor/src/UsartConfigurator.c +46 -0
  467. data/vendor/cmock/examples/temp_sensor/src/UsartConfigurator.h +20 -0
  468. data/vendor/cmock/examples/temp_sensor/src/UsartHardware.c +29 -0
  469. data/vendor/cmock/examples/temp_sensor/src/UsartHardware.h +16 -0
  470. data/vendor/cmock/examples/temp_sensor/src/UsartModel.c +41 -0
  471. data/vendor/cmock/examples/temp_sensor/src/UsartModel.h +17 -0
  472. data/vendor/cmock/examples/temp_sensor/src/UsartPutChar.c +23 -0
  473. data/vendor/cmock/examples/temp_sensor/src/UsartPutChar.h +15 -0
  474. data/vendor/cmock/examples/temp_sensor/src/UsartTransmitBufferStatus.c +14 -0
  475. data/vendor/cmock/examples/temp_sensor/src/UsartTransmitBufferStatus.h +15 -0
  476. data/vendor/cmock/examples/temp_sensor/targets/gcc.yml +97 -0
  477. data/vendor/cmock/examples/temp_sensor/targets/iar_v4.yml +143 -0
  478. data/vendor/cmock/examples/temp_sensor/targets/iar_v5.yml +132 -0
  479. data/vendor/cmock/examples/temp_sensor/test/TestAdcConductor.c +128 -0
  480. data/vendor/cmock/examples/temp_sensor/test/TestAdcHardware.c +51 -0
  481. data/vendor/cmock/examples/temp_sensor/test/TestAdcHardwareConfigurator.c +50 -0
  482. data/vendor/cmock/examples/temp_sensor/test/TestAdcModel.c +40 -0
  483. data/vendor/cmock/examples/temp_sensor/test/TestAdcTemperatureSensor.c +54 -0
  484. data/vendor/cmock/examples/temp_sensor/test/TestExecutor.c +43 -0
  485. data/vendor/cmock/examples/temp_sensor/test/TestMain.c +31 -0
  486. data/vendor/cmock/examples/temp_sensor/test/TestModel.c +27 -0
  487. data/vendor/cmock/examples/temp_sensor/test/TestTaskScheduler.c +111 -0
  488. data/vendor/cmock/examples/temp_sensor/test/TestTemperatureCalculator.c +40 -0
  489. data/vendor/cmock/examples/temp_sensor/test/TestTemperatureFilter.c +76 -0
  490. data/vendor/cmock/examples/temp_sensor/test/TestTimerConductor.c +39 -0
  491. data/vendor/cmock/examples/temp_sensor/test/TestTimerConfigurator.c +119 -0
  492. data/vendor/cmock/examples/temp_sensor/test/TestTimerHardware.c +33 -0
  493. data/vendor/cmock/examples/temp_sensor/test/TestTimerInterruptConfigurator.c +85 -0
  494. data/vendor/cmock/examples/temp_sensor/test/TestTimerInterruptHandler.c +73 -0
  495. data/vendor/cmock/examples/temp_sensor/test/TestTimerModel.c +25 -0
  496. data/vendor/cmock/examples/temp_sensor/test/TestUsartBaudRateRegisterCalculator.c +28 -0
  497. data/vendor/cmock/examples/temp_sensor/test/TestUsartConductor.c +47 -0
  498. data/vendor/cmock/examples/temp_sensor/test/TestUsartConfigurator.c +84 -0
  499. data/vendor/cmock/examples/temp_sensor/test/TestUsartHardware.c +44 -0
  500. data/vendor/cmock/examples/temp_sensor/test/TestUsartModel.c +47 -0
  501. data/vendor/cmock/examples/temp_sensor/test/TestUsartPutChar.c +50 -0
  502. data/vendor/cmock/examples/temp_sensor/test/TestUsartTransmitBufferStatus.c +29 -0
  503. data/vendor/cmock/lib/cmock.rb +127 -0
  504. data/vendor/cmock/lib/cmock_config.rb +184 -0
  505. data/vendor/cmock/lib/cmock_file_writer.rb +48 -0
  506. data/vendor/cmock/lib/cmock_generator.rb +379 -0
  507. data/vendor/cmock/lib/cmock_generator_plugin_array.rb +68 -0
  508. data/vendor/cmock/lib/cmock_generator_plugin_callback.rb +88 -0
  509. data/vendor/cmock/lib/cmock_generator_plugin_cexception.rb +50 -0
  510. data/vendor/cmock/lib/cmock_generator_plugin_expect.rb +105 -0
  511. data/vendor/cmock/lib/cmock_generator_plugin_expect_any_args.rb +52 -0
  512. data/vendor/cmock/lib/cmock_generator_plugin_ignore.rb +90 -0
  513. data/vendor/cmock/lib/cmock_generator_plugin_ignore_arg.rb +49 -0
  514. data/vendor/cmock/lib/cmock_generator_plugin_ignore_stateless.rb +87 -0
  515. data/vendor/cmock/lib/cmock_generator_plugin_return_thru_ptr.rb +102 -0
  516. data/vendor/cmock/lib/cmock_generator_utils.rb +251 -0
  517. data/vendor/cmock/lib/cmock_header_parser.rb +629 -0
  518. data/vendor/cmock/lib/cmock_plugin_manager.rb +51 -0
  519. data/vendor/cmock/lib/cmock_unityhelper_parser.rb +82 -0
  520. data/vendor/cmock/lib/cmock_version.rb +29 -0
  521. data/vendor/cmock/meson.build +17 -0
  522. data/vendor/cmock/scripts/create_makefile.rb +210 -0
  523. data/vendor/cmock/scripts/create_mock.rb +15 -0
  524. data/vendor/cmock/scripts/create_runner.rb +25 -0
  525. data/vendor/cmock/scripts/test_summary.rb +25 -0
  526. data/vendor/cmock/src/cmock.c +238 -0
  527. data/vendor/cmock/src/cmock.h +54 -0
  528. data/vendor/cmock/src/cmock_internals.h +98 -0
  529. data/vendor/cmock/src/meson.build +12 -0
  530. data/vendor/cmock/test/c/TestCMockC.c +340 -0
  531. data/vendor/cmock/test/c/TestCMockC.yml +21 -0
  532. data/vendor/cmock/test/c/TestCMockCDynamic.c +193 -0
  533. data/vendor/cmock/test/c/TestCMockCDynamic.yml +19 -0
  534. data/vendor/cmock/test/c/TestCMockCDynamic_Runner.c +43 -0
  535. data/vendor/cmock/test/c/TestCMockC_Runner.c +48 -0
  536. data/vendor/cmock/test/iar/iar_v4/Resource/SAM7_FLASH.mac +71 -0
  537. data/vendor/cmock/test/iar/iar_v4/Resource/SAM7_RAM.mac +94 -0
  538. data/vendor/cmock/test/iar/iar_v4/Resource/SAM7_SIM.mac +67 -0
  539. data/vendor/cmock/test/iar/iar_v4/Resource/at91SAM7X256_FLASH.xcl +185 -0
  540. data/vendor/cmock/test/iar/iar_v4/Resource/at91SAM7X256_RAM.xcl +185 -0
  541. data/vendor/cmock/test/iar/iar_v4/Resource/ioat91sam7x256.ddf +2259 -0
  542. data/vendor/cmock/test/iar/iar_v4/cmock_demo.dep +3691 -0
  543. data/vendor/cmock/test/iar/iar_v4/cmock_demo.ewd +1696 -0
  544. data/vendor/cmock/test/iar/iar_v4/cmock_demo.ewp +2581 -0
  545. data/vendor/cmock/test/iar/iar_v4/cmock_demo.eww +10 -0
  546. data/vendor/cmock/test/iar/iar_v4/incIAR/AT91SAM7X-EK.h +68 -0
  547. data/vendor/cmock/test/iar/iar_v4/incIAR/AT91SAM7X256.inc +2314 -0
  548. data/vendor/cmock/test/iar/iar_v4/incIAR/AT91SAM7X256.rdf +4704 -0
  549. data/vendor/cmock/test/iar/iar_v4/incIAR/AT91SAM7X256.tcl +3407 -0
  550. data/vendor/cmock/test/iar/iar_v4/incIAR/AT91SAM7X256_inc.h +2275 -0
  551. data/vendor/cmock/test/iar/iar_v4/incIAR/ioat91sam7x256.h +4387 -0
  552. data/vendor/cmock/test/iar/iar_v4/incIAR/lib_AT91SAM7X256.h +4211 -0
  553. data/vendor/cmock/test/iar/iar_v4/settings/cmock_demo.cspy.bat +32 -0
  554. data/vendor/cmock/test/iar/iar_v4/settings/cmock_demo.dbgdt +86 -0
  555. data/vendor/cmock/test/iar/iar_v4/settings/cmock_demo.dni +42 -0
  556. data/vendor/cmock/test/iar/iar_v4/settings/cmock_demo.wsdt +76 -0
  557. data/vendor/cmock/test/iar/iar_v4/srcIAR/Cstartup.s79 +266 -0
  558. data/vendor/cmock/test/iar/iar_v4/srcIAR/Cstartup_SAM7.c +105 -0
  559. data/vendor/cmock/test/iar/iar_v5/Resource/SAM7_FLASH.mac +71 -0
  560. data/vendor/cmock/test/iar/iar_v5/Resource/SAM7_RAM.mac +94 -0
  561. data/vendor/cmock/test/iar/iar_v5/Resource/SAM7_SIM.mac +67 -0
  562. data/vendor/cmock/test/iar/iar_v5/Resource/at91SAM7X256_FLASH.icf +43 -0
  563. data/vendor/cmock/test/iar/iar_v5/Resource/at91SAM7X256_RAM.icf +42 -0
  564. data/vendor/cmock/test/iar/iar_v5/cmock_demo.dep +4204 -0
  565. data/vendor/cmock/test/iar/iar_v5/cmock_demo.ewd +1906 -0
  566. data/vendor/cmock/test/iar/iar_v5/cmock_demo.ewp +2426 -0
  567. data/vendor/cmock/test/iar/iar_v5/cmock_demo.eww +26 -0
  568. data/vendor/cmock/test/iar/iar_v5/incIAR/AT91SAM7X-EK.h +68 -0
  569. data/vendor/cmock/test/iar/iar_v5/incIAR/AT91SAM7X256_inc.h +2275 -0
  570. data/vendor/cmock/test/iar/iar_v5/incIAR/lib_AT91SAM7X256.h +4211 -0
  571. data/vendor/cmock/test/iar/iar_v5/incIAR/project.h +37 -0
  572. data/vendor/cmock/test/iar/iar_v5/settings/BasicInterrupt_SAM7X.cspy.bat +33 -0
  573. data/vendor/cmock/test/iar/iar_v5/settings/BasicInterrupt_SAM7X.dbgdt +5 -0
  574. data/vendor/cmock/test/iar/iar_v5/settings/BasicInterrupt_SAM7X.dni +18 -0
  575. data/vendor/cmock/test/iar/iar_v5/settings/BasicInterrupt_SAM7X.wsdt +74 -0
  576. data/vendor/cmock/test/iar/iar_v5/settings/BasicInterrupt_SAM7X_FLASH_Debug.jlink +12 -0
  577. data/vendor/cmock/test/iar/iar_v5/settings/cmock_demo.cspy.bat +33 -0
  578. data/vendor/cmock/test/iar/iar_v5/settings/cmock_demo.dbgdt +85 -0
  579. data/vendor/cmock/test/iar/iar_v5/settings/cmock_demo.dni +44 -0
  580. data/vendor/cmock/test/iar/iar_v5/settings/cmock_demo.wsdt +73 -0
  581. data/vendor/cmock/test/iar/iar_v5/settings/cmock_demo_Binary.jlink +12 -0
  582. data/vendor/cmock/test/iar/iar_v5/settings/cmock_demo_FLASH_Debug.jlink +12 -0
  583. data/vendor/cmock/test/iar/iar_v5/settings/cmock_demo_RAM_Debug.jlink +12 -0
  584. data/vendor/cmock/test/iar/iar_v5/srcIAR/Cstartup.s +299 -0
  585. data/vendor/cmock/test/iar/iar_v5/srcIAR/Cstartup_SAM7.c +105 -0
  586. data/vendor/cmock/test/rakefile +150 -0
  587. data/vendor/cmock/test/rakefile_helper.rb +417 -0
  588. data/vendor/cmock/test/system/systest_generator.rb +206 -0
  589. data/vendor/cmock/test/system/test_compilation/callingconv.h +18 -0
  590. data/vendor/cmock/test/system/test_compilation/config.yml +17 -0
  591. data/vendor/cmock/test/system/test_compilation/const.h +44 -0
  592. data/vendor/cmock/test/system/test_compilation/inline.h +30 -0
  593. data/vendor/cmock/test/system/test_compilation/osek.h +282 -0
  594. data/vendor/cmock/test/system/test_compilation/parsing.h +99 -0
  595. data/vendor/cmock/test/system/test_interactions/all_plugins_but_other_limits.yml +382 -0
  596. data/vendor/cmock/test/system/test_interactions/all_plugins_coexist.yml +467 -0
  597. data/vendor/cmock/test/system/test_interactions/array_and_pointer_handling.yml +453 -0
  598. data/vendor/cmock/test/system/test_interactions/basic_expect_and_return.yml +131 -0
  599. data/vendor/cmock/test/system/test_interactions/const_primitives_handling.yml +94 -0
  600. data/vendor/cmock/test/system/test_interactions/doesnt_leave_details_behind.yml +315 -0
  601. data/vendor/cmock/test/system/test_interactions/enforce_strict_ordering.yml +254 -0
  602. data/vendor/cmock/test/system/test_interactions/expect_and_return_custom_types.yml +115 -0
  603. data/vendor/cmock/test/system/test_interactions/expect_and_return_treat_as.yml +180 -0
  604. data/vendor/cmock/test/system/test_interactions/expect_and_throw.yml +177 -0
  605. data/vendor/cmock/test/system/test_interactions/expect_any_args.yml +245 -0
  606. data/vendor/cmock/test/system/test_interactions/fancy_pointer_handling.yml +217 -0
  607. data/vendor/cmock/test/system/test_interactions/function_pointer_handling.yml +90 -0
  608. data/vendor/cmock/test/system/test_interactions/ignore_and_return.yml +336 -0
  609. data/vendor/cmock/test/system/test_interactions/ignore_and_return_stateless.yml +332 -0
  610. data/vendor/cmock/test/system/test_interactions/ignore_strict_mock_calling.yml +44 -0
  611. data/vendor/cmock/test/system/test_interactions/newer_standards_stuff1.yml +59 -0
  612. data/vendor/cmock/test/system/test_interactions/nonstandard_parsed_stuff_1.yml +98 -0
  613. data/vendor/cmock/test/system/test_interactions/nonstandard_parsed_stuff_2.yml +66 -0
  614. data/vendor/cmock/test/system/test_interactions/out_of_memory.yml +72 -0
  615. data/vendor/cmock/test/system/test_interactions/parsing_challenges.yml +249 -0
  616. data/vendor/cmock/test/system/test_interactions/return_thru_ptr_and_expect_any_args.yml +242 -0
  617. data/vendor/cmock/test/system/test_interactions/return_thru_ptr_ignore_arg.yml +238 -0
  618. data/vendor/cmock/test/system/test_interactions/skeleton.yml +62 -0
  619. data/vendor/cmock/test/system/test_interactions/skeleton_update.yml +83 -0
  620. data/vendor/cmock/test/system/test_interactions/struct_union_enum_expect_and_return.yml +284 -0
  621. data/vendor/cmock/test/system/test_interactions/struct_union_enum_expect_and_return_with_plugins.yml +287 -0
  622. data/vendor/cmock/test/system/test_interactions/stubs_with_callbacks.yml +228 -0
  623. data/vendor/cmock/test/system/test_interactions/unity_64bit_support.yml +84 -0
  624. data/vendor/cmock/test/system/test_interactions/unity_ignores.yml +146 -0
  625. data/vendor/cmock/test/system/test_interactions/unity_void_pointer_compare.yml +98 -0
  626. data/vendor/cmock/test/system/test_interactions/wrong_expect_and_return.yml +149 -0
  627. data/vendor/cmock/test/targets/clang_strict.yml +97 -0
  628. data/vendor/cmock/test/targets/gcc.yml +65 -0
  629. data/vendor/cmock/test/targets/gcc_64.yml +65 -0
  630. data/vendor/cmock/test/targets/gcc_tiny.yml +87 -0
  631. data/vendor/cmock/test/targets/iar_arm_v4.yml +117 -0
  632. data/vendor/cmock/test/targets/iar_arm_v5.yml +102 -0
  633. data/vendor/cmock/test/test_helper.rb +45 -0
  634. data/vendor/cmock/test/unit/cmock_config_test.rb +127 -0
  635. data/vendor/cmock/test/unit/cmock_config_test.yml +14 -0
  636. data/vendor/cmock/test/unit/cmock_file_writer_test.rb +28 -0
  637. data/vendor/cmock/test/unit/cmock_generator_main_test.rb +706 -0
  638. data/vendor/cmock/test/unit/cmock_generator_plugin_array_test.rb +145 -0
  639. data/vendor/cmock/test/unit/cmock_generator_plugin_callback_test.rb +282 -0
  640. data/vendor/cmock/test/unit/cmock_generator_plugin_cexception_test.rb +109 -0
  641. data/vendor/cmock/test/unit/cmock_generator_plugin_expect_a_test.rb +189 -0
  642. data/vendor/cmock/test/unit/cmock_generator_plugin_expect_any_args_test.rb +71 -0
  643. data/vendor/cmock/test/unit/cmock_generator_plugin_expect_b_test.rb +205 -0
  644. data/vendor/cmock/test/unit/cmock_generator_plugin_ignore_arg_test.rb +117 -0
  645. data/vendor/cmock/test/unit/cmock_generator_plugin_ignore_stateless_test.rb +121 -0
  646. data/vendor/cmock/test/unit/cmock_generator_plugin_ignore_test.rb +124 -0
  647. data/vendor/cmock/test/unit/cmock_generator_plugin_return_thru_ptr_test.rb +209 -0
  648. data/vendor/cmock/test/unit/cmock_generator_utils_test.rb +404 -0
  649. data/vendor/cmock/test/unit/cmock_header_parser_test.rb +2886 -0
  650. data/vendor/cmock/test/unit/cmock_plugin_manager_test.rb +102 -0
  651. data/vendor/cmock/test/unit/cmock_unityhelper_parser_test.rb +224 -0
  652. data/vendor/cmock/vendor/behaviors/Manifest.txt +9 -0
  653. data/vendor/cmock/vendor/behaviors/Rakefile +19 -0
  654. data/vendor/cmock/vendor/behaviors/lib/behaviors/reporttask.rb +158 -0
  655. data/vendor/cmock/vendor/behaviors/lib/behaviors.rb +76 -0
  656. data/vendor/cmock/vendor/behaviors/test/behaviors_tasks_test.rb +73 -0
  657. data/vendor/cmock/vendor/behaviors/test/behaviors_test.rb +50 -0
  658. data/vendor/cmock/vendor/behaviors/test/tasks_test/Rakefile +19 -0
  659. data/vendor/cmock/vendor/behaviors/test/tasks_test/lib/user.rb +2 -0
  660. data/vendor/cmock/vendor/behaviors/test/tasks_test/test/user_test.rb +17 -0
  661. data/vendor/cmock/vendor/c_exception/README.md +236 -0
  662. data/vendor/cmock/vendor/c_exception/docs/CException.md +289 -0
  663. data/vendor/cmock/vendor/c_exception/docs/CODE_OF_CONDUCT.md +138 -0
  664. data/vendor/cmock/vendor/c_exception/docs/CONTRIBUTING.md +238 -0
  665. data/vendor/cmock/vendor/c_exception/docs/ThrowTheSwitchCodingStandard.md +207 -0
  666. data/vendor/cmock/vendor/c_exception/lib/CException.c +59 -0
  667. data/vendor/cmock/vendor/c_exception/lib/CException.h +122 -0
  668. data/vendor/cmock/vendor/c_exception/lib/meson.build +11 -0
  669. data/vendor/cmock/vendor/c_exception/license.txt +22 -0
  670. data/vendor/cmock/vendor/c_exception/meson.build +14 -0
  671. data/vendor/cmock/vendor/c_exception/project.yml +263 -0
  672. data/vendor/cmock/vendor/c_exception/test/TestException.c +398 -0
  673. data/vendor/cmock/vendor/c_exception/test/support/CExceptionConfig.h +53 -0
  674. data/vendor/cmock/vendor/unity/CMakeLists.txt +172 -0
  675. data/vendor/cmock/vendor/unity/LICENSE.txt +21 -0
  676. data/vendor/cmock/vendor/unity/README.md +234 -0
  677. data/vendor/cmock/vendor/unity/auto/__init__.py +7 -0
  678. data/vendor/cmock/vendor/unity/auto/colour_prompt.rb +120 -0
  679. data/vendor/cmock/vendor/unity/auto/colour_reporter.rb +40 -0
  680. data/vendor/cmock/vendor/unity/auto/extract_version.py +22 -0
  681. data/vendor/cmock/vendor/unity/auto/generate_config.yml +43 -0
  682. data/vendor/cmock/vendor/unity/auto/generate_module.rb +318 -0
  683. data/vendor/cmock/vendor/unity/auto/generate_test_runner.rb +547 -0
  684. data/vendor/cmock/vendor/unity/auto/parse_output.rb +390 -0
  685. data/vendor/cmock/vendor/unity/auto/run_test.erb +37 -0
  686. data/vendor/cmock/vendor/unity/auto/stylize_as_junit.py +161 -0
  687. data/vendor/cmock/vendor/unity/auto/stylize_as_junit.rb +253 -0
  688. data/vendor/cmock/vendor/unity/auto/test_file_filter.rb +28 -0
  689. data/vendor/cmock/vendor/unity/auto/type_sanitizer.rb +13 -0
  690. data/vendor/cmock/vendor/unity/auto/unity_test_summary.py +140 -0
  691. data/vendor/cmock/vendor/unity/auto/unity_test_summary.rb +140 -0
  692. data/vendor/cmock/vendor/unity/auto/yaml_helper.rb +23 -0
  693. data/vendor/cmock/vendor/unity/docs/CODE_OF_CONDUCT.md +138 -0
  694. data/vendor/cmock/vendor/unity/docs/CONTRIBUTING.md +238 -0
  695. data/vendor/cmock/vendor/unity/docs/MesonGeneratorRunner.md +18 -0
  696. data/vendor/cmock/vendor/unity/docs/ThrowTheSwitchCodingStandard.md +187 -0
  697. data/vendor/cmock/vendor/unity/docs/UnityAssertionsCheatSheetSuitableforPrintingandPossiblyFraming.pdf +0 -0
  698. data/vendor/cmock/vendor/unity/docs/UnityAssertionsReference.md +860 -0
  699. data/vendor/cmock/vendor/unity/docs/UnityChangeLog.md +110 -0
  700. data/vendor/cmock/vendor/unity/docs/UnityConfigurationGuide.md +654 -0
  701. data/vendor/cmock/vendor/unity/docs/UnityGettingStartedGuide.md +242 -0
  702. data/vendor/cmock/vendor/unity/docs/UnityHelperScriptsGuide.md +533 -0
  703. data/vendor/cmock/vendor/unity/docs/UnityKnownIssues.md +13 -0
  704. data/vendor/cmock/vendor/unity/examples/example_1/makefile +73 -0
  705. data/vendor/cmock/vendor/unity/examples/example_1/meson.build +48 -0
  706. data/vendor/cmock/vendor/unity/examples/example_1/readme.txt +12 -0
  707. data/vendor/cmock/vendor/unity/examples/example_1/src/ProductionCode.c +30 -0
  708. data/vendor/cmock/vendor/unity/examples/example_1/src/ProductionCode.h +9 -0
  709. data/vendor/cmock/vendor/unity/examples/example_1/src/ProductionCode2.c +17 -0
  710. data/vendor/cmock/vendor/unity/examples/example_1/src/ProductionCode2.h +8 -0
  711. data/vendor/cmock/vendor/unity/examples/example_1/subprojects/unity.wrap +3 -0
  712. data/vendor/cmock/vendor/unity/examples/example_1/test/TestProductionCode.c +68 -0
  713. data/vendor/cmock/vendor/unity/examples/example_1/test/TestProductionCode2.c +37 -0
  714. data/vendor/cmock/vendor/unity/examples/example_1/test/test_runners/TestProductionCode2_Runner.c +53 -0
  715. data/vendor/cmock/vendor/unity/examples/example_1/test/test_runners/TestProductionCode_Runner.c +57 -0
  716. data/vendor/cmock/vendor/unity/examples/example_2/makefile +72 -0
  717. data/vendor/cmock/vendor/unity/examples/example_2/readme.txt +5 -0
  718. data/vendor/cmock/vendor/unity/examples/example_2/src/ProductionCode.c +30 -0
  719. data/vendor/cmock/vendor/unity/examples/example_2/src/ProductionCode.h +9 -0
  720. data/vendor/cmock/vendor/unity/examples/example_2/src/ProductionCode2.c +17 -0
  721. data/vendor/cmock/vendor/unity/examples/example_2/src/ProductionCode2.h +8 -0
  722. data/vendor/cmock/vendor/unity/examples/example_2/test/TestProductionCode.c +71 -0
  723. data/vendor/cmock/vendor/unity/examples/example_2/test/TestProductionCode2.c +40 -0
  724. data/vendor/cmock/vendor/unity/examples/example_2/test/test_runners/TestProductionCode2_Runner.c +16 -0
  725. data/vendor/cmock/vendor/unity/examples/example_2/test/test_runners/TestProductionCode_Runner.c +18 -0
  726. data/vendor/cmock/vendor/unity/examples/example_2/test/test_runners/all_tests.c +19 -0
  727. data/vendor/cmock/vendor/unity/examples/example_3/helper/UnityHelper.c +17 -0
  728. data/vendor/cmock/vendor/unity/examples/example_3/helper/UnityHelper.h +19 -0
  729. data/vendor/cmock/vendor/unity/examples/example_3/rakefile.rb +45 -0
  730. data/vendor/cmock/vendor/unity/examples/example_3/rakefile_helper.rb +255 -0
  731. data/vendor/cmock/vendor/unity/examples/example_3/readme.txt +13 -0
  732. data/vendor/cmock/vendor/unity/examples/example_3/src/ProductionCode.c +30 -0
  733. data/vendor/cmock/vendor/unity/examples/example_3/src/ProductionCode.h +9 -0
  734. data/vendor/cmock/vendor/unity/examples/example_3/src/ProductionCode2.c +17 -0
  735. data/vendor/cmock/vendor/unity/examples/example_3/src/ProductionCode2.h +8 -0
  736. data/vendor/cmock/vendor/unity/examples/example_3/target_gcc_32.yml +54 -0
  737. data/vendor/cmock/vendor/unity/examples/example_3/test/TestProductionCode.c +68 -0
  738. data/vendor/cmock/vendor/unity/examples/example_3/test/TestProductionCode2.c +37 -0
  739. data/vendor/cmock/vendor/unity/examples/example_4/meson.build +12 -0
  740. data/vendor/cmock/vendor/unity/examples/example_4/readme.txt +15 -0
  741. data/vendor/cmock/vendor/unity/examples/example_4/src/ProductionCode.c +30 -0
  742. data/vendor/cmock/vendor/unity/examples/example_4/src/ProductionCode.h +9 -0
  743. data/vendor/cmock/vendor/unity/examples/example_4/src/ProductionCode2.c +17 -0
  744. data/vendor/cmock/vendor/unity/examples/example_4/src/ProductionCode2.h +8 -0
  745. data/vendor/cmock/vendor/unity/examples/example_4/src/meson.build +16 -0
  746. data/vendor/cmock/vendor/unity/examples/example_4/subprojects/unity.wrap +6 -0
  747. data/vendor/cmock/vendor/unity/examples/example_4/test/TestProductionCode.c +69 -0
  748. data/vendor/cmock/vendor/unity/examples/example_4/test/TestProductionCode2.c +41 -0
  749. data/vendor/cmock/vendor/unity/examples/example_4/test/meson.build +7 -0
  750. data/vendor/cmock/vendor/unity/examples/example_4/test/test_runners/TestProductionCode2_Runner.c +53 -0
  751. data/vendor/cmock/vendor/unity/examples/example_4/test/test_runners/TestProductionCode_Runner.c +57 -0
  752. data/vendor/cmock/vendor/unity/examples/example_4/test/test_runners/meson.build +13 -0
  753. data/vendor/cmock/vendor/unity/examples/unity_config.h +251 -0
  754. data/vendor/cmock/vendor/unity/extras/bdd/readme.md +40 -0
  755. data/vendor/cmock/vendor/unity/extras/bdd/src/unity_bdd.h +44 -0
  756. data/vendor/cmock/vendor/unity/extras/bdd/test/meson.build +9 -0
  757. data/vendor/cmock/vendor/unity/extras/bdd/test/test_bdd.c +129 -0
  758. data/vendor/cmock/vendor/unity/extras/eclipse/error_parsers.txt +26 -0
  759. data/vendor/cmock/vendor/unity/extras/fixture/readme.md +26 -0
  760. data/vendor/cmock/vendor/unity/extras/fixture/src/meson.build +10 -0
  761. data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture.c +310 -0
  762. data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture.h +94 -0
  763. data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture_internals.h +50 -0
  764. data/vendor/cmock/vendor/unity/extras/fixture/test/Makefile +72 -0
  765. data/vendor/cmock/vendor/unity/extras/fixture/test/main/AllTests.c +20 -0
  766. data/vendor/cmock/vendor/unity/extras/fixture/test/template_fixture_tests.c +39 -0
  767. data/vendor/cmock/vendor/unity/extras/fixture/test/unity_fixture_Test.c +245 -0
  768. data/vendor/cmock/vendor/unity/extras/fixture/test/unity_fixture_TestRunner.c +32 -0
  769. data/vendor/cmock/vendor/unity/extras/memory/readme.md +42 -0
  770. data/vendor/cmock/vendor/unity/extras/memory/src/meson.build +9 -0
  771. data/vendor/cmock/vendor/unity/extras/memory/src/unity_memory.c +203 -0
  772. data/vendor/cmock/vendor/unity/extras/memory/src/unity_memory.h +61 -0
  773. data/vendor/cmock/vendor/unity/extras/memory/test/Makefile +85 -0
  774. data/vendor/cmock/vendor/unity/extras/memory/test/unity_memory_Test.c +326 -0
  775. data/vendor/cmock/vendor/unity/extras/memory/test/unity_memory_TestRunner.c +50 -0
  776. data/vendor/cmock/vendor/unity/extras/memory/test/unity_output_Spy.c +57 -0
  777. data/vendor/cmock/vendor/unity/extras/memory/test/unity_output_Spy.h +17 -0
  778. data/vendor/cmock/vendor/unity/library.json +25 -0
  779. data/vendor/cmock/vendor/unity/meson.build +80 -0
  780. data/vendor/cmock/vendor/unity/meson_options.txt +3 -0
  781. data/vendor/cmock/vendor/unity/platformio-build.py +24 -0
  782. data/vendor/cmock/vendor/unity/src/meson.build +17 -0
  783. data/vendor/cmock/vendor/unity/src/unity.c +2501 -0
  784. data/vendor/cmock/vendor/unity/src/unity.h +698 -0
  785. data/vendor/cmock/vendor/unity/src/unity_internals.h +1183 -0
  786. data/vendor/cmock/vendor/unity/test/Makefile +167 -0
  787. data/vendor/cmock/vendor/unity/test/expectdata/testsample_cmd.c +61 -0
  788. data/vendor/cmock/vendor/unity/test/expectdata/testsample_def.c +57 -0
  789. data/vendor/cmock/vendor/unity/test/expectdata/testsample_head1.c +55 -0
  790. data/vendor/cmock/vendor/unity/test/expectdata/testsample_head1.h +15 -0
  791. data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_cmd.c +80 -0
  792. data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_def.c +76 -0
  793. data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_head1.c +75 -0
  794. data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_head1.h +13 -0
  795. data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_new1.c +89 -0
  796. data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_new2.c +89 -0
  797. data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_param.c +77 -0
  798. data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_run1.c +89 -0
  799. data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_run2.c +89 -0
  800. data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_yaml.c +90 -0
  801. data/vendor/cmock/vendor/unity/test/expectdata/testsample_new1.c +67 -0
  802. data/vendor/cmock/vendor/unity/test/expectdata/testsample_new2.c +70 -0
  803. data/vendor/cmock/vendor/unity/test/expectdata/testsample_param.c +58 -0
  804. data/vendor/cmock/vendor/unity/test/expectdata/testsample_run1.c +67 -0
  805. data/vendor/cmock/vendor/unity/test/expectdata/testsample_run2.c +70 -0
  806. data/vendor/cmock/vendor/unity/test/expectdata/testsample_yaml.c +71 -0
  807. data/vendor/cmock/vendor/unity/test/rakefile +164 -0
  808. data/vendor/cmock/vendor/unity/test/rakefile_helper.rb +316 -0
  809. data/vendor/cmock/vendor/unity/test/spec/generate_module_existing_file_spec.rb +164 -0
  810. data/vendor/cmock/vendor/unity/test/targets/ansi.yml +51 -0
  811. data/vendor/cmock/vendor/unity/test/targets/clang_file.yml +79 -0
  812. data/vendor/cmock/vendor/unity/test/targets/clang_strict.yml +79 -0
  813. data/vendor/cmock/vendor/unity/test/targets/gcc_32.yml +52 -0
  814. data/vendor/cmock/vendor/unity/test/targets/gcc_64.yml +53 -0
  815. data/vendor/cmock/vendor/unity/test/targets/gcc_auto_limits.yml +50 -0
  816. data/vendor/cmock/vendor/unity/test/targets/gcc_auto_stdint.yml +62 -0
  817. data/vendor/cmock/vendor/unity/test/targets/gcc_manual_math.yml +50 -0
  818. data/vendor/cmock/vendor/unity/test/targets/hitech_picc18.yml +98 -0
  819. data/vendor/cmock/vendor/unity/test/targets/iar_arm_v4.yml +105 -0
  820. data/vendor/cmock/vendor/unity/test/targets/iar_arm_v5.yml +99 -0
  821. data/vendor/cmock/vendor/unity/test/targets/iar_arm_v5_3.yml +99 -0
  822. data/vendor/cmock/vendor/unity/test/targets/iar_armcortex_LM3S9B92_v5_4.yml +97 -0
  823. data/vendor/cmock/vendor/unity/test/targets/iar_cortexm3_v5.yml +101 -0
  824. data/vendor/cmock/vendor/unity/test/targets/iar_msp430.yml +119 -0
  825. data/vendor/cmock/vendor/unity/test/targets/iar_sh2a_v6.yml +106 -0
  826. data/vendor/cmock/vendor/unity/test/testdata/CException.h +18 -0
  827. data/vendor/cmock/vendor/unity/test/testdata/Defs.h +16 -0
  828. data/vendor/cmock/vendor/unity/test/testdata/cmock.h +21 -0
  829. data/vendor/cmock/vendor/unity/test/testdata/mockMock.h +20 -0
  830. data/vendor/cmock/vendor/unity/test/testdata/testRunnerGenerator.c +204 -0
  831. data/vendor/cmock/vendor/unity/test/testdata/testRunnerGeneratorSmall.c +73 -0
  832. data/vendor/cmock/vendor/unity/test/testdata/testRunnerGeneratorWithMocks.c +200 -0
  833. data/vendor/cmock/vendor/unity/test/tests/self_assessment_utils.h +151 -0
  834. data/vendor/cmock/vendor/unity/test/tests/test_generate_test_runner.rb +1341 -0
  835. data/vendor/cmock/vendor/unity/test/tests/test_unity_arrays.c +2941 -0
  836. data/vendor/cmock/vendor/unity/test/tests/test_unity_core.c +375 -0
  837. data/vendor/cmock/vendor/unity/test/tests/test_unity_doubles.c +1285 -0
  838. data/vendor/cmock/vendor/unity/test/tests/test_unity_floats.c +1395 -0
  839. data/vendor/cmock/vendor/unity/test/tests/test_unity_integers.c +2863 -0
  840. data/vendor/cmock/vendor/unity/test/tests/test_unity_integers_64.c +783 -0
  841. data/vendor/cmock/vendor/unity/test/tests/test_unity_memory.c +82 -0
  842. data/vendor/cmock/vendor/unity/test/tests/test_unity_parameterized.c +309 -0
  843. data/vendor/cmock/vendor/unity/test/tests/test_unity_parameterizedDemo.c +28 -0
  844. data/vendor/cmock/vendor/unity/test/tests/test_unity_strings.c +330 -0
  845. data/vendor/cmock/vendor/unity/test/tests/types_for_test.h +21 -0
  846. data/vendor/cmock/vendor/unity/unityConfig.cmake +1 -0
  847. data/vendor/diy/History.txt +28 -0
  848. data/vendor/diy/LICENSE.txt +7 -0
  849. data/vendor/diy/README.rdoc +215 -0
  850. data/vendor/diy/Rakefile +33 -0
  851. data/vendor/diy/TODO.txt +9 -0
  852. data/vendor/diy/diy.gemspec +131 -0
  853. data/vendor/diy/lib/diy/factory.rb +44 -0
  854. data/vendor/diy/lib/diy.rb +411 -0
  855. data/vendor/diy/sample_code/car.rb +15 -0
  856. data/vendor/diy/sample_code/chassis.rb +13 -0
  857. data/vendor/diy/sample_code/diy_example.rb +34 -0
  858. data/vendor/diy/sample_code/engine.rb +13 -0
  859. data/vendor/diy/sample_code/objects.yml +18 -0
  860. data/vendor/diy/test/constructor.rb +127 -0
  861. data/vendor/diy/test/diy_test.rb +616 -0
  862. data/vendor/diy/test/factory_test.rb +87 -0
  863. data/vendor/diy/test/files/broken_construction.yml +15 -0
  864. data/vendor/diy/test/files/cat/cat.rb +11 -0
  865. data/vendor/diy/test/files/cat/extra_conflict.yml +13 -0
  866. data/vendor/diy/test/files/cat/heritage.rb +10 -0
  867. data/vendor/diy/test/files/cat/needs_input.yml +11 -0
  868. data/vendor/diy/test/files/cat/the_cat_lineage.rb +9 -0
  869. data/vendor/diy/test/files/dog/dog_model.rb +11 -0
  870. data/vendor/diy/test/files/dog/dog_presenter.rb +11 -0
  871. data/vendor/diy/test/files/dog/dog_view.rb +10 -0
  872. data/vendor/diy/test/files/dog/file_resolver.rb +10 -0
  873. data/vendor/diy/test/files/dog/other_thing.rb +10 -0
  874. data/vendor/diy/test/files/dog/simple.yml +19 -0
  875. data/vendor/diy/test/files/donkey/foo/bar/qux.rb +15 -0
  876. data/vendor/diy/test/files/donkey/foo.rb +16 -0
  877. data/vendor/diy/test/files/factory/beef.rb +13 -0
  878. data/vendor/diy/test/files/factory/dog.rb +14 -0
  879. data/vendor/diy/test/files/factory/factory.yml +27 -0
  880. data/vendor/diy/test/files/factory/farm/llama.rb +15 -0
  881. data/vendor/diy/test/files/factory/farm/pork.rb +15 -0
  882. data/vendor/diy/test/files/factory/kitten.rb +21 -0
  883. data/vendor/diy/test/files/fud/objects.yml +21 -0
  884. data/vendor/diy/test/files/fud/toy.rb +22 -0
  885. data/vendor/diy/test/files/functions/attached_things_builder.rb +10 -0
  886. data/vendor/diy/test/files/functions/invalid_method.yml +13 -0
  887. data/vendor/diy/test/files/functions/method_extractor.rb +11 -0
  888. data/vendor/diy/test/files/functions/nonsingleton_objects.yml +14 -0
  889. data/vendor/diy/test/files/functions/objects.yml +30 -0
  890. data/vendor/diy/test/files/functions/thing.rb +11 -0
  891. data/vendor/diy/test/files/functions/thing_builder.rb +33 -0
  892. data/vendor/diy/test/files/functions/things_builder.rb +11 -0
  893. data/vendor/diy/test/files/gnu/objects.yml +22 -0
  894. data/vendor/diy/test/files/gnu/thinger.rb +15 -0
  895. data/vendor/diy/test/files/goat/base.rb +16 -0
  896. data/vendor/diy/test/files/goat/can.rb +14 -0
  897. data/vendor/diy/test/files/goat/goat.rb +14 -0
  898. data/vendor/diy/test/files/goat/objects.yml +20 -0
  899. data/vendor/diy/test/files/goat/paper.rb +14 -0
  900. data/vendor/diy/test/files/goat/plane.rb +15 -0
  901. data/vendor/diy/test/files/goat/shirt.rb +14 -0
  902. data/vendor/diy/test/files/goat/wings.rb +16 -0
  903. data/vendor/diy/test/files/horse/holder_thing.rb +11 -0
  904. data/vendor/diy/test/files/horse/objects.yml +15 -0
  905. data/vendor/diy/test/files/namespace/animal/bird.rb +13 -0
  906. data/vendor/diy/test/files/namespace/animal/cat.rb +13 -0
  907. data/vendor/diy/test/files/namespace/animal/reptile/hardshell/turtle.rb +16 -0
  908. data/vendor/diy/test/files/namespace/animal/reptile/lizard.rb +15 -0
  909. data/vendor/diy/test/files/namespace/bad_module_specified.yml +16 -0
  910. data/vendor/diy/test/files/namespace/class_name_combine.yml +16 -0
  911. data/vendor/diy/test/files/namespace/hello.txt +1 -0
  912. data/vendor/diy/test/files/namespace/no_module_specified.yml +16 -0
  913. data/vendor/diy/test/files/namespace/objects.yml +29 -0
  914. data/vendor/diy/test/files/namespace/road.rb +10 -0
  915. data/vendor/diy/test/files/namespace/sky.rb +10 -0
  916. data/vendor/diy/test/files/namespace/subcontext.yml +30 -0
  917. data/vendor/diy/test/files/non_singleton/air.rb +10 -0
  918. data/vendor/diy/test/files/non_singleton/fat_cat.rb +11 -0
  919. data/vendor/diy/test/files/non_singleton/objects.yml +27 -0
  920. data/vendor/diy/test/files/non_singleton/pig.rb +11 -0
  921. data/vendor/diy/test/files/non_singleton/thread_spinner.rb +11 -0
  922. data/vendor/diy/test/files/non_singleton/tick.rb +11 -0
  923. data/vendor/diy/test/files/non_singleton/yard.rb +10 -0
  924. data/vendor/diy/test/files/yak/core_model.rb +11 -0
  925. data/vendor/diy/test/files/yak/core_presenter.rb +11 -0
  926. data/vendor/diy/test/files/yak/core_view.rb +9 -0
  927. data/vendor/diy/test/files/yak/data_source.rb +9 -0
  928. data/vendor/diy/test/files/yak/fringe_model.rb +11 -0
  929. data/vendor/diy/test/files/yak/fringe_presenter.rb +11 -0
  930. data/vendor/diy/test/files/yak/fringe_view.rb +9 -0
  931. data/vendor/diy/test/files/yak/giant_squid.rb +11 -0
  932. data/vendor/diy/test/files/yak/krill.rb +10 -0
  933. data/vendor/diy/test/files/yak/my_objects.yml +29 -0
  934. data/vendor/diy/test/files/yak/sub_sub_context_test.yml +35 -0
  935. data/vendor/diy/test/test_helper.rb +63 -0
  936. data/vendor/unity/CMakeLists.txt +172 -0
  937. data/vendor/unity/LICENSE.txt +21 -0
  938. data/vendor/unity/README.md +234 -0
  939. data/vendor/unity/auto/__init__.py +7 -0
  940. data/vendor/unity/auto/colour_prompt.rb +120 -0
  941. data/vendor/unity/auto/colour_reporter.rb +40 -0
  942. data/vendor/unity/auto/extract_version.py +22 -0
  943. data/vendor/unity/auto/generate_config.yml +43 -0
  944. data/vendor/unity/auto/generate_module.rb +318 -0
  945. data/vendor/unity/auto/generate_test_runner.rb +547 -0
  946. data/vendor/unity/auto/parse_output.rb +390 -0
  947. data/vendor/unity/auto/run_test.erb +37 -0
  948. data/vendor/unity/auto/stylize_as_junit.py +161 -0
  949. data/vendor/unity/auto/stylize_as_junit.rb +253 -0
  950. data/vendor/unity/auto/test_file_filter.rb +28 -0
  951. data/vendor/unity/auto/type_sanitizer.rb +13 -0
  952. data/vendor/unity/auto/unity_test_summary.py +140 -0
  953. data/vendor/unity/auto/unity_test_summary.rb +140 -0
  954. data/vendor/unity/auto/yaml_helper.rb +23 -0
  955. data/vendor/unity/docs/CODE_OF_CONDUCT.md +138 -0
  956. data/vendor/unity/docs/CONTRIBUTING.md +238 -0
  957. data/vendor/unity/docs/MesonGeneratorRunner.md +18 -0
  958. data/vendor/unity/docs/ThrowTheSwitchCodingStandard.md +187 -0
  959. data/vendor/unity/docs/UnityAssertionsCheatSheetSuitableforPrintingandPossiblyFraming.pdf +0 -0
  960. data/vendor/unity/docs/UnityAssertionsReference.md +860 -0
  961. data/vendor/unity/docs/UnityChangeLog.md +110 -0
  962. data/vendor/unity/docs/UnityConfigurationGuide.md +654 -0
  963. data/vendor/unity/docs/UnityGettingStartedGuide.md +242 -0
  964. data/vendor/unity/docs/UnityHelperScriptsGuide.md +533 -0
  965. data/vendor/unity/docs/UnityKnownIssues.md +13 -0
  966. data/vendor/unity/examples/example_1/makefile +73 -0
  967. data/vendor/unity/examples/example_1/meson.build +48 -0
  968. data/vendor/unity/examples/example_1/readme.txt +12 -0
  969. data/vendor/unity/examples/example_1/src/ProductionCode.c +30 -0
  970. data/vendor/unity/examples/example_1/src/ProductionCode.h +9 -0
  971. data/vendor/unity/examples/example_1/src/ProductionCode2.c +17 -0
  972. data/vendor/unity/examples/example_1/src/ProductionCode2.h +8 -0
  973. data/vendor/unity/examples/example_1/subprojects/unity.wrap +3 -0
  974. data/vendor/unity/examples/example_1/test/TestProductionCode.c +68 -0
  975. data/vendor/unity/examples/example_1/test/TestProductionCode2.c +37 -0
  976. data/vendor/unity/examples/example_1/test/test_runners/TestProductionCode2_Runner.c +53 -0
  977. data/vendor/unity/examples/example_1/test/test_runners/TestProductionCode_Runner.c +57 -0
  978. data/vendor/unity/examples/example_2/makefile +72 -0
  979. data/vendor/unity/examples/example_2/readme.txt +5 -0
  980. data/vendor/unity/examples/example_2/src/ProductionCode.c +30 -0
  981. data/vendor/unity/examples/example_2/src/ProductionCode.h +9 -0
  982. data/vendor/unity/examples/example_2/src/ProductionCode2.c +17 -0
  983. data/vendor/unity/examples/example_2/src/ProductionCode2.h +8 -0
  984. data/vendor/unity/examples/example_2/test/TestProductionCode.c +71 -0
  985. data/vendor/unity/examples/example_2/test/TestProductionCode2.c +40 -0
  986. data/vendor/unity/examples/example_2/test/test_runners/TestProductionCode2_Runner.c +16 -0
  987. data/vendor/unity/examples/example_2/test/test_runners/TestProductionCode_Runner.c +18 -0
  988. data/vendor/unity/examples/example_2/test/test_runners/all_tests.c +19 -0
  989. data/vendor/unity/examples/example_3/helper/UnityHelper.c +17 -0
  990. data/vendor/unity/examples/example_3/helper/UnityHelper.h +19 -0
  991. data/vendor/unity/examples/example_3/rakefile.rb +45 -0
  992. data/vendor/unity/examples/example_3/rakefile_helper.rb +255 -0
  993. data/vendor/unity/examples/example_3/readme.txt +13 -0
  994. data/vendor/unity/examples/example_3/src/ProductionCode.c +30 -0
  995. data/vendor/unity/examples/example_3/src/ProductionCode.h +9 -0
  996. data/vendor/unity/examples/example_3/src/ProductionCode2.c +17 -0
  997. data/vendor/unity/examples/example_3/src/ProductionCode2.h +8 -0
  998. data/vendor/unity/examples/example_3/target_gcc_32.yml +54 -0
  999. data/vendor/unity/examples/example_3/test/TestProductionCode.c +68 -0
  1000. data/vendor/unity/examples/example_3/test/TestProductionCode2.c +37 -0
  1001. data/vendor/unity/examples/example_4/meson.build +12 -0
  1002. data/vendor/unity/examples/example_4/readme.txt +15 -0
  1003. data/vendor/unity/examples/example_4/src/ProductionCode.c +30 -0
  1004. data/vendor/unity/examples/example_4/src/ProductionCode.h +9 -0
  1005. data/vendor/unity/examples/example_4/src/ProductionCode2.c +17 -0
  1006. data/vendor/unity/examples/example_4/src/ProductionCode2.h +8 -0
  1007. data/vendor/unity/examples/example_4/src/meson.build +16 -0
  1008. data/vendor/unity/examples/example_4/subprojects/unity.wrap +6 -0
  1009. data/vendor/unity/examples/example_4/test/TestProductionCode.c +69 -0
  1010. data/vendor/unity/examples/example_4/test/TestProductionCode2.c +41 -0
  1011. data/vendor/unity/examples/example_4/test/meson.build +7 -0
  1012. data/vendor/unity/examples/example_4/test/test_runners/TestProductionCode2_Runner.c +53 -0
  1013. data/vendor/unity/examples/example_4/test/test_runners/TestProductionCode_Runner.c +57 -0
  1014. data/vendor/unity/examples/example_4/test/test_runners/meson.build +13 -0
  1015. data/vendor/unity/examples/unity_config.h +251 -0
  1016. data/vendor/unity/extras/bdd/readme.md +40 -0
  1017. data/vendor/unity/extras/bdd/src/unity_bdd.h +44 -0
  1018. data/vendor/unity/extras/bdd/test/meson.build +9 -0
  1019. data/vendor/unity/extras/bdd/test/test_bdd.c +129 -0
  1020. data/vendor/unity/extras/eclipse/error_parsers.txt +26 -0
  1021. data/vendor/unity/extras/fixture/readme.md +26 -0
  1022. data/vendor/unity/extras/fixture/src/meson.build +10 -0
  1023. data/vendor/unity/extras/fixture/src/unity_fixture.c +310 -0
  1024. data/vendor/unity/extras/fixture/src/unity_fixture.h +94 -0
  1025. data/vendor/unity/extras/fixture/src/unity_fixture_internals.h +50 -0
  1026. data/vendor/unity/extras/fixture/test/Makefile +72 -0
  1027. data/vendor/unity/extras/fixture/test/main/AllTests.c +20 -0
  1028. data/vendor/unity/extras/fixture/test/template_fixture_tests.c +39 -0
  1029. data/vendor/unity/extras/fixture/test/unity_fixture_Test.c +245 -0
  1030. data/vendor/unity/extras/fixture/test/unity_fixture_TestRunner.c +32 -0
  1031. data/vendor/unity/extras/memory/readme.md +42 -0
  1032. data/vendor/unity/extras/memory/src/meson.build +9 -0
  1033. data/vendor/unity/extras/memory/src/unity_memory.c +203 -0
  1034. data/vendor/unity/extras/memory/src/unity_memory.h +61 -0
  1035. data/vendor/unity/extras/memory/test/Makefile +85 -0
  1036. data/vendor/unity/extras/memory/test/unity_memory_Test.c +326 -0
  1037. data/vendor/unity/extras/memory/test/unity_memory_TestRunner.c +50 -0
  1038. data/vendor/unity/extras/memory/test/unity_output_Spy.c +57 -0
  1039. data/vendor/unity/extras/memory/test/unity_output_Spy.h +17 -0
  1040. data/vendor/unity/library.json +25 -0
  1041. data/vendor/unity/meson.build +80 -0
  1042. data/vendor/unity/meson_options.txt +3 -0
  1043. data/vendor/unity/platformio-build.py +24 -0
  1044. data/vendor/unity/src/meson.build +17 -0
  1045. data/vendor/unity/src/unity.c +2501 -0
  1046. data/vendor/unity/src/unity.h +698 -0
  1047. data/vendor/unity/src/unity_internals.h +1183 -0
  1048. data/vendor/unity/test/Makefile +167 -0
  1049. data/vendor/unity/test/expectdata/testsample_cmd.c +61 -0
  1050. data/vendor/unity/test/expectdata/testsample_def.c +57 -0
  1051. data/vendor/unity/test/expectdata/testsample_head1.c +55 -0
  1052. data/vendor/unity/test/expectdata/testsample_head1.h +15 -0
  1053. data/vendor/unity/test/expectdata/testsample_mock_cmd.c +80 -0
  1054. data/vendor/unity/test/expectdata/testsample_mock_def.c +76 -0
  1055. data/vendor/unity/test/expectdata/testsample_mock_head1.c +75 -0
  1056. data/vendor/unity/test/expectdata/testsample_mock_head1.h +13 -0
  1057. data/vendor/unity/test/expectdata/testsample_mock_new1.c +89 -0
  1058. data/vendor/unity/test/expectdata/testsample_mock_new2.c +89 -0
  1059. data/vendor/unity/test/expectdata/testsample_mock_param.c +77 -0
  1060. data/vendor/unity/test/expectdata/testsample_mock_run1.c +89 -0
  1061. data/vendor/unity/test/expectdata/testsample_mock_run2.c +89 -0
  1062. data/vendor/unity/test/expectdata/testsample_mock_yaml.c +90 -0
  1063. data/vendor/unity/test/expectdata/testsample_new1.c +67 -0
  1064. data/vendor/unity/test/expectdata/testsample_new2.c +70 -0
  1065. data/vendor/unity/test/expectdata/testsample_param.c +58 -0
  1066. data/vendor/unity/test/expectdata/testsample_run1.c +67 -0
  1067. data/vendor/unity/test/expectdata/testsample_run2.c +70 -0
  1068. data/vendor/unity/test/expectdata/testsample_yaml.c +71 -0
  1069. data/vendor/unity/test/rakefile +164 -0
  1070. data/vendor/unity/test/rakefile_helper.rb +316 -0
  1071. data/vendor/unity/test/spec/generate_module_existing_file_spec.rb +164 -0
  1072. data/vendor/unity/test/targets/ansi.yml +51 -0
  1073. data/vendor/unity/test/targets/clang_file.yml +79 -0
  1074. data/vendor/unity/test/targets/clang_strict.yml +79 -0
  1075. data/vendor/unity/test/targets/gcc_32.yml +52 -0
  1076. data/vendor/unity/test/targets/gcc_64.yml +53 -0
  1077. data/vendor/unity/test/targets/gcc_auto_limits.yml +50 -0
  1078. data/vendor/unity/test/targets/gcc_auto_stdint.yml +62 -0
  1079. data/vendor/unity/test/targets/gcc_manual_math.yml +50 -0
  1080. data/vendor/unity/test/targets/hitech_picc18.yml +98 -0
  1081. data/vendor/unity/test/targets/iar_arm_v4.yml +105 -0
  1082. data/vendor/unity/test/targets/iar_arm_v5.yml +99 -0
  1083. data/vendor/unity/test/targets/iar_arm_v5_3.yml +99 -0
  1084. data/vendor/unity/test/targets/iar_armcortex_LM3S9B92_v5_4.yml +97 -0
  1085. data/vendor/unity/test/targets/iar_cortexm3_v5.yml +101 -0
  1086. data/vendor/unity/test/targets/iar_msp430.yml +119 -0
  1087. data/vendor/unity/test/targets/iar_sh2a_v6.yml +106 -0
  1088. data/vendor/unity/test/testdata/CException.h +18 -0
  1089. data/vendor/unity/test/testdata/Defs.h +16 -0
  1090. data/vendor/unity/test/testdata/cmock.h +21 -0
  1091. data/vendor/unity/test/testdata/mockMock.h +20 -0
  1092. data/vendor/unity/test/testdata/testRunnerGenerator.c +204 -0
  1093. data/vendor/unity/test/testdata/testRunnerGeneratorSmall.c +73 -0
  1094. data/vendor/unity/test/testdata/testRunnerGeneratorWithMocks.c +200 -0
  1095. data/vendor/unity/test/tests/self_assessment_utils.h +151 -0
  1096. data/vendor/unity/test/tests/test_generate_test_runner.rb +1341 -0
  1097. data/vendor/unity/test/tests/test_unity_arrays.c +2941 -0
  1098. data/vendor/unity/test/tests/test_unity_core.c +375 -0
  1099. data/vendor/unity/test/tests/test_unity_doubles.c +1285 -0
  1100. data/vendor/unity/test/tests/test_unity_floats.c +1395 -0
  1101. data/vendor/unity/test/tests/test_unity_integers.c +2863 -0
  1102. data/vendor/unity/test/tests/test_unity_integers_64.c +783 -0
  1103. data/vendor/unity/test/tests/test_unity_memory.c +82 -0
  1104. data/vendor/unity/test/tests/test_unity_parameterized.c +309 -0
  1105. data/vendor/unity/test/tests/test_unity_parameterizedDemo.c +28 -0
  1106. data/vendor/unity/test/tests/test_unity_strings.c +330 -0
  1107. data/vendor/unity/test/tests/types_for_test.h +21 -0
  1108. data/vendor/unity/unityConfig.cmake +1 -0
  1109. metadata +1211 -251
  1110. data/.gitignore +0 -14
  1111. data/.vim +0 -1
  1112. data/.yardopts +0 -1
  1113. data/LICENSE +0 -19
  1114. data/ceedling-gem.sublime-project +0 -575
  1115. data/examples/temp_sensor/rakefile.rb +0 -4
  1116. data/examples/temp_sensor/src/AT91SAM7X256.h +0 -2556
  1117. data/examples/temp_sensor/src/UsartGetChar.c +0 -6
  1118. data/examples/temp_sensor/src/UsartGetChar.h +0 -8
  1119. data/examples/temp_sensor/test/test_AdcConductor.c +0 -121
  1120. data/examples/temp_sensor/test/test_AdcHardware.c +0 -44
  1121. data/examples/temp_sensor/test/test_AdcHardwareConfigurator.c +0 -43
  1122. data/examples/temp_sensor/test/test_AdcModel.c +0 -33
  1123. data/examples/temp_sensor/test/test_AdcTemperatureSensor.c +0 -47
  1124. data/examples/temp_sensor/test/test_Executor.c +0 -36
  1125. data/examples/temp_sensor/test/test_Main.c +0 -24
  1126. data/examples/temp_sensor/test/test_Model.c +0 -20
  1127. data/examples/temp_sensor/test/test_TaskScheduler.c +0 -104
  1128. data/examples/temp_sensor/test/test_TemperatureCalculator.c +0 -33
  1129. data/examples/temp_sensor/test/test_TemperatureFilter.c +0 -71
  1130. data/examples/temp_sensor/test/test_TimerConductor.c +0 -32
  1131. data/examples/temp_sensor/test/test_TimerConfigurator.c +0 -112
  1132. data/examples/temp_sensor/test/test_TimerHardware.c +0 -26
  1133. data/examples/temp_sensor/test/test_TimerInterruptConfigurator.c +0 -78
  1134. data/examples/temp_sensor/test/test_TimerInterruptHandler.c +0 -66
  1135. data/examples/temp_sensor/test/test_TimerModel.c +0 -18
  1136. data/examples/temp_sensor/test/test_UsartBaudRateRegisterCalculator.c +0 -21
  1137. data/examples/temp_sensor/test/test_UsartConductor.c +0 -40
  1138. data/examples/temp_sensor/test/test_UsartConfigurator.c +0 -77
  1139. data/examples/temp_sensor/test/test_UsartGetChar.c +0 -17
  1140. data/examples/temp_sensor/test/test_UsartHardware.c +0 -56
  1141. data/examples/temp_sensor/test/test_UsartModel.c +0 -40
  1142. data/examples/temp_sensor/test/test_UsartPutChar.c +0 -43
  1143. data/examples/temp_sensor/test/test_UsartTransmitBufferStatus.c +0 -22
  1144. data/lib/ceedling/version.rb +0 -16
  1145. data/lib/ceedling/version.rb.erb +0 -16
  1146. data/new_project_template/build/.gitkeep +0 -0
  1147. data/new_project_template/project.yml +0 -65
  1148. data/new_project_template/rakefile.rb +0 -4
  1149. data/new_project_template/src/.gitkeep +0 -0
  1150. data/new_project_template/test/.gitkeep +0 -0
  1151. data/new_project_template/test/support/.gitkeep +0 -0
  1152. data/new_project_template/vendor/ceedling/docs/CExceptionSummary.pdf +0 -0
  1153. data/new_project_template/vendor/ceedling/docs/CMock Summary.pdf +0 -0
  1154. data/new_project_template/vendor/ceedling/docs/Ceedling Packet.pdf +0 -0
  1155. data/new_project_template/vendor/ceedling/docs/Unity Summary.pdf +0 -0
  1156. data/new_project_template/vendor/ceedling/lib/build_invoker_utils.rb +0 -27
  1157. data/new_project_template/vendor/ceedling/lib/cacheinator.rb +0 -42
  1158. data/new_project_template/vendor/ceedling/lib/cacheinator_helper.rb +0 -12
  1159. data/new_project_template/vendor/ceedling/lib/cmock_builder.rb +0 -15
  1160. data/new_project_template/vendor/ceedling/lib/configurator.rb +0 -329
  1161. data/new_project_template/vendor/ceedling/lib/configurator_builder.rb +0 -419
  1162. data/new_project_template/vendor/ceedling/lib/configurator_plugins.rb +0 -93
  1163. data/new_project_template/vendor/ceedling/lib/configurator_setup.rb +0 -123
  1164. data/new_project_template/vendor/ceedling/lib/configurator_validator.rb +0 -184
  1165. data/new_project_template/vendor/ceedling/lib/constants.rb +0 -91
  1166. data/new_project_template/vendor/ceedling/lib/defaults.rb +0 -378
  1167. data/new_project_template/vendor/ceedling/lib/dependinator.rb +0 -92
  1168. data/new_project_template/vendor/ceedling/lib/file_finder.rb +0 -132
  1169. data/new_project_template/vendor/ceedling/lib/file_finder_helper.rb +0 -54
  1170. data/new_project_template/vendor/ceedling/lib/file_path_utils.rb +0 -189
  1171. data/new_project_template/vendor/ceedling/lib/file_system_utils.rb +0 -69
  1172. data/new_project_template/vendor/ceedling/lib/file_wrapper.rb +0 -74
  1173. data/new_project_template/vendor/ceedling/lib/flaginator.rb +0 -54
  1174. data/new_project_template/vendor/ceedling/lib/generator.rb +0 -162
  1175. data/new_project_template/vendor/ceedling/lib/generator_helper.rb +0 -40
  1176. data/new_project_template/vendor/ceedling/lib/generator_test_results.rb +0 -89
  1177. data/new_project_template/vendor/ceedling/lib/generator_test_results_sanity_checker.rb +0 -62
  1178. data/new_project_template/vendor/ceedling/lib/generator_test_runner.rb +0 -63
  1179. data/new_project_template/vendor/ceedling/lib/loginator.rb +0 -31
  1180. data/new_project_template/vendor/ceedling/lib/makefile.rb +0 -46
  1181. data/new_project_template/vendor/ceedling/lib/objects.yml +0 -301
  1182. data/new_project_template/vendor/ceedling/lib/plugin.rb +0 -79
  1183. data/new_project_template/vendor/ceedling/lib/plugin_manager.rb +0 -95
  1184. data/new_project_template/vendor/ceedling/lib/plugin_manager_helper.rb +0 -19
  1185. data/new_project_template/vendor/ceedling/lib/plugin_reportinator.rb +0 -75
  1186. data/new_project_template/vendor/ceedling/lib/plugin_reportinator_helper.rb +0 -52
  1187. data/new_project_template/vendor/ceedling/lib/preprocessinator.rb +0 -43
  1188. data/new_project_template/vendor/ceedling/lib/preprocessinator_extractor.rb +0 -36
  1189. data/new_project_template/vendor/ceedling/lib/preprocessinator_file_handler.rb +0 -21
  1190. data/new_project_template/vendor/ceedling/lib/preprocessinator_helper.rb +0 -46
  1191. data/new_project_template/vendor/ceedling/lib/preprocessinator_includes_handler.rb +0 -55
  1192. data/new_project_template/vendor/ceedling/lib/project_config_manager.rb +0 -38
  1193. data/new_project_template/vendor/ceedling/lib/project_file_loader.rb +0 -64
  1194. data/new_project_template/vendor/ceedling/lib/rake_utils.rb +0 -17
  1195. data/new_project_template/vendor/ceedling/lib/rake_wrapper.rb +0 -31
  1196. data/new_project_template/vendor/ceedling/lib/rakefile.rb +0 -61
  1197. data/new_project_template/vendor/ceedling/lib/release_invoker.rb +0 -58
  1198. data/new_project_template/vendor/ceedling/lib/release_invoker_helper.rb +0 -16
  1199. data/new_project_template/vendor/ceedling/lib/reportinator.rb +0 -9
  1200. data/new_project_template/vendor/ceedling/lib/rules_cmock.rake +0 -9
  1201. data/new_project_template/vendor/ceedling/lib/rules_preprocess.rake +0 -26
  1202. data/new_project_template/vendor/ceedling/lib/rules_release.rake +0 -79
  1203. data/new_project_template/vendor/ceedling/lib/rules_release_deep_dependencies.rake +0 -15
  1204. data/new_project_template/vendor/ceedling/lib/rules_tests.rake +0 -59
  1205. data/new_project_template/vendor/ceedling/lib/rules_tests_deep_dependencies.rake +0 -15
  1206. data/new_project_template/vendor/ceedling/lib/setupinator.rb +0 -51
  1207. data/new_project_template/vendor/ceedling/lib/stream_wrapper.rb +0 -20
  1208. data/new_project_template/vendor/ceedling/lib/streaminator.rb +0 -41
  1209. data/new_project_template/vendor/ceedling/lib/streaminator_helper.rb +0 -15
  1210. data/new_project_template/vendor/ceedling/lib/system_utils.rb +0 -32
  1211. data/new_project_template/vendor/ceedling/lib/system_wrapper.rb +0 -75
  1212. data/new_project_template/vendor/ceedling/lib/task_invoker.rb +0 -85
  1213. data/new_project_template/vendor/ceedling/lib/tasks_base.rake +0 -104
  1214. data/new_project_template/vendor/ceedling/lib/tasks_filesystem.rake +0 -91
  1215. data/new_project_template/vendor/ceedling/lib/tasks_release.rake +0 -28
  1216. data/new_project_template/vendor/ceedling/lib/tasks_release_deep_dependencies.rake +0 -9
  1217. data/new_project_template/vendor/ceedling/lib/tasks_tests.rake +0 -52
  1218. data/new_project_template/vendor/ceedling/lib/tasks_tests_deep_dependencies.rake +0 -9
  1219. data/new_project_template/vendor/ceedling/lib/tasks_vendor.rake +0 -36
  1220. data/new_project_template/vendor/ceedling/lib/test_includes_extractor.rb +0 -81
  1221. data/new_project_template/vendor/ceedling/lib/test_invoker.rb +0 -97
  1222. data/new_project_template/vendor/ceedling/lib/test_invoker_helper.rb +0 -28
  1223. data/new_project_template/vendor/ceedling/lib/tool_executor.rb +0 -212
  1224. data/new_project_template/vendor/ceedling/lib/tool_executor_helper.rb +0 -115
  1225. data/new_project_template/vendor/ceedling/lib/verbosinator.rb +0 -10
  1226. data/new_project_template/vendor/ceedling/lib/yaml_wrapper.rb +0 -16
  1227. data/new_project_template/vendor/ceedling/plugins/bullseye/bullseye.rake +0 -162
  1228. data/new_project_template/vendor/ceedling/plugins/bullseye/bullseye.rb +0 -173
  1229. data/new_project_template/vendor/ceedling/plugins/bullseye/defaults.yml +0 -53
  1230. data/new_project_template/vendor/ceedling/plugins/bullseye/readme.txt +0 -0
  1231. data/new_project_template/vendor/ceedling/plugins/gcov/defaults.yml +0 -34
  1232. data/new_project_template/vendor/ceedling/plugins/gcov/gcov.rake +0 -152
  1233. data/new_project_template/vendor/ceedling/plugins/gcov/gcov.rb +0 -128
  1234. data/new_project_template/vendor/ceedling/plugins/gcov/readme.txt +0 -0
  1235. data/new_project_template/vendor/ceedling/plugins/gcov/template.erb +0 -15
  1236. data/new_project_template/vendor/ceedling/plugins/module_generator/module_generator.rake +0 -14
  1237. data/new_project_template/vendor/ceedling/plugins/module_generator/module_generator.rb +0 -218
  1238. data/new_project_template/vendor/ceedling/plugins/module_generator/module_generator.yml +0 -4
  1239. data/new_project_template/vendor/ceedling/plugins/stdout_ide_tests_report/stdout_ide_tests_report.rb +0 -44
  1240. data/new_project_template/vendor/ceedling/plugins/stdout_ide_tests_report/stdout_ide_tests_report.yml +0 -4
  1241. data/new_project_template/vendor/ceedling/plugins/stdout_pretty_tests_report/stdout_pretty_tests_report.rb +0 -48
  1242. data/new_project_template/vendor/ceedling/plugins/stdout_pretty_tests_report/stdout_pretty_tests_report.yml +0 -4
  1243. data/new_project_template/vendor/ceedling/plugins/stdout_pretty_tests_report/template.erb +0 -59
  1244. data/new_project_template/vendor/ceedling/plugins/warnings_report/warnings_report.rb +0 -71
  1245. data/new_project_template/vendor/ceedling/plugins/xml_tests_report/xml_tests_report.rb +0 -110
  1246. data/new_project_template/vendor/ceedling/release/build.info +0 -1
  1247. data/new_project_template/vendor/ceedling/release/version.info +0 -1
  1248. data/new_project_template/vendor/ceedling/vendor/c_exception/lib/CException.c +0 -39
  1249. data/new_project_template/vendor/ceedling/vendor/c_exception/lib/CException.h +0 -70
  1250. data/new_project_template/vendor/ceedling/vendor/c_exception/release/build.info +0 -1
  1251. data/new_project_template/vendor/ceedling/vendor/c_exception/release/version.info +0 -2
  1252. data/new_project_template/vendor/ceedling/vendor/cmock/config/production_environment.rb +0 -14
  1253. data/new_project_template/vendor/ceedling/vendor/cmock/config/test_environment.rb +0 -16
  1254. data/new_project_template/vendor/ceedling/vendor/cmock/lib/cmock.rb +0 -65
  1255. data/new_project_template/vendor/ceedling/vendor/cmock/lib/cmock_config.rb +0 -129
  1256. data/new_project_template/vendor/ceedling/vendor/cmock/lib/cmock_file_writer.rb +0 -33
  1257. data/new_project_template/vendor/ceedling/vendor/cmock/lib/cmock_generator.rb +0 -194
  1258. data/new_project_template/vendor/ceedling/vendor/cmock/lib/cmock_generator_plugin_array.rb +0 -57
  1259. data/new_project_template/vendor/ceedling/vendor/cmock/lib/cmock_generator_plugin_callback.rb +0 -78
  1260. data/new_project_template/vendor/ceedling/vendor/cmock/lib/cmock_generator_plugin_cexception.rb +0 -51
  1261. data/new_project_template/vendor/ceedling/vendor/cmock/lib/cmock_generator_plugin_expect.rb +0 -86
  1262. data/new_project_template/vendor/ceedling/vendor/cmock/lib/cmock_generator_plugin_ignore.rb +0 -85
  1263. data/new_project_template/vendor/ceedling/vendor/cmock/lib/cmock_generator_utils.rb +0 -177
  1264. data/new_project_template/vendor/ceedling/vendor/cmock/lib/cmock_header_parser.rb +0 -273
  1265. data/new_project_template/vendor/ceedling/vendor/cmock/lib/cmock_plugin_manager.rb +0 -40
  1266. data/new_project_template/vendor/ceedling/vendor/cmock/lib/cmock_unityhelper_parser.rb +0 -74
  1267. data/new_project_template/vendor/ceedling/vendor/cmock/release/build.info +0 -1
  1268. data/new_project_template/vendor/ceedling/vendor/cmock/release/version.info +0 -2
  1269. data/new_project_template/vendor/ceedling/vendor/cmock/src/cmock.c +0 -186
  1270. data/new_project_template/vendor/ceedling/vendor/cmock/src/cmock.h +0 -30
  1271. data/new_project_template/vendor/ceedling/vendor/constructor/lib/constructor.rb +0 -127
  1272. data/new_project_template/vendor/ceedling/vendor/constructor/lib/constructor_struct.rb +0 -33
  1273. data/new_project_template/vendor/ceedling/vendor/deep_merge/lib/deep_merge.rb +0 -211
  1274. data/new_project_template/vendor/ceedling/vendor/diy/lib/diy/factory.rb +0 -36
  1275. data/new_project_template/vendor/ceedling/vendor/diy/lib/diy.rb +0 -403
  1276. data/new_project_template/vendor/ceedling/vendor/unity/auto/generate_test_runner.rb +0 -308
  1277. data/new_project_template/vendor/ceedling/vendor/unity/release/build.info +0 -1
  1278. data/new_project_template/vendor/ceedling/vendor/unity/release/version.info +0 -2
  1279. data/new_project_template/vendor/ceedling/vendor/unity/src/unity.c +0 -960
  1280. data/new_project_template/vendor/ceedling/vendor/unity/src/unity.h +0 -232
  1281. data/new_project_template/vendor/ceedling/vendor/unity/src/unity_internals.h +0 -414
  1282. /data/{new_project_template/vendor/ceedling/plugins/bullseye → plugins/bullseye/assets}/template.erb +0 -0
@@ -0,0 +1,54 @@
1
+ # Ceedling Plugin: Pretty Test Suite Console Report
2
+
3
+ Prints to the console ($stdout) simple, readable test suite results.
4
+
5
+ # Plugin Overview
6
+
7
+ This plugin is intended to be the default option for formatting a test suite's
8
+ results when displayed at the console. It collects raw test results from the
9
+ individual test executables of your test suite and presents them in a more
10
+ readable summary form.
11
+
12
+ # Setup
13
+
14
+ Enable the plugin in your project.yml by adding `report_tests_pretty_stdout` to
15
+ the list of enabled plugins instead of any other `report_tests_*_stdout`
16
+ plugin.
17
+
18
+ ``` YAML
19
+ :plugins:
20
+ :enabled:
21
+ - report_tests_pretty_stdout
22
+ ```
23
+
24
+ # Configuration
25
+
26
+ No additional configuration is needed once the plugin is enabled.
27
+
28
+ # Example Output
29
+
30
+ ```sh
31
+ > ceedling test:Model
32
+ ```
33
+
34
+ ```
35
+ -------------------
36
+ FAILED TEST SUMMARY
37
+ -------------------
38
+ [test/TestModel.c]
39
+ Test: testInitShouldCallSchedulerAndTemperatureFilterInit
40
+ At line (21): "Function TaskScheduler_Init() called more times than expected."
41
+
42
+ --------------------
43
+ OVERALL TEST SUMMARY
44
+ --------------------
45
+ TESTED: 1
46
+ PASSED: 0
47
+ FAILED: 1
48
+ IGNORED: 0
49
+
50
+ ---------------------
51
+ BUILD FAILURE SUMMARY
52
+ ---------------------
53
+ Unit test failures.
54
+ ```
@@ -0,0 +1,63 @@
1
+ % ignored = hash[:results][:counts][:ignored]
2
+ % failed = hash[:results][:counts][:failed]
3
+ % stdout_count = hash[:results][:counts][:stdout]
4
+ % header_prepend = ((hash[:header].length > 0) ? "#{hash[:header]}: " : '')
5
+ % banner_width = 25 + header_prepend.length # widest message
6
+
7
+ % if (stdout_count > 0)
8
+ <%=@ceedling[:plugin_reportinator].generate_banner(header_prepend + 'TEST OUTPUT')%>
9
+ % hash[:results][:stdout].each do |string|
10
+ [<%=string[:source][:file]%>]
11
+ % string[:collection].each do |item|
12
+ - "<%=item%>"
13
+ % end
14
+
15
+ % end
16
+ % end
17
+ % if (ignored > 0)
18
+ <%=@ceedling[:plugin_reportinator].generate_banner(header_prepend + 'IGNORED TEST SUMMARY')%>
19
+ % hash[:results][:ignores].each do |ignore|
20
+ [<%=ignore[:source][:file]%>]
21
+ % ignore[:collection].each do |item|
22
+ Test: <%=item[:test]%>
23
+ % if (not item[:message].empty?)
24
+ At line (<%=item[:line]%>): "<%=item[:message]%>"
25
+ % else
26
+ At line (<%=item[:line]%>)
27
+ % end
28
+
29
+ % end
30
+ % end
31
+ % end
32
+ % if (failed > 0)
33
+ <%=@ceedling[:plugin_reportinator].generate_banner(header_prepend + 'FAILED TEST SUMMARY')%>
34
+ % hash[:results][:failures].each do |failure|
35
+ [<%=failure[:source][:file]%>]
36
+ % failure[:collection].each do |item|
37
+ % header = "At line (#{item[:line]}):"
38
+ Test: <%=item[:test]%>
39
+ % if (not item[:message].empty?)
40
+ % # Cause multline error messages to wrap with indentation aligned with line header
41
+ % msg = item[:message].split("\n").enum_for(:each_with_index).map{|line,i| ((i >= 1) ? (' ' * (header.size + 3)) : '') + line}.join("\n")
42
+ <%=header%> "<%=msg%>"
43
+ % else
44
+ <%=header%>
45
+ % end
46
+
47
+ % end
48
+ % end
49
+ % end
50
+ % total_string = hash[:results][:counts][:total].to_s
51
+ % format_string = "%#{total_string.length}i"
52
+ % decorator = (failed > 0) ? LogLabels::FAIL : LogLabels::PASS
53
+ <%=@ceedling[:plugin_reportinator].generate_banner(header_prepend + @loginator.decorate('OVERALL TEST SUMMARY', decorator))%>
54
+ % if (hash[:results][:counts][:total] > 0)
55
+ TESTED: <%=hash[:results][:counts][:total].to_s%>
56
+ PASSED: <%=sprintf(format_string, hash[:results][:counts][:passed])%>
57
+ FAILED: <%=sprintf(format_string, failed)%>
58
+ IGNORED: <%=sprintf(format_string, ignored)%>
59
+ % else
60
+
61
+ No tests executed.
62
+ % end
63
+
@@ -0,0 +1,11 @@
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
+ ---
9
+ :plugins:
10
+ # tell Ceedling we got results display taken care of
11
+ :display_raw_test_results: FALSE
@@ -0,0 +1,73 @@
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 'ceedling/plugin'
9
+ require 'ceedling/defaults'
10
+
11
+ class ReportTestsPrettyStdout < Plugin
12
+
13
+ # `Plugin` setup()
14
+ def setup
15
+ @result_list = []
16
+ @mutex = Mutex.new
17
+
18
+ # Fetch the test results template for this plugin
19
+ template = @ceedling[:file_wrapper].read( File.join( @plugin_root_path, 'assets/template.erb' ) )
20
+
21
+ # Set the report template
22
+ @ceedling[:plugin_reportinator].register_test_results_template( template )
23
+ end
24
+
25
+ # `Plugin` build step hook -- collect result file paths after each test fixture execution
26
+ def post_test_fixture_execute(arg_hash)
27
+ # Thread-safe manipulation since test fixtures can be run in child processes
28
+ # spawned within multiple test execution threads.
29
+ @mutex.synchronize do
30
+ @result_list << arg_hash[:result_file]
31
+ end
32
+ end
33
+
34
+ # `Plugin` build step hook -- render a report immediately upon build completion (that invoked tests)
35
+ def post_build()
36
+ # Ensure a test task was invoked as part of the build
37
+ return if not (@ceedling[:task_invoker].test_invoked?)
38
+
39
+ results = @ceedling[:plugin_reportinator].assemble_test_results( @result_list )
40
+ hash = {
41
+ :header => '',
42
+ :results => results
43
+ }
44
+
45
+ @ceedling[:plugin_reportinator].run_test_results_report(hash) do
46
+ message = ''
47
+ message = 'Unit test failures.' if (results[:counts][:failed] > 0)
48
+ message
49
+ end
50
+ end
51
+
52
+ # `Plugin` build step hook -- render a test results report on demand using results from a previous build
53
+ def summary()
54
+ # Build up the list of passing results from all tests
55
+ result_list = @ceedling[:file_path_utils].form_pass_results_filelist(
56
+ PROJECT_TEST_RESULTS_PATH,
57
+ COLLECTION_ALL_TESTS
58
+ )
59
+
60
+ hash = {
61
+ :header => '',
62
+ # Collect all existing test results (success or failing) in the filesystem,
63
+ # limited to our test collection
64
+ :results => @ceedling[:plugin_reportinator].assemble_test_results(
65
+ result_list,
66
+ {:boom => false}
67
+ )
68
+ }
69
+
70
+ @ceedling[:plugin_reportinator].run_test_results_report( hash )
71
+ end
72
+
73
+ end
@@ -0,0 +1,50 @@
1
+ # Ceedling Plugin: Raw Test Output Logs
2
+
3
+ Capture extra console output — typically `printf()`-style statements — from
4
+ test cases to log files.
5
+
6
+ # Plugin Overview
7
+
8
+ This plugin gathers and filters console output from test executables into log
9
+ files. Though not required, it is usually used in addition to the
10
+ `report_tests_*_stdout` plugins that gather and format test results for display
11
+ at the console.
12
+
13
+ Debugging in unit tested code is often accomplished with simple `printf()`-
14
+ style calls to dump information to the console. This plugin's log files can be
15
+ helpful in supporting debugging efforts or quality validation.
16
+
17
+ ## Test executable output
18
+
19
+ Ceedling and Unity cooperate to extract console statements from test executable
20
+ runs. Unity-based test executables print test case pass/fail status messages
21
+ and test case accounting to the console ($stdout).
22
+
23
+ Ceedling and various reporting plugins gather all this, including unrecognized
24
+ output, to format it and present summaries at the console.
25
+
26
+ This plugin captures the unrecognized output to log files.
27
+
28
+ ## Log files
29
+
30
+ Log files are only created if test executables produce console output apart from
31
+ expected Unity test results as described above. Log files are named for the
32
+ respective test executables.
33
+
34
+ Builds are differentiated by build context — `test`, `release`, or
35
+ plugin-modified build (e.g. `gcov`). Log files are written to `<build
36
+ root>/artifacts/<context>/<test file>.raw.log`.
37
+
38
+ # Setup
39
+
40
+ Enable the plugin in your Ceedling project:
41
+
42
+ ``` YAML
43
+ :plugins:
44
+ :enabled:
45
+ - report_tests_raw_output_log
46
+ ```
47
+
48
+ # Configuration
49
+
50
+ No additional configuration is needed once the plugin is enabled.
@@ -0,0 +1,129 @@
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 'ceedling/plugin'
9
+ require 'ceedling/constants'
10
+
11
+ class ReportTestsRawOutputLog < Plugin
12
+ # `Plugin` setup()
13
+ def setup
14
+ # @raw_output hash with default values
15
+ @raw_output = {}
16
+
17
+ # Ceedling can run with multiple threads, provide a lock to use around @raw_output
18
+ @mutex = Mutex.new()
19
+
20
+ # Convenient instance variable references
21
+ @file_wrapper = @ceedling[:file_wrapper]
22
+ @loginator = @ceedling[:loginator]
23
+ @reportinator = @ceedling[:reportinator]
24
+ end
25
+
26
+ # `Plugin` build step hook
27
+ def post_test_fixture_execute(arg_hash)
28
+ output = extract_output( arg_hash[:shell_result][:output] )
29
+
30
+ # Bail out early
31
+ return if output.empty?
32
+
33
+ # After test fixture execution, parse output, store any raw console statements
34
+ @mutex.synchronize do
35
+ process_output(
36
+ arg_hash[:context],
37
+ arg_hash[:test_name],
38
+ output,
39
+ @raw_output
40
+ )
41
+ end
42
+ end
43
+
44
+ # `Plugin` build step hook
45
+ def post_build()
46
+ # Write collected raw output to log(s)
47
+ write_logs( @raw_output )
48
+ end
49
+
50
+ # `Plugin` build step hook
51
+ def post_error()
52
+ # Write collected raw output to log(s)
53
+ write_logs( @raw_output )
54
+ end
55
+
56
+ ### Private ###
57
+
58
+ private
59
+
60
+ # Pick apart test executable console output to find any lines not specific to a test case
61
+ def extract_output(raw_output)
62
+ output = []
63
+
64
+ raw_output.each_line do |line|
65
+ # Skip blank lines
66
+ next if line =~ /^\s*\n$/
67
+
68
+ # Skip test case reporting lines
69
+ next if line =~ /^.+:\d+:.+:(IGNORE|PASS|FAIL)/
70
+
71
+ # Return early if we get to test results summary footer
72
+ return output if line =~/^-+\n$/
73
+
74
+ # Capture all other console output from the test runner, including `printf()`-style debugging statements
75
+ output << line
76
+ end
77
+
78
+ return output
79
+ end
80
+
81
+ # Store raw output messages to hash in thread-safe manner
82
+ def process_output(context, test, output, hash)
83
+ # Store warning message
84
+ hash[context] = {} if hash[context].nil?
85
+ hash[context][test] = output
86
+ end
87
+
88
+ def write_logs(hash)
89
+ msg = @reportinator.generate_heading( "Running Raw Tests Output Report" )
90
+ @loginator.log( msg )
91
+
92
+ empty = false
93
+
94
+ @mutex.synchronize { empty = hash.empty? }
95
+
96
+ if empty
97
+ @loginator.log( "Tests produced no extra console output.\n" )
98
+ return
99
+ end
100
+
101
+ @mutex.synchronize do
102
+ hash.each do |context, tests|
103
+ tests.each do |test, output|
104
+ log_filepath = form_log_filepath( context, test )
105
+
106
+ msg = @reportinator.generate_progress( "Generating artifact #{log_filepath}" )
107
+ @loginator.log( msg )
108
+
109
+ File.open( log_filepath, 'w' ) do |f|
110
+ output.each { |line| f << line }
111
+ end
112
+ end
113
+ end
114
+ end
115
+
116
+ # White space at command line after progress messages
117
+ @loginator.log( '' )
118
+ end
119
+
120
+ def form_log_filepath(context, test)
121
+ path = File.join( PROJECT_BUILD_ARTIFACTS_ROOT, context.to_s )
122
+ filepath = File.join(path, test + '.raw.log')
123
+
124
+ # Ensure containing artifact directory exists
125
+ @file_wrapper.mkdir( path )
126
+
127
+ return filepath
128
+ end
129
+ end
@@ -0,0 +1,94 @@
1
+ # Ceedling Plugin: TeamCity Test Suite Console Report
2
+
3
+ Prints to the console ($stdout) test suite build events and results in a format understood by the CI product TeamCity.
4
+
5
+ # Plugin Overview
6
+
7
+ This plugin is intended to be used within [TeamCity] Continuous Integration
8
+ (CI) builds. It processes Ceedling test suites and executable output into
9
+ TeamCity [service messages][service-messages]. Service messages are a specially
10
+ formatted type of log output that a TeamCity build server picks out of build
11
+ output to collect progress and metrics of various sorts.
12
+
13
+ Typically, this plugin is used only in CI builds. Its output is unhelpful in
14
+ development builds locally. See the [Configuration](#configuration) section for
15
+ options on enabling the build in CI but disabling it locally.
16
+
17
+ [TeamCity]: https://www.jetbrains.com/teamcity/
18
+ [service-messages]:
19
+ https://www.jetbrains.com/help/teamcity/service-messages.html
20
+
21
+ # Setup
22
+
23
+ Enable the plugin in your Ceedling project file by adding
24
+ `report_tests_teamcity_stdout`.
25
+
26
+ ``` YAML
27
+ :plugins:
28
+ :enabled:
29
+ - report_tests_teamcity_stdout
30
+ ```
31
+
32
+ # Configuration
33
+
34
+ All the `report_tests_*_stdout` plugins may be enabled in various combinations.
35
+ But, some combinations may not make a great deal of sense. The TeamCity
36
+ plugin “plays nice” with all the others but is generally most appropriate
37
+ running in a CI build on a TeamCity server. Its output will clutter and obscure
38
+ console logging at a local development environment command line.
39
+
40
+ You may enable the TeamCity plugin (above) but disable its operation using the
41
+ following.
42
+
43
+ ```YAML
44
+ :teamcity:
45
+ :build: FALSE
46
+ ```
47
+
48
+ This may seem silly, right? Why enable the plugin and then disable it,
49
+ cancelling it out? The answer has to do with _where_ you use the second YAML
50
+ blurb configuration setting.
51
+
52
+ Ceedling provides Mixins for applying configurations settings on top of your
53
+ base project configuraiton file.
54
+ See the [Mixins documentation][ceedling-mixins] for full details.
55
+
56
+ [ceedling-mixins]: ../docs/CeedlingPacket.md#base-project-configuration-file-mixins-section-entries
57
+
58
+ As an example, you might enable the plugin in the main project file that is
59
+ committed to your repository while disabling the plugin in your local user
60
+ project file that is ignored by your repository. In this way, the plugin would
61
+ run on a TeamCity build server but not in your local development environment.
62
+
63
+ # Example Output
64
+
65
+ TeamCity's convention for identifying tests uses the naming convention of the
66
+ underlying Java language in which TeamCity is written,
67
+ `package_or_namespace.ClassName.TestName`.
68
+
69
+ This plugin maps Ceedling conventions to TeamCity test service messages as
70
+ `context.TestFilepath.TestCaseName`.
71
+
72
+ * `context` Your build's context defaults to `test`. Certain other test build
73
+ plugins (e.g. GCov) provide a different context (`gcov`) for test builds,
74
+ generally named after themselves.
75
+ * `TestFilepath` This identifier is the relative filepath of the relevant test
76
+ file without a file extension (e.g. no `.c`).
77
+ * `TestCaseName` This identifier is a test case function name within a Ceedling test file.
78
+
79
+ ```sh
80
+ > ceedling test:UsartModel
81
+ ```
82
+
83
+ ```
84
+ ##teamcity[testSuiteStarted name='TestUsartModel' flowId='15']
85
+ ##teamcity[testStarted name='test.test/TestUsartModel.testGetBaudRateRegisterSettingShouldReturnAppropriateBaudRateRegisterSetting' flowId='15']
86
+ ##teamcity[testFinished name='test.test/TestUsartModel.testGetBaudRateRegisterSettingShouldReturnAppropriateBaudRateRegisterSetting' duration='81' flowId='15']
87
+ ##teamcity[testStarted name='test.test/TestUsartModel.testShouldReturnErrorMessageUponInvalidTemperatureValue' flowId='15']
88
+ ##teamcity[testFinished name='test.test/TestUsartModel.testShouldReturnErrorMessageUponInvalidTemperatureValue' duration='81' flowId='15']
89
+ ##teamcity[testStarted name='test.test/TestUsartModel.testGetFormattedTemperatureFormatsTemperatureFromCalculatorAppropriately' flowId='15']
90
+ ##teamcity[testFailed name='test.test/TestUsartModel.testGetFormattedTemperatureFormatsTemperatureFromCalculatorAppropriately' message='Function TemperatureFilter_GetTemperatureInCelcius() called more times than expected.' details='File: test/TestUsartModel.c Line: 25' flowId='15']
91
+ ##teamcity[testFinished name='test.test/TestUsartModel.testGetFormattedTemperatureFormatsTemperatureFromCalculatorAppropriately' duration='81' flowId='15']
92
+ ##teamcity[testIgnored name='test.test/TestUsartModel.testShouldReturnWakeupMessage' flowId='15']
93
+ ##teamcity[testSuiteFinished name='TestUsartModel' flowId='15']
94
+ ```
@@ -0,0 +1,12 @@
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
+ ---
9
+ :teamcity:
10
+ # Override to FALSE in user, local project options to prevent CI $stdout messages
11
+ :build: TRUE
12
+ ...
@@ -0,0 +1,11 @@
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
+ ---
9
+ :plugins:
10
+ # tell Ceedling we got results display taken care of
11
+ :display_raw_test_results: FALSE
@@ -0,0 +1,163 @@
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 'ceedling/plugin'
9
+ require 'ceedling/defaults'
10
+
11
+ class ReportTestsTeamcityStdout < Plugin
12
+
13
+ # `Plugin` setup()
14
+ def setup
15
+ # TEAMCITY_BUILD defaults to true but can be overridden in a user
16
+ # project file to stop CI messages locally.
17
+ @output_enabled = TEAMCITY_BUILD
18
+
19
+ # Provide thread-safety for multi-threaded builds
20
+ @mutex = Mutex.new
21
+
22
+ # A counter incremented for each Ceedling test executable allowing
23
+ # concurrent executables to differentiate their service messages.
24
+ @flowid_count = 0
25
+
26
+ # A TeamCity suite correlates to a Ceedling test executable
27
+ # This hash relates each test filepath to a unique Flow ID
28
+ # (TeamCity uses Flow IDs to differentiate messages generated in concurrent threads)
29
+ @suites = {}
30
+ end
31
+
32
+ # `Plugin` build step hook
33
+ def pre_test(test)
34
+ return if !@output_enabled
35
+
36
+ # Generate a new Flow ID and store it in test hash
37
+ @mutex.synchronize do
38
+ @flowid_count += 1
39
+ @suites[test] = { :flowid => @flowid_count }
40
+ end
41
+
42
+ # Generate first TeamCity service message
43
+ @mutex.synchronize do
44
+ teamcity_service_message(
45
+ "testSuiteStarted name='#{File.basename(test, '.*')}'",
46
+ @suites[test][:flowid]
47
+ )
48
+ end
49
+ end
50
+
51
+ # `Plugin` build step hook
52
+ def post_test_fixture_execute(arg_hash)
53
+ return if !@output_enabled
54
+
55
+ flowId = nil
56
+ test_key = arg_hash[:test_filepath]
57
+
58
+ # Get unique Flow ID
59
+ @mutex.synchronize do
60
+ flowId = @suites[test_key][:flowid]
61
+ end
62
+
63
+ # Gather test results for this test executable
64
+ results = @ceedling[:plugin_reportinator].assemble_test_results( [arg_hash[:result_file]] )
65
+
66
+ # Apportion total run time of test executable equally to each test case within it.
67
+ duration_ms = results[:total_time] * 1000.0
68
+ avg_duration = (duration_ms / [1, results[:counts][:passed] + results[:counts][:failed]].max).round
69
+
70
+ context = arg_hash[:context]
71
+
72
+ # Handle test case successes within the test executable
73
+ results[:successes].each do |success|
74
+ filepath = File.join( success[:source][:dirname], File.basename( success[:source][:basename], '.*' ) )
75
+
76
+ # puts(success)
77
+ success[:collection].each do |test|
78
+ _test = test[:test]
79
+
80
+ # Create Java-like name per TeamCity convention `package_or_namespace.ClassName.TestName`
81
+ # ==> `context.TestFilepath.TestCaseName`
82
+ teamcity_service_message(
83
+ "testStarted name='#{context}.#{filepath}.#{_test}'",
84
+ flowId
85
+ )
86
+
87
+ teamcity_service_message(
88
+ "testFinished name='#{context}.#{filepath}.#{_test}' duration='#{avg_duration}'",
89
+ flowId
90
+ )
91
+ end
92
+ end
93
+
94
+ # Handle test case failures within the test executable
95
+ results[:failures].each do |failure|
96
+ failure[:collection].each do |test|
97
+ filepath = File.join( failure[:source][:dirname], File.basename( failure[:source][:basename], '.*' ) )
98
+
99
+ _test = test[:test]
100
+ _message = test[:message]
101
+
102
+ teamcity_service_message(
103
+ "testStarted name='#{context}.#{filepath}.#{_test}'",
104
+ flowId
105
+ )
106
+
107
+ # Create Java-like name per TeamCity convention `package_or_namespace.ClassName.TestName`
108
+ # ==> `context.TestFilepath.TestCaseName`
109
+ _message =
110
+ "testFailed name='#{context}.#{filepath}.#{_test}' " +
111
+ "message='#{escape(_message)}' " +
112
+ "details='File: #{failure[:source][:file]} Line: #{test[:line]}'"
113
+
114
+ teamcity_service_message( _message, flowId )
115
+
116
+ teamcity_service_message(
117
+ "testFinished name='#{context}.#{filepath}.#{_test}' duration='#{avg_duration}'",
118
+ flowId
119
+ )
120
+ end
121
+ end
122
+
123
+ # Handle ignored tests
124
+ results[:ignores].each do |ignored|
125
+ ignored[:collection].each do |test|
126
+ filepath = File.join( ignored[:source][:dirname], File.basename( ignored[:source][:basename], '.*' ) )
127
+ _test = test[:test]
128
+
129
+ service_message = "testIgnored name='#{context}.#{filepath}.#{_test}'"
130
+
131
+ teamcity_service_message( service_message, flowId )
132
+ end
133
+ end
134
+
135
+ end
136
+
137
+ # `Plugin` build step hook
138
+ def post_test(test)
139
+ return if !@output_enabled
140
+
141
+ @mutex.synchronize do
142
+ teamcity_service_message(
143
+ "testSuiteFinished name='#{File.basename(test, '.*')}'",
144
+ @suites[test][:flowid]
145
+ )
146
+ end
147
+ end
148
+
149
+ ### Private
150
+
151
+ private
152
+
153
+ def escape(string)
154
+ # https://www.jetbrains.com/help/teamcity/service-messages.html#Escaped+Values
155
+ string.gsub(/['|\[\]]/, '|\0').gsub('\r', '|r').gsub('\n', '|n')
156
+ end
157
+
158
+ def teamcity_service_message(content, flowId=0)
159
+ # https://www.jetbrains.com/help/teamcity/service-messages.html
160
+ puts "##teamcity[#{content} flowId='#{flowId}']"
161
+ end
162
+
163
+ end