ceedling 0.15.1 → 0.15.2

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 (295) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +1 -1
  3. data/Gemfile.lock +9 -13
  4. data/README.md +21 -3
  5. data/{rakefile.rb → Rakefile} +0 -0
  6. data/lib/ceedling/version.rb +4 -4
  7. data/lib/ceedling/version.rb.erb +1 -1
  8. data/release/version.info +1 -1
  9. data/vendor/c_exception/Gemfile +1 -1
  10. data/vendor/c_exception/Gemfile.lock +12 -0
  11. data/vendor/c_exception/{docs/license.txt → LICENSE.txt} +9 -9
  12. data/vendor/c_exception/README.md +146 -0
  13. data/vendor/c_exception/{rakefile.rb → Rakefile} +6 -5
  14. data/vendor/c_exception/lib/CException.c +9 -6
  15. data/vendor/c_exception/release/build.info +1 -1
  16. data/vendor/c_exception/release/version.info +1 -1
  17. data/vendor/c_exception/test/CExceptionConfig.h +2 -0
  18. data/vendor/c_exception/test/TestException.c +4 -1
  19. data/vendor/cmock/README.md +24 -0
  20. data/vendor/cmock/{rakefile.rb → Rakefile} +12 -12
  21. data/vendor/cmock/docs/CMock Summary.odt +0 -0
  22. data/vendor/cmock/docs/CMock Summary.pdf +0 -0
  23. data/vendor/cmock/docs/CMock_Summary.md +130 -111
  24. data/vendor/cmock/docs/license.txt +1 -1
  25. data/vendor/cmock/lib/cmock.rb +36 -12
  26. data/vendor/cmock/lib/cmock_config.rb +39 -36
  27. data/vendor/cmock/lib/cmock_generator.rb +33 -25
  28. data/vendor/cmock/lib/cmock_generator_plugin_expect_any_args.rb +68 -0
  29. data/vendor/cmock/lib/cmock_generator_plugin_ignore.rb +18 -42
  30. data/vendor/cmock/lib/cmock_generator_plugin_return_thru_ptr.rb +2 -2
  31. data/vendor/cmock/lib/cmock_generator_utils.rb +39 -29
  32. data/vendor/cmock/lib/cmock_header_parser.rb +46 -39
  33. data/vendor/cmock/rakefile_helper.rb +38 -38
  34. data/vendor/cmock/src/cmock.c +20 -4
  35. data/vendor/cmock/src/cmock.h +6 -1
  36. data/vendor/cmock/src/cmock_internals.h +26 -3
  37. data/vendor/cmock/targets/clang_strict.yml +85 -0
  38. data/vendor/cmock/targets/gcc.yml +4 -2
  39. data/vendor/cmock/targets/gcc_64.yml +55 -0
  40. data/vendor/cmock/test/c/TestCMockC.c +3 -3
  41. data/vendor/cmock/test/c/TestCMockCDynamic.c +11 -11
  42. data/vendor/cmock/test/c/TestCMockCDynamic_Runner.c +4 -2
  43. data/vendor/cmock/test/c/TestCMockC_Runner.c +1 -1
  44. data/vendor/cmock/test/system/systest_generator.rb +38 -26
  45. data/vendor/cmock/test/system/test_compilation/const.h +8 -3
  46. data/vendor/cmock/test/system/test_interactions/all_plugins_but_other_limits.yml +92 -58
  47. data/vendor/cmock/test/system/test_interactions/all_plugins_coexist.yml +53 -48
  48. data/vendor/cmock/test/system/test_interactions/array_and_pointer_handling.yml +58 -56
  49. data/vendor/cmock/test/system/test_interactions/basic_expect_and_return.yml +19 -18
  50. data/vendor/cmock/test/system/test_interactions/expect_and_return_custom_types.yml +13 -13
  51. data/vendor/cmock/test/system/test_interactions/expect_and_return_treat_as.yml +20 -20
  52. data/vendor/cmock/test/system/test_interactions/expect_any_args.yml +238 -0
  53. data/vendor/cmock/test/system/test_interactions/fancy_pointer_handling.yml +36 -34
  54. data/vendor/cmock/test/system/test_interactions/ignore_and_return.yml +24 -15
  55. data/vendor/cmock/test/system/test_interactions/nonstandard_parsed_stuff_2.yml +11 -11
  56. data/vendor/cmock/test/system/test_interactions/return_thru_ptr_and_expect_any_args.yml +235 -0
  57. data/vendor/cmock/test/system/test_interactions/return_thru_ptr_ignore_arg.yml +22 -26
  58. data/vendor/cmock/test/system/test_interactions/stubs_with_callbacks.yml +31 -31
  59. data/vendor/cmock/test/unit/cmock_generator_main_test.rb +141 -109
  60. data/vendor/cmock/test/unit/cmock_generator_plugin_expect_any_args_test.rb +82 -0
  61. data/vendor/cmock/test/unit/cmock_generator_plugin_ignore_test.rb +17 -81
  62. data/vendor/cmock/test/unit/cmock_generator_plugin_return_thru_ptr_test.rb +10 -10
  63. data/vendor/cmock/test/unit/cmock_generator_utils_test.rb +47 -41
  64. data/vendor/cmock/test/unit/cmock_header_parser_test.rb +290 -227
  65. data/vendor/unity/{rakefile.rb → Rakefile} +13 -6
  66. data/vendor/unity/auto/colour_prompt.rb +33 -12
  67. data/vendor/unity/auto/generate_test_runner.rb +67 -63
  68. data/vendor/unity/auto/parseOutput.rb +189 -0
  69. data/vendor/{cmock/vendor/unity/examples → unity/examples/example_1}/makefile +41 -40
  70. data/vendor/unity/examples/example_1/readme.txt +5 -0
  71. data/vendor/{cmock/vendor/unity/examples → unity/examples/example_1}/src/ProductionCode.c +24 -24
  72. data/vendor/{c_exception/vendor/unity/examples → unity/examples/example_1}/src/ProductionCode.h +3 -3
  73. data/vendor/{cmock/vendor/unity/examples → unity/examples/example_1}/src/ProductionCode2.c +9 -9
  74. data/vendor/{c_exception/vendor/unity/examples → unity/examples/example_1}/src/ProductionCode2.h +2 -2
  75. data/vendor/{cmock/vendor/unity/examples → unity/examples/example_1}/test/TestProductionCode.c +62 -62
  76. data/vendor/unity/examples/{test → example_1/test}/TestProductionCode2.c +31 -31
  77. data/vendor/unity/examples/{test/no_ruby → example_1/test/test_runners}/TestProductionCode2_Runner.c +46 -46
  78. data/vendor/unity/examples/{test/no_ruby → example_1/test/test_runners}/TestProductionCode_Runner.c +50 -50
  79. data/vendor/unity/examples/example_2/makefile +45 -0
  80. data/vendor/unity/examples/example_2/readme.txt +5 -0
  81. data/vendor/unity/examples/{src → example_2/src}/ProductionCode.c +24 -24
  82. data/vendor/unity/examples/{src → example_2/src}/ProductionCode.h +3 -3
  83. data/vendor/unity/examples/{src → example_2/src}/ProductionCode2.c +9 -9
  84. data/vendor/unity/examples/{src → example_2/src}/ProductionCode2.h +2 -2
  85. data/vendor/unity/examples/{test → example_2/test}/TestProductionCode.c +64 -62
  86. data/vendor/{cmock/vendor/unity/examples → unity/examples/example_2}/test/TestProductionCode2.c +33 -31
  87. data/vendor/unity/examples/example_2/test/test_runners/TestProductionCode2_Runner.c +9 -0
  88. data/vendor/unity/examples/example_2/test/test_runners/TestProductionCode_Runner.c +11 -0
  89. data/vendor/unity/examples/example_2/test/test_runners/all_tests.c +12 -0
  90. data/vendor/unity/examples/{helper → example_3/helper}/UnityHelper.c +10 -10
  91. data/vendor/{cmock/vendor/unity/examples → unity/examples/example_3}/helper/UnityHelper.h +12 -12
  92. data/vendor/unity/examples/{makefile → example_3/makefile} +41 -40
  93. data/vendor/unity/examples/{rakefile.rb → example_3/rakefile.rb} +44 -43
  94. data/vendor/{cmock/vendor/unity/examples → unity/examples/example_3}/rakefile_helper.rb +256 -256
  95. data/vendor/{c_exception/vendor/unity/examples → unity/examples/example_3}/readme.txt +18 -17
  96. data/vendor/{c_exception/vendor/unity/examples → unity/examples/example_3}/src/ProductionCode.c +24 -24
  97. data/vendor/{cmock/vendor/unity/examples → unity/examples/example_3}/src/ProductionCode.h +3 -3
  98. data/vendor/{c_exception/vendor/unity/examples → unity/examples/example_3}/src/ProductionCode2.c +9 -9
  99. data/vendor/{cmock/vendor/unity/examples → unity/examples/example_3}/src/ProductionCode2.h +2 -2
  100. data/vendor/{c_exception/vendor/unity/targets/gcc_64.yml → unity/examples/example_3/target_gcc_32.yml} +46 -44
  101. data/vendor/{c_exception/vendor/unity/examples → unity/examples/example_3}/test/TestProductionCode.c +62 -62
  102. data/vendor/{c_exception/vendor/unity/examples → unity/examples/example_3}/test/TestProductionCode2.c +31 -31
  103. data/vendor/{c_exception/vendor/unity/examples → unity/examples/example_3}/test/no_ruby/TestProductionCode2_Runner.c +46 -46
  104. data/vendor/{cmock/vendor/unity/examples → unity/examples/example_3}/test/no_ruby/TestProductionCode_Runner.c +50 -50
  105. data/vendor/unity/extras/eclipse/error_parsers.txt +26 -0
  106. data/vendor/unity/extras/fixture/src/unity_fixture.c +4 -1
  107. data/vendor/unity/extras/fixture/src/unity_fixture.h +17 -16
  108. data/vendor/unity/extras/fixture/src/unity_fixture_internals.h +7 -7
  109. data/vendor/unity/extras/fixture/test/unity_fixture_Test.c +17 -0
  110. data/vendor/unity/extras/fixture/test/unity_fixture_TestRunner.c +1 -0
  111. data/vendor/unity/makefile +6 -4
  112. data/vendor/unity/rakefile_helper.rb +36 -27
  113. data/vendor/unity/src/unity.c +180 -181
  114. data/vendor/unity/src/unity.h +64 -2
  115. data/vendor/unity/src/unity_internals.h +188 -102
  116. data/vendor/unity/targets/clang_strict.yml +83 -0
  117. data/vendor/unity/targets/gcc_32.yml +5 -0
  118. data/vendor/unity/targets/gcc_64.yml +5 -0
  119. data/vendor/{c_exception/vendor/unity/targets/gcc.yml → unity/targets/gcc_auto_limits.yml} +5 -2
  120. data/vendor/{cmock/vendor/unity/targets/gcc_64.yml → unity/targets/gcc_auto_sizeof.yml} +6 -3
  121. data/vendor/{cmock/vendor/unity/targets/gcc.yml → unity/targets/gcc_auto_stdint.yml} +4 -2
  122. data/vendor/unity/test/expectdata/testsample_cmd.c +57 -54
  123. data/vendor/unity/test/expectdata/testsample_def.c +53 -50
  124. data/vendor/unity/test/expectdata/testsample_mock_cmd.c +79 -76
  125. data/vendor/unity/test/expectdata/testsample_mock_def.c +75 -72
  126. data/vendor/unity/test/expectdata/testsample_mock_new1.c +88 -85
  127. data/vendor/unity/test/expectdata/testsample_mock_new2.c +88 -85
  128. data/vendor/unity/test/expectdata/testsample_mock_param.c +76 -73
  129. data/vendor/unity/test/expectdata/testsample_mock_run1.c +88 -85
  130. data/vendor/unity/test/expectdata/testsample_mock_run2.c +88 -85
  131. data/vendor/unity/test/expectdata/testsample_mock_yaml.c +89 -86
  132. data/vendor/unity/test/expectdata/testsample_new1.c +63 -60
  133. data/vendor/unity/test/expectdata/testsample_new2.c +66 -63
  134. data/vendor/unity/test/expectdata/testsample_param.c +54 -51
  135. data/vendor/unity/test/expectdata/testsample_run1.c +63 -60
  136. data/vendor/unity/test/expectdata/testsample_run2.c +66 -63
  137. data/vendor/unity/test/expectdata/testsample_yaml.c +67 -64
  138. data/vendor/unity/test/test_generate_test_runner.rb +66 -72
  139. data/vendor/unity/test/testunity.c +591 -111
  140. metadata +58 -195
  141. data/vendor/c_exception/vendor/unity/auto/colour_prompt.rb +0 -94
  142. data/vendor/c_exception/vendor/unity/auto/colour_reporter.rb +0 -39
  143. data/vendor/c_exception/vendor/unity/auto/generate_config.yml +0 -36
  144. data/vendor/c_exception/vendor/unity/auto/generate_module.rb +0 -202
  145. data/vendor/c_exception/vendor/unity/auto/generate_test_runner.rb +0 -313
  146. data/vendor/c_exception/vendor/unity/auto/test_file_filter.rb +0 -23
  147. data/vendor/c_exception/vendor/unity/auto/unity_test_summary.rb +0 -139
  148. data/vendor/c_exception/vendor/unity/docs/Unity Summary.odt +0 -0
  149. data/vendor/c_exception/vendor/unity/docs/Unity Summary.pdf +0 -0
  150. data/vendor/c_exception/vendor/unity/docs/Unity Summary.txt +0 -217
  151. data/vendor/c_exception/vendor/unity/docs/license.txt +0 -31
  152. data/vendor/c_exception/vendor/unity/examples/helper/UnityHelper.c +0 -10
  153. data/vendor/c_exception/vendor/unity/examples/helper/UnityHelper.h +0 -12
  154. data/vendor/c_exception/vendor/unity/examples/makefile +0 -40
  155. data/vendor/c_exception/vendor/unity/examples/rakefile.rb +0 -32
  156. data/vendor/c_exception/vendor/unity/examples/rakefile_helper.rb +0 -256
  157. data/vendor/c_exception/vendor/unity/examples/test/no_ruby/TestProductionCode_Runner.c +0 -50
  158. data/vendor/c_exception/vendor/unity/extras/fixture/build/MakefileWorker.mk +0 -331
  159. data/vendor/c_exception/vendor/unity/extras/fixture/build/filterGcov.sh +0 -61
  160. data/vendor/c_exception/vendor/unity/extras/fixture/rakefile.rb +0 -37
  161. data/vendor/c_exception/vendor/unity/extras/fixture/rakefile_helper.rb +0 -178
  162. data/vendor/c_exception/vendor/unity/extras/fixture/readme.txt +0 -9
  163. data/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture.c +0 -381
  164. data/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture.h +0 -81
  165. data/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture_internals.h +0 -44
  166. data/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture_malloc_overrides.h +0 -16
  167. data/vendor/c_exception/vendor/unity/extras/fixture/test/main/AllTests.c +0 -21
  168. data/vendor/c_exception/vendor/unity/extras/fixture/test/testunity_fixture.c +0 -39
  169. data/vendor/c_exception/vendor/unity/extras/fixture/test/unity_fixture_Test.c +0 -321
  170. data/vendor/c_exception/vendor/unity/extras/fixture/test/unity_fixture_TestRunner.c +0 -40
  171. data/vendor/c_exception/vendor/unity/extras/fixture/test/unity_output_Spy.c +0 -56
  172. data/vendor/c_exception/vendor/unity/extras/fixture/test/unity_output_Spy.h +0 -17
  173. data/vendor/c_exception/vendor/unity/makefile +0 -35
  174. data/vendor/c_exception/vendor/unity/rakefile.rb +0 -59
  175. data/vendor/c_exception/vendor/unity/rakefile_helper.rb +0 -240
  176. data/vendor/c_exception/vendor/unity/release/build.info +0 -2
  177. data/vendor/c_exception/vendor/unity/release/version.info +0 -2
  178. data/vendor/c_exception/vendor/unity/src/unity.c +0 -979
  179. data/vendor/c_exception/vendor/unity/src/unity.h +0 -232
  180. data/vendor/c_exception/vendor/unity/src/unity_internals.h +0 -424
  181. data/vendor/c_exception/vendor/unity/targets/hitech_picc18.yml +0 -101
  182. data/vendor/c_exception/vendor/unity/targets/iar_arm_v4.yml +0 -89
  183. data/vendor/c_exception/vendor/unity/targets/iar_arm_v5.yml +0 -79
  184. data/vendor/c_exception/vendor/unity/targets/iar_arm_v5_3.yml +0 -79
  185. data/vendor/c_exception/vendor/unity/targets/iar_armcortex_LM3S9B92_v5_4.yml +0 -93
  186. data/vendor/c_exception/vendor/unity/targets/iar_cortexm3_v5.yml +0 -83
  187. data/vendor/c_exception/vendor/unity/targets/iar_msp430.yml +0 -94
  188. data/vendor/c_exception/vendor/unity/targets/iar_sh2a_v6.yml +0 -85
  189. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_cmd.c +0 -54
  190. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_def.c +0 -50
  191. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_cmd.c +0 -76
  192. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_def.c +0 -72
  193. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_new1.c +0 -85
  194. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_new2.c +0 -85
  195. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_param.c +0 -73
  196. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_run1.c +0 -85
  197. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_run2.c +0 -85
  198. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_yaml.c +0 -86
  199. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_new1.c +0 -60
  200. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_new2.c +0 -63
  201. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_param.c +0 -51
  202. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_run1.c +0 -60
  203. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_run2.c +0 -63
  204. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_yaml.c +0 -64
  205. data/vendor/c_exception/vendor/unity/test/test_generate_test_runner.rb +0 -94
  206. data/vendor/c_exception/vendor/unity/test/testdata/mocksample.c +0 -51
  207. data/vendor/c_exception/vendor/unity/test/testdata/sample.yml +0 -9
  208. data/vendor/c_exception/vendor/unity/test/testdata/testsample.c +0 -51
  209. data/vendor/c_exception/vendor/unity/test/testparameterized.c +0 -101
  210. data/vendor/c_exception/vendor/unity/test/testunity.c +0 -2024
  211. data/vendor/cmock/vendor/c_exception/docs/CExceptionSummary.odt +0 -0
  212. data/vendor/cmock/vendor/c_exception/docs/CExceptionSummary.pdf +0 -0
  213. data/vendor/cmock/vendor/c_exception/docs/license.txt +0 -30
  214. data/vendor/cmock/vendor/c_exception/docs/readme.txt +0 -236
  215. data/vendor/cmock/vendor/c_exception/lib/CException.c +0 -39
  216. data/vendor/cmock/vendor/c_exception/lib/CException.h +0 -70
  217. data/vendor/cmock/vendor/c_exception/makefile +0 -24
  218. data/vendor/cmock/vendor/c_exception/rakefile.rb +0 -41
  219. data/vendor/cmock/vendor/c_exception/release/build.info +0 -2
  220. data/vendor/cmock/vendor/c_exception/release/version.info +0 -2
  221. data/vendor/cmock/vendor/c_exception/test/CExceptionConfig.h +0 -27
  222. data/vendor/cmock/vendor/c_exception/test/TestException.c +0 -291
  223. data/vendor/cmock/vendor/c_exception/test/TestException_Runner.c +0 -62
  224. data/vendor/cmock/vendor/unity/auto/colour_prompt.rb +0 -94
  225. data/vendor/cmock/vendor/unity/auto/colour_reporter.rb +0 -39
  226. data/vendor/cmock/vendor/unity/auto/generate_config.yml +0 -36
  227. data/vendor/cmock/vendor/unity/auto/generate_module.rb +0 -202
  228. data/vendor/cmock/vendor/unity/auto/generate_test_runner.rb +0 -313
  229. data/vendor/cmock/vendor/unity/auto/test_file_filter.rb +0 -23
  230. data/vendor/cmock/vendor/unity/auto/unity_test_summary.rb +0 -139
  231. data/vendor/cmock/vendor/unity/docs/Unity Summary.odt +0 -0
  232. data/vendor/cmock/vendor/unity/docs/Unity Summary.pdf +0 -0
  233. data/vendor/cmock/vendor/unity/docs/Unity Summary.txt +0 -217
  234. data/vendor/cmock/vendor/unity/docs/license.txt +0 -31
  235. data/vendor/cmock/vendor/unity/examples/helper/UnityHelper.c +0 -10
  236. data/vendor/cmock/vendor/unity/examples/rakefile.rb +0 -32
  237. data/vendor/cmock/vendor/unity/examples/readme.txt +0 -18
  238. data/vendor/cmock/vendor/unity/examples/test/no_ruby/TestProductionCode2_Runner.c +0 -46
  239. data/vendor/cmock/vendor/unity/extras/fixture/build/MakefileWorker.mk +0 -331
  240. data/vendor/cmock/vendor/unity/extras/fixture/build/filterGcov.sh +0 -61
  241. data/vendor/cmock/vendor/unity/extras/fixture/rakefile.rb +0 -37
  242. data/vendor/cmock/vendor/unity/extras/fixture/rakefile_helper.rb +0 -178
  243. data/vendor/cmock/vendor/unity/extras/fixture/readme.txt +0 -9
  244. data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture.c +0 -381
  245. data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture.h +0 -81
  246. data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture_internals.h +0 -44
  247. data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture_malloc_overrides.h +0 -16
  248. data/vendor/cmock/vendor/unity/extras/fixture/test/main/AllTests.c +0 -21
  249. data/vendor/cmock/vendor/unity/extras/fixture/test/testunity_fixture.c +0 -39
  250. data/vendor/cmock/vendor/unity/extras/fixture/test/unity_fixture_Test.c +0 -321
  251. data/vendor/cmock/vendor/unity/extras/fixture/test/unity_fixture_TestRunner.c +0 -40
  252. data/vendor/cmock/vendor/unity/extras/fixture/test/unity_output_Spy.c +0 -56
  253. data/vendor/cmock/vendor/unity/extras/fixture/test/unity_output_Spy.h +0 -17
  254. data/vendor/cmock/vendor/unity/makefile +0 -35
  255. data/vendor/cmock/vendor/unity/rakefile.rb +0 -48
  256. data/vendor/cmock/vendor/unity/rakefile_helper.rb +0 -240
  257. data/vendor/cmock/vendor/unity/release/build.info +0 -2
  258. data/vendor/cmock/vendor/unity/release/version.info +0 -2
  259. data/vendor/cmock/vendor/unity/src/unity.c +0 -979
  260. data/vendor/cmock/vendor/unity/src/unity.h +0 -232
  261. data/vendor/cmock/vendor/unity/src/unity_internals.h +0 -424
  262. data/vendor/cmock/vendor/unity/targets/hitech_picc18.yml +0 -101
  263. data/vendor/cmock/vendor/unity/targets/iar_arm_v4.yml +0 -89
  264. data/vendor/cmock/vendor/unity/targets/iar_arm_v5.yml +0 -79
  265. data/vendor/cmock/vendor/unity/targets/iar_arm_v5_3.yml +0 -79
  266. data/vendor/cmock/vendor/unity/targets/iar_armcortex_LM3S9B92_v5_4.yml +0 -93
  267. data/vendor/cmock/vendor/unity/targets/iar_cortexm3_v5.yml +0 -83
  268. data/vendor/cmock/vendor/unity/targets/iar_msp430.yml +0 -94
  269. data/vendor/cmock/vendor/unity/targets/iar_sh2a_v6.yml +0 -85
  270. data/vendor/cmock/vendor/unity/test/expectdata/testsample_cmd.c +0 -54
  271. data/vendor/cmock/vendor/unity/test/expectdata/testsample_def.c +0 -50
  272. data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_cmd.c +0 -76
  273. data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_def.c +0 -72
  274. data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_new1.c +0 -85
  275. data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_new2.c +0 -85
  276. data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_param.c +0 -73
  277. data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_run1.c +0 -85
  278. data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_run2.c +0 -85
  279. data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_yaml.c +0 -86
  280. data/vendor/cmock/vendor/unity/test/expectdata/testsample_new1.c +0 -60
  281. data/vendor/cmock/vendor/unity/test/expectdata/testsample_new2.c +0 -63
  282. data/vendor/cmock/vendor/unity/test/expectdata/testsample_param.c +0 -51
  283. data/vendor/cmock/vendor/unity/test/expectdata/testsample_run1.c +0 -60
  284. data/vendor/cmock/vendor/unity/test/expectdata/testsample_run2.c +0 -63
  285. data/vendor/cmock/vendor/unity/test/expectdata/testsample_yaml.c +0 -64
  286. data/vendor/cmock/vendor/unity/test/test_generate_test_runner.rb +0 -94
  287. data/vendor/cmock/vendor/unity/test/testdata/mocksample.c +0 -51
  288. data/vendor/cmock/vendor/unity/test/testdata/sample.yml +0 -9
  289. data/vendor/cmock/vendor/unity/test/testdata/testsample.c +0 -51
  290. data/vendor/cmock/vendor/unity/test/testparameterized.c +0 -101
  291. data/vendor/cmock/vendor/unity/test/testunity.c +0 -2024
  292. data/vendor/unity/Gemfile +0 -4
  293. data/vendor/unity/examples/helper/UnityHelper.h +0 -12
  294. data/vendor/unity/examples/rakefile_helper.rb +0 -256
  295. data/vendor/unity/examples/readme.txt +0 -18
@@ -1,20 +1,20 @@
1
- /* ==========================================
1
+ /* =========================================================================
2
2
  Unity Project - A Test Framework for C
3
- Copyright (c) 2007 Mike Karlesky, Mark VanderVoord, Greg Williams
3
+ Copyright (c) 2007-14 Mike Karlesky, Mark VanderVoord, Greg Williams
4
4
  [Released under MIT License. Please refer to license.txt for details]
5
- ========================================== */
5
+ ============================================================================ */
6
6
 
7
7
  #include "unity.h"
8
8
  #include <stdio.h>
9
9
  #include <string.h>
10
10
 
11
- #define UNITY_FAIL_AND_BAIL { Unity.CurrentTestFailed = 1; UNITY_OUTPUT_CHAR('\n'); longjmp(Unity.AbortFrame, 1); }
12
- #define UNITY_IGNORE_AND_BAIL { Unity.CurrentTestIgnored = 1; UNITY_OUTPUT_CHAR('\n'); longjmp(Unity.AbortFrame, 1); }
11
+ #define UNITY_FAIL_AND_BAIL { Unity.CurrentTestFailed = 1; longjmp(Unity.AbortFrame, 1); }
12
+ #define UNITY_IGNORE_AND_BAIL { Unity.CurrentTestIgnored = 1; longjmp(Unity.AbortFrame, 1); }
13
13
  /// return prematurely if we are already in failure or ignore state
14
14
  #define UNITY_SKIP_EXECUTION { if ((Unity.CurrentTestFailed != 0) || (Unity.CurrentTestIgnored != 0)) {return;} }
15
15
  #define UNITY_PRINT_EOL { UNITY_OUTPUT_CHAR('\n'); }
16
16
 
17
- struct _Unity Unity = { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , { 0 } };
17
+ struct _Unity Unity;
18
18
 
19
19
  const char* UnityStrNull = "NULL";
20
20
  const char* UnityStrSpacer = ". ";
@@ -28,9 +28,14 @@ const char* UnityStrDelta = " Values Not Within Delta ";
28
28
  const char* UnityStrPointless= " You Asked Me To Compare Nothing, Which Was Pointless.";
29
29
  const char* UnityStrNullPointerForExpected= " Expected pointer to be NULL";
30
30
  const char* UnityStrNullPointerForActual = " Actual pointer was NULL";
31
+ const char* UnityStrNot = "Not ";
31
32
  const char* UnityStrInf = "Infinity";
32
33
  const char* UnityStrNegInf = "Negative Infinity";
33
34
  const char* UnityStrNaN = "NaN";
35
+ const char* UnityStrDet = "Determinate";
36
+ const char* UnityStrErrFloat = "Unity Floating Point Disabled";
37
+ const char* UnityStrErrDouble= "Unity Double Precision Disabled";
38
+ const char* UnityStrErr64 = "Unity 64-bit Support Disabled";
34
39
 
35
40
  #ifndef UNITY_EXCLUDE_FLOAT
36
41
  // Dividing by these constants produces +/- infinity.
@@ -42,7 +47,7 @@ static const _UD d_zero = 0.0;
42
47
  #endif
43
48
 
44
49
  // compiler-generic print formatting masks
45
- const _U_UINT UnitySizeMask[] =
50
+ const _U_UINT UnitySizeMask[] =
46
51
  {
47
52
  255u, // 0xFF
48
53
  65535u, // 0xFFFF
@@ -92,7 +97,7 @@ void UnityPrint(const char* string)
92
97
  else
93
98
  {
94
99
  UNITY_OUTPUT_CHAR('\\');
95
- UnityPrintNumberHex((_U_SINT)*pch, 2);
100
+ UnityPrintNumberHex((_U_UINT)*pch, 2);
96
101
  }
97
102
  pch++;
98
103
  }
@@ -112,7 +117,7 @@ void UnityPrintNumberByStyle(const _U_SINT number, const UNITY_DISPLAY_STYLE_T s
112
117
  }
113
118
  else
114
119
  {
115
- UnityPrintNumberHex((_U_UINT)number, (style & 0x000F) << 1);
120
+ UnityPrintNumberHex((_U_UINT)number, (char)((style & 0x000F) << 1));
116
121
  }
117
122
  }
118
123
 
@@ -249,9 +254,10 @@ void UnityPrintOk(void)
249
254
  //-----------------------------------------------
250
255
  void UnityTestResultsBegin(const char* file, const UNITY_LINE_TYPE line)
251
256
  {
257
+ UNITY_PRINT_EOL;
252
258
  UnityPrint(file);
253
259
  UNITY_OUTPUT_CHAR(':');
254
- UnityPrintNumber(line);
260
+ UnityPrintNumber((_U_SINT)line);
255
261
  UNITY_OUTPUT_CHAR(':');
256
262
  UnityPrint(Unity.CurrentTestName);
257
263
  UNITY_OUTPUT_CHAR(':');
@@ -275,7 +281,6 @@ void UnityConcludeTest(void)
275
281
  {
276
282
  UnityTestResultsBegin(Unity.TestFile, Unity.CurrentTestLineNumber);
277
283
  UnityPrint("PASS");
278
- UNITY_PRINT_EOL;
279
284
  }
280
285
  else
281
286
  {
@@ -308,7 +313,7 @@ void UnityPrintExpectedAndActualStrings(const char* expected, const char* actual
308
313
  }
309
314
  else
310
315
  {
311
- UnityPrint(UnityStrNull);
316
+ UnityPrint(UnityStrNull);
312
317
  }
313
318
  UnityPrint(UnityStrWas);
314
319
  if (actual != NULL)
@@ -319,7 +324,7 @@ void UnityPrintExpectedAndActualStrings(const char* expected, const char* actual
319
324
  }
320
325
  else
321
326
  {
322
- UnityPrint(UnityStrNull);
327
+ UnityPrint(UnityStrNull);
323
328
  }
324
329
  }
325
330
 
@@ -327,12 +332,12 @@ void UnityPrintExpectedAndActualStrings(const char* expected, const char* actual
327
332
  // Assertion & Control Helpers
328
333
  //-----------------------------------------------
329
334
 
330
- int UnityCheckArraysForNull(const void* expected, const void* actual, const UNITY_LINE_TYPE lineNumber, const char* msg)
335
+ int UnityCheckArraysForNull(UNITY_PTR_ATTRIBUTE const void* expected, UNITY_PTR_ATTRIBUTE const void* actual, const UNITY_LINE_TYPE lineNumber, const char* msg)
331
336
  {
332
337
  //return true if they are both NULL
333
338
  if ((expected == NULL) && (actual == NULL))
334
339
  return 1;
335
-
340
+
336
341
  //throw error if just expected is NULL
337
342
  if (expected == NULL)
338
343
  {
@@ -350,7 +355,7 @@ int UnityCheckArraysForNull(const void* expected, const void* actual, const UNIT
350
355
  UnityAddMsgIfSpecified(msg);
351
356
  UNITY_FAIL_AND_BAIL;
352
357
  }
353
-
358
+
354
359
  //return false if neither is NULL
355
360
  return 0;
356
361
  }
@@ -366,14 +371,14 @@ void UnityAssertBits(const _U_SINT mask,
366
371
  const UNITY_LINE_TYPE lineNumber)
367
372
  {
368
373
  UNITY_SKIP_EXECUTION;
369
-
374
+
370
375
  if ((mask & expected) != (mask & actual))
371
376
  {
372
377
  UnityTestResultsFailBegin(lineNumber);
373
378
  UnityPrint(UnityStrExpected);
374
- UnityPrintMask(mask, expected);
379
+ UnityPrintMask((_U_UINT)mask, (_U_UINT)expected);
375
380
  UnityPrint(UnityStrWas);
376
- UnityPrintMask(mask, actual);
381
+ UnityPrintMask((_U_UINT)mask, (_U_UINT)actual);
377
382
  UnityAddMsgIfSpecified(msg);
378
383
  UNITY_FAIL_AND_BAIL;
379
384
  }
@@ -401,19 +406,19 @@ void UnityAssertEqualNumber(const _U_SINT expected,
401
406
  }
402
407
 
403
408
  //-----------------------------------------------
404
- void UnityAssertEqualIntArray(const _U_SINT* expected,
405
- const _U_SINT* actual,
409
+ void UnityAssertEqualIntArray(UNITY_PTR_ATTRIBUTE const void* expected,
410
+ UNITY_PTR_ATTRIBUTE const void* actual,
406
411
  const _UU32 num_elements,
407
412
  const char* msg,
408
413
  const UNITY_LINE_TYPE lineNumber,
409
414
  const UNITY_DISPLAY_STYLE_T style)
410
415
  {
411
416
  _UU32 elements = num_elements;
412
- const _US8* ptr_exp = (_US8*)expected;
413
- const _US8* ptr_act = (_US8*)actual;
417
+ UNITY_PTR_ATTRIBUTE const _US8* ptr_exp = (UNITY_PTR_ATTRIBUTE _US8*)expected;
418
+ UNITY_PTR_ATTRIBUTE const _US8* ptr_act = (UNITY_PTR_ATTRIBUTE _US8*)actual;
414
419
 
415
420
  UNITY_SKIP_EXECUTION;
416
-
421
+
417
422
  if (elements == 0)
418
423
  {
419
424
  UnityTestResultsFailBegin(lineNumber);
@@ -421,14 +426,14 @@ void UnityAssertEqualIntArray(const _U_SINT* expected,
421
426
  UnityAddMsgIfSpecified(msg);
422
427
  UNITY_FAIL_AND_BAIL;
423
428
  }
424
-
425
- if (UnityCheckArraysForNull((void*)expected, (void*)actual, lineNumber, msg) == 1)
429
+
430
+ if (UnityCheckArraysForNull((UNITY_PTR_ATTRIBUTE void*)expected, (UNITY_PTR_ATTRIBUTE void*)actual, lineNumber, msg) == 1)
426
431
  return;
427
432
 
428
433
  // If style is UNITY_DISPLAY_STYLE_INT, we'll fall into the default case rather than the INT16 or INT32 (etc) case
429
434
  // as UNITY_DISPLAY_STYLE_INT includes a flag for UNITY_DISPLAY_RANGE_AUTO, which the width-specific
430
435
  // variants do not. Therefore remove this flag.
431
- switch(style & ~UNITY_DISPLAY_RANGE_AUTO)
436
+ switch(style & (UNITY_DISPLAY_STYLE_T)(~UNITY_DISPLAY_RANGE_AUTO))
432
437
  {
433
438
  case UNITY_DISPLAY_STYLE_HEX8:
434
439
  case UNITY_DISPLAY_STYLE_INT8:
@@ -456,15 +461,15 @@ void UnityAssertEqualIntArray(const _U_SINT* expected,
456
461
  case UNITY_DISPLAY_STYLE_UINT16:
457
462
  while (elements--)
458
463
  {
459
- if (*(_US16*)ptr_exp != *(_US16*)ptr_act)
464
+ if (*(UNITY_PTR_ATTRIBUTE _US16*)ptr_exp != *(UNITY_PTR_ATTRIBUTE _US16*)ptr_act)
460
465
  {
461
466
  UnityTestResultsFailBegin(lineNumber);
462
467
  UnityPrint(UnityStrElement);
463
468
  UnityPrintNumberByStyle((num_elements - elements - 1), UNITY_DISPLAY_STYLE_UINT);
464
469
  UnityPrint(UnityStrExpected);
465
- UnityPrintNumberByStyle(*(_US16*)ptr_exp, style);
470
+ UnityPrintNumberByStyle(*(UNITY_PTR_ATTRIBUTE _US16*)ptr_exp, style);
466
471
  UnityPrint(UnityStrWas);
467
- UnityPrintNumberByStyle(*(_US16*)ptr_act, style);
472
+ UnityPrintNumberByStyle(*(UNITY_PTR_ATTRIBUTE _US16*)ptr_act, style);
468
473
  UnityAddMsgIfSpecified(msg);
469
474
  UNITY_FAIL_AND_BAIL;
470
475
  }
@@ -478,15 +483,15 @@ void UnityAssertEqualIntArray(const _U_SINT* expected,
478
483
  case UNITY_DISPLAY_STYLE_UINT64:
479
484
  while (elements--)
480
485
  {
481
- if (*(_US64*)ptr_exp != *(_US64*)ptr_act)
486
+ if (*(UNITY_PTR_ATTRIBUTE _US64*)ptr_exp != *(UNITY_PTR_ATTRIBUTE _US64*)ptr_act)
482
487
  {
483
488
  UnityTestResultsFailBegin(lineNumber);
484
489
  UnityPrint(UnityStrElement);
485
490
  UnityPrintNumberByStyle((num_elements - elements - 1), UNITY_DISPLAY_STYLE_UINT);
486
491
  UnityPrint(UnityStrExpected);
487
- UnityPrintNumberByStyle(*(_US64*)ptr_exp, style);
492
+ UnityPrintNumberByStyle(*(UNITY_PTR_ATTRIBUTE _US64*)ptr_exp, style);
488
493
  UnityPrint(UnityStrWas);
489
- UnityPrintNumberByStyle(*(_US64*)ptr_act, style);
494
+ UnityPrintNumberByStyle(*(UNITY_PTR_ATTRIBUTE _US64*)ptr_act, style);
490
495
  UnityAddMsgIfSpecified(msg);
491
496
  UNITY_FAIL_AND_BAIL;
492
497
  }
@@ -498,15 +503,15 @@ void UnityAssertEqualIntArray(const _U_SINT* expected,
498
503
  default:
499
504
  while (elements--)
500
505
  {
501
- if (*(_US32*)ptr_exp != *(_US32*)ptr_act)
506
+ if (*(UNITY_PTR_ATTRIBUTE _US32*)ptr_exp != *(UNITY_PTR_ATTRIBUTE _US32*)ptr_act)
502
507
  {
503
508
  UnityTestResultsFailBegin(lineNumber);
504
509
  UnityPrint(UnityStrElement);
505
510
  UnityPrintNumberByStyle((num_elements - elements - 1), UNITY_DISPLAY_STYLE_UINT);
506
511
  UnityPrint(UnityStrExpected);
507
- UnityPrintNumberByStyle(*(_US32*)ptr_exp, style);
512
+ UnityPrintNumberByStyle(*(UNITY_PTR_ATTRIBUTE _US32*)ptr_exp, style);
508
513
  UnityPrint(UnityStrWas);
509
- UnityPrintNumberByStyle(*(_US32*)ptr_act, style);
514
+ UnityPrintNumberByStyle(*(UNITY_PTR_ATTRIBUTE _US32*)ptr_act, style);
510
515
  UnityAddMsgIfSpecified(msg);
511
516
  UNITY_FAIL_AND_BAIL;
512
517
  }
@@ -519,19 +524,19 @@ void UnityAssertEqualIntArray(const _U_SINT* expected,
519
524
 
520
525
  //-----------------------------------------------
521
526
  #ifndef UNITY_EXCLUDE_FLOAT
522
- void UnityAssertEqualFloatArray(const _UF* expected,
523
- const _UF* actual,
527
+ void UnityAssertEqualFloatArray(UNITY_PTR_ATTRIBUTE const _UF* expected,
528
+ UNITY_PTR_ATTRIBUTE const _UF* actual,
524
529
  const _UU32 num_elements,
525
530
  const char* msg,
526
531
  const UNITY_LINE_TYPE lineNumber)
527
532
  {
528
533
  _UU32 elements = num_elements;
529
- const _UF* ptr_expected = expected;
530
- const _UF* ptr_actual = actual;
534
+ UNITY_PTR_ATTRIBUTE const _UF* ptr_expected = expected;
535
+ UNITY_PTR_ATTRIBUTE const _UF* ptr_actual = actual;
531
536
  _UF diff, tol;
532
537
 
533
538
  UNITY_SKIP_EXECUTION;
534
-
539
+
535
540
  if (elements == 0)
536
541
  {
537
542
  UnityTestResultsFailBegin(lineNumber);
@@ -539,8 +544,8 @@ void UnityAssertEqualFloatArray(const _UF* expected,
539
544
  UnityAddMsgIfSpecified(msg);
540
545
  UNITY_FAIL_AND_BAIL;
541
546
  }
542
-
543
- if (UnityCheckArraysForNull((void*)expected, (void*)actual, lineNumber, msg) == 1)
547
+
548
+ if (UnityCheckArraysForNull((UNITY_PTR_ATTRIBUTE void*)expected, (UNITY_PTR_ATTRIBUTE void*)actual, lineNumber, msg) == 1)
544
549
  return;
545
550
 
546
551
  while (elements--)
@@ -551,7 +556,7 @@ void UnityAssertEqualFloatArray(const _UF* expected,
551
556
  tol = UNITY_FLOAT_PRECISION * *ptr_expected;
552
557
  if (tol < 0.0f)
553
558
  tol = 0.0f - tol;
554
-
559
+
555
560
  //This first part of this condition will catch any NaN or Infinite values
556
561
  if ((diff * 0.0f != 0.0f) || (diff > tol))
557
562
  {
@@ -585,7 +590,7 @@ void UnityAssertFloatsWithin(const _UF delta,
585
590
  _UF pos_delta = delta;
586
591
 
587
592
  UNITY_SKIP_EXECUTION;
588
-
593
+
589
594
  if (diff < 0.0f)
590
595
  {
591
596
  diff = 0.0f - diff;
@@ -613,74 +618,61 @@ void UnityAssertFloatsWithin(const _UF delta,
613
618
  }
614
619
 
615
620
  //-----------------------------------------------
616
- void UnityAssertFloatIsInf(const _UF actual,
617
- const char* msg,
618
- const UNITY_LINE_TYPE lineNumber)
621
+ void UnityAssertFloatSpecial(const _UF actual,
622
+ const char* msg,
623
+ const UNITY_LINE_TYPE lineNumber,
624
+ const UNITY_FLOAT_TRAIT_T style)
619
625
  {
620
626
  UNITY_SKIP_EXECUTION;
621
627
 
622
- // In Microsoft Visual C++ Express Edition 2008,
623
- // if ((1.0f / f_zero) != actual)
624
- // produces
625
- // error C2124: divide or mod by zero
626
- // As a workaround, place 0 into a variable.
627
- if ((1.0f / f_zero) != actual)
628
+ const char* trait_names[] = { UnityStrInf, UnityStrNegInf, UnityStrNaN, UnityStrDet };
629
+ _U_SINT should_be_trait = ((_U_SINT)style & 1);
630
+ _U_SINT is_trait = !should_be_trait;
631
+ _U_SINT trait_index = style >> 1;
632
+
633
+ switch(style)
628
634
  {
629
- UnityTestResultsFailBegin(lineNumber);
630
- #ifdef UNITY_FLOAT_VERBOSE
631
- UnityPrint(UnityStrExpected);
632
- UnityPrint(UnityStrInf);
633
- UnityPrint(UnityStrWas);
634
- UnityPrintFloat(actual);
635
- #else
636
- UnityPrint(UnityStrDelta);
637
- #endif
638
- UnityAddMsgIfSpecified(msg);
639
- UNITY_FAIL_AND_BAIL;
640
- }
641
- }
635
+ //To determine Inf / Neg Inf, we compare to an Inf / Neg Inf value we create on the fly
636
+ //We are using a variable to hold the zero value because some compilers complain about dividing by zero otherwise
637
+ case UNITY_FLOAT_IS_INF:
638
+ case UNITY_FLOAT_IS_NOT_INF:
639
+ is_trait = ((1.0f / f_zero) == actual) ? 1 : 0;
640
+ break;
641
+ case UNITY_FLOAT_IS_NEG_INF:
642
+ case UNITY_FLOAT_IS_NOT_NEG_INF:
643
+ is_trait = ((-1.0f / f_zero) == actual) ? 1 : 0;
644
+ break;
642
645
 
643
- //-----------------------------------------------
644
- void UnityAssertFloatIsNegInf(const _UF actual,
645
- const char* msg,
646
- const UNITY_LINE_TYPE lineNumber)
647
- {
648
- UNITY_SKIP_EXECUTION;
646
+ //NaN is the only floating point value that does NOT equal itself. Therefore if Actual == Actual, then it is NOT NaN.
647
+ case UNITY_FLOAT_IS_NAN:
648
+ case UNITY_FLOAT_IS_NOT_NAN:
649
+ is_trait = (actual == actual) ? 0 : 1;
650
+ break;
649
651
 
650
- // The rationale for not using 1.0f/0.0f is given in UnityAssertFloatIsInf's body.
651
- if ((-1.0f / f_zero) != actual)
652
- {
653
- UnityTestResultsFailBegin(lineNumber);
654
- #ifdef UNITY_FLOAT_VERBOSE
655
- UnityPrint(UnityStrExpected);
656
- UnityPrint(UnityStrNegInf);
657
- UnityPrint(UnityStrWas);
658
- UnityPrintFloat(actual);
659
- #else
660
- UnityPrint(UnityStrDelta);
661
- #endif
662
- UnityAddMsgIfSpecified(msg);
663
- UNITY_FAIL_AND_BAIL;
652
+ //A determinate number is non infinite and not NaN. (therefore the opposite of the two above)
653
+ case UNITY_FLOAT_IS_DET:
654
+ case UNITY_FLOAT_IS_NOT_DET:
655
+ if ( (actual != actual) || ((1.0f / f_zero) == actual) || ((-1.0f / f_zero) == actual) )
656
+ is_trait = 0;
657
+ else
658
+ is_trait = 1;
659
+ break;
664
660
  }
665
- }
666
661
 
667
- //-----------------------------------------------
668
- void UnityAssertFloatIsNaN(const _UF actual,
669
- const char* msg,
670
- const UNITY_LINE_TYPE lineNumber)
671
- {
672
- UNITY_SKIP_EXECUTION;
673
-
674
- if (actual == actual)
662
+ if (is_trait != should_be_trait)
675
663
  {
676
664
  UnityTestResultsFailBegin(lineNumber);
677
- #ifdef UNITY_FLOAT_VERBOSE
678
665
  UnityPrint(UnityStrExpected);
679
- UnityPrint(UnityStrNaN);
666
+ if (!should_be_trait)
667
+ UnityPrint(UnityStrNot);
668
+ UnityPrint(trait_names[trait_index]);
680
669
  UnityPrint(UnityStrWas);
670
+ #ifdef UNITY_FLOAT_VERBOSE
681
671
  UnityPrintFloat(actual);
682
672
  #else
683
- UnityPrint(UnityStrDelta);
673
+ if (should_be_trait)
674
+ UnityPrint(UnityStrNot);
675
+ UnityPrint(trait_names[trait_index]);
684
676
  #endif
685
677
  UnityAddMsgIfSpecified(msg);
686
678
  UNITY_FAIL_AND_BAIL;
@@ -691,19 +683,19 @@ void UnityAssertFloatIsNaN(const _UF actual,
691
683
 
692
684
  //-----------------------------------------------
693
685
  #ifndef UNITY_EXCLUDE_DOUBLE
694
- void UnityAssertEqualDoubleArray(const _UD* expected,
695
- const _UD* actual,
686
+ void UnityAssertEqualDoubleArray(UNITY_PTR_ATTRIBUTE const _UD* expected,
687
+ UNITY_PTR_ATTRIBUTE const _UD* actual,
696
688
  const _UU32 num_elements,
697
689
  const char* msg,
698
690
  const UNITY_LINE_TYPE lineNumber)
699
691
  {
700
692
  _UU32 elements = num_elements;
701
- const _UD* ptr_expected = expected;
702
- const _UD* ptr_actual = actual;
693
+ UNITY_PTR_ATTRIBUTE const _UD* ptr_expected = expected;
694
+ UNITY_PTR_ATTRIBUTE const _UD* ptr_actual = actual;
703
695
  _UD diff, tol;
704
696
 
705
697
  UNITY_SKIP_EXECUTION;
706
-
698
+
707
699
  if (elements == 0)
708
700
  {
709
701
  UnityTestResultsFailBegin(lineNumber);
@@ -711,8 +703,8 @@ void UnityAssertEqualDoubleArray(const _UD* expected,
711
703
  UnityAddMsgIfSpecified(msg);
712
704
  UNITY_FAIL_AND_BAIL;
713
705
  }
714
-
715
- if (UnityCheckArraysForNull((void*)expected, (void*)actual, lineNumber, msg) == 1)
706
+
707
+ if (UnityCheckArraysForNull((UNITY_PTR_ATTRIBUTE void*)expected, (UNITY_PTR_ATTRIBUTE void*)actual, lineNumber, msg) == 1)
716
708
  return;
717
709
 
718
710
  while (elements--)
@@ -723,7 +715,7 @@ void UnityAssertEqualDoubleArray(const _UD* expected,
723
715
  tol = UNITY_DOUBLE_PRECISION * *ptr_expected;
724
716
  if (tol < 0.0)
725
717
  tol = 0.0 - tol;
726
-
718
+
727
719
  //This first part of this condition will catch any NaN or Infinite values
728
720
  if ((diff * 0.0 != 0.0) || (diff > tol))
729
721
  {
@@ -757,7 +749,7 @@ void UnityAssertDoublesWithin(const _UD delta,
757
749
  _UD pos_delta = delta;
758
750
 
759
751
  UNITY_SKIP_EXECUTION;
760
-
752
+
761
753
  if (diff < 0.0)
762
754
  {
763
755
  diff = 0.0 - diff;
@@ -785,76 +777,69 @@ void UnityAssertDoublesWithin(const _UD delta,
785
777
  }
786
778
 
787
779
  //-----------------------------------------------
788
- void UnityAssertDoubleIsInf(const _UD actual,
789
- const char* msg,
790
- const UNITY_LINE_TYPE lineNumber)
780
+
781
+ void UnityAssertDoubleSpecial(const _UD actual,
782
+ const char* msg,
783
+ const UNITY_LINE_TYPE lineNumber,
784
+ const UNITY_FLOAT_TRAIT_T style)
791
785
  {
792
786
  UNITY_SKIP_EXECUTION;
793
787
 
794
- // The rationale for not using 1.0/0.0 is given in UnityAssertFloatIsInf's body.
795
- if ((1.0 / d_zero) != actual)
788
+ const char* trait_names[] = { UnityStrInf, UnityStrNegInf, UnityStrNaN, UnityStrDet };
789
+ _U_SINT should_be_trait = ((_U_SINT)style & 1);
790
+ _U_SINT is_trait = !should_be_trait;
791
+ _U_SINT trait_index = style >> 1;
792
+
793
+ switch(style)
796
794
  {
797
- UnityTestResultsFailBegin(lineNumber);
798
- #ifdef UNITY_DOUBLE_VERBOSE
799
- UnityPrint(UnityStrExpected);
800
- UnityPrint(UnityStrInf);
801
- UnityPrint(UnityStrWas);
802
- UnityPrintFloat((float)actual);
803
- #else
804
- UnityPrint(UnityStrDelta);
805
- #endif
806
- UnityAddMsgIfSpecified(msg);
807
- UNITY_FAIL_AND_BAIL;
808
- }
809
- }
795
+ //To determine Inf / Neg Inf, we compare to an Inf / Neg Inf value we create on the fly
796
+ //We are using a variable to hold the zero value because some compilers complain about dividing by zero otherwise
797
+ case UNITY_FLOAT_IS_INF:
798
+ case UNITY_FLOAT_IS_NOT_INF:
799
+ is_trait = ((1.0 / d_zero) == actual) ? 1 : 0;
800
+ break;
801
+ case UNITY_FLOAT_IS_NEG_INF:
802
+ case UNITY_FLOAT_IS_NOT_NEG_INF:
803
+ is_trait = ((-1.0 / d_zero) == actual) ? 1 : 0;
804
+ break;
810
805
 
811
- //-----------------------------------------------
812
- void UnityAssertDoubleIsNegInf(const _UD actual,
813
- const char* msg,
814
- const UNITY_LINE_TYPE lineNumber)
815
- {
816
- UNITY_SKIP_EXECUTION;
806
+ //NaN is the only floating point value that does NOT equal itself. Therefore if Actual == Actual, then it is NOT NaN.
807
+ case UNITY_FLOAT_IS_NAN:
808
+ case UNITY_FLOAT_IS_NOT_NAN:
809
+ is_trait = (actual == actual) ? 0 : 1;
810
+ break;
817
811
 
818
- // The rationale for not using 1.0/0.0 is given in UnityAssertFloatIsInf's body.
819
- if ((-1.0 / d_zero) != actual)
820
- {
821
- UnityTestResultsFailBegin(lineNumber);
822
- #ifdef UNITY_DOUBLE_VERBOSE
823
- UnityPrint(UnityStrExpected);
824
- UnityPrint(UnityStrNegInf);
825
- UnityPrint(UnityStrWas);
826
- UnityPrintFloat((float)actual);
827
- #else
828
- UnityPrint(UnityStrDelta);
829
- #endif
830
- UnityAddMsgIfSpecified(msg);
831
- UNITY_FAIL_AND_BAIL;
812
+ //A determinate number is non infinite and not NaN. (therefore the opposite of the two above)
813
+ case UNITY_FLOAT_IS_DET:
814
+ case UNITY_FLOAT_IS_NOT_DET:
815
+ if ( (actual != actual) || ((1.0 / d_zero) == actual) || ((-1.0 / d_zero) == actual) )
816
+ is_trait = 0;
817
+ else
818
+ is_trait = 1;
819
+ break;
832
820
  }
833
- }
834
-
835
- //-----------------------------------------------
836
- void UnityAssertDoubleIsNaN(const _UD actual,
837
- const char* msg,
838
- const UNITY_LINE_TYPE lineNumber)
839
- {
840
- UNITY_SKIP_EXECUTION;
841
821
 
842
- if (actual == actual)
822
+ if (is_trait != should_be_trait)
843
823
  {
844
824
  UnityTestResultsFailBegin(lineNumber);
845
- #ifdef UNITY_DOUBLE_VERBOSE
846
825
  UnityPrint(UnityStrExpected);
847
- UnityPrint(UnityStrNaN);
826
+ if (!should_be_trait)
827
+ UnityPrint(UnityStrNot);
828
+ UnityPrint(trait_names[trait_index]);
848
829
  UnityPrint(UnityStrWas);
849
- UnityPrintFloat((float)actual);
830
+ #ifdef UNITY_DOUBLE_VERBOSE
831
+ UnityPrintFloat(actual);
850
832
  #else
851
- UnityPrint(UnityStrDelta);
833
+ if (should_be_trait)
834
+ UnityPrint(UnityStrNot);
835
+ UnityPrint(trait_names[trait_index]);
852
836
  #endif
853
837
  UnityAddMsgIfSpecified(msg);
854
838
  UNITY_FAIL_AND_BAIL;
855
839
  }
856
840
  }
857
841
 
842
+
858
843
  #endif // not UNITY_EXCLUDE_DOUBLE
859
844
 
860
845
  //-----------------------------------------------
@@ -866,7 +851,7 @@ void UnityAssertNumbersWithin( const _U_SINT delta,
866
851
  const UNITY_DISPLAY_STYLE_T style)
867
852
  {
868
853
  UNITY_SKIP_EXECUTION;
869
-
854
+
870
855
  if ((style & UNITY_DISPLAY_RANGE_INT) == UNITY_DISPLAY_RANGE_INT)
871
856
  {
872
857
  if (actual > expected)
@@ -905,7 +890,7 @@ void UnityAssertEqualString(const char* expected,
905
890
  _UU32 i;
906
891
 
907
892
  UNITY_SKIP_EXECUTION;
908
-
893
+
909
894
  // if both pointers not null compare the strings
910
895
  if (expected && actual)
911
896
  {
@@ -943,9 +928,9 @@ void UnityAssertEqualStringArray( const char** expected,
943
928
  const UNITY_LINE_TYPE lineNumber)
944
929
  {
945
930
  _UU32 i, j = 0;
946
-
931
+
947
932
  UNITY_SKIP_EXECUTION;
948
-
933
+
949
934
  // if no elements, it's an error
950
935
  if (num_elements == 0)
951
936
  {
@@ -955,9 +940,9 @@ void UnityAssertEqualStringArray( const char** expected,
955
940
  UNITY_FAIL_AND_BAIL;
956
941
  }
957
942
 
958
- if (UnityCheckArraysForNull((void*)expected, (void*)actual, lineNumber, msg) == 1)
943
+ if (UnityCheckArraysForNull((UNITY_PTR_ATTRIBUTE void*)expected, (UNITY_PTR_ATTRIBUTE void*)actual, lineNumber, msg) == 1)
959
944
  return;
960
-
945
+
961
946
  do
962
947
  {
963
948
  // if both pointers not null compare the strings
@@ -991,25 +976,25 @@ void UnityAssertEqualStringArray( const char** expected,
991
976
  UnityPrintExpectedAndActualStrings((const char*)(expected[j]), (const char*)(actual[j]));
992
977
  UnityAddMsgIfSpecified(msg);
993
978
  UNITY_FAIL_AND_BAIL;
994
- }
979
+ }
995
980
  } while (++j < num_elements);
996
981
  }
997
982
 
998
983
  //-----------------------------------------------
999
- void UnityAssertEqualMemory( const void* expected,
1000
- const void* actual,
984
+ void UnityAssertEqualMemory( UNITY_PTR_ATTRIBUTE const void* expected,
985
+ UNITY_PTR_ATTRIBUTE const void* actual,
1001
986
  const _UU32 length,
1002
987
  const _UU32 num_elements,
1003
988
  const char* msg,
1004
989
  const UNITY_LINE_TYPE lineNumber)
1005
990
  {
1006
- unsigned char* ptr_exp = (unsigned char*)expected;
1007
- unsigned char* ptr_act = (unsigned char*)actual;
991
+ UNITY_PTR_ATTRIBUTE unsigned char* ptr_exp = (UNITY_PTR_ATTRIBUTE unsigned char*)expected;
992
+ UNITY_PTR_ATTRIBUTE unsigned char* ptr_act = (UNITY_PTR_ATTRIBUTE unsigned char*)actual;
1008
993
  _UU32 elements = num_elements;
1009
994
  _UU32 bytes;
1010
995
 
1011
996
  UNITY_SKIP_EXECUTION;
1012
-
997
+
1013
998
  if ((elements == 0) || (length == 0))
1014
999
  {
1015
1000
  UnityTestResultsFailBegin(lineNumber);
@@ -1018,9 +1003,9 @@ void UnityAssertEqualMemory( const void* expected,
1018
1003
  UNITY_FAIL_AND_BAIL;
1019
1004
  }
1020
1005
 
1021
- if (UnityCheckArraysForNull((void*)expected, (void*)actual, lineNumber, msg) == 1)
1006
+ if (UnityCheckArraysForNull((UNITY_PTR_ATTRIBUTE void*)expected, (UNITY_PTR_ATTRIBUTE void*)actual, lineNumber, msg) == 1)
1022
1007
  return;
1023
-
1008
+
1024
1009
  while (elements--)
1025
1010
  {
1026
1011
  /////////////////////////////////////
@@ -1049,7 +1034,7 @@ void UnityAssertEqualMemory( const void* expected,
1049
1034
  ptr_act += 1;
1050
1035
  }
1051
1036
  /////////////////////////////////////
1052
-
1037
+
1053
1038
  }
1054
1039
  }
1055
1040
 
@@ -1068,7 +1053,7 @@ void UnityFail(const char* msg, const UNITY_LINE_TYPE line)
1068
1053
  UNITY_OUTPUT_CHAR(':');
1069
1054
  if (msg[0] != ' ')
1070
1055
  {
1071
- UNITY_OUTPUT_CHAR(' ');
1056
+ UNITY_OUTPUT_CHAR(' ');
1072
1057
  }
1073
1058
  UnityPrint(msg);
1074
1059
  }
@@ -1092,13 +1077,19 @@ void UnityIgnore(const char* msg, const UNITY_LINE_TYPE line)
1092
1077
  }
1093
1078
 
1094
1079
  //-----------------------------------------------
1080
+ #ifdef UNITY_SUPPORT_WEAK
1081
+ UNITY_WEAK void setUp(void) { }
1082
+ UNITY_WEAK void tearDown(void) { }
1083
+ #else
1095
1084
  void setUp(void);
1096
1085
  void tearDown(void);
1086
+ #endif
1087
+ //-----------------------------------------------
1097
1088
  void UnityDefaultTestRun(UnityTestFunction Func, const char* FuncName, const int FuncLineNum)
1098
1089
  {
1099
1090
  Unity.CurrentTestName = FuncName;
1100
- Unity.CurrentTestLineNumber = FuncLineNum;
1101
- Unity.NumberOfTests++;
1091
+ Unity.CurrentTestLineNumber = (UNITY_LINE_TYPE)FuncLineNum;
1092
+ Unity.NumberOfTests++;
1102
1093
  if (TEST_PROTECT())
1103
1094
  {
1104
1095
  setUp();
@@ -1114,6 +1105,9 @@ void UnityDefaultTestRun(UnityTestFunction Func, const char* FuncName, const int
1114
1105
  //-----------------------------------------------
1115
1106
  void UnityBegin(void)
1116
1107
  {
1108
+ Unity.TestFile = NULL;
1109
+ Unity.CurrentTestName = NULL;
1110
+ Unity.CurrentTestLineNumber = 0;
1117
1111
  Unity.NumberOfTests = 0;
1118
1112
  Unity.TestFailures = 0;
1119
1113
  Unity.TestIgnores = 0;
@@ -1124,13 +1118,14 @@ void UnityBegin(void)
1124
1118
  //-----------------------------------------------
1125
1119
  int UnityEnd(void)
1126
1120
  {
1121
+ UNITY_PRINT_EOL;
1127
1122
  UnityPrint("-----------------------");
1128
1123
  UNITY_PRINT_EOL;
1129
- UnityPrintNumber(Unity.NumberOfTests);
1124
+ UnityPrintNumber((_U_SINT)(Unity.NumberOfTests));
1130
1125
  UnityPrint(" Tests ");
1131
- UnityPrintNumber(Unity.TestFailures);
1126
+ UnityPrintNumber((_U_SINT)(Unity.TestFailures));
1132
1127
  UnityPrint(" Failures ");
1133
- UnityPrintNumber(Unity.TestIgnores);
1128
+ UnityPrintNumber((_U_SINT)(Unity.TestIgnores));
1134
1129
  UnityPrint(" Ignored");
1135
1130
  UNITY_PRINT_EOL;
1136
1131
  if (Unity.TestFailures == 0U)
@@ -1142,5 +1137,9 @@ int UnityEnd(void)
1142
1137
  UnityPrintFail();
1143
1138
  }
1144
1139
  UNITY_PRINT_EOL;
1145
- return Unity.TestFailures;
1140
+ return (int)(Unity.TestFailures);
1146
1141
  }
1142
+
1143
+ //-----------------------------------------------
1144
+
1145
+