ceedling 0.13.0 → 0.15.0

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 (308) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +1 -1
  3. data/Gemfile.lock +18 -14
  4. data/README.md +6 -4
  5. data/assets/project_as_gem.yml +1 -1
  6. data/assets/rakefile_as_gem.rb +2 -0
  7. data/assets/rakefile_with_guts.rb +3 -1
  8. data/ceedling.gemspec +1 -0
  9. data/examples/blinky/rakefile.rb +2 -2
  10. data/examples/temp_sensor/rakefile.rb +1 -1
  11. data/examples/temp_sensor/src/TemperatureFilter.c +1 -2
  12. data/examples/temp_sensor/test/TestTemperatureCalculator.c +1 -1
  13. data/examples/temp_sensor/test/TestTemperatureFilter.c +12 -2
  14. data/lib/ceedling.rb +94 -22
  15. data/lib/{build_invoker_utils.rb → ceedling/build_invoker_utils.rb} +27 -27
  16. data/lib/{cacheinator.rb → ceedling/cacheinator.rb} +42 -42
  17. data/lib/{cacheinator_helper.rb → ceedling/cacheinator_helper.rb} +12 -12
  18. data/lib/{cmock_builder.rb → ceedling/cmock_builder.rb} +15 -15
  19. data/lib/{configurator.rb → ceedling/configurator.rb} +333 -329
  20. data/lib/{configurator_builder.rb → ceedling/configurator_builder.rb} +437 -437
  21. data/lib/{configurator_plugins.rb → ceedling/configurator_plugins.rb} +124 -124
  22. data/lib/{configurator_setup.rb → ceedling/configurator_setup.rb} +124 -124
  23. data/lib/{configurator_validator.rb → ceedling/configurator_validator.rb} +184 -184
  24. data/lib/{constants.rb → ceedling/constants.rb} +20 -17
  25. data/lib/{defaults.rb → ceedling/defaults.rb} +19 -18
  26. data/lib/{dependinator.rb → ceedling/dependinator.rb} +92 -92
  27. data/lib/{erb_wrapper.rb → ceedling/erb_wrapper.rb} +8 -8
  28. data/lib/{file_finder.rb → ceedling/file_finder.rb} +132 -132
  29. data/lib/{file_finder_helper.rb → ceedling/file_finder_helper.rb} +54 -54
  30. data/lib/{file_path_utils.rb → ceedling/file_path_utils.rb} +189 -189
  31. data/lib/{file_system_utils.rb → ceedling/file_system_utils.rb} +69 -69
  32. data/lib/{file_system_wrapper.rb → ceedling/file_system_wrapper.rb} +9 -9
  33. data/lib/{file_wrapper.rb → ceedling/file_wrapper.rb} +79 -79
  34. data/lib/{flaginator.rb → ceedling/flaginator.rb} +54 -54
  35. data/lib/{generator.rb → ceedling/generator.rb} +164 -164
  36. data/lib/{generator_helper.rb → ceedling/generator_helper.rb} +40 -40
  37. data/lib/{generator_test_results.rb → ceedling/generator_test_results.rb} +86 -89
  38. data/lib/{generator_test_results_sanity_checker.rb → ceedling/generator_test_results_sanity_checker.rb} +64 -62
  39. data/lib/{generator_test_runner.rb → ceedling/generator_test_runner.rb} +63 -63
  40. data/lib/{loginator.rb → ceedling/loginator.rb} +31 -31
  41. data/lib/{makefile.rb → ceedling/makefile.rb} +0 -0
  42. data/lib/{objects.yml → ceedling/objects.yml} +0 -0
  43. data/lib/{par_map.rb → ceedling/par_map.rb} +0 -0
  44. data/lib/{plugin.rb → ceedling/plugin.rb} +80 -80
  45. data/lib/{plugin_builder.rb → ceedling/plugin_builder.rb} +52 -52
  46. data/lib/{plugin_manager.rb → ceedling/plugin_manager.rb} +107 -107
  47. data/lib/{plugin_manager_helper.rb → ceedling/plugin_manager_helper.rb} +19 -19
  48. data/lib/{plugin_reportinator.rb → ceedling/plugin_reportinator.rb} +2 -2
  49. data/lib/{plugin_reportinator_helper.rb → ceedling/plugin_reportinator_helper.rb} +1 -1
  50. data/lib/{preprocessinator.rb → ceedling/preprocessinator.rb} +43 -43
  51. data/lib/{preprocessinator_extractor.rb → ceedling/preprocessinator_extractor.rb} +30 -30
  52. data/lib/{preprocessinator_file_handler.rb → ceedling/preprocessinator_file_handler.rb} +21 -21
  53. data/lib/{preprocessinator_helper.rb → ceedling/preprocessinator_helper.rb} +46 -46
  54. data/lib/ceedling/preprocessinator_includes_handler.rb +82 -0
  55. data/lib/{project_config_manager.rb → ceedling/project_config_manager.rb} +38 -38
  56. data/lib/{project_file_loader.rb → ceedling/project_file_loader.rb} +64 -64
  57. data/lib/{rake_utils.rb → ceedling/rake_utils.rb} +17 -17
  58. data/lib/{rake_wrapper.rb → ceedling/rake_wrapper.rb} +33 -33
  59. data/lib/{rakefile.rb → ceedling/rakefile.rb} +78 -74
  60. data/lib/{release_invoker.rb → ceedling/release_invoker.rb} +58 -58
  61. data/lib/{release_invoker_helper.rb → ceedling/release_invoker_helper.rb} +16 -16
  62. data/lib/{reportinator.rb → ceedling/reportinator.rb} +9 -9
  63. data/lib/{rules_cmock.rake → ceedling/rules_cmock.rake} +9 -9
  64. data/lib/{rules_preprocess.rake → ceedling/rules_preprocess.rake} +26 -26
  65. data/lib/{rules_release.rake → ceedling/rules_release.rake} +79 -79
  66. data/lib/{rules_release_deep_dependencies.rake → ceedling/rules_release_deep_dependencies.rake} +15 -15
  67. data/lib/{rules_tests.rake → ceedling/rules_tests.rake} +59 -59
  68. data/lib/{rules_tests_deep_dependencies.rake → ceedling/rules_tests_deep_dependencies.rake} +15 -15
  69. data/lib/{setupinator.rb → ceedling/setupinator.rb} +51 -51
  70. data/lib/{stream_wrapper.rb → ceedling/stream_wrapper.rb} +20 -20
  71. data/lib/{streaminator.rb → ceedling/streaminator.rb} +40 -41
  72. data/lib/{streaminator_helper.rb → ceedling/streaminator_helper.rb} +15 -15
  73. data/lib/{system_utils.rb → ceedling/system_utils.rb} +0 -0
  74. data/lib/{system_wrapper.rb → ceedling/system_wrapper.rb} +76 -76
  75. data/lib/{target_loader.rb → ceedling/target_loader.rb} +0 -0
  76. data/lib/{task_invoker.rb → ceedling/task_invoker.rb} +89 -89
  77. data/lib/{tasks_base.rake → ceedling/tasks_base.rake} +104 -104
  78. data/lib/{tasks_filesystem.rake → ceedling/tasks_filesystem.rake} +91 -91
  79. data/lib/{tasks_release.rake → ceedling/tasks_release.rake} +28 -28
  80. data/lib/{tasks_release_deep_dependencies.rake → ceedling/tasks_release_deep_dependencies.rake} +9 -9
  81. data/lib/{tasks_tests.rake → ceedling/tasks_tests.rake} +52 -52
  82. data/lib/{tasks_tests_deep_dependencies.rake → ceedling/tasks_tests_deep_dependencies.rake} +9 -9
  83. data/lib/{tasks_vendor.rake → ceedling/tasks_vendor.rake} +36 -36
  84. data/lib/{test_includes_extractor.rb → ceedling/test_includes_extractor.rb} +81 -81
  85. data/lib/{test_invoker.rb → ceedling/test_invoker.rb} +97 -97
  86. data/lib/{test_invoker_helper.rb → ceedling/test_invoker_helper.rb} +28 -28
  87. data/lib/{tool_executor.rb → ceedling/tool_executor.rb} +215 -212
  88. data/lib/{tool_executor_helper.rb → ceedling/tool_executor_helper.rb} +115 -115
  89. data/lib/{verbosinator.rb → ceedling/verbosinator.rb} +10 -10
  90. data/lib/ceedling/version.rb +1 -1
  91. data/lib/{yaml_wrapper.rb → ceedling/yaml_wrapper.rb} +17 -16
  92. data/license.txt +31 -0
  93. data/plugins/bullseye/lib/bullseye.rb +2 -2
  94. data/plugins/gcov/gcov.rb +2 -2
  95. data/plugins/module_generator/lib/module_generator.rb +4 -3
  96. data/plugins/stdout_ide_tests_report/lib/stdout_ide_tests_report.rb +8 -8
  97. data/plugins/stdout_pretty_tests_report/lib/stdout_pretty_tests_report.rb +3 -3
  98. data/plugins/teamcity_tests_report/config/teamcity_tests_report.yml +4 -0
  99. data/plugins/teamcity_tests_report/lib/teamcity_tests_report.rb +57 -0
  100. data/plugins/xml_tests_report/xml_tests_report.rb +4 -4
  101. data/release/version.info +1 -1
  102. data/spec/ceedling_spec.rb +154 -0
  103. data/spec/par_map_spec.rb +1 -1
  104. data/spec/preprocessinator_extractor_spec.rb +26 -27
  105. data/spec/preprocessinator_includes_handler_spec.rb +175 -0
  106. data/spec/spec_helper.rb +8 -27
  107. data/test_graveyard/integration/paths_test.rb +2 -2
  108. data/test_graveyard/unit/busted/configurator_builder_test.rb +2 -2
  109. data/test_graveyard/unit/busted/configurator_test.rb +1 -1
  110. data/test_graveyard/unit/busted/configurator_validator_test.rb +1 -1
  111. data/test_graveyard/unit/busted/dependinator_test.rb +1 -1
  112. data/test_graveyard/unit/busted/file_finder_helper_test.rb +1 -1
  113. data/test_graveyard/unit/busted/file_finder_test.rb +1 -1
  114. data/test_graveyard/unit/busted/file_path_utils_test.rb +1 -1
  115. data/test_graveyard/unit/busted/file_system_utils_test.rb +1 -1
  116. data/test_graveyard/unit/busted/generator_test.rb +1 -1
  117. data/test_graveyard/unit/busted/generator_test_results_test.rb +1 -1
  118. data/test_graveyard/unit/busted/generator_test_runner_test.rb +1 -1
  119. data/test_graveyard/unit/busted/preprocessinator_file_handler_test.rb +1 -1
  120. data/test_graveyard/unit/busted/preprocessinator_helper_test.rb +1 -1
  121. data/test_graveyard/unit/busted/preprocessinator_includes_handler_test.rb +1 -1
  122. data/test_graveyard/unit/busted/preprocessinator_test.rb +1 -1
  123. data/test_graveyard/unit/busted/project_file_loader_test.rb +1 -1
  124. data/test_graveyard/unit/busted/setupinator_test.rb +1 -1
  125. data/test_graveyard/unit/busted/streaminator_test.rb +2 -2
  126. data/test_graveyard/unit/busted/task_invoker_test.rb +1 -1
  127. data/test_graveyard/unit/busted/test_includes_extractor_test.rb +1 -1
  128. data/test_graveyard/unit/busted/test_invoker_helper_test.rb +1 -1
  129. data/test_graveyard/unit/busted/test_invoker_test.rb +1 -1
  130. data/test_graveyard/unit/busted/tool_executor_helper_test.rb +1 -1
  131. data/test_graveyard/unit/busted/tool_executor_test.rb +1 -1
  132. data/test_graveyard/unit/busted/verbosinator_test.rb +1 -1
  133. data/test_graveyard/unit/preprocessinator_extractor_test.rb +1 -1
  134. data/vendor/c_exception/Gemfile +4 -0
  135. data/vendor/c_exception/lib/CException.h +1 -1
  136. data/vendor/c_exception/test/TestException.c +25 -14
  137. data/vendor/c_exception/test/TestException_Runner.c +74 -57
  138. data/vendor/cmock/Gemfile +11 -0
  139. data/vendor/cmock/lib/cmock_generator.rb +13 -12
  140. data/vendor/cmock/lib/cmock_generator_plugin_ignore_arg.rb +44 -0
  141. data/vendor/cmock/lib/cmock_generator_plugin_return_thru_ptr.rb +74 -0
  142. data/vendor/cmock/lib/cmock_generator_utils.rb +67 -42
  143. data/vendor/cmock/src/cmock.c +20 -30
  144. data/vendor/cmock/src/cmock.h +1 -0
  145. data/vendor/cmock/src/cmock_internals.h +43 -0
  146. data/vendor/cmock/test/c/TestCMockC.c +79 -36
  147. data/vendor/cmock/test/c/TestCMockC_Runner.c +2 -0
  148. data/vendor/cmock/test/spec/cmock_file_writer_spec.rb +21 -1
  149. data/vendor/cmock/test/spec/cmock_generator_plugin_array_spec.rb +52 -0
  150. data/vendor/cmock/test/system/test_interactions/all_plugins_coexist.yml +2 -0
  151. data/vendor/cmock/test/system/test_interactions/return_thru_ptr_ignore_arg.yml +235 -0
  152. data/vendor/cmock/test/test_helper.rb +10 -5
  153. data/vendor/cmock/test/unit/cmock_generator_main_test.rb +38 -0
  154. data/vendor/cmock/test/unit/cmock_generator_plugin_ignore_arg_test.rb +116 -0
  155. data/vendor/cmock/test/unit/cmock_generator_plugin_return_thru_ptr_test.rb +134 -0
  156. data/vendor/cmock/test/unit/cmock_generator_utils_test.rb +58 -33
  157. data/vendor/cmock/vendor/c_exception/docs/CExceptionSummary.odt +0 -0
  158. data/vendor/cmock/vendor/c_exception/docs/CExceptionSummary.pdf +0 -0
  159. data/vendor/cmock/vendor/c_exception/docs/license.txt +30 -0
  160. data/vendor/cmock/vendor/c_exception/docs/readme.txt +236 -0
  161. data/vendor/cmock/vendor/c_exception/lib/CException.c +39 -0
  162. data/vendor/cmock/vendor/c_exception/lib/CException.h +70 -0
  163. data/vendor/cmock/vendor/c_exception/makefile +24 -0
  164. data/vendor/cmock/vendor/c_exception/rakefile.rb +41 -0
  165. data/vendor/cmock/vendor/c_exception/release/build.info +2 -0
  166. data/vendor/cmock/vendor/c_exception/release/version.info +2 -0
  167. data/vendor/cmock/vendor/c_exception/test/CExceptionConfig.h +27 -0
  168. data/vendor/cmock/vendor/c_exception/test/TestException.c +291 -0
  169. data/vendor/cmock/vendor/c_exception/test/TestException_Runner.c +62 -0
  170. data/vendor/cmock/vendor/unity/auto/colour_prompt.rb +94 -0
  171. data/vendor/cmock/vendor/unity/auto/colour_reporter.rb +39 -0
  172. data/vendor/cmock/vendor/unity/auto/generate_config.yml +36 -0
  173. data/vendor/cmock/vendor/unity/auto/generate_module.rb +202 -0
  174. data/vendor/cmock/vendor/unity/auto/generate_test_runner.rb +313 -0
  175. data/vendor/cmock/vendor/unity/auto/test_file_filter.rb +23 -0
  176. data/vendor/cmock/vendor/unity/auto/unity_test_summary.rb +139 -0
  177. data/vendor/cmock/vendor/unity/docs/Unity Summary.odt +0 -0
  178. data/vendor/cmock/vendor/unity/docs/Unity Summary.pdf +0 -0
  179. data/vendor/cmock/vendor/unity/docs/Unity Summary.txt +217 -0
  180. data/vendor/cmock/vendor/unity/docs/license.txt +31 -0
  181. data/vendor/cmock/vendor/unity/examples/helper/UnityHelper.c +10 -0
  182. data/vendor/cmock/vendor/unity/examples/helper/UnityHelper.h +12 -0
  183. data/vendor/cmock/vendor/unity/examples/makefile +40 -0
  184. data/vendor/cmock/vendor/unity/examples/rakefile.rb +32 -0
  185. data/vendor/cmock/vendor/unity/examples/rakefile_helper.rb +256 -0
  186. data/vendor/cmock/vendor/unity/examples/readme.txt +18 -0
  187. data/vendor/cmock/vendor/unity/examples/src/ProductionCode.c +24 -0
  188. data/vendor/cmock/vendor/unity/examples/src/ProductionCode.h +3 -0
  189. data/vendor/cmock/vendor/unity/examples/src/ProductionCode2.c +9 -0
  190. data/vendor/cmock/vendor/unity/examples/src/ProductionCode2.h +2 -0
  191. data/vendor/cmock/vendor/unity/examples/test/TestProductionCode.c +62 -0
  192. data/vendor/cmock/vendor/unity/examples/test/TestProductionCode2.c +31 -0
  193. data/vendor/cmock/vendor/unity/examples/test/no_ruby/TestProductionCode2_Runner.c +46 -0
  194. data/vendor/cmock/vendor/unity/examples/test/no_ruby/TestProductionCode_Runner.c +50 -0
  195. data/vendor/{unity → cmock/vendor/unity}/extras/fixture/build/MakefileWorker.mk +0 -0
  196. data/vendor/{unity → cmock/vendor/unity}/extras/fixture/build/filterGcov.sh +0 -0
  197. data/vendor/cmock/vendor/unity/extras/fixture/rakefile.rb +37 -0
  198. data/vendor/cmock/vendor/unity/extras/fixture/rakefile_helper.rb +178 -0
  199. data/vendor/cmock/vendor/unity/extras/fixture/readme.txt +9 -0
  200. data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture.c +381 -0
  201. data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture.h +81 -0
  202. data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture_internals.h +44 -0
  203. data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture_malloc_overrides.h +16 -0
  204. data/vendor/cmock/vendor/unity/extras/fixture/test/main/AllTests.c +21 -0
  205. data/vendor/cmock/vendor/unity/extras/fixture/test/testunity_fixture.c +39 -0
  206. data/vendor/cmock/vendor/unity/extras/fixture/test/unity_fixture_Test.c +321 -0
  207. data/vendor/cmock/vendor/unity/extras/fixture/test/unity_fixture_TestRunner.c +40 -0
  208. data/vendor/cmock/vendor/unity/extras/fixture/test/unity_output_Spy.c +56 -0
  209. data/vendor/cmock/vendor/unity/extras/fixture/test/unity_output_Spy.h +17 -0
  210. data/vendor/cmock/vendor/unity/makefile +35 -0
  211. data/vendor/cmock/vendor/unity/rakefile.rb +48 -0
  212. data/vendor/cmock/vendor/unity/rakefile_helper.rb +240 -0
  213. data/vendor/cmock/vendor/unity/release/build.info +2 -0
  214. data/vendor/cmock/vendor/unity/release/version.info +2 -0
  215. data/vendor/cmock/vendor/unity/src/unity.c +979 -0
  216. data/vendor/cmock/vendor/unity/src/unity.h +232 -0
  217. data/vendor/cmock/vendor/unity/src/unity_internals.h +424 -0
  218. data/vendor/cmock/vendor/unity/targets/gcc.yml +43 -0
  219. data/vendor/cmock/vendor/unity/targets/gcc_64.yml +44 -0
  220. data/vendor/cmock/vendor/unity/targets/hitech_picc18.yml +101 -0
  221. data/vendor/cmock/vendor/unity/targets/iar_arm_v4.yml +89 -0
  222. data/vendor/cmock/vendor/unity/targets/iar_arm_v5.yml +79 -0
  223. data/vendor/cmock/vendor/unity/targets/iar_arm_v5_3.yml +79 -0
  224. data/vendor/cmock/vendor/unity/targets/iar_armcortex_LM3S9B92_v5_4.yml +93 -0
  225. data/vendor/cmock/vendor/unity/targets/iar_cortexm3_v5.yml +83 -0
  226. data/vendor/cmock/vendor/unity/targets/iar_msp430.yml +94 -0
  227. data/vendor/cmock/vendor/unity/targets/iar_sh2a_v6.yml +85 -0
  228. data/vendor/cmock/vendor/unity/test/expectdata/testsample_cmd.c +54 -0
  229. data/vendor/cmock/vendor/unity/test/expectdata/testsample_def.c +50 -0
  230. data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_cmd.c +76 -0
  231. data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_def.c +72 -0
  232. data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_new1.c +85 -0
  233. data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_new2.c +85 -0
  234. data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_param.c +73 -0
  235. data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_run1.c +85 -0
  236. data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_run2.c +85 -0
  237. data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_yaml.c +86 -0
  238. data/vendor/cmock/vendor/unity/test/expectdata/testsample_new1.c +60 -0
  239. data/vendor/cmock/vendor/unity/test/expectdata/testsample_new2.c +63 -0
  240. data/vendor/cmock/vendor/unity/test/expectdata/testsample_param.c +51 -0
  241. data/vendor/cmock/vendor/unity/test/expectdata/testsample_run1.c +60 -0
  242. data/vendor/cmock/vendor/unity/test/expectdata/testsample_run2.c +63 -0
  243. data/vendor/cmock/vendor/unity/test/expectdata/testsample_yaml.c +64 -0
  244. data/vendor/cmock/vendor/unity/test/test_generate_test_runner.rb +94 -0
  245. data/vendor/cmock/vendor/unity/test/testdata/mocksample.c +51 -0
  246. data/vendor/cmock/vendor/unity/test/testdata/sample.yml +9 -0
  247. data/vendor/cmock/vendor/unity/test/testdata/testsample.c +51 -0
  248. data/vendor/cmock/vendor/unity/test/testparameterized.c +101 -0
  249. data/vendor/cmock/vendor/unity/test/testunity.c +2024 -0
  250. data/vendor/unity/Gemfile +4 -0
  251. data/vendor/unity/auto/generate_test_runner.rb +6 -3
  252. data/vendor/unity/examples/makefile +2 -2
  253. data/vendor/unity/examples/rakefile.rb +13 -2
  254. data/vendor/unity/extras/fixture/rakefile.rb +1 -1
  255. data/vendor/unity/extras/fixture/rakefile_helper.rb +4 -3
  256. data/vendor/unity/extras/fixture/src/unity_fixture.c +15 -12
  257. data/vendor/unity/extras/fixture/src/unity_fixture.h +5 -5
  258. data/vendor/unity/extras/fixture/src/unity_fixture_internals.h +1 -1
  259. data/vendor/unity/extras/fixture/test/unity_fixture_Test.c +6 -3
  260. data/vendor/unity/makefile +2 -2
  261. data/vendor/unity/src/unity.c +183 -16
  262. data/vendor/unity/src/unity.h +18 -5
  263. data/vendor/unity/src/unity_internals.h +57 -23
  264. data/vendor/unity/targets/gcc_64.yml +45 -0
  265. data/vendor/unity/test/testunity.c +436 -28
  266. metadata +200 -137
  267. data/ceedling-0.13.0.rc4.gem +0 -0
  268. data/ceedling.sublime-project +0 -8
  269. data/ceedling.sublime-workspace +0 -365
  270. data/lib/preprocessinator_includes_handler.rb +0 -55
  271. data/tags +0 -977
  272. data/vendor/cmock/vendor/hardmock/CHANGES +0 -78
  273. data/vendor/cmock/vendor/hardmock/LICENSE +0 -7
  274. data/vendor/cmock/vendor/hardmock/README +0 -70
  275. data/vendor/cmock/vendor/hardmock/Rakefile +0 -8
  276. data/vendor/cmock/vendor/hardmock/config/environment.rb +0 -12
  277. data/vendor/cmock/vendor/hardmock/lib/assert_error.rb +0 -23
  278. data/vendor/cmock/vendor/hardmock/lib/extend_test_unit.rb +0 -14
  279. data/vendor/cmock/vendor/hardmock/lib/hardmock.rb +0 -86
  280. data/vendor/cmock/vendor/hardmock/lib/hardmock/errors.rb +0 -22
  281. data/vendor/cmock/vendor/hardmock/lib/hardmock/expectation.rb +0 -229
  282. data/vendor/cmock/vendor/hardmock/lib/hardmock/expectation_builder.rb +0 -9
  283. data/vendor/cmock/vendor/hardmock/lib/hardmock/expector.rb +0 -26
  284. data/vendor/cmock/vendor/hardmock/lib/hardmock/method_cleanout.rb +0 -33
  285. data/vendor/cmock/vendor/hardmock/lib/hardmock/mock.rb +0 -180
  286. data/vendor/cmock/vendor/hardmock/lib/hardmock/mock_control.rb +0 -53
  287. data/vendor/cmock/vendor/hardmock/lib/hardmock/stubbing.rb +0 -210
  288. data/vendor/cmock/vendor/hardmock/lib/hardmock/trapper.rb +0 -31
  289. data/vendor/cmock/vendor/hardmock/lib/hardmock/utils.rb +0 -9
  290. data/vendor/cmock/vendor/hardmock/lib/test_unit_before_after.rb +0 -169
  291. data/vendor/cmock/vendor/hardmock/rake_tasks/rdoc.rake +0 -19
  292. data/vendor/cmock/vendor/hardmock/rake_tasks/rdoc_options.rb +0 -4
  293. data/vendor/cmock/vendor/hardmock/rake_tasks/test.rake +0 -22
  294. data/vendor/cmock/vendor/hardmock/test/functional/assert_error_test.rb +0 -52
  295. data/vendor/cmock/vendor/hardmock/test/functional/auto_verify_test.rb +0 -178
  296. data/vendor/cmock/vendor/hardmock/test/functional/direct_mock_usage_test.rb +0 -396
  297. data/vendor/cmock/vendor/hardmock/test/functional/hardmock_test.rb +0 -434
  298. data/vendor/cmock/vendor/hardmock/test/functional/stubbing_test.rb +0 -479
  299. data/vendor/cmock/vendor/hardmock/test/test_helper.rb +0 -43
  300. data/vendor/cmock/vendor/hardmock/test/unit/expectation_builder_test.rb +0 -19
  301. data/vendor/cmock/vendor/hardmock/test/unit/expectation_test.rb +0 -372
  302. data/vendor/cmock/vendor/hardmock/test/unit/expector_test.rb +0 -57
  303. data/vendor/cmock/vendor/hardmock/test/unit/method_cleanout_test.rb +0 -36
  304. data/vendor/cmock/vendor/hardmock/test/unit/mock_control_test.rb +0 -175
  305. data/vendor/cmock/vendor/hardmock/test/unit/mock_test.rb +0 -279
  306. data/vendor/cmock/vendor/hardmock/test/unit/test_unit_before_after_test.rb +0 -452
  307. data/vendor/cmock/vendor/hardmock/test/unit/trapper_test.rb +0 -62
  308. data/vendor/cmock/vendor/hardmock/test/unit/verify_error_test.rb +0 -40
@@ -14,10 +14,13 @@
14
14
  //-------------------------------------------------------
15
15
  // Configuration Options
16
16
  //-------------------------------------------------------
17
+ // All options described below should be passed as a compiler flag to all files using Unity. If you must add #defines, place them BEFORE the #include above.
17
18
 
18
- // Integers
19
- // - Unity assumes 32 bit integers by default
20
- // - If your compiler treats ints of a different size, define UNITY_INT_WIDTH
19
+ // Integers/longs/pointers
20
+ // - Unity assumes 32 bit integers, longs, and pointers by default
21
+ // - If your compiler treats ints of a different size, options are:
22
+ // - define UNITY_USE_LIMITS_H to use limits.h to determine sizes
23
+ // - define UNITY_INT_WIDTH, UNITY_LONG_WIDTH, nand UNITY_POINTER_WIDTH
21
24
 
22
25
  // Floats
23
26
  // - define UNITY_EXCLUDE_FLOAT to disallow floating point comparisons
@@ -142,12 +145,17 @@
142
145
  #define TEST_ASSERT_FLOAT_WITHIN(delta, expected, actual) UNITY_TEST_ASSERT_FLOAT_WITHIN(delta, expected, actual, __LINE__, NULL)
143
146
  #define TEST_ASSERT_EQUAL_FLOAT(expected, actual) UNITY_TEST_ASSERT_EQUAL_FLOAT(expected, actual, __LINE__, NULL)
144
147
  #define TEST_ASSERT_EQUAL_FLOAT_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_FLOAT_ARRAY(expected, actual, num_elements, __LINE__, NULL)
148
+ #define TEST_ASSERT_FLOAT_IS_INF(actual) UNITY_TEST_ASSERT_FLOAT_IS_INF(actual, __LINE__, NULL)
149
+ #define TEST_ASSERT_FLOAT_IS_NEG_INF(actual) UNITY_TEST_ASSERT_FLOAT_IS_NEG_INF(actual, __LINE__, NULL)
150
+ #define TEST_ASSERT_FLOAT_IS_NAN(actual) UNITY_TEST_ASSERT_FLOAT_IS_NAN(actual, __LINE__, NULL)
145
151
 
146
152
  //Double (If Enabled)
147
153
  #define TEST_ASSERT_DOUBLE_WITHIN(delta, expected, actual) UNITY_TEST_ASSERT_DOUBLE_WITHIN(delta, expected, actual, __LINE__, NULL)
148
154
  #define TEST_ASSERT_EQUAL_DOUBLE(expected, actual) UNITY_TEST_ASSERT_EQUAL_DOUBLE(expected, actual, __LINE__, NULL)
149
155
  #define TEST_ASSERT_EQUAL_DOUBLE_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_DOUBLE_ARRAY(expected, actual, num_elements, __LINE__, NULL)
150
-
156
+ #define TEST_ASSERT_DOUBLE_IS_INF(actual) UNITY_TEST_ASSERT_DOUBLE_IS_INF(actual, __LINE__, NULL)
157
+ #define TEST_ASSERT_DOUBLE_IS_NEG_INF(actual) UNITY_TEST_ASSERT_DOUBLE_IS_NEG_INF(actual, __LINE__, NULL)
158
+ #define TEST_ASSERT_DOUBLE_IS_NAN(actual) UNITY_TEST_ASSERT_DOUBLE_IS_NAN(actual, __LINE__, NULL)
151
159
 
152
160
  //-------------------------------------------------------
153
161
  // Test Asserts (with additional messages)
@@ -223,10 +231,15 @@
223
231
  #define TEST_ASSERT_FLOAT_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_FLOAT_WITHIN(delta, expected, actual, __LINE__, message)
224
232
  #define TEST_ASSERT_EQUAL_FLOAT_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_FLOAT(expected, actual, __LINE__, message)
225
233
  #define TEST_ASSERT_EQUAL_FLOAT_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_FLOAT_ARRAY(expected, actual, num_elements, __LINE__, message)
234
+ #define TEST_ASSERT_FLOAT_IS_INF_MESSAGE(actual, message) UNITY_TEST_ASSERT_FLOAT_IS_INF(actual, __LINE__, message)
235
+ #define TEST_ASSERT_FLOAT_IS_NEG_INF_MESSAGE(actual, message) UNITY_TEST_ASSERT_FLOAT_IS_NEG_INF(actual, __LINE__, message)
236
+ #define TEST_ASSERT_FLOAT_IS_NAN_MESSAGE(actual, message) UNITY_TEST_ASSERT_FLOAT_IS_NAN(actual, __LINE__, message)
226
237
 
227
238
  //Double (If Enabled)
228
239
  #define TEST_ASSERT_DOUBLE_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_DOUBLE_WITHIN(delta, expected, actual, __LINE__, message)
229
240
  #define TEST_ASSERT_EQUAL_DOUBLE_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_DOUBLE(expected, actual, __LINE__, message)
230
241
  #define TEST_ASSERT_EQUAL_DOUBLE_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_DOUBLE_ARRAY(expected, actual, num_elements, __LINE__, message)
231
-
242
+ #define TEST_ASSERT_DOUBLE_IS_INF_MESSAGE(actual, message) UNITY_TEST_ASSERT_DOUBLE_IS_INF(actual, __LINE__, message)
243
+ #define TEST_ASSERT_DOUBLE_IS_NEG_INF_MESSAGE(actual, message) UNITY_TEST_ASSERT_DOUBLE_IS_NEG_INF(actual, __LINE__, message)
244
+ #define TEST_ASSERT_DOUBLE_IS_NAN_MESSAGE(actual, message) UNITY_TEST_ASSERT_DOUBLE_IS_NAN(actual, __LINE__, message)
232
245
  #endif
@@ -10,11 +10,14 @@
10
10
  #include <stdio.h>
11
11
  #include <setjmp.h>
12
12
 
13
- //stdint.h is often automatically included.
14
- //Unity uses it to guess at the sizes of integer types, etc.
13
+ // Unity attempts to determine sizeof(various types)
14
+ // based on UINT_MAX, ULONG_MAX, etc. These are typically
15
+ // defined in limits.h.
15
16
  #ifdef UNITY_USE_LIMITS_H
16
17
  #include <limits.h>
17
18
  #endif
19
+ // As a fallback, hope that including stdint.h will
20
+ // provide this information.
18
21
  #ifndef UNITY_EXCLUDE_STDINT_H
19
22
  #include <stdint.h>
20
23
  #endif
@@ -23,9 +26,10 @@
23
26
  // Guess Widths If Not Specified
24
27
  //-------------------------------------------------------
25
28
 
26
- // If the INT Width hasn't been specified,
27
- // We first try to guess based on UINT_MAX (if it exists)
28
- // Otherwise we fall back on assuming 32-bit
29
+ // Determine the size of an int, if not already specificied.
30
+ // We cannot use sizeof(int), because it is not yet defined
31
+ // at this stage in the trnslation of the C program.
32
+ // Therefore, infer it from UINT_MAX if possible.
29
33
  #ifndef UNITY_INT_WIDTH
30
34
  #ifdef UINT_MAX
31
35
  #if (UINT_MAX == 0xFFFF)
@@ -37,17 +41,16 @@
37
41
  #ifndef UNITY_SUPPORT_64
38
42
  #define UNITY_SUPPORT_64
39
43
  #endif
40
- #else
41
- #define UNITY_INT_WIDTH (32)
42
44
  #endif
43
- #else
44
- #define UNITY_INT_WIDTH (32)
45
45
  #endif
46
46
  #endif
47
+ #ifndef UNITY_INT_WIDTH
48
+ #define UNITY_INT_WIDTH (32)
49
+ #endif
47
50
 
48
- // If the Long Width hasn't been specified,
49
- // We first try to guess based on ULONG_MAX (if it exists)
50
- // Otherwise we fall back on assuming 32-bit
51
+ // Determine the size of a long, if not already specified,
52
+ // by following the process used above to define
53
+ // UNITY_INT_WIDTH.
51
54
  #ifndef UNITY_LONG_WIDTH
52
55
  #ifdef ULONG_MAX
53
56
  #if (ULONG_MAX == 0xFFFF)
@@ -56,20 +59,19 @@
56
59
  #define UNITY_LONG_WIDTH (32)
57
60
  #elif (ULONG_MAX == 0xFFFFFFFFFFFFFFFF)
58
61
  #define UNITY_LONG_WIDTH (64)
59
- #else
60
- #define UNITY_LONG_WIDTH (32)
61
62
  #ifndef UNITY_SUPPORT_64
62
63
  #define UNITY_SUPPORT_64
63
64
  #endif
64
65
  #endif
65
- #else
66
- #define UNITY_LONG_WIDTH (32)
67
66
  #endif
68
67
  #endif
68
+ #ifndef UNITY_LONG_WIDTH
69
+ #define UNITY_LONG_WIDTH (32)
70
+ #endif
69
71
 
70
- // If the Pointer Width hasn't been specified,
71
- // We first try to guess based on INTPTR_MAX (if it exists)
72
- // Otherwise we fall back on assuming 32-bit
72
+ // Determine the size of a pointer, if not already specified,
73
+ // by following the process used above to define
74
+ // UNITY_INT_WIDTH.
73
75
  #ifndef UNITY_POINTER_WIDTH
74
76
  #ifdef UINTPTR_MAX
75
77
  #if (UINTPTR_MAX <= 0xFFFF)
@@ -155,10 +157,6 @@ typedef _US64 _U_SINT;
155
157
  // Pointer Support
156
158
  //-------------------------------------------------------
157
159
 
158
- #ifndef UNITY_POINTER_WIDTH
159
- #define UNITY_POINTER_WIDTH (32)
160
- #endif /* UNITY_POINTER_WIDTH */
161
-
162
160
  #if (UNITY_POINTER_WIDTH == 32)
163
161
  typedef _UU32 _UP;
164
162
  #define UNITY_DISPLAY_STYLE_POINTER UNITY_DISPLAY_STYLE_HEX32
@@ -410,6 +408,18 @@ void UnityAssertEqualFloatArray(const _UF* expected,
410
408
  const _UU32 num_elements,
411
409
  const char* msg,
412
410
  const UNITY_LINE_TYPE lineNumber);
411
+
412
+ void UnityAssertFloatIsInf(const _UF actual,
413
+ const char* msg,
414
+ const UNITY_LINE_TYPE lineNumber);
415
+
416
+ void UnityAssertFloatIsNegInf(const _UF actual,
417
+ const char* msg,
418
+ const UNITY_LINE_TYPE lineNumber);
419
+
420
+ void UnityAssertFloatIsNaN(const _UF actual,
421
+ const char* msg,
422
+ const UNITY_LINE_TYPE lineNumber);
413
423
  #endif
414
424
 
415
425
  #ifndef UNITY_EXCLUDE_DOUBLE
@@ -424,6 +434,18 @@ void UnityAssertEqualDoubleArray(const _UD* expected,
424
434
  const _UU32 num_elements,
425
435
  const char* msg,
426
436
  const UNITY_LINE_TYPE lineNumber);
437
+
438
+ void UnityAssertDoubleIsInf(const _UD actual,
439
+ const char* msg,
440
+ const UNITY_LINE_TYPE lineNumber);
441
+
442
+ void UnityAssertDoubleIsNegInf(const _UD actual,
443
+ const char* msg,
444
+ const UNITY_LINE_TYPE lineNumber);
445
+
446
+ void UnityAssertDoubleIsNaN(const _UD actual,
447
+ const char* msg,
448
+ const UNITY_LINE_TYPE lineNumber);
427
449
  #endif
428
450
 
429
451
  //-------------------------------------------------------
@@ -493,20 +515,32 @@ void UnityAssertEqualDoubleArray(const _UD* expected,
493
515
  #define UNITY_TEST_ASSERT_FLOAT_WITHIN(delta, expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)line, "Unity Floating Point Disabled")
494
516
  #define UNITY_TEST_ASSERT_EQUAL_FLOAT(expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)line, "Unity Floating Point Disabled")
495
517
  #define UNITY_TEST_ASSERT_EQUAL_FLOAT_ARRAY(expected, actual, num_elements, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)line, "Unity Floating Point Disabled")
518
+ #define UNITY_TEST_ASSERT_FLOAT_IS_INF(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)line, "Unity Floating Point Disabled")
519
+ #define UNITY_TEST_ASSERT_FLOAT_IS_NEG_INF(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)line, "Unity Floating Point Disabled")
520
+ #define UNITY_TEST_ASSERT_FLOAT_IS_NAN(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)line, "Unity Floating Point Disabled")
496
521
  #else
497
522
  #define UNITY_TEST_ASSERT_FLOAT_WITHIN(delta, expected, actual, line, message) UnityAssertFloatsWithin((_UF)(delta), (_UF)(expected), (_UF)(actual), (message), (UNITY_LINE_TYPE)line)
498
523
  #define UNITY_TEST_ASSERT_EQUAL_FLOAT(expected, actual, line, message) UNITY_TEST_ASSERT_FLOAT_WITHIN((_UF)(expected) * (_UF)UNITY_FLOAT_PRECISION, (_UF)expected, (_UF)actual, (UNITY_LINE_TYPE)line, message)
499
524
  #define UNITY_TEST_ASSERT_EQUAL_FLOAT_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualFloatArray((_UF*)(expected), (_UF*)(actual), (_UU32)(num_elements), (message), (UNITY_LINE_TYPE)line)
525
+ #define UNITY_TEST_ASSERT_FLOAT_IS_INF(actual, line, message) UnityAssertFloatIsInf((_UF)(actual), (message), (UNITY_LINE_TYPE)line)
526
+ #define UNITY_TEST_ASSERT_FLOAT_IS_NEG_INF(actual, line, message) UnityAssertFloatIsNegInf((_UF)(actual), (message), (UNITY_LINE_TYPE)line)
527
+ #define UNITY_TEST_ASSERT_FLOAT_IS_NAN(actual, line, message) UnityAssertFloatIsNaN((_UF)(actual), (message), (UNITY_LINE_TYPE)line)
500
528
  #endif
501
529
 
502
530
  #ifdef UNITY_EXCLUDE_DOUBLE
503
531
  #define UNITY_TEST_ASSERT_DOUBLE_WITHIN(delta, expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)line, "Unity Double Precision Disabled")
504
532
  #define UNITY_TEST_ASSERT_EQUAL_DOUBLE(expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)line, "Unity Double Precision Disabled")
505
533
  #define UNITY_TEST_ASSERT_EQUAL_DOUBLE_ARRAY(expected, actual, num_elements, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)line, "Unity Double Precision Disabled")
534
+ #define UNITY_TEST_ASSERT_DOUBLE_IS_INF(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)line, "Unity Double Precision Disabled")
535
+ #define UNITY_TEST_ASSERT_DOUBLE_IS_NEG_INF(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)line, "Unity Double Precision Disabled")
536
+ #define UNITY_TEST_ASSERT_DOUBLE_IS_NAN(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)line, "Unity Double Precision Disabled")
506
537
  #else
507
538
  #define UNITY_TEST_ASSERT_DOUBLE_WITHIN(delta, expected, actual, line, message) UnityAssertDoublesWithin((_UD)(delta), (_UD)(expected), (_UD)(actual), (message), (UNITY_LINE_TYPE)line)
508
539
  #define UNITY_TEST_ASSERT_EQUAL_DOUBLE(expected, actual, line, message) UNITY_TEST_ASSERT_DOUBLE_WITHIN((_UF)(expected) * (_UD)UNITY_DOUBLE_PRECISION, (_UD)expected, (_UD)actual, (UNITY_LINE_TYPE)line, message)
509
540
  #define UNITY_TEST_ASSERT_EQUAL_DOUBLE_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualDoubleArray((_UD*)(expected), (_UD*)(actual), (_UU32)(num_elements), (message), (UNITY_LINE_TYPE)line)
541
+ #define UNITY_TEST_ASSERT_DOUBLE_IS_INF(actual, line, message) UnityAssertFloatIsInf((_UF)(actual), (message), (UNITY_LINE_TYPE)line)
542
+ #define UNITY_TEST_ASSERT_DOUBLE_IS_NEG_INF(actual, line, message) UnityAssertFloatIsNegInf((_UF)(actual), (message), (UNITY_LINE_TYPE)line)
543
+ #define UNITY_TEST_ASSERT_DOUBLE_IS_NAN(actual, line, message) UnityAssertFloatIsNaN((_UF)(actual), (message), (UNITY_LINE_TYPE)line)
510
544
  #endif
511
545
 
512
546
  #endif
@@ -0,0 +1,45 @@
1
+ compiler:
2
+ path: gcc
3
+ source_path: 'src/'
4
+ unit_tests_path: &unit_tests_path 'test/'
5
+ build_path: &build_path 'build/'
6
+ options:
7
+ - '-c'
8
+ - '-m64'
9
+ - '-Wall'
10
+ - '-Wno-address'
11
+ - '-std=c99'
12
+ - '-pedantic'
13
+ includes:
14
+ prefix: '-I'
15
+ items:
16
+ - 'src/'
17
+ - '../src/'
18
+ - *unit_tests_path
19
+ defines:
20
+ prefix: '-D'
21
+ items:
22
+ - UNITY_INCLUDE_DOUBLE
23
+ - UNITY_SUPPORT_TEST_CASES
24
+ - UNITY_SUPPORT_64
25
+ object_files:
26
+ prefix: '-o'
27
+ extension: '.o'
28
+ destination: *build_path
29
+ linker:
30
+ path: gcc
31
+ options:
32
+ - -lm
33
+ - '-m64'
34
+ includes:
35
+ prefix: '-I'
36
+ object_files:
37
+ path: *build_path
38
+ extension: '.o'
39
+ bin_files:
40
+ prefix: '-o'
41
+ extension: '.exe'
42
+ destination: *build_path
43
+ colour: true
44
+ :unity:
45
+ :plugins: []
@@ -7,6 +7,13 @@
7
7
  #include <setjmp.h>
8
8
  #include "unity.h"
9
9
 
10
+ // Dividing by these constants produces +/- infinity.
11
+ // The rationale is given in UnityAssertFloatIsInf's body.
12
+ static const _UF f_zero = 0.0f;
13
+ #ifndef UNITY_EXCLUDE_DOUBLE
14
+ static const _UD d_zero = 0.0;
15
+ #endif
16
+
10
17
  #define EXPECT_ABORT_BEGIN \
11
18
  if (TEST_PROTECT()) \
12
19
  {
@@ -1796,11 +1803,11 @@ void testEqualMemoryArrays(void)
1796
1803
  int p2[] = {1, 8, 987, 2};
1797
1804
  int p3[] = {1, 500, 600, 700};
1798
1805
 
1799
- TEST_ASSERT_EQUAL_MEMORY_ARRAY(p0, p0, 4, 1);
1800
- TEST_ASSERT_EQUAL_MEMORY_ARRAY(p0, p0, 4, 4);
1801
- TEST_ASSERT_EQUAL_MEMORY_ARRAY(p0, p1, 4, 4);
1802
- TEST_ASSERT_EQUAL_MEMORY_ARRAY(p0, p2, 4, 3);
1803
- TEST_ASSERT_EQUAL_MEMORY_ARRAY(p0, p3, 4, 1);
1806
+ TEST_ASSERT_EQUAL_MEMORY_ARRAY(p0, p0, sizeof(int), 1);
1807
+ TEST_ASSERT_EQUAL_MEMORY_ARRAY(p0, p0, sizeof(int), 4);
1808
+ TEST_ASSERT_EQUAL_MEMORY_ARRAY(p0, p1, sizeof(int), 4);
1809
+ TEST_ASSERT_EQUAL_MEMORY_ARRAY(p0, p2, sizeof(int), 3);
1810
+ TEST_ASSERT_EQUAL_MEMORY_ARRAY(p0, p3, sizeof(int), 1);
1804
1811
  }
1805
1812
 
1806
1813
  void testNotEqualMemoryArraysExpectedNull(void)
@@ -1809,7 +1816,7 @@ void testNotEqualMemoryArraysExpectedNull(void)
1809
1816
  int p1[] = {1, 8, 987, 2};
1810
1817
 
1811
1818
  EXPECT_ABORT_BEGIN
1812
- TEST_ASSERT_EQUAL_MEMORY_ARRAY(p0, p1, 4, 4);
1819
+ TEST_ASSERT_EQUAL_MEMORY_ARRAY(p0, p1, sizeof(int), 4);
1813
1820
  VERIFY_FAILS_END
1814
1821
  }
1815
1822
 
@@ -1819,7 +1826,7 @@ void testNotEqualMemoryArraysActualNull(void)
1819
1826
  int* p1 = NULL;
1820
1827
 
1821
1828
  EXPECT_ABORT_BEGIN
1822
- TEST_ASSERT_EQUAL_MEMORY_ARRAY(p0, p1, 4, 4);
1829
+ TEST_ASSERT_EQUAL_MEMORY_ARRAY(p0, p1, sizeof(int), 4);
1823
1830
  VERIFY_FAILS_END
1824
1831
  }
1825
1832
 
@@ -1829,7 +1836,7 @@ void testNotEqualMemoryArrays1(void)
1829
1836
  int p1[] = {1, 8, 987, 2};
1830
1837
 
1831
1838
  EXPECT_ABORT_BEGIN
1832
- TEST_ASSERT_EQUAL_MEMORY_ARRAY(p0, p1, 4, 4);
1839
+ TEST_ASSERT_EQUAL_MEMORY_ARRAY(p0, p1, sizeof(int), 4);
1833
1840
  VERIFY_FAILS_END
1834
1841
  }
1835
1842
 
@@ -1839,7 +1846,7 @@ void testNotEqualMemoryArrays2(void)
1839
1846
  int p1[] = {2, 8, 987, -2};
1840
1847
 
1841
1848
  EXPECT_ABORT_BEGIN
1842
- TEST_ASSERT_EQUAL_MEMORY_ARRAY(p0, p1, 4, 4);
1849
+ TEST_ASSERT_EQUAL_MEMORY_ARRAY(p0, p1, sizeof(int), 4);
1843
1850
  VERIFY_FAILS_END
1844
1851
  }
1845
1852
 
@@ -1849,7 +1856,7 @@ void testNotEqualMemoryArrays3(void)
1849
1856
  int p1[] = {1, 8, 986, -2};
1850
1857
 
1851
1858
  EXPECT_ABORT_BEGIN
1852
- TEST_ASSERT_EQUAL_MEMORY_ARRAY(p0, p1, 4, 4);
1859
+ TEST_ASSERT_EQUAL_MEMORY_ARRAY(p0, p1, sizeof(int), 4);
1853
1860
  VERIFY_FAILS_END
1854
1861
  }
1855
1862
 
@@ -2226,15 +2233,188 @@ void testFloatsNotEqualNegative2(void)
2226
2233
  #endif
2227
2234
  }
2228
2235
 
2236
+ void testFloatsNotEqualActualNaN(void)
2237
+ {
2238
+ #ifdef UNITY_EXCLUDE_FLOAT
2239
+ TEST_IGNORE();
2240
+ #else
2241
+ EXPECT_ABORT_BEGIN
2242
+ TEST_ASSERT_EQUAL_FLOAT(85.963f, 0.0f / f_zero);
2243
+ VERIFY_FAILS_END
2244
+ #endif
2245
+ }
2246
+
2247
+ void testFloatsNotEqualExpectedNaN(void)
2248
+ {
2249
+ #ifdef UNITY_EXCLUDE_FLOAT
2250
+ TEST_IGNORE();
2251
+ #else
2252
+ EXPECT_ABORT_BEGIN
2253
+ TEST_ASSERT_EQUAL_FLOAT(0.0f / f_zero, 85.963f);
2254
+ VERIFY_FAILS_END
2255
+ #endif
2256
+ }
2257
+
2258
+ void testFloatsNotEqualBothNaN(void)
2259
+ {
2260
+ #ifdef UNITY_EXCLUDE_FLOAT
2261
+ TEST_IGNORE();
2262
+ #else
2263
+ EXPECT_ABORT_BEGIN
2264
+ TEST_ASSERT_EQUAL_FLOAT(0.0f / f_zero, 0.0f / f_zero);
2265
+ VERIFY_FAILS_END
2266
+ #endif
2267
+ }
2268
+
2269
+ void testFloatsNotEqualInfNaN(void)
2270
+ {
2271
+ #ifdef UNITY_EXCLUDE_FLOAT
2272
+ TEST_IGNORE();
2273
+ #else
2274
+ EXPECT_ABORT_BEGIN
2275
+ TEST_ASSERT_EQUAL_FLOAT(1.0f / f_zero, 0.0f / f_zero);
2276
+ VERIFY_FAILS_END
2277
+ #endif
2278
+ }
2279
+
2280
+ void testFloatsNotEqualNaNInf(void)
2281
+ {
2282
+ #ifdef UNITY_EXCLUDE_FLOAT
2283
+ TEST_IGNORE();
2284
+ #else
2285
+ EXPECT_ABORT_BEGIN
2286
+ TEST_ASSERT_EQUAL_FLOAT(0.0f / f_zero, 1.0f / f_zero);
2287
+ VERIFY_FAILS_END
2288
+ #endif
2289
+ }
2290
+
2291
+ void testFloatsNotEqualActualInf(void)
2292
+ {
2293
+ #ifdef UNITY_EXCLUDE_FLOAT
2294
+ TEST_IGNORE();
2295
+ #else
2296
+ EXPECT_ABORT_BEGIN
2297
+ TEST_ASSERT_EQUAL_FLOAT(321.642f, 1.0f / f_zero);
2298
+ VERIFY_FAILS_END
2299
+ #endif
2300
+ }
2301
+
2302
+ void testFloatsNotEqualExpectedInf(void)
2303
+ {
2304
+ #ifdef UNITY_EXCLUDE_FLOAT
2305
+ TEST_IGNORE();
2306
+ #else
2307
+ EXPECT_ABORT_BEGIN
2308
+ TEST_ASSERT_EQUAL_FLOAT(1.0f / f_zero, 321.642f);
2309
+ VERIFY_FAILS_END
2310
+ #endif
2311
+ }
2312
+
2313
+ void testFloatsNotEqualBothInf(void)
2314
+ {
2315
+ #ifdef UNITY_EXCLUDE_FLOAT
2316
+ TEST_IGNORE();
2317
+ #else
2318
+ EXPECT_ABORT_BEGIN
2319
+ TEST_ASSERT_EQUAL_FLOAT(1.0f / f_zero, 1.0f / f_zero);
2320
+ VERIFY_FAILS_END
2321
+ #endif
2322
+ }
2323
+
2324
+ void testFloatsNotEqualPlusMinusInf(void)
2325
+ {
2326
+ #ifdef UNITY_EXCLUDE_FLOAT
2327
+ TEST_IGNORE();
2328
+ #else
2329
+ EXPECT_ABORT_BEGIN
2330
+ TEST_ASSERT_EQUAL_FLOAT(1.0f / f_zero, -1.0f / f_zero);
2331
+ VERIFY_FAILS_END
2332
+ #endif
2333
+ }
2334
+
2335
+ void testFloatIsInf(void)
2336
+ {
2337
+ #ifdef UNITY_EXCLUDE_FLOAT
2338
+ TEST_IGNORE();
2339
+ #else
2340
+ TEST_ASSERT_FLOAT_IS_INF(2.0f / f_zero);
2341
+ TEST_ASSERT_FLOAT_IS_NEG_INF(-3.0f / f_zero);
2342
+ #endif
2343
+ }
2344
+
2345
+ void testFloatIsNotInf(void)
2346
+ {
2347
+ #ifdef UNITY_EXCLUDE_FLOAT
2348
+ TEST_IGNORE();
2349
+ #else
2350
+ EXPECT_ABORT_BEGIN
2351
+ TEST_ASSERT_FLOAT_IS_INF(2.0f);
2352
+ VERIFY_FAILS_END
2353
+ #endif
2354
+ }
2355
+
2356
+ void testFloatIsNotNegInf(void)
2357
+ {
2358
+ #ifdef UNITY_EXCLUDE_FLOAT
2359
+ TEST_IGNORE();
2360
+ #else
2361
+ EXPECT_ABORT_BEGIN
2362
+ TEST_ASSERT_FLOAT_IS_NEG_INF(-999.876f);
2363
+ VERIFY_FAILS_END
2364
+ #endif
2365
+ }
2366
+
2367
+ void testFloatIsNan(void)
2368
+ {
2369
+ #ifdef UNITY_EXCLUDE_FLOAT
2370
+ TEST_IGNORE();
2371
+ #else
2372
+ TEST_ASSERT_FLOAT_IS_NAN(0.0f / f_zero);
2373
+ #endif
2374
+ }
2375
+
2376
+ void testFloatIsNotNan(void)
2377
+ {
2378
+ #ifdef UNITY_EXCLUDE_FLOAT
2379
+ TEST_IGNORE();
2380
+ #else
2381
+ EXPECT_ABORT_BEGIN
2382
+ TEST_ASSERT_FLOAT_IS_NAN(234.9f);
2383
+ VERIFY_FAILS_END
2384
+ #endif
2385
+ }
2386
+
2387
+ void testFloatInfIsNotNan(void)
2388
+ {
2389
+ #ifdef UNITY_EXCLUDE_FLOAT
2390
+ TEST_IGNORE();
2391
+ #else
2392
+ EXPECT_ABORT_BEGIN
2393
+ TEST_ASSERT_FLOAT_IS_NAN(1.0f / f_zero);
2394
+ VERIFY_FAILS_END
2395
+ #endif
2396
+ }
2397
+
2398
+ void testFloatNanIsNotInf(void)
2399
+ {
2400
+ #ifdef UNITY_EXCLUDE_FLOAT
2401
+ TEST_IGNORE();
2402
+ #else
2403
+ EXPECT_ABORT_BEGIN
2404
+ TEST_ASSERT_FLOAT_IS_INF(0.0f / f_zero);
2405
+ VERIFY_FAILS_END
2406
+ #endif
2407
+ }
2408
+
2229
2409
  void testEqualFloatArrays(void)
2230
2410
  {
2231
2411
  #ifdef UNITY_EXCLUDE_FLOAT
2232
2412
  TEST_IGNORE();
2233
2413
  #else
2234
- float p0[] = {1.0, -8.0, 25.4, -0.123};
2235
- float p1[] = {1.0, -8.0, 25.4, -0.123};
2236
- float p2[] = {1.0, -8.0, 25.4, -0.2};
2237
- float p3[] = {1.0, -23.0, 25.0, -0.26};
2414
+ float p0[] = {1.0f, -8.0f, 25.4f, -0.123f};
2415
+ float p1[] = {1.0f, -8.0f, 25.4f, -0.123f};
2416
+ float p2[] = {1.0f, -8.0f, 25.4f, -0.2f};
2417
+ float p3[] = {1.0f, -23.0f, 25.0f, -0.26f};
2238
2418
 
2239
2419
  TEST_ASSERT_EQUAL_FLOAT_ARRAY(p0, p0, 1);
2240
2420
  TEST_ASSERT_EQUAL_FLOAT_ARRAY(p0, p0, 4);
@@ -2250,7 +2430,7 @@ void testNotEqualFloatArraysExpectedNull(void)
2250
2430
  TEST_IGNORE();
2251
2431
  #else
2252
2432
  float* p0 = NULL;
2253
- float p1[] = {1.0, 8.0, 25.4, 0.252};
2433
+ float p1[] = {1.0f, 8.0f, 25.4f, 0.252f};
2254
2434
 
2255
2435
  EXPECT_ABORT_BEGIN
2256
2436
  TEST_ASSERT_EQUAL_FLOAT_ARRAY(p0, p1, 4);
@@ -2263,7 +2443,7 @@ void testNotEqualFloatArraysActualNull(void)
2263
2443
  #ifdef UNITY_EXCLUDE_FLOAT
2264
2444
  TEST_IGNORE();
2265
2445
  #else
2266
- float p0[] = {1.0, 8.0, 25.4, 0.253};
2446
+ float p0[] = {1.0f, 8.0f, 25.4f, 0.253f};
2267
2447
  float* p1 = NULL;
2268
2448
 
2269
2449
  EXPECT_ABORT_BEGIN
@@ -2277,8 +2457,8 @@ void testNotEqualFloatArrays1(void)
2277
2457
  #ifdef UNITY_EXCLUDE_FLOAT
2278
2458
  TEST_IGNORE();
2279
2459
  #else
2280
- float p0[] = {1.0, 8.0, 25.4, 0.253};
2281
- float p1[] = {1.0, 8.0, 25.4, 0.252};
2460
+ float p0[] = {1.0f, 8.0f, 25.4f, 0.253f};
2461
+ float p1[] = {1.0f, 8.0f, 25.4f, 0.252f};
2282
2462
 
2283
2463
  EXPECT_ABORT_BEGIN
2284
2464
  TEST_ASSERT_EQUAL_FLOAT_ARRAY(p0, p1, 4);
@@ -2291,8 +2471,8 @@ void testNotEqualFloatArrays2(void)
2291
2471
  #ifdef UNITY_EXCLUDE_FLOAT
2292
2472
  TEST_IGNORE();
2293
2473
  #else
2294
- float p0[] = {1.0, 8.0, 25.4, 0.253};
2295
- float p1[] = {2.0, 8.0, 25.4, 0.253};
2474
+ float p0[] = {1.0f, 8.0f, 25.4f, 0.253f};
2475
+ float p1[] = {2.0f, 8.0f, 25.4f, 0.253f};
2296
2476
 
2297
2477
  EXPECT_ABORT_BEGIN
2298
2478
  TEST_ASSERT_EQUAL_FLOAT_ARRAY(p0, p1, 4);
@@ -2305,8 +2485,8 @@ void testNotEqualFloatArrays3(void)
2305
2485
  #ifdef UNITY_EXCLUDE_FLOAT
2306
2486
  TEST_IGNORE();
2307
2487
  #else
2308
- float p0[] = {1.0, 8.0, 25.4, 0.253};
2309
- float p1[] = {1.0, 8.0, 25.5, 0.253};
2488
+ float p0[] = {1.0f, 8.0f, 25.4f, 0.253f};
2489
+ float p1[] = {1.0f, 8.0f, 25.5f, 0.253f};
2310
2490
 
2311
2491
  EXPECT_ABORT_BEGIN
2312
2492
  TEST_ASSERT_EQUAL_FLOAT_ARRAY(p0, p1, 4);
@@ -2319,8 +2499,8 @@ void testNotEqualFloatArraysNegative1(void)
2319
2499
  #ifdef UNITY_EXCLUDE_FLOAT
2320
2500
  TEST_IGNORE();
2321
2501
  #else
2322
- float p0[] = {-1.0, -8.0, -25.4, -0.253};
2323
- float p1[] = {-1.0, -8.0, -25.4, -0.252};
2502
+ float p0[] = {-1.0f, -8.0f, -25.4f, -0.253f};
2503
+ float p1[] = {-1.0f, -8.0f, -25.4f, -0.252f};
2324
2504
 
2325
2505
  EXPECT_ABORT_BEGIN
2326
2506
  TEST_ASSERT_EQUAL_FLOAT_ARRAY(p0, p1, 4);
@@ -2333,8 +2513,8 @@ void testNotEqualFloatArraysNegative2(void)
2333
2513
  #ifdef UNITY_EXCLUDE_FLOAT
2334
2514
  TEST_IGNORE();
2335
2515
  #else
2336
- float p0[] = {-1.0, -8.0, -25.4, -0.253};
2337
- float p1[] = {-2.0, -8.0, -25.4, -0.253};
2516
+ float p0[] = {-1.0f, -8.0f, -25.4f, -0.253f};
2517
+ float p1[] = {-2.0f, -8.0f, -25.4f, -0.253f};
2338
2518
 
2339
2519
  EXPECT_ABORT_BEGIN
2340
2520
  TEST_ASSERT_EQUAL_FLOAT_ARRAY(p0, p1, 4);
@@ -2347,8 +2527,36 @@ void testNotEqualFloatArraysNegative3(void)
2347
2527
  #ifdef UNITY_EXCLUDE_FLOAT
2348
2528
  TEST_IGNORE();
2349
2529
  #else
2350
- float p0[] = {-1.0, -8.0, -25.4, -0.253};
2351
- float p1[] = {-1.0, -8.0, -25.5, -0.253};
2530
+ float p0[] = {-1.0f, -8.0f, -25.4f, -0.253f};
2531
+ float p1[] = {-1.0f, -8.0f, -25.5f, -0.253f};
2532
+
2533
+ EXPECT_ABORT_BEGIN
2534
+ TEST_ASSERT_EQUAL_FLOAT_ARRAY(p0, p1, 4);
2535
+ VERIFY_FAILS_END
2536
+ #endif
2537
+ }
2538
+
2539
+ void testNotEqualFloatArraysNaN(void)
2540
+ {
2541
+ #ifdef UNITY_EXCLUDE_FLOAT
2542
+ TEST_IGNORE();
2543
+ #else
2544
+ float p0[] = {1.0f, 0.0f / f_zero, 25.4f, 0.253f};
2545
+ float p1[] = {1.0f, 0.0f / f_zero, 25.4f, 0.253f};
2546
+
2547
+ EXPECT_ABORT_BEGIN
2548
+ TEST_ASSERT_EQUAL_FLOAT_ARRAY(p0, p1, 4);
2549
+ VERIFY_FAILS_END
2550
+ #endif
2551
+ }
2552
+
2553
+ void testNotEqualFloatArraysInf(void)
2554
+ {
2555
+ #ifdef UNITY_EXCLUDE_FLOAT
2556
+ TEST_IGNORE();
2557
+ #else
2558
+ float p0[] = {1.0f, 1.0f / f_zero, 25.4f, 0.253f};
2559
+ float p1[] = {1.0f, 1.0f / f_zero, 25.4f, 0.253f};
2352
2560
 
2353
2561
  EXPECT_ABORT_BEGIN
2354
2562
  TEST_ASSERT_EQUAL_FLOAT_ARRAY(p0, p1, 4);
@@ -2427,6 +2635,179 @@ void testDoublesNotEqualNegative2(void)
2427
2635
  #endif
2428
2636
  }
2429
2637
 
2638
+ void testDoublesNotEqualActualNaN(void)
2639
+ {
2640
+ #ifdef UNITY_EXCLUDE_DOUBLE
2641
+ TEST_IGNORE();
2642
+ #else
2643
+ EXPECT_ABORT_BEGIN
2644
+ TEST_ASSERT_EQUAL_DOUBLE(85.963, 0.0 / d_zero);
2645
+ VERIFY_FAILS_END
2646
+ #endif
2647
+ }
2648
+
2649
+ void testDoublesNotEqualExpectedNaN(void)
2650
+ {
2651
+ #ifdef UNITY_EXCLUDE_DOUBLE
2652
+ TEST_IGNORE();
2653
+ #else
2654
+ EXPECT_ABORT_BEGIN
2655
+ TEST_ASSERT_EQUAL_DOUBLE(0.0 / d_zero, 85.963);
2656
+ VERIFY_FAILS_END
2657
+ #endif
2658
+ }
2659
+
2660
+ void testDoublesNotEqualBothNaN(void)
2661
+ {
2662
+ #ifdef UNITY_EXCLUDE_DOUBLE
2663
+ TEST_IGNORE();
2664
+ #else
2665
+ EXPECT_ABORT_BEGIN
2666
+ TEST_ASSERT_EQUAL_DOUBLE(0.0 / d_zero, 0.0 / d_zero);
2667
+ VERIFY_FAILS_END
2668
+ #endif
2669
+ }
2670
+
2671
+ void testDoublesNotEqualInfNaN(void)
2672
+ {
2673
+ #ifdef UNITY_EXCLUDE_DOUBLE
2674
+ TEST_IGNORE();
2675
+ #else
2676
+ EXPECT_ABORT_BEGIN
2677
+ TEST_ASSERT_EQUAL_DOUBLE(1.0 / d_zero, 0.0 / d_zero);
2678
+ VERIFY_FAILS_END
2679
+ #endif
2680
+ }
2681
+
2682
+ void testDoublesNotEqualNaNInf(void)
2683
+ {
2684
+ #ifdef UNITY_EXCLUDE_DOUBLE
2685
+ TEST_IGNORE();
2686
+ #else
2687
+ EXPECT_ABORT_BEGIN
2688
+ TEST_ASSERT_EQUAL_DOUBLE(0.0 / d_zero, 1.0 / d_zero);
2689
+ VERIFY_FAILS_END
2690
+ #endif
2691
+ }
2692
+
2693
+ void testDoublesNotEqualActualInf(void)
2694
+ {
2695
+ #ifdef UNITY_EXCLUDE_DOUBLE
2696
+ TEST_IGNORE();
2697
+ #else
2698
+ EXPECT_ABORT_BEGIN
2699
+ TEST_ASSERT_EQUAL_DOUBLE(321.642, 1.0 / d_zero);
2700
+ VERIFY_FAILS_END
2701
+ #endif
2702
+ }
2703
+
2704
+ void testDoublesNotEqualExpectedInf(void)
2705
+ {
2706
+ #ifdef UNITY_EXCLUDE_DOUBLE
2707
+ TEST_IGNORE();
2708
+ #else
2709
+ EXPECT_ABORT_BEGIN
2710
+ TEST_ASSERT_EQUAL_DOUBLE(1.0 / d_zero, 321.642);
2711
+ VERIFY_FAILS_END
2712
+ #endif
2713
+ }
2714
+
2715
+ void testDoublesNotEqualBothInf(void)
2716
+ {
2717
+ #ifdef UNITY_EXCLUDE_DOUBLE
2718
+ TEST_IGNORE();
2719
+ #else
2720
+ EXPECT_ABORT_BEGIN
2721
+ TEST_ASSERT_EQUAL_DOUBLE(1.0 / d_zero, 1.0 / d_zero);
2722
+ VERIFY_FAILS_END
2723
+ #endif
2724
+ }
2725
+
2726
+ void testDoublesNotEqualPlusMinusInf(void)
2727
+ {
2728
+ #ifdef UNITY_EXCLUDE_DOUBLE
2729
+ TEST_IGNORE();
2730
+ #else
2731
+ EXPECT_ABORT_BEGIN
2732
+ TEST_ASSERT_EQUAL_DOUBLE(1.0 / d_zero, -1.0 / d_zero);
2733
+ VERIFY_FAILS_END
2734
+ #endif
2735
+ }
2736
+
2737
+ void testDoubleIsInf(void)
2738
+ {
2739
+ #ifdef UNITY_EXCLUDE_DOUBLE
2740
+ TEST_IGNORE();
2741
+ #else
2742
+ TEST_ASSERT_DOUBLE_IS_INF(2.0 / d_zero);
2743
+ TEST_ASSERT_DOUBLE_IS_NEG_INF(-3.0 / d_zero);
2744
+ #endif
2745
+ }
2746
+
2747
+ void testDoubleIsNotInf(void)
2748
+ {
2749
+ #ifdef UNITY_EXCLUDE_DOUBLE
2750
+ TEST_IGNORE();
2751
+ #else
2752
+ EXPECT_ABORT_BEGIN
2753
+ TEST_ASSERT_DOUBLE_IS_INF(2.0);
2754
+ VERIFY_FAILS_END
2755
+ #endif
2756
+ }
2757
+
2758
+ void testDoubleIsNotNegInf(void)
2759
+ {
2760
+ #ifdef UNITY_EXCLUDE_DOUBLE
2761
+ TEST_IGNORE();
2762
+ #else
2763
+ EXPECT_ABORT_BEGIN
2764
+ TEST_ASSERT_DOUBLE_IS_NEG_INF(-999.876);
2765
+ VERIFY_FAILS_END
2766
+ #endif
2767
+ }
2768
+
2769
+ void testDoubleIsNan(void)
2770
+ {
2771
+ #ifdef UNITY_EXCLUDE_DOUBLE
2772
+ TEST_IGNORE();
2773
+ #else
2774
+ TEST_ASSERT_DOUBLE_IS_NAN(0.0 / d_zero);
2775
+ #endif
2776
+ }
2777
+
2778
+ void testDoubleIsNotNan(void)
2779
+ {
2780
+ #ifdef UNITY_EXCLUDE_DOUBLE
2781
+ TEST_IGNORE();
2782
+ #else
2783
+ EXPECT_ABORT_BEGIN
2784
+ TEST_ASSERT_DOUBLE_IS_NAN(234.9);
2785
+ VERIFY_FAILS_END
2786
+ #endif
2787
+ }
2788
+
2789
+ void testDoubleInfIsNotNan(void)
2790
+ {
2791
+ #ifdef UNITY_EXCLUDE_DOUBLE
2792
+ TEST_IGNORE();
2793
+ #else
2794
+ EXPECT_ABORT_BEGIN
2795
+ TEST_ASSERT_DOUBLE_IS_NAN(1.0 / d_zero);
2796
+ VERIFY_FAILS_END
2797
+ #endif
2798
+ }
2799
+
2800
+ void testDoubleNanIsNotInf(void)
2801
+ {
2802
+ #ifdef UNITY_EXCLUDE_DOUBLE
2803
+ TEST_IGNORE();
2804
+ #else
2805
+ EXPECT_ABORT_BEGIN
2806
+ TEST_ASSERT_DOUBLE_IS_INF(0.0 / d_zero);
2807
+ VERIFY_FAILS_END
2808
+ #endif
2809
+ }
2810
+
2430
2811
  void testEqualDoubleArrays(void)
2431
2812
  {
2432
2813
  #ifdef UNITY_EXCLUDE_DOUBLE
@@ -2557,3 +2938,30 @@ void testNotEqualDoubleArraysNegative3(void)
2557
2938
  #endif
2558
2939
  }
2559
2940
 
2941
+ void testNotEqualDoubleArraysNaN(void)
2942
+ {
2943
+ #ifdef UNITY_EXCLUDE_DOUBLE
2944
+ TEST_IGNORE();
2945
+ #else
2946
+ double p0[] = {1.0, 0.0 / d_zero, 25.4, 0.253};
2947
+ double p1[] = {1.0, 0.0 / d_zero, 25.4, 0.253};
2948
+
2949
+ EXPECT_ABORT_BEGIN
2950
+ TEST_ASSERT_EQUAL_DOUBLE_ARRAY(p0, p1, 4);
2951
+ VERIFY_FAILS_END
2952
+ #endif
2953
+ }
2954
+
2955
+ void testNotEqualDoubleArraysInf(void)
2956
+ {
2957
+ #ifdef UNITY_EXCLUDE_DOUBLE
2958
+ TEST_IGNORE();
2959
+ #else
2960
+ double p0[] = {1.0, 1.0 / d_zero, 25.4, 0.253};
2961
+ double p1[] = {1.0, 1.0 / d_zero, 25.4, 0.253};
2962
+
2963
+ EXPECT_ABORT_BEGIN
2964
+ TEST_ASSERT_EQUAL_DOUBLE_ARRAY(p0, p1, 4);
2965
+ VERIFY_FAILS_END
2966
+ #endif
2967
+ }