ceedling 0.9.0 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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,1395 @@
1
+ /* =========================================================================
2
+ Unity - A Test Framework for C
3
+ ThrowTheSwitch.org
4
+ Copyright (c) 2007-25 Mike Karlesky, Mark VanderVoord, & Greg Williams
5
+ SPDX-License-Identifier: MIT
6
+ ========================================================================= */
7
+
8
+ #include "unity.h"
9
+ #define TEST_INSTANCES
10
+ #include "self_assessment_utils.h"
11
+
12
+ static int SetToOneToFailInTearDown;
13
+ static int SetToOneMeanWeAlreadyCheckedThisGuy;
14
+
15
+ void setUp(void)
16
+ {
17
+ SetToOneToFailInTearDown = 0;
18
+ SetToOneMeanWeAlreadyCheckedThisGuy = 0;
19
+ }
20
+
21
+ void tearDown(void)
22
+ {
23
+ endPutcharSpy(); /* Stop suppressing test output */
24
+ if (SetToOneToFailInTearDown == 1)
25
+ {
26
+ /* These will be skipped internally if already failed/ignored */
27
+ TEST_FAIL_MESSAGE("<= Failed in tearDown");
28
+ TEST_IGNORE_MESSAGE("<= Ignored in tearDown");
29
+ }
30
+ if ((SetToOneMeanWeAlreadyCheckedThisGuy == 0) && (Unity.CurrentTestFailed > 0))
31
+ {
32
+ UnityPrint(": [[[[ Test Should Have Passed But Did Not ]]]]");
33
+ UNITY_OUTPUT_CHAR('\n');
34
+ }
35
+ }
36
+
37
+ void testFloatsWithinDelta(void)
38
+ {
39
+ #ifdef UNITY_EXCLUDE_FLOAT
40
+ TEST_IGNORE();
41
+ #else
42
+ TEST_ASSERT_FLOAT_WITHIN(0.00003f, 187245.03485f, 187245.03488f);
43
+ TEST_ASSERT_FLOAT_WITHIN(1.0f, 187245.0f, 187246.0f);
44
+ TEST_ASSERT_FLOAT_WITHIN(0.05f, 9273.2549f, 9273.2049f);
45
+ TEST_ASSERT_FLOAT_WITHIN(0.007f, -726.93724f, -726.94424f);
46
+
47
+ EXPECT_ABORT_BEGIN
48
+ TEST_ASSERT_FLOAT_NOT_WITHIN(0.05f, 9273.2549f, 9273.2049f);
49
+ VERIFY_FAILS_END
50
+ #endif
51
+ }
52
+
53
+ void testFloatsNotWithinDelta(void)
54
+ {
55
+ #ifdef UNITY_EXCLUDE_FLOAT
56
+ TEST_IGNORE();
57
+ #else
58
+ TEST_ASSERT_FLOAT_NOT_WITHIN(0.05f, 9273.2649f, 9273.2049f);
59
+
60
+ EXPECT_ABORT_BEGIN
61
+ TEST_ASSERT_FLOAT_WITHIN(0.05f, 9273.2649f, 9273.2049f);
62
+ VERIFY_FAILS_END
63
+ #endif
64
+ }
65
+
66
+ void testFloatsEqual(void)
67
+ {
68
+ #ifdef UNITY_EXCLUDE_FLOAT
69
+ TEST_IGNORE();
70
+ #else
71
+ TEST_ASSERT_EQUAL_FLOAT(187245.0f, 187246.0f);
72
+ TEST_ASSERT_EQUAL_FLOAT(18724.5f, 18724.6f);
73
+ TEST_ASSERT_EQUAL_FLOAT(9273.2549f, 9273.2599f);
74
+ TEST_ASSERT_EQUAL_FLOAT(-726.93724f, -726.9374f);
75
+
76
+ EXPECT_ABORT_BEGIN
77
+ TEST_ASSERT_NOT_EQUAL_FLOAT(-726.93724f, -726.9374f);
78
+ VERIFY_FAILS_END
79
+ #endif
80
+ }
81
+
82
+ void testFloatsNotEqual(void)
83
+ {
84
+ #ifdef UNITY_EXCLUDE_FLOAT
85
+ TEST_IGNORE();
86
+ #else
87
+ TEST_ASSERT_NOT_EQUAL_FLOAT(9273.9649f, 9273.0049f);
88
+
89
+ EXPECT_ABORT_BEGIN
90
+ TEST_ASSERT_EQUAL_FLOAT(9273.9649f, 9273.0049f);
91
+ VERIFY_FAILS_END
92
+ #endif
93
+ }
94
+
95
+ void testFloatsNotEqualNegative1(void)
96
+ {
97
+ #ifdef UNITY_EXCLUDE_FLOAT
98
+ TEST_IGNORE();
99
+ #else
100
+ TEST_ASSERT_NOT_EQUAL_FLOAT(-9273.9649f, -9273.0049f);
101
+
102
+ EXPECT_ABORT_BEGIN
103
+ TEST_ASSERT_EQUAL_FLOAT(-9273.9649f, -9273.0049f);
104
+ VERIFY_FAILS_END
105
+ #endif
106
+ }
107
+
108
+ void testFloatsNotEqualNegative2(void)
109
+ {
110
+ #ifdef UNITY_EXCLUDE_FLOAT
111
+ TEST_IGNORE();
112
+ #else
113
+ TEST_ASSERT_NOT_EQUAL_FLOAT(-9273.0049f, -9273.9649f);
114
+
115
+ EXPECT_ABORT_BEGIN
116
+ TEST_ASSERT_EQUAL_FLOAT(-9273.0049f, -9273.9649f);
117
+ VERIFY_FAILS_END
118
+ #endif
119
+ }
120
+
121
+ void testFloatsNotEqualActualNaN(void)
122
+ {
123
+ #ifdef UNITY_EXCLUDE_FLOAT
124
+ TEST_IGNORE();
125
+ #else
126
+ TEST_ASSERT_NOT_EQUAL_FLOAT(85.963f, 0.0f / f_zero);
127
+
128
+ EXPECT_ABORT_BEGIN
129
+ TEST_ASSERT_EQUAL_FLOAT(85.963f, 0.0f / f_zero);
130
+ VERIFY_FAILS_END
131
+ #endif
132
+ }
133
+
134
+ void testFloatsNotEqualExpectedNaN(void)
135
+ {
136
+ #ifdef UNITY_EXCLUDE_FLOAT
137
+ TEST_IGNORE();
138
+ #else
139
+ TEST_ASSERT_NOT_EQUAL_FLOAT(0.0f / f_zero, 85.963f);
140
+
141
+ EXPECT_ABORT_BEGIN
142
+ TEST_ASSERT_EQUAL_FLOAT(0.0f / f_zero, 85.963f);
143
+ VERIFY_FAILS_END
144
+ #endif
145
+ }
146
+
147
+ void testFloatsEqualBothNaN(void)
148
+ {
149
+ #ifdef UNITY_EXCLUDE_FLOAT
150
+ TEST_IGNORE();
151
+ #else
152
+ TEST_ASSERT_EQUAL_FLOAT(0.0f / f_zero, 0.0f / f_zero);
153
+
154
+ EXPECT_ABORT_BEGIN
155
+ TEST_ASSERT_NOT_EQUAL_FLOAT(0.0f / f_zero, 0.0f / f_zero);
156
+ VERIFY_FAILS_END
157
+ #endif
158
+ }
159
+
160
+ void testFloatsNotEqualInfNaN(void)
161
+ {
162
+ #ifdef UNITY_EXCLUDE_FLOAT
163
+ TEST_IGNORE();
164
+ #else
165
+ TEST_ASSERT_NOT_EQUAL_FLOAT(1.0f / f_zero, 0.0f / f_zero);
166
+
167
+ EXPECT_ABORT_BEGIN
168
+ TEST_ASSERT_EQUAL_FLOAT(1.0f / f_zero, 0.0f / f_zero);
169
+ VERIFY_FAILS_END
170
+ #endif
171
+ }
172
+
173
+ void testFloatsNotEqualNaNInf(void)
174
+ {
175
+ #ifdef UNITY_EXCLUDE_FLOAT
176
+ TEST_IGNORE();
177
+ #else
178
+ TEST_ASSERT_NOT_EQUAL_FLOAT(0.0f / f_zero, 1.0f / f_zero);
179
+
180
+ EXPECT_ABORT_BEGIN
181
+ TEST_ASSERT_EQUAL_FLOAT(0.0f / f_zero, 1.0f / f_zero);
182
+ VERIFY_FAILS_END
183
+ #endif
184
+ }
185
+
186
+ void testFloatsNotEqualActualInf(void)
187
+ {
188
+ #ifdef UNITY_EXCLUDE_FLOAT
189
+ TEST_IGNORE();
190
+ #else
191
+ TEST_ASSERT_NOT_EQUAL_FLOAT(321.642f, 1.0f / f_zero);
192
+
193
+ EXPECT_ABORT_BEGIN
194
+ TEST_ASSERT_EQUAL_FLOAT(321.642f, 1.0f / f_zero);
195
+ VERIFY_FAILS_END
196
+ #endif
197
+ }
198
+
199
+ void testFloatsNotEqualExpectedInf(void)
200
+ {
201
+ #ifdef UNITY_EXCLUDE_FLOAT
202
+ TEST_IGNORE();
203
+ #else
204
+ TEST_ASSERT_NOT_EQUAL_FLOAT(1.0f / f_zero, 321.642f);
205
+
206
+ EXPECT_ABORT_BEGIN
207
+ TEST_ASSERT_EQUAL_FLOAT(1.0f / f_zero, 321.642f);
208
+ VERIFY_FAILS_END
209
+ #endif
210
+ }
211
+
212
+ void testFloatsEqualBothInf(void)
213
+ {
214
+ #ifdef UNITY_EXCLUDE_FLOAT
215
+ TEST_IGNORE();
216
+ #else
217
+ TEST_ASSERT_EQUAL_FLOAT(1.0f / f_zero, 1.0f / f_zero);
218
+
219
+ EXPECT_ABORT_BEGIN
220
+ TEST_ASSERT_NOT_EQUAL_FLOAT(1.0f / f_zero, 1.0f / f_zero);
221
+ VERIFY_FAILS_END
222
+ #endif
223
+ }
224
+
225
+ void testFloatsNotEqualPlusMinusInf(void)
226
+ {
227
+ #ifdef UNITY_EXCLUDE_FLOAT
228
+ TEST_IGNORE();
229
+ #else
230
+ TEST_ASSERT_NOT_EQUAL_FLOAT(1.0f / f_zero, -1.0f / f_zero);
231
+
232
+ EXPECT_ABORT_BEGIN
233
+ TEST_ASSERT_EQUAL_FLOAT(1.0f / f_zero, -1.0f / f_zero);
234
+ VERIFY_FAILS_END
235
+ #endif
236
+ }
237
+
238
+ void testFloatsGreaterThan(void)
239
+ {
240
+ #ifdef UNITY_EXCLUDE_FLOAT
241
+ TEST_IGNORE();
242
+ #else
243
+ TEST_ASSERT_GREATER_THAN_FLOAT(1.0f, 2.0f);
244
+ TEST_ASSERT_GREATER_THAN_FLOAT(-1.0f, 1.0f);
245
+ TEST_ASSERT_GREATER_THAN_FLOAT(-2.0f, -1.0f);
246
+ #endif
247
+ }
248
+
249
+ void testFloatsGreaterThanInf(void)
250
+ {
251
+ #ifdef UNITY_EXCLUDE_FLOAT
252
+ TEST_IGNORE();
253
+ #else
254
+ TEST_ASSERT_GREATER_THAN_FLOAT(1.0f, 1.0f / f_zero);
255
+ TEST_ASSERT_GREATER_THAN_FLOAT(-1.0f / f_zero, 1.0f / f_zero);
256
+ TEST_ASSERT_GREATER_THAN_FLOAT(-1.0f / f_zero, 1.0f);
257
+ #endif
258
+ }
259
+
260
+ void testFloatsNotGreaterThan(void)
261
+ {
262
+ #ifdef UNITY_EXCLUDE_FLOAT
263
+ TEST_IGNORE();
264
+ #else
265
+ EXPECT_ABORT_BEGIN
266
+ TEST_ASSERT_GREATER_THAN_FLOAT(2.0f, 1.0f);
267
+ VERIFY_FAILS_END
268
+ #endif
269
+ }
270
+
271
+ void testFloatsNotGreaterThanNanActual(void)
272
+ {
273
+ #ifdef UNITY_EXCLUDE_FLOAT
274
+ TEST_IGNORE();
275
+ #else
276
+ EXPECT_ABORT_BEGIN
277
+ TEST_ASSERT_GREATER_THAN_FLOAT(1.0f, 0.0f / f_zero);
278
+ VERIFY_FAILS_END
279
+ #endif
280
+ }
281
+
282
+ void testFloatsNotGreaterThanNanThreshold(void)
283
+ {
284
+ #ifdef UNITY_EXCLUDE_FLOAT
285
+ TEST_IGNORE();
286
+ #else
287
+ EXPECT_ABORT_BEGIN
288
+ TEST_ASSERT_GREATER_THAN_FLOAT(0.0f / f_zero, 1.0f);
289
+ VERIFY_FAILS_END
290
+ #endif
291
+ }
292
+
293
+ void testFloatsNotGreaterThanNanBoth(void)
294
+ {
295
+ #ifdef UNITY_EXCLUDE_FLOAT
296
+ TEST_IGNORE();
297
+ #else
298
+ EXPECT_ABORT_BEGIN
299
+ TEST_ASSERT_GREATER_THAN_FLOAT(0.0f / f_zero, 0.0f / f_zero);
300
+ VERIFY_FAILS_END
301
+ #endif
302
+ }
303
+
304
+ void testFloatsNotGreaterThanInfActual(void)
305
+ {
306
+ #ifdef UNITY_EXCLUDE_FLOAT
307
+ TEST_IGNORE();
308
+ #else
309
+ EXPECT_ABORT_BEGIN
310
+ TEST_ASSERT_GREATER_THAN_FLOAT(1.0f / f_zero, 1.0f);
311
+ VERIFY_FAILS_END
312
+ #endif
313
+ }
314
+
315
+ void testFloatsNotGreaterThanNegInf(void)
316
+ {
317
+ #ifdef UNITY_EXCLUDE_FLOAT
318
+ TEST_IGNORE();
319
+ #else
320
+ EXPECT_ABORT_BEGIN
321
+ TEST_ASSERT_GREATER_THAN_FLOAT(1.0f, -1.0f / f_zero);
322
+ VERIFY_FAILS_END
323
+ #endif
324
+ }
325
+
326
+ void testFloatsNotGreaterThanBothInf(void)
327
+ {
328
+ #ifdef UNITY_EXCLUDE_FLOAT
329
+ TEST_IGNORE();
330
+ #else
331
+ EXPECT_ABORT_BEGIN
332
+ TEST_ASSERT_GREATER_THAN_FLOAT(1.0f / f_zero, 1.0f / f_zero);
333
+ VERIFY_FAILS_END
334
+ #endif
335
+ }
336
+
337
+ void testFloatsNotGreaterThanBothNegInf(void)
338
+ {
339
+ #ifdef UNITY_EXCLUDE_FLOAT
340
+ TEST_IGNORE();
341
+ #else
342
+ EXPECT_ABORT_BEGIN
343
+ TEST_ASSERT_GREATER_THAN_FLOAT(-1.0f / f_zero, -1.0f / f_zero);
344
+ VERIFY_FAILS_END
345
+ #endif
346
+ }
347
+
348
+ void testFloatsGreaterOrEqual(void)
349
+ {
350
+ #ifdef UNITY_EXCLUDE_FLOAT
351
+ TEST_IGNORE();
352
+ #else
353
+ TEST_ASSERT_GREATER_OR_EQUAL_FLOAT(1.0f, 2.0f);
354
+ TEST_ASSERT_GREATER_OR_EQUAL_FLOAT(2.0f, 2.0f);
355
+ TEST_ASSERT_GREATER_OR_EQUAL_FLOAT(-1.0f, 1.0f);
356
+ TEST_ASSERT_GREATER_OR_EQUAL_FLOAT(-2.0f, -1.0f);
357
+ TEST_ASSERT_GREATER_OR_EQUAL_FLOAT(-2.0f, -2.0f);
358
+ #endif
359
+ }
360
+
361
+ void testFloatsGreaterOrEqualInf(void)
362
+ {
363
+ #ifdef UNITY_EXCLUDE_FLOAT
364
+ TEST_IGNORE();
365
+ #else
366
+ TEST_ASSERT_GREATER_OR_EQUAL_FLOAT(1.0f, 1.0f / f_zero);
367
+ TEST_ASSERT_GREATER_OR_EQUAL_FLOAT(-1.0f / f_zero, 1.0f / f_zero);
368
+ TEST_ASSERT_GREATER_OR_EQUAL_FLOAT(-1.0f / f_zero, 1.0f);
369
+ #endif
370
+ }
371
+
372
+ void testFloatsNotGreaterOrEqual(void)
373
+ {
374
+ #ifdef UNITY_EXCLUDE_FLOAT
375
+ TEST_IGNORE();
376
+ #else
377
+ EXPECT_ABORT_BEGIN
378
+ TEST_ASSERT_GREATER_OR_EQUAL_FLOAT(2.0f, 1.0f);
379
+ VERIFY_FAILS_END
380
+ #endif
381
+ }
382
+
383
+ void testFloatsNotGreaterOrEqualNanActual(void)
384
+ {
385
+ #ifdef UNITY_EXCLUDE_FLOAT
386
+ TEST_IGNORE();
387
+ #else
388
+ EXPECT_ABORT_BEGIN
389
+ TEST_ASSERT_GREATER_OR_EQUAL_FLOAT(1.0f, 0.0f / f_zero);
390
+ VERIFY_FAILS_END
391
+ #endif
392
+ }
393
+
394
+ void testFloatsNotGreaterOrEqualNanThreshold(void)
395
+ {
396
+ #ifdef UNITY_EXCLUDE_FLOAT
397
+ TEST_IGNORE();
398
+ #else
399
+ EXPECT_ABORT_BEGIN
400
+ TEST_ASSERT_GREATER_OR_EQUAL_FLOAT(0.0f / f_zero, 1.0f);
401
+ VERIFY_FAILS_END
402
+ #endif
403
+ }
404
+
405
+ void testFloatsGreaterOrEqualNanBoth(void)
406
+ {
407
+ #ifdef UNITY_EXCLUDE_FLOAT
408
+ TEST_IGNORE();
409
+ #else
410
+ TEST_ASSERT_GREATER_OR_EQUAL_FLOAT(0.0f / f_zero, 0.0f / f_zero);
411
+ #endif
412
+ }
413
+
414
+ void testFloatsNotGreaterOrEqualInfActual(void)
415
+ {
416
+ #ifdef UNITY_EXCLUDE_FLOAT
417
+ TEST_IGNORE();
418
+ #else
419
+ EXPECT_ABORT_BEGIN
420
+ TEST_ASSERT_GREATER_OR_EQUAL_FLOAT(1.0f / f_zero, 1.0f);
421
+ VERIFY_FAILS_END
422
+ #endif
423
+ }
424
+
425
+ void testFloatsNotGreaterOrEqualNegInf(void)
426
+ {
427
+ #ifdef UNITY_EXCLUDE_FLOAT
428
+ TEST_IGNORE();
429
+ #else
430
+ EXPECT_ABORT_BEGIN
431
+ TEST_ASSERT_GREATER_OR_EQUAL_FLOAT(1.0f, -1.0f / f_zero);
432
+ VERIFY_FAILS_END
433
+ #endif
434
+ }
435
+
436
+ void testFloatsGreaterOrEqualBothInf(void)
437
+ {
438
+ #ifdef UNITY_EXCLUDE_FLOAT
439
+ TEST_IGNORE();
440
+ #else
441
+ TEST_ASSERT_GREATER_OR_EQUAL_FLOAT(1.0f / f_zero, 1.0f / f_zero);
442
+ #endif
443
+ }
444
+
445
+ void testFloatsGreaterOrEqualBothNegInf(void)
446
+ {
447
+ #ifdef UNITY_EXCLUDE_FLOAT
448
+ TEST_IGNORE();
449
+ #else
450
+ TEST_ASSERT_GREATER_OR_EQUAL_FLOAT(-1.0f / f_zero, -1.0f / f_zero);
451
+ #endif
452
+ }
453
+
454
+ void testFloatsLessThan(void)
455
+ {
456
+ #ifdef UNITY_EXCLUDE_FLOAT
457
+ TEST_IGNORE();
458
+ #else
459
+ TEST_ASSERT_LESS_THAN_FLOAT(2.0f, 1.0f);
460
+ TEST_ASSERT_LESS_THAN_FLOAT(1.0f, -1.0f);
461
+ TEST_ASSERT_LESS_THAN_FLOAT(-1.0f, -2.0f);
462
+ #endif
463
+ }
464
+
465
+ void testFloatsLessThanInf(void)
466
+ {
467
+ #ifdef UNITY_EXCLUDE_FLOAT
468
+ TEST_IGNORE();
469
+ #else
470
+ TEST_ASSERT_LESS_THAN_FLOAT(1.0f / f_zero, 1.0f);
471
+ TEST_ASSERT_LESS_THAN_FLOAT(1.0f / f_zero, -1.0f / f_zero);
472
+ TEST_ASSERT_LESS_THAN_FLOAT(1.0f, -1.0f / f_zero);
473
+ #endif
474
+ }
475
+
476
+ void testFloatsNotLessThan(void)
477
+ {
478
+ #ifdef UNITY_EXCLUDE_FLOAT
479
+ TEST_IGNORE();
480
+ #else
481
+ EXPECT_ABORT_BEGIN
482
+ TEST_ASSERT_LESS_THAN_FLOAT(1.0f, 2.0f);
483
+ VERIFY_FAILS_END
484
+ #endif
485
+ }
486
+
487
+ void testFloatsNotLessThanNanActual(void)
488
+ {
489
+ #ifdef UNITY_EXCLUDE_FLOAT
490
+ TEST_IGNORE();
491
+ #else
492
+ EXPECT_ABORT_BEGIN
493
+ TEST_ASSERT_LESS_THAN_FLOAT(1.0f, 0.0f / f_zero);
494
+ VERIFY_FAILS_END
495
+ #endif
496
+ }
497
+
498
+ void testFloatsNotLessThanNanThreshold(void)
499
+ {
500
+ #ifdef UNITY_EXCLUDE_FLOAT
501
+ TEST_IGNORE();
502
+ #else
503
+ EXPECT_ABORT_BEGIN
504
+ TEST_ASSERT_LESS_THAN_FLOAT(0.0f / f_zero, 1.0f);
505
+ VERIFY_FAILS_END
506
+ #endif
507
+ }
508
+
509
+ void testFloatsNotLessThanNanBoth(void)
510
+ {
511
+ #ifdef UNITY_EXCLUDE_FLOAT
512
+ TEST_IGNORE();
513
+ #else
514
+ EXPECT_ABORT_BEGIN
515
+ TEST_ASSERT_LESS_THAN_FLOAT(0.0f / f_zero, 0.0f / f_zero);
516
+ VERIFY_FAILS_END
517
+ #endif
518
+ }
519
+
520
+ void testFloatsNotLessThanInf(void)
521
+ {
522
+ #ifdef UNITY_EXCLUDE_FLOAT
523
+ TEST_IGNORE();
524
+ #else
525
+ EXPECT_ABORT_BEGIN
526
+ TEST_ASSERT_LESS_THAN_FLOAT(1.0f, 1.0f / f_zero);
527
+ VERIFY_FAILS_END
528
+ #endif
529
+ }
530
+
531
+ void testFloatsNotLessThanNegInf(void)
532
+ {
533
+ #ifdef UNITY_EXCLUDE_FLOAT
534
+ TEST_IGNORE();
535
+ #else
536
+ EXPECT_ABORT_BEGIN
537
+ TEST_ASSERT_LESS_THAN_FLOAT(-1.0f / f_zero, 1.0f);
538
+ VERIFY_FAILS_END
539
+ #endif
540
+ }
541
+
542
+ void testFloatsNotLessThanBothInf(void)
543
+ {
544
+ #ifdef UNITY_EXCLUDE_FLOAT
545
+ TEST_IGNORE();
546
+ #else
547
+ EXPECT_ABORT_BEGIN
548
+ TEST_ASSERT_LESS_THAN_FLOAT(1.0f / f_zero, 1.0f / f_zero);
549
+ VERIFY_FAILS_END
550
+ #endif
551
+ }
552
+
553
+ void testFloatsNotLessThanBothNegInf(void)
554
+ {
555
+ #ifdef UNITY_EXCLUDE_FLOAT
556
+ TEST_IGNORE();
557
+ #else
558
+ EXPECT_ABORT_BEGIN
559
+ TEST_ASSERT_LESS_THAN_FLOAT(-1.0f / f_zero, -1.0f / f_zero);
560
+ VERIFY_FAILS_END
561
+ #endif
562
+ }
563
+ void testFloatsLessOrEqual(void)
564
+ {
565
+ #ifdef UNITY_EXCLUDE_FLOAT
566
+ TEST_IGNORE();
567
+ #else
568
+ TEST_ASSERT_LESS_OR_EQUAL_FLOAT(2.0f, 1.0f);
569
+ TEST_ASSERT_LESS_OR_EQUAL_FLOAT(2.0f, 2.0f);
570
+ TEST_ASSERT_LESS_OR_EQUAL_FLOAT(1.0f, -1.0f);
571
+ TEST_ASSERT_LESS_OR_EQUAL_FLOAT(-1.0f, -2.0f);
572
+ TEST_ASSERT_LESS_OR_EQUAL_FLOAT(-2.0f, -2.0f);
573
+ #endif
574
+ }
575
+
576
+ void testFloatsLessOrEqualInf(void)
577
+ {
578
+ #ifdef UNITY_EXCLUDE_FLOAT
579
+ TEST_IGNORE();
580
+ #else
581
+ TEST_ASSERT_LESS_OR_EQUAL_FLOAT(1.0f / f_zero, 1.0f);
582
+ TEST_ASSERT_LESS_OR_EQUAL_FLOAT(1.0f / f_zero, -1.0f / f_zero);
583
+ TEST_ASSERT_LESS_OR_EQUAL_FLOAT(1.0f, -1.0f / f_zero);
584
+ #endif
585
+ }
586
+
587
+ void testFloatsNotLessOrEqual(void)
588
+ {
589
+ #ifdef UNITY_EXCLUDE_FLOAT
590
+ TEST_IGNORE();
591
+ #else
592
+ EXPECT_ABORT_BEGIN
593
+ TEST_ASSERT_LESS_OR_EQUAL_FLOAT(1.0f, 2.0f);
594
+ VERIFY_FAILS_END
595
+ #endif
596
+ }
597
+
598
+ void testFloatsNotLessOrEqualNanActual(void)
599
+ {
600
+ #ifdef UNITY_EXCLUDE_FLOAT
601
+ TEST_IGNORE();
602
+ #else
603
+ EXPECT_ABORT_BEGIN
604
+ TEST_ASSERT_LESS_OR_EQUAL_FLOAT(1.0f, 0.0f / f_zero);
605
+ VERIFY_FAILS_END
606
+ #endif
607
+ }
608
+
609
+ void testFloatsNotLessOrEqualNanThreshold(void)
610
+ {
611
+ #ifdef UNITY_EXCLUDE_FLOAT
612
+ TEST_IGNORE();
613
+ #else
614
+ EXPECT_ABORT_BEGIN
615
+ TEST_ASSERT_LESS_OR_EQUAL_FLOAT(0.0f / f_zero, 1.0f);
616
+ VERIFY_FAILS_END
617
+ #endif
618
+ }
619
+
620
+ void testFloatsLessOrEqualNanBoth(void)
621
+ {
622
+ #ifdef UNITY_EXCLUDE_FLOAT
623
+ TEST_IGNORE();
624
+ #else
625
+ TEST_ASSERT_LESS_OR_EQUAL_FLOAT(0.0f / f_zero, 0.0f / f_zero);
626
+ #endif
627
+ }
628
+
629
+ void testFloatsNotLessOrEqualInf(void)
630
+ {
631
+ #ifdef UNITY_EXCLUDE_FLOAT
632
+ TEST_IGNORE();
633
+ #else
634
+ EXPECT_ABORT_BEGIN
635
+ TEST_ASSERT_LESS_OR_EQUAL_FLOAT(1.0f, 1.0f / f_zero);
636
+ VERIFY_FAILS_END
637
+ #endif
638
+ }
639
+
640
+ void testFloatsNotLessOrEqualNegInf(void)
641
+ {
642
+ #ifdef UNITY_EXCLUDE_FLOAT
643
+ TEST_IGNORE();
644
+ #else
645
+ EXPECT_ABORT_BEGIN
646
+ TEST_ASSERT_LESS_OR_EQUAL_FLOAT(-1.0f / f_zero, 1.0f);
647
+ VERIFY_FAILS_END
648
+ #endif
649
+ }
650
+
651
+ void testFloatsLessOrEqualBothInf(void)
652
+ {
653
+ #ifdef UNITY_EXCLUDE_FLOAT
654
+ TEST_IGNORE();
655
+ #else
656
+ TEST_ASSERT_LESS_OR_EQUAL_FLOAT(1.0f / f_zero, 1.0f / f_zero);
657
+ #endif
658
+ }
659
+
660
+ void testFloatsLessOrEqualBothNegInf(void)
661
+ {
662
+ #ifdef UNITY_EXCLUDE_FLOAT
663
+ TEST_IGNORE();
664
+ #else
665
+ TEST_ASSERT_LESS_OR_EQUAL_FLOAT(-1.0f / f_zero, -1.0f / f_zero);
666
+ #endif
667
+ }
668
+
669
+ void testFloatIsPosInf1(void)
670
+ {
671
+ #ifdef UNITY_EXCLUDE_FLOAT
672
+ TEST_IGNORE();
673
+ #else
674
+ TEST_ASSERT_FLOAT_IS_INF(2.0f / f_zero);
675
+ #endif
676
+ }
677
+
678
+ void testFloatIsPosInf2(void)
679
+ {
680
+ #ifdef UNITY_EXCLUDE_FLOAT
681
+ TEST_IGNORE();
682
+ #else
683
+ EXPECT_ABORT_BEGIN
684
+ TEST_ASSERT_FLOAT_IS_NOT_INF(2.0f / f_zero);
685
+ VERIFY_FAILS_END
686
+ #endif
687
+ }
688
+
689
+ void testFloatIsNegInf1(void)
690
+ {
691
+ #ifdef UNITY_EXCLUDE_FLOAT
692
+ TEST_IGNORE();
693
+ #else
694
+ TEST_ASSERT_FLOAT_IS_NEG_INF(-3.0f / f_zero);
695
+ #endif
696
+ }
697
+
698
+ void testFloatIsNegInf2(void)
699
+ {
700
+ #ifdef UNITY_EXCLUDE_FLOAT
701
+ TEST_IGNORE();
702
+ #else
703
+ EXPECT_ABORT_BEGIN
704
+ TEST_ASSERT_FLOAT_IS_NOT_NEG_INF(-3.0f / f_zero);
705
+ VERIFY_FAILS_END
706
+ #endif
707
+ }
708
+
709
+ void testFloatIsNotPosInf1(void)
710
+ {
711
+ #ifdef UNITY_EXCLUDE_FLOAT
712
+ TEST_IGNORE();
713
+ #else
714
+ EXPECT_ABORT_BEGIN
715
+ TEST_ASSERT_FLOAT_IS_INF(2.0f);
716
+ VERIFY_FAILS_END
717
+ #endif
718
+ }
719
+
720
+ void testFloatIsNotPosInf2(void)
721
+ {
722
+ #ifdef UNITY_EXCLUDE_FLOAT
723
+ TEST_IGNORE();
724
+ #else
725
+ TEST_ASSERT_FLOAT_IS_NOT_INF(2.0f);
726
+ #endif
727
+ }
728
+
729
+ void testFloatIsNotNegInf(void)
730
+ {
731
+ #ifdef UNITY_EXCLUDE_FLOAT
732
+ TEST_IGNORE();
733
+ #else
734
+ EXPECT_ABORT_BEGIN
735
+ TEST_ASSERT_FLOAT_IS_NEG_INF(-999.876f);
736
+ VERIFY_FAILS_END
737
+ #endif
738
+ }
739
+
740
+ void testFloatIsNan1(void)
741
+ {
742
+ #ifdef UNITY_EXCLUDE_FLOAT
743
+ TEST_IGNORE();
744
+ #else
745
+ TEST_ASSERT_FLOAT_IS_NAN(0.0f / f_zero);
746
+ #endif
747
+ }
748
+
749
+ void testFloatIsNan2(void)
750
+ {
751
+ #ifdef UNITY_EXCLUDE_FLOAT
752
+ TEST_IGNORE();
753
+ #else
754
+ EXPECT_ABORT_BEGIN
755
+ TEST_ASSERT_FLOAT_IS_NOT_NAN(0.0f / f_zero);
756
+ VERIFY_FAILS_END
757
+ #endif
758
+ }
759
+
760
+ void testFloatIsNotNan1(void)
761
+ {
762
+ #ifdef UNITY_EXCLUDE_FLOAT
763
+ TEST_IGNORE();
764
+ #else
765
+ EXPECT_ABORT_BEGIN
766
+ TEST_ASSERT_FLOAT_IS_NAN(234.9f);
767
+ VERIFY_FAILS_END
768
+ #endif
769
+ }
770
+
771
+ void testFloatIsNotNan2(void)
772
+ {
773
+ #ifdef UNITY_EXCLUDE_FLOAT
774
+ TEST_IGNORE();
775
+ #else
776
+ TEST_ASSERT_FLOAT_IS_NOT_NAN(234.9f);
777
+ #endif
778
+ }
779
+
780
+ void testFloatInfIsNotNan(void)
781
+ {
782
+ #ifdef UNITY_EXCLUDE_FLOAT
783
+ TEST_IGNORE();
784
+ #else
785
+ EXPECT_ABORT_BEGIN
786
+ TEST_ASSERT_FLOAT_IS_NAN(1.0f / f_zero);
787
+ VERIFY_FAILS_END
788
+ #endif
789
+ }
790
+
791
+ void testFloatNanIsNotInf(void)
792
+ {
793
+ #ifdef UNITY_EXCLUDE_FLOAT
794
+ TEST_IGNORE();
795
+ #else
796
+ EXPECT_ABORT_BEGIN
797
+ TEST_ASSERT_FLOAT_IS_INF(0.0f / f_zero);
798
+ VERIFY_FAILS_END
799
+ #endif
800
+ }
801
+
802
+ void testFloatIsDeterminate1(void)
803
+ {
804
+ #ifdef UNITY_EXCLUDE_FLOAT
805
+ TEST_IGNORE();
806
+ #else
807
+ TEST_ASSERT_FLOAT_IS_DETERMINATE(0.0f);
808
+ TEST_ASSERT_FLOAT_IS_DETERMINATE(123.3f);
809
+ TEST_ASSERT_FLOAT_IS_DETERMINATE(-88.3f);
810
+ #endif
811
+ }
812
+
813
+ void testFloatIsDeterminate2(void)
814
+ {
815
+ #ifdef UNITY_EXCLUDE_FLOAT
816
+ TEST_IGNORE();
817
+ #else
818
+ EXPECT_ABORT_BEGIN
819
+ TEST_ASSERT_FLOAT_IS_NOT_DETERMINATE(-88.3f);
820
+ VERIFY_FAILS_END
821
+ #endif
822
+ }
823
+
824
+ void testFloatIsNotDeterminate1(void)
825
+ {
826
+ #ifdef UNITY_EXCLUDE_FLOAT
827
+ TEST_IGNORE();
828
+ #else
829
+ TEST_ASSERT_FLOAT_IS_NOT_DETERMINATE(1.0f / f_zero);
830
+ TEST_ASSERT_FLOAT_IS_NOT_DETERMINATE(-1.0f / f_zero);
831
+ TEST_ASSERT_FLOAT_IS_NOT_DETERMINATE(0.0f / f_zero);
832
+ #endif
833
+ }
834
+
835
+ void testFloatIsNotDeterminate2(void)
836
+ {
837
+ #ifdef UNITY_EXCLUDE_FLOAT
838
+ TEST_IGNORE();
839
+ #else
840
+ EXPECT_ABORT_BEGIN
841
+ TEST_ASSERT_FLOAT_IS_DETERMINATE(-1.0f / f_zero);
842
+ VERIFY_FAILS_END
843
+ #endif
844
+ }
845
+
846
+ void testFloatTraitFailsOnInvalidTrait(void)
847
+ {
848
+ #ifdef UNITY_EXCLUDE_FLOAT
849
+ TEST_IGNORE();
850
+ #else
851
+ EXPECT_ABORT_BEGIN
852
+ UnityAssertFloatSpecial(1.0f, NULL, __LINE__, UNITY_FLOAT_INVALID_TRAIT);
853
+ VERIFY_FAILS_END
854
+ #endif
855
+ }
856
+
857
+ void testEqualFloatArrays(void)
858
+ {
859
+ #ifdef UNITY_EXCLUDE_FLOAT
860
+ TEST_IGNORE();
861
+ #else
862
+ float p0[] = {1.0f, -8.0f, 25.4f, -0.123f};
863
+ float p1[] = {1.0f, -8.0f, 25.4f, -0.123f};
864
+ float p2[] = {1.0f, -8.0f, 25.4f, -0.2f};
865
+ float p3[] = {1.0f, -23.0f, 25.0f, -0.26f};
866
+
867
+ TEST_ASSERT_EQUAL_FLOAT_ARRAY(p0, p0, 1);
868
+ TEST_ASSERT_EQUAL_FLOAT_ARRAY(p0, p0, 4);
869
+ TEST_ASSERT_EQUAL_FLOAT_ARRAY(p0, p1, 4);
870
+ TEST_ASSERT_EQUAL_FLOAT_ARRAY(p0, p2, 3);
871
+ TEST_ASSERT_EQUAL_FLOAT_ARRAY(p0, p3, 1);
872
+ TEST_ASSERT_EQUAL_FLOAT_ARRAY(NULL, NULL, 1);
873
+ #endif
874
+ }
875
+
876
+ void testNotEqualFloatArraysExpectedNull(void)
877
+ {
878
+ #ifdef UNITY_EXCLUDE_FLOAT
879
+ TEST_IGNORE();
880
+ #else
881
+ float* p0 = NULL;
882
+ float p1[] = {1.0f, 8.0f, 25.4f, 0.252f};
883
+
884
+ EXPECT_ABORT_BEGIN
885
+ TEST_ASSERT_EQUAL_FLOAT_ARRAY(p0, p1, 4);
886
+ VERIFY_FAILS_END
887
+ #endif
888
+ }
889
+
890
+ void testNotEqualFloatArraysActualNull(void)
891
+ {
892
+ #ifdef UNITY_EXCLUDE_FLOAT
893
+ TEST_IGNORE();
894
+ #else
895
+ float p0[] = {1.0f, 8.0f, 25.4f, 0.253f};
896
+ float* p1 = NULL;
897
+
898
+ EXPECT_ABORT_BEGIN
899
+ TEST_ASSERT_EQUAL_FLOAT_ARRAY(p0, p1, 4);
900
+ VERIFY_FAILS_END
901
+ #endif
902
+ }
903
+
904
+ void testNotEqualFloatArrays1(void)
905
+ {
906
+ #ifdef UNITY_EXCLUDE_FLOAT
907
+ TEST_IGNORE();
908
+ #else
909
+ float p0[] = {1.0f, 8.0f, 25.4f, 0.253f};
910
+ float p1[] = {1.0f, 8.0f, 25.4f, 0.252f};
911
+
912
+ EXPECT_ABORT_BEGIN
913
+ TEST_ASSERT_EQUAL_FLOAT_ARRAY(p0, p1, 4);
914
+ VERIFY_FAILS_END
915
+ #endif
916
+ }
917
+
918
+ void testNotEqualFloatArrays2(void)
919
+ {
920
+ #ifdef UNITY_EXCLUDE_FLOAT
921
+ TEST_IGNORE();
922
+ #else
923
+ float p0[] = {1.0f, 8.0f, 25.4f, 0.253f};
924
+ float p1[] = {2.0f, 8.0f, 25.4f, 0.253f};
925
+
926
+ EXPECT_ABORT_BEGIN
927
+ TEST_ASSERT_EQUAL_FLOAT_ARRAY(p0, p1, 4);
928
+ VERIFY_FAILS_END
929
+ #endif
930
+ }
931
+
932
+ void testNotEqualFloatArrays3(void)
933
+ {
934
+ #ifdef UNITY_EXCLUDE_FLOAT
935
+ TEST_IGNORE();
936
+ #else
937
+ float p0[] = {1.0f, 8.0f, 25.4f, 0.253f};
938
+ float p1[] = {1.0f, 8.0f, 25.5f, 0.253f};
939
+
940
+ EXPECT_ABORT_BEGIN
941
+ TEST_ASSERT_EQUAL_FLOAT_ARRAY(p0, p1, 4);
942
+ VERIFY_FAILS_END
943
+ #endif
944
+ }
945
+
946
+ void testNotEqualFloatArraysNegative1(void)
947
+ {
948
+ #ifdef UNITY_EXCLUDE_FLOAT
949
+ TEST_IGNORE();
950
+ #else
951
+ float p0[] = {-1.0f, -8.0f, -25.4f, -0.253f};
952
+ float p1[] = {-1.0f, -8.0f, -25.4f, -0.252f};
953
+
954
+ EXPECT_ABORT_BEGIN
955
+ TEST_ASSERT_EQUAL_FLOAT_ARRAY(p0, p1, 4);
956
+ VERIFY_FAILS_END
957
+ #endif
958
+ }
959
+
960
+ void testNotEqualFloatArraysNegative2(void)
961
+ {
962
+ #ifdef UNITY_EXCLUDE_FLOAT
963
+ TEST_IGNORE();
964
+ #else
965
+ float p0[] = {-1.0f, -8.0f, -25.4f, -0.253f};
966
+ float p1[] = {-2.0f, -8.0f, -25.4f, -0.253f};
967
+
968
+ EXPECT_ABORT_BEGIN
969
+ TEST_ASSERT_EQUAL_FLOAT_ARRAY(p0, p1, 4);
970
+ VERIFY_FAILS_END
971
+ #endif
972
+ }
973
+
974
+ void testNotEqualFloatArraysNegative3(void)
975
+ {
976
+ #ifdef UNITY_EXCLUDE_FLOAT
977
+ TEST_IGNORE();
978
+ #else
979
+ float p0[] = {-1.0f, -8.0f, -25.4f, -0.253f};
980
+ float p1[] = {-1.0f, -8.0f, -25.5f, -0.253f};
981
+
982
+ EXPECT_ABORT_BEGIN
983
+ TEST_ASSERT_EQUAL_FLOAT_ARRAY(p0, p1, 4);
984
+ VERIFY_FAILS_END
985
+ #endif
986
+ }
987
+
988
+ void testEqualFloatArraysNaN(void)
989
+ {
990
+ #ifdef UNITY_EXCLUDE_FLOAT
991
+ TEST_IGNORE();
992
+ #else
993
+ float p0[] = {1.0f, 0.0f / f_zero, 25.4f, 0.253f};
994
+ float p1[] = {1.0f, 0.0f / f_zero, 25.4f, 0.253f};
995
+
996
+ TEST_ASSERT_EQUAL_FLOAT_ARRAY(p0, p1, 4);
997
+ #endif
998
+ }
999
+
1000
+ void testEqualFloatArraysInf(void)
1001
+ {
1002
+ #ifdef UNITY_EXCLUDE_FLOAT
1003
+ TEST_IGNORE();
1004
+ #else
1005
+ float p0[] = {1.0f, 1.0f / f_zero, 25.4f, 0.253f};
1006
+ float p1[] = {1.0f, 1.0f / f_zero, 25.4f, 0.253f};
1007
+
1008
+ TEST_ASSERT_EQUAL_FLOAT_ARRAY(p0, p1, 4);
1009
+ #endif
1010
+ }
1011
+
1012
+ void testNotEqualFloatArraysLengthZero(void)
1013
+ {
1014
+ #ifdef UNITY_EXCLUDE_FLOAT
1015
+ TEST_IGNORE();
1016
+ #else
1017
+ float p0[1] = {0.0f};
1018
+ float p1[1] = {0.0f};
1019
+
1020
+ EXPECT_ABORT_BEGIN
1021
+ TEST_ASSERT_EQUAL_FLOAT_ARRAY(p0, p1, 0);
1022
+ VERIFY_FAILS_END
1023
+ #endif
1024
+ }
1025
+
1026
+ void testFloatArraysWithin(void)
1027
+ {
1028
+ #ifdef UNITY_EXCLUDE_FLOAT
1029
+ TEST_IGNORE();
1030
+ #else
1031
+ float p0[] = {1.0f, -8.0f, 25.4f, -0.123f};
1032
+ float p1[] = {1.0f, -8.0f, 25.4f, -0.123f};
1033
+ float p2[] = {1.0f, -8.0f, 25.4f, -0.2f};
1034
+ float p3[] = {1.0f, -23.0f, 25.0f, -0.26f};
1035
+ float p4[] = {2.0f, -9.0f, 26.2f, 0.26f};
1036
+ float p5[] = {-1.0f, -7.0f, 29.0f, 2.6f};
1037
+
1038
+ TEST_ASSERT_FLOAT_ARRAY_WITHIN(1.0f, p0, p0, 1);
1039
+ TEST_ASSERT_FLOAT_ARRAY_WITHIN(1.0f, p0, p0, 4);
1040
+ TEST_ASSERT_FLOAT_ARRAY_WITHIN(1.0f, p0, p1, 4);
1041
+ TEST_ASSERT_FLOAT_ARRAY_WITHIN(1.0f, p0, p2, 3);
1042
+ TEST_ASSERT_FLOAT_ARRAY_WITHIN(1.0f, p0, p3, 1);
1043
+ TEST_ASSERT_FLOAT_ARRAY_WITHIN(1.0f, p0, p4, 1);
1044
+ TEST_ASSERT_FLOAT_ARRAY_WITHIN(1.0f, p0, p4, 4);
1045
+ TEST_ASSERT_FLOAT_ARRAY_WITHIN(2.0f, p0, p5, 1);
1046
+ TEST_ASSERT_FLOAT_ARRAY_WITHIN(2.0f, p0, p5, 2);
1047
+ TEST_ASSERT_FLOAT_ARRAY_WITHIN(1.0f, NULL, NULL, 1);
1048
+ #endif
1049
+ }
1050
+
1051
+ void testFloatArraysWithinUnusualDelta(void)
1052
+ {
1053
+ #ifdef UNITY_EXCLUDE_FLOAT
1054
+ TEST_IGNORE();
1055
+ #else
1056
+ float p0[] = {(float)-INFINITY, -8.0f, 25.4f, -0.123f};
1057
+ float p1[] = {(float)INFINITY, 10.1f};
1058
+
1059
+ TEST_ASSERT_FLOAT_ARRAY_WITHIN(INFINITY, p0, p1, 2);
1060
+
1061
+ EXPECT_ABORT_BEGIN
1062
+ TEST_ASSERT_FLOAT_ARRAY_WITHIN(NAN, p0, p0, 4);
1063
+ VERIFY_FAILS_END
1064
+ #endif
1065
+ }
1066
+
1067
+ void testEqualFloatEachEqual(void)
1068
+ {
1069
+ #ifdef UNITY_EXCLUDE_FLOAT
1070
+ TEST_IGNORE();
1071
+ #else
1072
+ float p0[] = {1.0f, 1.0f, 1.0f, 1.0f};
1073
+ float p1[] = {-0.123f, -0.123f, -0.123f, -0.123f};
1074
+ float p2[] = {25.4f, 25.4f, 25.4f, -0.2f};
1075
+ float p3[] = {1.0f, -23.0f, 25.0f, -0.26f};
1076
+
1077
+ TEST_ASSERT_EACH_EQUAL_FLOAT(1.0f, p0, 1);
1078
+ TEST_ASSERT_EACH_EQUAL_FLOAT(1.0f, p0, 4);
1079
+ TEST_ASSERT_EACH_EQUAL_FLOAT(-0.123f, p1, 4);
1080
+ TEST_ASSERT_EACH_EQUAL_FLOAT(25.4f, p2, 3);
1081
+ TEST_ASSERT_EACH_EQUAL_FLOAT(1.0f, p3, 1);
1082
+ #endif
1083
+ }
1084
+
1085
+ void testNotEqualFloatEachEqualActualNull(void)
1086
+ {
1087
+ #ifdef UNITY_EXCLUDE_FLOAT
1088
+ TEST_IGNORE();
1089
+ #else
1090
+ float* p0 = NULL;
1091
+
1092
+ EXPECT_ABORT_BEGIN
1093
+ TEST_ASSERT_EACH_EQUAL_FLOAT(5, p0, 4);
1094
+ VERIFY_FAILS_END
1095
+ #endif
1096
+ }
1097
+
1098
+ void testNotEqualFloatEachEqual1(void)
1099
+ {
1100
+ #ifdef UNITY_EXCLUDE_FLOAT
1101
+ TEST_IGNORE();
1102
+ #else
1103
+ float p0[] = {0.253f, 8.0f, 0.253f, 0.253f};
1104
+
1105
+ EXPECT_ABORT_BEGIN
1106
+ TEST_ASSERT_EACH_EQUAL_FLOAT(0.253f, p0, 4);
1107
+ VERIFY_FAILS_END
1108
+ #endif
1109
+ }
1110
+
1111
+ void testNotEqualFloatEachEqual2(void)
1112
+ {
1113
+ #ifdef UNITY_EXCLUDE_FLOAT
1114
+ TEST_IGNORE();
1115
+ #else
1116
+ float p0[] = {8.0f, 8.0f, 8.0f, 0.253f};
1117
+
1118
+ EXPECT_ABORT_BEGIN
1119
+ TEST_ASSERT_EACH_EQUAL_FLOAT(8.0f, p0, 4);
1120
+ VERIFY_FAILS_END
1121
+ #endif
1122
+ }
1123
+
1124
+ void testNotEqualFloatEachEqual3(void)
1125
+ {
1126
+ #ifdef UNITY_EXCLUDE_FLOAT
1127
+ TEST_IGNORE();
1128
+ #else
1129
+ float p0[] = {1.0f, 1.0f, 1.0f, 0.253f};
1130
+
1131
+ EXPECT_ABORT_BEGIN
1132
+ TEST_ASSERT_EACH_EQUAL_FLOAT(1.0f, p0, 4);
1133
+ VERIFY_FAILS_END
1134
+ #endif
1135
+ }
1136
+
1137
+ void testNotEqualFloatEachEqualNegative1(void)
1138
+ {
1139
+ #ifdef UNITY_EXCLUDE_FLOAT
1140
+ TEST_IGNORE();
1141
+ #else
1142
+ float p0[] = {-1.0f, -0.253f, -0.253f, -0.253f};
1143
+
1144
+ EXPECT_ABORT_BEGIN
1145
+ TEST_ASSERT_EACH_EQUAL_FLOAT(-0.253f, p0, 4);
1146
+ VERIFY_FAILS_END
1147
+ #endif
1148
+ }
1149
+
1150
+ void testNotEqualFloatEachEqualNegative2(void)
1151
+ {
1152
+ #ifdef UNITY_EXCLUDE_FLOAT
1153
+ TEST_IGNORE();
1154
+ #else
1155
+ float p0[] = {-25.4f, -8.0f, -25.4f, -25.4f};
1156
+
1157
+ EXPECT_ABORT_BEGIN
1158
+ TEST_ASSERT_EACH_EQUAL_FLOAT(-25.4f, p0, 4);
1159
+ VERIFY_FAILS_END
1160
+ #endif
1161
+ }
1162
+
1163
+ void testNotEqualFloatEachEqualNegative3(void)
1164
+ {
1165
+ #ifdef UNITY_EXCLUDE_FLOAT
1166
+ TEST_IGNORE();
1167
+ #else
1168
+ float p0[] = {-8.0f, -8.0f, -8.0f, -0.253f};
1169
+
1170
+ EXPECT_ABORT_BEGIN
1171
+ TEST_ASSERT_EACH_EQUAL_FLOAT(-8.0f, p0, 4);
1172
+ VERIFY_FAILS_END
1173
+ #endif
1174
+ }
1175
+
1176
+ void testEqualFloatEachEqualNaN(void)
1177
+ {
1178
+ #ifdef UNITY_EXCLUDE_FLOAT
1179
+ TEST_IGNORE();
1180
+ #else
1181
+ float p0[] = {0.0f / f_zero, 0.0f / f_zero, 0.0f / f_zero, 0.0f / f_zero};
1182
+
1183
+ TEST_ASSERT_EACH_EQUAL_FLOAT(0.0f / f_zero, p0, 4);
1184
+ #endif
1185
+ }
1186
+
1187
+ void testEqualFloatEachEqualInf(void)
1188
+ {
1189
+ #ifdef UNITY_EXCLUDE_FLOAT
1190
+ TEST_IGNORE();
1191
+ #else
1192
+ float p0[] = {1.0f / f_zero, 1.0f / f_zero, 25.4f, 0.253f};
1193
+
1194
+ TEST_ASSERT_EACH_EQUAL_FLOAT(1.0f / f_zero, p0, 2);
1195
+ #endif
1196
+ }
1197
+
1198
+ void testNotEqualFloatEachEqualLengthZero(void)
1199
+ {
1200
+ #ifdef UNITY_EXCLUDE_FLOAT
1201
+ TEST_IGNORE();
1202
+ #else
1203
+ float p0[1] = {0.0f};
1204
+
1205
+ EXPECT_ABORT_BEGIN
1206
+ TEST_ASSERT_EACH_EQUAL_FLOAT(0.0f, p0, 0);
1207
+ VERIFY_FAILS_END
1208
+ #endif
1209
+ }
1210
+
1211
+ void testFloatPrinting(void)
1212
+ {
1213
+ #if defined(UNITY_EXCLUDE_FLOAT_PRINT) || defined(UNITY_INCLUDE_DOUBLE) || !defined(USING_OUTPUT_SPY)
1214
+ TEST_IGNORE();
1215
+ #else
1216
+ TEST_ASSERT_EQUAL_PRINT_FLOATING("0", 0.0f);
1217
+ TEST_ASSERT_EQUAL_PRINT_FLOATING("4.99e-07", 0.000000499f);
1218
+ TEST_ASSERT_EQUAL_PRINT_FLOATING("0.1004695", 0.100469499f);
1219
+ TEST_ASSERT_EQUAL_PRINT_FLOATING("2", 1.9999995f); /*Rounding to int place*/
1220
+ TEST_ASSERT_EQUAL_PRINT_FLOATING("1", 1.0f);
1221
+ TEST_ASSERT_EQUAL_PRINT_FLOATING("1.25", 1.25f);
1222
+ TEST_ASSERT_EQUAL_PRINT_FLOATING("7.999999", 7.999999f); /*Not rounding*/
1223
+ TEST_ASSERT_EQUAL_PRINT_FLOATING("16.00002", 16.00002f);
1224
+ TEST_ASSERT_EQUAL_PRINT_FLOATING("16.00004", 16.00004f);
1225
+ TEST_ASSERT_EQUAL_PRINT_FLOATING("16.00006", 16.00006f);
1226
+ TEST_ASSERT_EQUAL_PRINT_FLOATING("9999999", 9999999.0f); /*Last full print integer*/
1227
+
1228
+ TEST_ASSERT_EQUAL_PRINT_FLOATING("-0", -0.0f);
1229
+ TEST_ASSERT_EQUAL_PRINT_FLOATING("-4.99e-07", -0.000000499f);
1230
+ TEST_ASSERT_EQUAL_PRINT_FLOATING("-0.1004695", -0.100469499f);
1231
+ TEST_ASSERT_EQUAL_PRINT_FLOATING("-2", -1.9999995f); /*Rounding to int place*/
1232
+ TEST_ASSERT_EQUAL_PRINT_FLOATING("-1", -1.0f);
1233
+ TEST_ASSERT_EQUAL_PRINT_FLOATING("-1.25", -1.25f);
1234
+ TEST_ASSERT_EQUAL_PRINT_FLOATING("-7.999999", -7.999999f); /*Not rounding*/
1235
+ TEST_ASSERT_EQUAL_PRINT_FLOATING("-16.00002", -16.00002f);
1236
+ TEST_ASSERT_EQUAL_PRINT_FLOATING("-16.00004", -16.00004f);
1237
+ TEST_ASSERT_EQUAL_PRINT_FLOATING("-16.00006", -16.00006f);
1238
+ TEST_ASSERT_EQUAL_PRINT_FLOATING("-9999999", -9999999.0f); /*Last full print integer*/
1239
+
1240
+ /* Fails, prints "4.294968e+09" due to FP math imprecision
1241
+ * TEST_ASSERT_EQUAL_PRINT_FLOATING("4.294967e+09", 4294967296.0f); */
1242
+ TEST_ASSERT_EQUAL_PRINT_FLOATING("5e+09", 5000000000.0f);
1243
+ TEST_ASSERT_EQUAL_PRINT_FLOATING("8e+09", 8.0e+09f);
1244
+ TEST_ASSERT_EQUAL_PRINT_FLOATING("8.309999e+09", 8309999104.0f);
1245
+ TEST_ASSERT_EQUAL_PRINT_FLOATING("1e+10", 1.0e+10f);
1246
+ TEST_ASSERT_EQUAL_PRINT_FLOATING("1e+10", 10000000000.0f);
1247
+ /* Some compilers have trouble with inexact float constants, a float cast works generally */
1248
+ TEST_ASSERT_EQUAL_PRINT_FLOATING("1.000055e+10", (float)1.000055e+10f);
1249
+ TEST_ASSERT_EQUAL_PRINT_FLOATING("1.1e+38", (float)1.10000005e+38f);
1250
+ TEST_ASSERT_EQUAL_PRINT_FLOATING("1.635299e+10", 1.63529943e+10f);
1251
+ /* Fails, prints "3.402824e+38" due to FP math imprecision
1252
+ * TEST_ASSERT_EQUAL_PRINT_FLOATING("3.402823e+38", 3.40282346638e38f); */
1253
+
1254
+ TEST_ASSERT_EQUAL_PRINT_FLOATING("-1e+10", -1.0e+10f);
1255
+ /* Fails, prints "-3.402824e+38" due to FP math imprecision
1256
+ * TEST_ASSERT_EQUAL_PRINT_FLOATING("-3.402823e+38", -3.40282346638e38f); */
1257
+ #endif
1258
+ }
1259
+
1260
+ void testFloatPrintingRoundTiesToEven(void)
1261
+ {
1262
+ #if defined(UNITY_EXCLUDE_FLOAT_PRINT) || defined(UNITY_INCLUDE_DOUBLE) || !defined(USING_OUTPUT_SPY)
1263
+ TEST_IGNORE();
1264
+ #else
1265
+ #ifdef UNITY_ROUND_TIES_AWAY_FROM_ZERO
1266
+ TEST_ASSERT_EQUAL_PRINT_FLOATING("0.0004882813", 0.00048828125f);
1267
+ TEST_ASSERT_EQUAL_PRINT_FLOATING("488281.3", 488281.25f);
1268
+ TEST_ASSERT_EQUAL_PRINT_FLOATING("5.000001e-07", 0.00000050000005f);
1269
+ TEST_ASSERT_EQUAL_PRINT_FLOATING("-5.000001e-07", -0.00000050000005f);
1270
+ #else /* Default to Round ties to even */
1271
+ TEST_ASSERT_EQUAL_PRINT_FLOATING("0.0004882812", 0.00048828125f);
1272
+ TEST_ASSERT_EQUAL_PRINT_FLOATING("488281.2", 488281.25f);
1273
+ TEST_ASSERT_EQUAL_PRINT_FLOATING("5e-07", 0.00000050000005f);
1274
+ TEST_ASSERT_EQUAL_PRINT_FLOATING("-5e-07", -0.00000050000005f);
1275
+ #endif
1276
+ #endif
1277
+ }
1278
+
1279
+ void testFloatPrintingInfinityAndNaN(void)
1280
+ {
1281
+ #if defined(UNITY_EXCLUDE_FLOAT_PRINT) || !defined(USING_OUTPUT_SPY)
1282
+ TEST_IGNORE();
1283
+ #else
1284
+ TEST_ASSERT_EQUAL_PRINT_FLOATING("inf", 1.0f / f_zero);
1285
+ TEST_ASSERT_EQUAL_PRINT_FLOATING("-inf", -1.0f / f_zero);
1286
+
1287
+ TEST_ASSERT_EQUAL_PRINT_FLOATING("nan", 0.0f / f_zero);
1288
+ #endif
1289
+ }
1290
+
1291
+ #if defined(UNITY_TEST_ALL_FLOATS_PRINT_OK) && defined(USING_OUTPUT_SPY)
1292
+ #ifdef UNITY_INCLUDE_DOUBLE
1293
+ static void printFloatValue(float f)
1294
+ {
1295
+ char expected[18];
1296
+
1297
+ startPutcharSpy();
1298
+ UnityPrintFloat(f);
1299
+
1300
+ sprintf(expected, "%.9g", f);
1301
+ /* We print all NaN's as "nan", not "-nan" */
1302
+ if (strcmp(expected, "-nan") == 0) strcpy(expected, "nan");
1303
+
1304
+ if (strcmp(expected, getBufferPutcharSpy()))
1305
+ {
1306
+ /* Fail with diagnostic printing */
1307
+ TEST_ASSERT_EQUAL_PRINT_FLOATING(expected, f);
1308
+ }
1309
+ }
1310
+ #else
1311
+ static void printFloatValue(float f)
1312
+ {
1313
+ char expected[18];
1314
+ char expected_lower[18];
1315
+ char expected_lower2[18];
1316
+ char expected_lower3[18];
1317
+ char expected_higher[18];
1318
+ char expected_higher2[18];
1319
+ char expected_higher3[18];
1320
+
1321
+ startPutcharSpy();
1322
+ UnityPrintFloat(f);
1323
+
1324
+ sprintf(expected, "%.7g", f);
1325
+ /* We print all NaN's as "nan", not "-nan" */
1326
+ if (strcmp(expected, "-nan") == 0) strcpy(expected, "nan");
1327
+
1328
+ strcpy(expected_lower, expected);
1329
+ strcpy(expected_lower2, expected);
1330
+ strcpy(expected_lower3, expected);
1331
+ strcpy(expected_higher, expected);
1332
+ strcpy(expected_higher2, expected);
1333
+ strcpy(expected_higher3, expected);
1334
+
1335
+ /* Allow for rounding differences in the last digit */
1336
+ double lower = (double)f * 0.99999995;
1337
+ double higher = (double)f * 1.00000005;
1338
+
1339
+ if(isfinite(lower)) sprintf(expected_lower, "%.7g", lower);
1340
+ if(isfinite(higher)) sprintf(expected_higher, "%.7g", higher);
1341
+
1342
+ /* Outside [1,10000000] allow for relative error of +/-2.5e-7 */
1343
+ if (f < 1.0 || f > 10000000)
1344
+ {
1345
+ double lower2 = (double)f * 0.99999985;
1346
+ double lower3 = (double)f * 0.99999975;
1347
+ double higher2 = (double)f * 1.00000015;
1348
+ double higher3 = (double)f * 1.00000025;
1349
+
1350
+ if (isfinite(lower2)) sprintf(expected_lower2, "%.7g", lower2);
1351
+ if (isfinite(lower3)) sprintf(expected_lower3, "%.7g", lower3);
1352
+ if (isfinite(higher2)) sprintf(expected_higher2, "%.7g", higher2);
1353
+ if (isfinite(higher3)) sprintf(expected_higher3, "%.7g", higher3);
1354
+ }
1355
+
1356
+ if (strcmp(expected, getBufferPutcharSpy()) != 0 &&
1357
+ strcmp(expected_lower, getBufferPutcharSpy()) != 0 &&
1358
+ strcmp(expected_lower2, getBufferPutcharSpy()) != 0 &&
1359
+ strcmp(expected_lower3, getBufferPutcharSpy()) != 0 &&
1360
+ strcmp(expected_higher, getBufferPutcharSpy()) != 0 &&
1361
+ strcmp(expected_higher2, getBufferPutcharSpy()) != 0 &&
1362
+ strcmp(expected_higher3, getBufferPutcharSpy()) != 0)
1363
+ {
1364
+ /* Fail with diagnostic printing */
1365
+ TEST_ASSERT_EQUAL_PRINT_FLOATING(expected, f);
1366
+ }
1367
+ }
1368
+ #endif
1369
+ #endif
1370
+
1371
+ void testFloatPrintingRandomSamples(void)
1372
+ {
1373
+ #if !defined(UNITY_TEST_ALL_FLOATS_PRINT_OK) || !defined(USING_OUTPUT_SPY)
1374
+ TEST_IGNORE();
1375
+ #else
1376
+ union { float f_value; uint32_t int_value; } u;
1377
+
1378
+ /* These values are not covered by the MINSTD generator */
1379
+ u.int_value = 0x00000000; printFloatValue(u.f_value);
1380
+ u.int_value = 0x80000000; printFloatValue(u.f_value);
1381
+ u.int_value = 0x7fffffff; printFloatValue(u.f_value);
1382
+ u.int_value = 0xffffffff; printFloatValue(u.f_value);
1383
+
1384
+ uint32_t a = 1;
1385
+ for(int num_tested = 0; num_tested < 1000000; num_tested++)
1386
+ {
1387
+ /* MINSTD pseudo-random number generator */
1388
+ a = (uint32_t)(((uint64_t)a * 48271u) % 2147483647u);
1389
+
1390
+ /* MINSTD does not set the highest bit; test both possibilities */
1391
+ u.int_value = a; printFloatValue(u.f_value);
1392
+ u.int_value = a | 0x80000000; printFloatValue(u.f_value);
1393
+ }
1394
+ #endif
1395
+ }