ceedling 0.18.0 → 0.19.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 (626) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +17 -13
  3. data/ceedling-0.18.0.gem +0 -0
  4. data/docs/CeedlingPacket.md +7 -5
  5. data/lib/ceedling/configurator_builder.rb +10 -21
  6. data/lib/ceedling/configurator_setup.rb +16 -17
  7. data/lib/ceedling/constants.rb +4 -3
  8. data/lib/ceedling/defaults.rb +9 -4
  9. data/lib/ceedling/dependinator.rb +0 -1
  10. data/lib/ceedling/file_path_utils.rb +22 -26
  11. data/lib/ceedling/flaginator.rb +5 -5
  12. data/lib/ceedling/generator.rb +8 -7
  13. data/lib/ceedling/preprocessinator_file_handler.rb +6 -6
  14. data/lib/ceedling/preprocessinator_includes_handler.rb +1 -1
  15. data/lib/ceedling/rules_release.rake +5 -3
  16. data/lib/ceedling/rules_tests.rake +2 -1
  17. data/lib/ceedling/tasks_base.rake +1 -1
  18. data/lib/ceedling/tasks_vendor.rake +9 -10
  19. data/lib/ceedling/tool_executor.rb +23 -22
  20. data/lib/ceedling/version.rb +3 -3
  21. data/plugins/module_generator/lib/module_generator.rb +3 -3
  22. data/plugins/xml_tests_report/xml_tests_report.rb +1 -1
  23. data/spec/preprocessinator_includes_handler_spec.rb +1 -1
  24. data/spec/spec_system_helper.rb +192 -192
  25. data/vendor/c_exception/vendor/unity/Gemfile +4 -0
  26. data/vendor/c_exception/vendor/unity/Gemfile.lock +12 -0
  27. data/vendor/c_exception/vendor/unity/auto/colour_prompt.rb +115 -0
  28. data/vendor/c_exception/vendor/unity/auto/colour_reporter.rb +39 -0
  29. data/vendor/c_exception/vendor/unity/auto/generate_config.yml +36 -0
  30. data/vendor/c_exception/vendor/unity/auto/generate_module.rb +202 -0
  31. data/vendor/c_exception/vendor/unity/auto/generate_test_runner.rb +320 -0
  32. data/vendor/c_exception/vendor/unity/auto/parseOutput.rb +189 -0
  33. data/vendor/c_exception/vendor/unity/auto/test_file_filter.rb +23 -0
  34. data/vendor/c_exception/vendor/unity/auto/unity_test_summary.rb +139 -0
  35. data/vendor/c_exception/vendor/unity/docs/Unity Summary.odt +0 -0
  36. data/vendor/c_exception/vendor/unity/docs/Unity Summary.pdf +0 -0
  37. data/vendor/c_exception/vendor/unity/docs/Unity Summary.txt +216 -0
  38. data/vendor/c_exception/vendor/unity/docs/license.txt +31 -0
  39. data/vendor/c_exception/vendor/unity/examples/example_1/makefile +41 -0
  40. data/vendor/c_exception/vendor/unity/examples/example_1/readme.txt +5 -0
  41. data/vendor/c_exception/vendor/unity/examples/example_1/src/ProductionCode.c +24 -0
  42. data/vendor/c_exception/vendor/unity/examples/example_1/src/ProductionCode.h +3 -0
  43. data/vendor/c_exception/vendor/unity/examples/example_1/src/ProductionCode2.c +9 -0
  44. data/vendor/c_exception/vendor/unity/examples/example_1/src/ProductionCode2.h +2 -0
  45. data/vendor/c_exception/vendor/unity/examples/example_1/test/TestProductionCode.c +62 -0
  46. data/vendor/c_exception/vendor/unity/examples/example_1/test/TestProductionCode2.c +31 -0
  47. data/vendor/{unity/examples/example_3/test/no_ruby → c_exception/vendor/unity/examples/example_1/test/test_runners}/TestProductionCode2_Runner.c +16 -3
  48. data/vendor/{unity/examples/example_3/test/no_ruby → c_exception/vendor/unity/examples/example_1/test/test_runners}/TestProductionCode_Runner.c +16 -3
  49. data/vendor/c_exception/vendor/unity/examples/example_2/makefile +45 -0
  50. data/vendor/c_exception/vendor/unity/examples/example_2/readme.txt +5 -0
  51. data/vendor/c_exception/vendor/unity/examples/example_2/src/ProductionCode.c +24 -0
  52. data/vendor/c_exception/vendor/unity/examples/example_2/src/ProductionCode.h +3 -0
  53. data/vendor/c_exception/vendor/unity/examples/example_2/src/ProductionCode2.c +9 -0
  54. data/vendor/c_exception/vendor/unity/examples/example_2/src/ProductionCode2.h +2 -0
  55. data/vendor/c_exception/vendor/unity/examples/example_2/test/TestProductionCode.c +64 -0
  56. data/vendor/c_exception/vendor/unity/examples/example_2/test/TestProductionCode2.c +33 -0
  57. data/vendor/c_exception/vendor/unity/examples/example_2/test/test_runners/TestProductionCode2_Runner.c +9 -0
  58. data/vendor/c_exception/vendor/unity/examples/example_2/test/test_runners/TestProductionCode_Runner.c +11 -0
  59. data/vendor/c_exception/vendor/unity/examples/example_2/test/test_runners/all_tests.c +12 -0
  60. data/vendor/c_exception/vendor/unity/examples/example_3/helper/UnityHelper.c +10 -0
  61. data/vendor/c_exception/vendor/unity/examples/example_3/helper/UnityHelper.h +12 -0
  62. data/vendor/c_exception/vendor/unity/examples/example_3/makefile +41 -0
  63. data/vendor/c_exception/vendor/unity/examples/example_3/rakefile.rb +44 -0
  64. data/vendor/c_exception/vendor/unity/examples/example_3/rakefile_helper.rb +256 -0
  65. data/vendor/c_exception/vendor/unity/examples/example_3/readme.txt +19 -0
  66. data/vendor/c_exception/vendor/unity/examples/example_3/src/ProductionCode.c +24 -0
  67. data/vendor/c_exception/vendor/unity/examples/example_3/src/ProductionCode.h +3 -0
  68. data/vendor/c_exception/vendor/unity/examples/example_3/src/ProductionCode2.c +9 -0
  69. data/vendor/c_exception/vendor/unity/examples/example_3/src/ProductionCode2.h +2 -0
  70. data/vendor/c_exception/vendor/unity/examples/example_3/target_gcc_32.yml +46 -0
  71. data/vendor/c_exception/vendor/unity/examples/example_3/test/TestProductionCode.c +62 -0
  72. data/vendor/c_exception/vendor/unity/examples/example_3/test/TestProductionCode2.c +31 -0
  73. data/vendor/c_exception/vendor/unity/examples/example_3/test/no_ruby/TestProductionCode2_Runner.c +46 -0
  74. data/vendor/c_exception/vendor/unity/examples/example_3/test/no_ruby/TestProductionCode_Runner.c +50 -0
  75. data/vendor/c_exception/vendor/unity/extras/eclipse/error_parsers.txt +26 -0
  76. data/vendor/c_exception/vendor/unity/extras/fixture/rakefile.rb +37 -0
  77. data/vendor/c_exception/vendor/unity/extras/fixture/rakefile_helper.rb +179 -0
  78. data/vendor/c_exception/vendor/unity/extras/fixture/readme.txt +9 -0
  79. data/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture.c +387 -0
  80. data/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture.h +82 -0
  81. data/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture_internals.h +44 -0
  82. data/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture_malloc_overrides.h +16 -0
  83. data/vendor/c_exception/vendor/unity/extras/fixture/test/main/AllTests.c +21 -0
  84. data/vendor/c_exception/vendor/unity/extras/fixture/test/testunity_fixture.c +39 -0
  85. data/vendor/c_exception/vendor/unity/extras/fixture/test/unity_fixture_Test.c +341 -0
  86. data/vendor/c_exception/vendor/unity/extras/fixture/test/unity_fixture_TestRunner.c +41 -0
  87. data/vendor/c_exception/vendor/unity/extras/fixture/test/unity_output_Spy.c +56 -0
  88. data/vendor/c_exception/vendor/unity/extras/fixture/test/unity_output_Spy.h +17 -0
  89. data/vendor/c_exception/vendor/unity/makefile +37 -0
  90. data/vendor/c_exception/vendor/unity/rakefile.rb +61 -0
  91. data/vendor/c_exception/vendor/unity/rakefile_helper.rb +249 -0
  92. data/vendor/c_exception/vendor/unity/release/build.info +2 -0
  93. data/vendor/c_exception/vendor/unity/release/version.info +2 -0
  94. data/vendor/c_exception/vendor/unity/src/unity.c +1145 -0
  95. data/vendor/c_exception/vendor/unity/src/unity.h +307 -0
  96. data/vendor/c_exception/vendor/unity/src/unity_internals.h +620 -0
  97. data/vendor/c_exception/vendor/unity/targets/clang_strict.yml +83 -0
  98. data/vendor/c_exception/vendor/unity/targets/gcc_32.yml +44 -0
  99. data/vendor/c_exception/vendor/unity/targets/gcc_64.yml +45 -0
  100. data/vendor/c_exception/vendor/unity/targets/hitech_picc18.yml +101 -0
  101. data/vendor/c_exception/vendor/unity/targets/iar_arm_v4.yml +89 -0
  102. data/vendor/c_exception/vendor/unity/targets/iar_arm_v5.yml +79 -0
  103. data/vendor/c_exception/vendor/unity/targets/iar_arm_v5_3.yml +79 -0
  104. data/vendor/c_exception/vendor/unity/targets/iar_armcortex_LM3S9B92_v5_4.yml +93 -0
  105. data/vendor/c_exception/vendor/unity/targets/iar_cortexm3_v5.yml +83 -0
  106. data/vendor/c_exception/vendor/unity/targets/iar_msp430.yml +94 -0
  107. data/vendor/c_exception/vendor/unity/targets/iar_sh2a_v6.yml +85 -0
  108. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_cmd.c +57 -0
  109. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_def.c +53 -0
  110. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_cmd.c +79 -0
  111. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_def.c +75 -0
  112. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_new1.c +88 -0
  113. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_new2.c +88 -0
  114. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_param.c +76 -0
  115. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_run1.c +88 -0
  116. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_run2.c +88 -0
  117. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_yaml.c +89 -0
  118. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_new1.c +63 -0
  119. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_new2.c +66 -0
  120. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_param.c +54 -0
  121. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_run1.c +63 -0
  122. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_run2.c +66 -0
  123. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_yaml.c +67 -0
  124. data/vendor/c_exception/vendor/unity/test/test_generate_test_runner.rb +88 -0
  125. data/vendor/c_exception/vendor/unity/test/testdata/mocksample.c +51 -0
  126. data/vendor/c_exception/vendor/unity/test/testdata/sample.yml +9 -0
  127. data/vendor/c_exception/vendor/unity/test/testdata/testsample.c +51 -0
  128. data/vendor/c_exception/vendor/unity/test/testparameterized.c +101 -0
  129. data/vendor/c_exception/vendor/unity/test/testunity.c +3447 -0
  130. data/vendor/cmock/README.md +1 -1
  131. data/vendor/cmock/Rakefile +106 -104
  132. data/vendor/cmock/config/production_environment.rb +14 -14
  133. data/vendor/cmock/config/test_environment.rb +16 -16
  134. data/vendor/cmock/docs/CMock_Summary.md +9 -0
  135. data/vendor/cmock/docs/license.txt +2 -2
  136. data/vendor/cmock/examples/make_example/Makefile +30 -0
  137. data/vendor/cmock/examples/make_example/src/foo.c +5 -0
  138. data/vendor/cmock/examples/make_example/src/foo.h +5 -0
  139. data/vendor/cmock/examples/make_example/src/main.c +15 -0
  140. data/vendor/cmock/examples/make_example/test/test_foo.c +17 -0
  141. data/vendor/cmock/examples/make_example/test/test_main.c +15 -0
  142. data/vendor/cmock/examples/{gcc.yml → temp_sensor/gcc.yml} +43 -43
  143. data/vendor/cmock/examples/{iar_v4.yml → temp_sensor/iar_v4.yml} +91 -91
  144. data/vendor/cmock/examples/{iar_v5.yml → temp_sensor/iar_v5.yml} +80 -80
  145. data/vendor/cmock/examples/{rakefile.rb → temp_sensor/rakefile.rb} +32 -32
  146. data/vendor/cmock/examples/{rakefile_helper.rb → temp_sensor/rakefile_helper.rb} +270 -270
  147. data/vendor/cmock/examples/{src → temp_sensor/src}/AT91SAM7X256.h +2556 -2556
  148. data/vendor/cmock/examples/{src → temp_sensor/src}/AdcConductor.c +42 -42
  149. data/vendor/cmock/examples/{src → temp_sensor/src}/AdcConductor.h +11 -11
  150. data/vendor/cmock/examples/{src → temp_sensor/src}/AdcHardware.c +27 -27
  151. data/vendor/cmock/examples/{src → temp_sensor/src}/AdcHardware.h +9 -9
  152. data/vendor/cmock/examples/{src → temp_sensor/src}/AdcHardwareConfigurator.c +18 -18
  153. data/vendor/cmock/examples/{src → temp_sensor/src}/AdcHardwareConfigurator.h +10 -10
  154. data/vendor/cmock/examples/{src → temp_sensor/src}/AdcModel.c +33 -33
  155. data/vendor/cmock/examples/{src → temp_sensor/src}/AdcModel.h +13 -13
  156. data/vendor/cmock/examples/{src → temp_sensor/src}/AdcTemperatureSensor.c +51 -51
  157. data/vendor/cmock/examples/{src → temp_sensor/src}/AdcTemperatureSensor.h +10 -10
  158. data/vendor/cmock/examples/{src → temp_sensor/src}/Executor.c +25 -25
  159. data/vendor/cmock/examples/{src → temp_sensor/src}/Executor.h +9 -9
  160. data/vendor/cmock/examples/{src → temp_sensor/src}/IntrinsicsWrapper.c +18 -18
  161. data/vendor/cmock/examples/{src → temp_sensor/src}/IntrinsicsWrapper.h +7 -7
  162. data/vendor/cmock/examples/{src → temp_sensor/src}/Main.c +46 -46
  163. data/vendor/cmock/examples/{src → temp_sensor/src}/Main.h +7 -7
  164. data/vendor/cmock/examples/{src → temp_sensor/src}/Model.c +10 -10
  165. data/vendor/cmock/examples/{src → temp_sensor/src}/Model.h +8 -8
  166. data/vendor/cmock/examples/{src → temp_sensor/src}/ModelConfig.h +7 -7
  167. data/vendor/cmock/examples/{src → temp_sensor/src}/TaskScheduler.c +72 -72
  168. data/vendor/cmock/examples/{src → temp_sensor/src}/TaskScheduler.h +11 -11
  169. data/vendor/cmock/examples/{src → temp_sensor/src}/TemperatureCalculator.c +27 -27
  170. data/vendor/cmock/examples/{src → temp_sensor/src}/TemperatureCalculator.h +6 -6
  171. data/vendor/cmock/examples/{src → temp_sensor/src}/TemperatureFilter.c +39 -39
  172. data/vendor/cmock/examples/{src → temp_sensor/src}/TemperatureFilter.h +10 -10
  173. data/vendor/cmock/examples/{src → temp_sensor/src}/TimerConductor.c +15 -15
  174. data/vendor/cmock/examples/{src → temp_sensor/src}/TimerConductor.h +9 -9
  175. data/vendor/cmock/examples/{src → temp_sensor/src}/TimerConfigurator.c +51 -51
  176. data/vendor/cmock/examples/{src → temp_sensor/src}/TimerConfigurator.h +15 -15
  177. data/vendor/cmock/examples/{src → temp_sensor/src}/TimerHardware.c +15 -15
  178. data/vendor/cmock/examples/{src → temp_sensor/src}/TimerHardware.h +8 -8
  179. data/vendor/cmock/examples/{src → temp_sensor/src}/TimerInterruptConfigurator.c +55 -55
  180. data/vendor/cmock/examples/{src → temp_sensor/src}/TimerInterruptConfigurator.h +13 -13
  181. data/vendor/cmock/examples/{src → temp_sensor/src}/TimerInterruptHandler.c +25 -25
  182. data/vendor/cmock/examples/{src → temp_sensor/src}/TimerInterruptHandler.h +10 -10
  183. data/vendor/cmock/examples/{src → temp_sensor/src}/TimerModel.c +9 -9
  184. data/vendor/cmock/examples/{src → temp_sensor/src}/TimerModel.h +8 -8
  185. data/vendor/cmock/examples/{src → temp_sensor/src}/Types.h +103 -103
  186. data/vendor/cmock/examples/{src → temp_sensor/src}/UsartBaudRateRegisterCalculator.c +18 -18
  187. data/vendor/cmock/examples/{src → temp_sensor/src}/UsartBaudRateRegisterCalculator.h +6 -6
  188. data/vendor/cmock/examples/{src → temp_sensor/src}/UsartConductor.c +21 -21
  189. data/vendor/cmock/examples/{src → temp_sensor/src}/UsartConductor.h +7 -7
  190. data/vendor/cmock/examples/{src → temp_sensor/src}/UsartConfigurator.c +39 -39
  191. data/vendor/cmock/examples/{src → temp_sensor/src}/UsartConfigurator.h +13 -13
  192. data/vendor/cmock/examples/{src → temp_sensor/src}/UsartHardware.c +22 -22
  193. data/vendor/cmock/examples/{src → temp_sensor/src}/UsartHardware.h +9 -9
  194. data/vendor/cmock/examples/{src → temp_sensor/src}/UsartModel.c +34 -34
  195. data/vendor/cmock/examples/{src → temp_sensor/src}/UsartModel.h +10 -10
  196. data/vendor/cmock/examples/{src → temp_sensor/src}/UsartPutChar.c +16 -16
  197. data/vendor/cmock/examples/{src → temp_sensor/src}/UsartPutChar.h +8 -8
  198. data/vendor/cmock/examples/{src → temp_sensor/src}/UsartTransmitBufferStatus.c +7 -7
  199. data/vendor/cmock/examples/{src → temp_sensor/src}/UsartTransmitBufferStatus.h +8 -8
  200. data/vendor/cmock/examples/{test → temp_sensor/test}/TestAdcConductor.c +121 -121
  201. data/vendor/cmock/examples/{test → temp_sensor/test}/TestAdcHardware.c +44 -44
  202. data/vendor/cmock/examples/{test → temp_sensor/test}/TestAdcHardwareConfigurator.c +43 -43
  203. data/vendor/cmock/examples/{test → temp_sensor/test}/TestAdcModel.c +33 -33
  204. data/vendor/cmock/examples/{test → temp_sensor/test}/TestAdcTemperatureSensor.c +47 -47
  205. data/vendor/cmock/examples/{test → temp_sensor/test}/TestExecutor.c +36 -36
  206. data/vendor/cmock/examples/{test → temp_sensor/test}/TestMain.c +24 -24
  207. data/vendor/cmock/examples/{test → temp_sensor/test}/TestModel.c +20 -20
  208. data/vendor/cmock/examples/{test → temp_sensor/test}/TestTaskScheduler.c +104 -104
  209. data/vendor/cmock/examples/{test → temp_sensor/test}/TestTemperatureCalculator.c +33 -33
  210. data/vendor/cmock/examples/{test → temp_sensor/test}/TestTemperatureFilter.c +69 -69
  211. data/vendor/cmock/examples/{test → temp_sensor/test}/TestTimerConductor.c +32 -32
  212. data/vendor/cmock/examples/{test → temp_sensor/test}/TestTimerConfigurator.c +112 -112
  213. data/vendor/cmock/examples/{test → temp_sensor/test}/TestTimerHardware.c +26 -26
  214. data/vendor/cmock/examples/{test → temp_sensor/test}/TestTimerInterruptConfigurator.c +78 -78
  215. data/vendor/cmock/examples/{test → temp_sensor/test}/TestTimerInterruptHandler.c +66 -66
  216. data/vendor/cmock/examples/{test → temp_sensor/test}/TestTimerModel.c +18 -18
  217. data/vendor/cmock/examples/{test → temp_sensor/test}/TestUsartBaudRateRegisterCalculator.c +21 -21
  218. data/vendor/cmock/examples/{test → temp_sensor/test}/TestUsartConductor.c +40 -40
  219. data/vendor/cmock/examples/{test → temp_sensor/test}/TestUsartConfigurator.c +77 -77
  220. data/vendor/cmock/examples/{test → temp_sensor/test}/TestUsartHardware.c +37 -37
  221. data/vendor/cmock/examples/{test → temp_sensor/test}/TestUsartModel.c +36 -36
  222. data/vendor/cmock/examples/{test → temp_sensor/test}/TestUsartPutChar.c +43 -43
  223. data/vendor/cmock/examples/{test → temp_sensor/test}/TestUsartTransmitBufferStatus.c +22 -22
  224. data/vendor/cmock/iar/iar_v4/Resource/at91SAM7X256_FLASH.xcl +185 -185
  225. data/vendor/cmock/iar/iar_v4/Resource/at91SAM7X256_RAM.xcl +185 -185
  226. data/vendor/cmock/iar/iar_v4/Resource/ioat91sam7x256.ddf +2259 -2259
  227. data/vendor/cmock/iar/iar_v4/cmock_demo.dep +3691 -3691
  228. data/vendor/cmock/iar/iar_v4/cmock_demo.ewp +2581 -2581
  229. data/vendor/cmock/iar/iar_v4/incIAR/AT91SAM7X-EK.h +61 -61
  230. data/vendor/cmock/iar/iar_v4/incIAR/AT91SAM7X256.inc +2314 -2314
  231. data/vendor/cmock/iar/iar_v4/incIAR/AT91SAM7X256.rdf +4704 -4704
  232. data/vendor/cmock/iar/iar_v4/incIAR/AT91SAM7X256.tcl +3407 -3407
  233. data/vendor/cmock/iar/iar_v4/incIAR/AT91SAM7X256_inc.h +2268 -2268
  234. data/vendor/cmock/iar/iar_v4/incIAR/ioat91sam7x256.h +4380 -4380
  235. data/vendor/cmock/iar/iar_v4/incIAR/lib_AT91SAM7X256.h +4211 -4211
  236. data/vendor/cmock/iar/iar_v4/settings/cmock_demo.cspy.bat +32 -32
  237. data/vendor/cmock/iar/iar_v4/srcIAR/Cstartup.s79 +265 -265
  238. data/vendor/cmock/iar/iar_v4/srcIAR/Cstartup_SAM7.c +98 -98
  239. data/vendor/cmock/iar/iar_v5/Resource/at91SAM7X256_FLASH.icf +43 -43
  240. data/vendor/cmock/iar/iar_v5/Resource/at91SAM7X256_RAM.icf +42 -42
  241. data/vendor/cmock/iar/iar_v5/cmock_demo.dep +4204 -4204
  242. data/vendor/cmock/iar/iar_v5/cmock_demo.ewp +2426 -2426
  243. data/vendor/cmock/iar/iar_v5/incIAR/AT91SAM7X-EK.h +61 -61
  244. data/vendor/cmock/iar/iar_v5/incIAR/AT91SAM7X256_inc.h +2268 -2268
  245. data/vendor/cmock/iar/iar_v5/incIAR/lib_AT91SAM7X256.h +4211 -4211
  246. data/vendor/cmock/iar/iar_v5/incIAR/project.h +30 -30
  247. data/vendor/cmock/iar/iar_v5/settings/BasicInterrupt_SAM7X.cspy.bat +33 -33
  248. data/vendor/cmock/iar/iar_v5/settings/BasicInterrupt_SAM7X_FLASH_Debug.jlink +12 -12
  249. data/vendor/cmock/iar/iar_v5/settings/cmock_demo.cspy.bat +33 -33
  250. data/vendor/cmock/iar/iar_v5/settings/cmock_demo_Binary.jlink +12 -12
  251. data/vendor/cmock/iar/iar_v5/settings/cmock_demo_FLASH_Debug.jlink +12 -12
  252. data/vendor/cmock/iar/iar_v5/settings/cmock_demo_RAM_Debug.jlink +12 -12
  253. data/vendor/cmock/iar/iar_v5/srcIAR/Cstartup.s +299 -299
  254. data/vendor/cmock/iar/iar_v5/srcIAR/Cstartup_SAM7.c +98 -98
  255. data/vendor/cmock/lib/cmock.rb +89 -89
  256. data/vendor/cmock/lib/cmock_config.rb +134 -133
  257. data/vendor/cmock/lib/cmock_file_writer.rb +40 -33
  258. data/vendor/cmock/lib/cmock_generator.rb +234 -215
  259. data/vendor/cmock/lib/cmock_generator_plugin_array.rb +63 -63
  260. data/vendor/cmock/lib/cmock_generator_plugin_callback.rb +96 -78
  261. data/vendor/cmock/lib/cmock_generator_plugin_cexception.rb +52 -51
  262. data/vendor/cmock/lib/cmock_generator_plugin_expect.rb +104 -86
  263. data/vendor/cmock/lib/cmock_generator_plugin_expect_any_args.rb +68 -68
  264. data/vendor/cmock/lib/cmock_generator_plugin_ignore.rb +72 -71
  265. data/vendor/cmock/lib/cmock_generator_plugin_ignore_arg.rb +1 -1
  266. data/vendor/cmock/lib/cmock_generator_plugin_return_thru_ptr.rb +2 -2
  267. data/vendor/cmock/lib/cmock_generator_utils.rb +228 -213
  268. data/vendor/cmock/lib/cmock_header_parser.rb +1 -1
  269. data/vendor/cmock/lib/cmock_plugin_manager.rb +40 -40
  270. data/vendor/cmock/lib/cmock_unityhelper_parser.rb +75 -75
  271. data/vendor/cmock/rakefile_helper.rb +381 -381
  272. data/vendor/cmock/release/build.info +1 -1
  273. data/vendor/cmock/release/version.info +1 -1
  274. data/vendor/cmock/scripts/create_makefile.rb +161 -0
  275. data/vendor/cmock/scripts/create_mock.rb +8 -0
  276. data/vendor/cmock/scripts/create_runner.rb +20 -0
  277. data/vendor/cmock/scripts/test_summary.rb +11 -0
  278. data/vendor/cmock/src/cmock.c +203 -192
  279. data/vendor/cmock/src/cmock.h +38 -36
  280. data/vendor/cmock/src/cmock_internals.h +11 -1
  281. data/vendor/cmock/targets/clang_strict.yml +90 -85
  282. data/vendor/cmock/targets/gcc.yml +58 -55
  283. data/vendor/cmock/targets/gcc_64.yml +58 -55
  284. data/vendor/cmock/targets/gcc_tiny.yml +80 -0
  285. data/vendor/cmock/targets/iar_arm_v4.yml +110 -108
  286. data/vendor/cmock/targets/iar_arm_v5.yml +95 -93
  287. data/vendor/cmock/test/c/TestCMockC.c +323 -323
  288. data/vendor/cmock/test/c/TestCMockC.yml +1 -0
  289. data/vendor/cmock/test/c/TestCMockCDynamic.c +186 -186
  290. data/vendor/cmock/test/c/TestCMockCDynamic_Runner.c +36 -36
  291. data/vendor/cmock/test/c/TestCMockC_Runner.c +39 -39
  292. data/vendor/cmock/test/system/systest_generator.rb +194 -194
  293. data/vendor/cmock/test/system/test_compilation/callingconv.h +11 -11
  294. data/vendor/cmock/test/system/test_compilation/osek.h +275 -275
  295. data/vendor/cmock/test/system/test_compilation/parsing.h +2 -0
  296. data/vendor/cmock/test/system/test_interactions/all_plugins_but_other_limits.yml +375 -375
  297. data/vendor/cmock/test/system/test_interactions/all_plugins_coexist.yml +459 -389
  298. data/vendor/cmock/test/system/test_interactions/array_and_pointer_handling.yml +62 -0
  299. data/vendor/cmock/test/system/test_interactions/doesnt_leave_details_behind.yml +308 -0
  300. data/vendor/cmock/test/system/test_interactions/enforce_strict_ordering.yml +23 -23
  301. data/vendor/cmock/test/system/test_interactions/out_of_memory.yml +65 -0
  302. data/vendor/cmock/test/system/test_interactions/parsing_challenges.yml +38 -20
  303. data/vendor/cmock/test/system/test_interactions/struct_union_enum_expect_and_return_with_plugins.yml +280 -0
  304. data/vendor/cmock/test/test_helper.rb +47 -47
  305. data/vendor/cmock/test/unit/cmock_config_test.rb +118 -118
  306. data/vendor/cmock/test/unit/cmock_config_test.yml +5 -5
  307. data/vendor/cmock/test/unit/cmock_file_writer_test.rb +27 -27
  308. data/vendor/cmock/test/unit/cmock_generator_main_test.rb +507 -489
  309. data/vendor/cmock/test/unit/cmock_generator_plugin_array_test.rb +133 -133
  310. data/vendor/cmock/test/unit/cmock_generator_plugin_callback_test.rb +257 -189
  311. data/vendor/cmock/test/unit/cmock_generator_plugin_cexception_test.rb +96 -93
  312. data/vendor/cmock/test/unit/cmock_generator_plugin_expect_a_test.rb +186 -0
  313. data/vendor/cmock/test/unit/cmock_generator_plugin_expect_any_args_test.rb +60 -81
  314. data/vendor/cmock/test/unit/{cmock_generator_plugin_expect_test.rb → cmock_generator_plugin_expect_b_test.rb} +202 -205
  315. data/vendor/cmock/test/unit/cmock_generator_plugin_ignore_arg_test.rb +116 -116
  316. data/vendor/cmock/test/unit/cmock_generator_plugin_ignore_test.rb +105 -103
  317. data/vendor/cmock/test/unit/cmock_generator_plugin_return_thru_ptr_test.rb +134 -134
  318. data/vendor/cmock/test/unit/cmock_generator_utils_test.rb +377 -334
  319. data/vendor/cmock/test/unit/cmock_header_parser_test.rb +1381 -1337
  320. data/vendor/cmock/test/unit/cmock_plugin_manager_test.rb +95 -95
  321. data/vendor/cmock/test/unit/cmock_unityhelper_parser_test.rb +223 -223
  322. data/vendor/cmock/vendor/c_exception/Gemfile +4 -0
  323. data/vendor/cmock/vendor/c_exception/Gemfile.lock +12 -0
  324. data/vendor/cmock/vendor/c_exception/LICENSE.txt +30 -0
  325. data/vendor/cmock/vendor/c_exception/README.md +146 -0
  326. data/vendor/cmock/vendor/c_exception/Rakefile +42 -0
  327. data/vendor/cmock/vendor/c_exception/docs/CExceptionSummary.odt +0 -0
  328. data/vendor/cmock/vendor/c_exception/docs/CExceptionSummary.pdf +0 -0
  329. data/vendor/cmock/vendor/c_exception/docs/readme.txt +242 -0
  330. data/vendor/cmock/vendor/c_exception/lib/CException.c +46 -0
  331. data/vendor/cmock/vendor/c_exception/lib/CException.h +86 -0
  332. data/vendor/cmock/vendor/c_exception/makefile +24 -0
  333. data/vendor/cmock/vendor/c_exception/release/build.info +2 -0
  334. data/vendor/cmock/vendor/c_exception/release/version.info +2 -0
  335. data/vendor/cmock/vendor/c_exception/test/CExceptionConfig.h +46 -0
  336. data/vendor/cmock/vendor/c_exception/test/TestException.c +342 -0
  337. data/vendor/cmock/vendor/c_exception/test/TestException_Runner.c +74 -0
  338. data/vendor/cmock/vendor/c_exception/vendor/unity/Gemfile +4 -0
  339. data/vendor/cmock/vendor/c_exception/vendor/unity/Gemfile.lock +12 -0
  340. data/vendor/cmock/vendor/c_exception/vendor/unity/auto/colour_prompt.rb +115 -0
  341. data/vendor/cmock/vendor/c_exception/vendor/unity/auto/colour_reporter.rb +39 -0
  342. data/vendor/cmock/vendor/c_exception/vendor/unity/auto/generate_config.yml +36 -0
  343. data/vendor/cmock/vendor/c_exception/vendor/unity/auto/generate_module.rb +202 -0
  344. data/vendor/cmock/vendor/c_exception/vendor/unity/auto/generate_test_runner.rb +320 -0
  345. data/vendor/cmock/vendor/c_exception/vendor/unity/auto/parseOutput.rb +189 -0
  346. data/vendor/cmock/vendor/c_exception/vendor/unity/auto/test_file_filter.rb +23 -0
  347. data/vendor/cmock/vendor/c_exception/vendor/unity/auto/unity_test_summary.rb +139 -0
  348. data/vendor/cmock/vendor/c_exception/vendor/unity/docs/Unity Summary.odt +0 -0
  349. data/vendor/cmock/vendor/c_exception/vendor/unity/docs/Unity Summary.pdf +0 -0
  350. data/vendor/cmock/vendor/c_exception/vendor/unity/docs/Unity Summary.txt +216 -0
  351. data/vendor/cmock/vendor/c_exception/vendor/unity/docs/license.txt +31 -0
  352. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_1/makefile +41 -0
  353. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_1/readme.txt +5 -0
  354. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_1/src/ProductionCode.c +24 -0
  355. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_1/src/ProductionCode.h +3 -0
  356. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_1/src/ProductionCode2.c +9 -0
  357. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_1/src/ProductionCode2.h +2 -0
  358. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_1/test/TestProductionCode.c +62 -0
  359. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_1/test/TestProductionCode2.c +31 -0
  360. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_1/test/test_runners/TestProductionCode2_Runner.c +46 -0
  361. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_1/test/test_runners/TestProductionCode_Runner.c +50 -0
  362. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_2/makefile +45 -0
  363. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_2/readme.txt +5 -0
  364. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_2/src/ProductionCode.c +24 -0
  365. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_2/src/ProductionCode.h +3 -0
  366. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_2/src/ProductionCode2.c +9 -0
  367. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_2/src/ProductionCode2.h +2 -0
  368. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_2/test/TestProductionCode.c +64 -0
  369. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_2/test/TestProductionCode2.c +33 -0
  370. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_2/test/test_runners/TestProductionCode2_Runner.c +9 -0
  371. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_2/test/test_runners/TestProductionCode_Runner.c +11 -0
  372. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_2/test/test_runners/all_tests.c +12 -0
  373. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_3/helper/UnityHelper.c +10 -0
  374. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_3/helper/UnityHelper.h +12 -0
  375. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_3/makefile +41 -0
  376. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_3/rakefile.rb +44 -0
  377. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_3/rakefile_helper.rb +256 -0
  378. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_3/readme.txt +19 -0
  379. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_3/src/ProductionCode.c +24 -0
  380. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_3/src/ProductionCode.h +3 -0
  381. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_3/src/ProductionCode2.c +9 -0
  382. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_3/src/ProductionCode2.h +2 -0
  383. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_3/target_gcc_32.yml +46 -0
  384. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_3/test/TestProductionCode.c +62 -0
  385. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_3/test/TestProductionCode2.c +31 -0
  386. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_3/test/no_ruby/TestProductionCode2_Runner.c +46 -0
  387. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_3/test/no_ruby/TestProductionCode_Runner.c +50 -0
  388. data/vendor/cmock/vendor/c_exception/vendor/unity/extras/eclipse/error_parsers.txt +26 -0
  389. data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/rakefile.rb +37 -0
  390. data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/rakefile_helper.rb +179 -0
  391. data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/readme.txt +9 -0
  392. data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture.c +387 -0
  393. data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture.h +82 -0
  394. data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture_internals.h +44 -0
  395. data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture_malloc_overrides.h +16 -0
  396. data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/test/main/AllTests.c +21 -0
  397. data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/test/testunity_fixture.c +39 -0
  398. data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/test/unity_fixture_Test.c +341 -0
  399. data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/test/unity_fixture_TestRunner.c +41 -0
  400. data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/test/unity_output_Spy.c +56 -0
  401. data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/test/unity_output_Spy.h +17 -0
  402. data/vendor/cmock/vendor/c_exception/vendor/unity/makefile +37 -0
  403. data/vendor/cmock/vendor/c_exception/vendor/unity/rakefile.rb +61 -0
  404. data/vendor/cmock/vendor/c_exception/vendor/unity/rakefile_helper.rb +249 -0
  405. data/vendor/cmock/vendor/c_exception/vendor/unity/release/build.info +2 -0
  406. data/vendor/cmock/vendor/c_exception/vendor/unity/release/version.info +2 -0
  407. data/vendor/cmock/vendor/c_exception/vendor/unity/src/unity.c +1145 -0
  408. data/vendor/cmock/vendor/c_exception/vendor/unity/src/unity.h +307 -0
  409. data/vendor/cmock/vendor/c_exception/vendor/unity/src/unity_internals.h +620 -0
  410. data/vendor/cmock/vendor/c_exception/vendor/unity/targets/clang_strict.yml +83 -0
  411. data/vendor/cmock/vendor/c_exception/vendor/unity/targets/gcc_32.yml +44 -0
  412. data/vendor/cmock/vendor/c_exception/vendor/unity/targets/gcc_64.yml +45 -0
  413. data/vendor/cmock/vendor/c_exception/vendor/unity/targets/hitech_picc18.yml +101 -0
  414. data/vendor/cmock/vendor/c_exception/vendor/unity/targets/iar_arm_v4.yml +89 -0
  415. data/vendor/cmock/vendor/c_exception/vendor/unity/targets/iar_arm_v5.yml +79 -0
  416. data/vendor/cmock/vendor/c_exception/vendor/unity/targets/iar_arm_v5_3.yml +79 -0
  417. data/vendor/cmock/vendor/c_exception/vendor/unity/targets/iar_armcortex_LM3S9B92_v5_4.yml +93 -0
  418. data/vendor/cmock/vendor/c_exception/vendor/unity/targets/iar_cortexm3_v5.yml +83 -0
  419. data/vendor/cmock/vendor/c_exception/vendor/unity/targets/iar_msp430.yml +94 -0
  420. data/vendor/cmock/vendor/c_exception/vendor/unity/targets/iar_sh2a_v6.yml +85 -0
  421. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_cmd.c +57 -0
  422. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_def.c +53 -0
  423. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_cmd.c +79 -0
  424. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_def.c +75 -0
  425. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_new1.c +88 -0
  426. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_new2.c +88 -0
  427. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_param.c +76 -0
  428. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_run1.c +88 -0
  429. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_run2.c +88 -0
  430. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_yaml.c +89 -0
  431. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_new1.c +63 -0
  432. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_new2.c +66 -0
  433. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_param.c +54 -0
  434. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_run1.c +63 -0
  435. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_run2.c +66 -0
  436. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_yaml.c +67 -0
  437. data/vendor/cmock/vendor/c_exception/vendor/unity/test/test_generate_test_runner.rb +88 -0
  438. data/vendor/cmock/vendor/c_exception/vendor/unity/test/testdata/mocksample.c +51 -0
  439. data/vendor/cmock/vendor/c_exception/vendor/unity/test/testdata/sample.yml +9 -0
  440. data/vendor/cmock/vendor/c_exception/vendor/unity/test/testdata/testsample.c +51 -0
  441. data/vendor/cmock/vendor/c_exception/vendor/unity/test/testparameterized.c +101 -0
  442. data/vendor/cmock/vendor/c_exception/vendor/unity/test/testunity.c +3447 -0
  443. data/vendor/cmock/vendor/unity/README.md +211 -0
  444. data/vendor/cmock/vendor/unity/auto/colour_prompt.rb +115 -0
  445. data/vendor/cmock/vendor/unity/auto/colour_reporter.rb +39 -0
  446. data/vendor/cmock/vendor/unity/auto/generate_config.yml +36 -0
  447. data/vendor/cmock/vendor/unity/auto/generate_module.rb +202 -0
  448. data/vendor/cmock/vendor/unity/auto/generate_test_runner.rb +374 -0
  449. data/vendor/cmock/vendor/unity/auto/parseOutput.rb +191 -0
  450. data/vendor/cmock/vendor/unity/auto/test_file_filter.rb +23 -0
  451. data/vendor/cmock/vendor/unity/auto/type_sanitizer.rb +8 -0
  452. data/vendor/cmock/vendor/unity/auto/unity_test_summary.py +135 -0
  453. data/vendor/cmock/vendor/unity/auto/unity_test_summary.rb +148 -0
  454. data/vendor/cmock/vendor/unity/docs/Unity Summary.odt +0 -0
  455. data/vendor/cmock/vendor/unity/docs/Unity Summary.pdf +0 -0
  456. data/vendor/cmock/vendor/unity/docs/Unity Summary.txt +224 -0
  457. data/vendor/cmock/vendor/unity/docs/license.txt +21 -0
  458. data/vendor/{unity/examples/example_3 → cmock/vendor/unity/examples/example_1}/makefile +9 -5
  459. data/vendor/cmock/vendor/unity/examples/example_1/readme.txt +5 -0
  460. data/vendor/cmock/vendor/unity/examples/example_1/src/ProductionCode.c +24 -0
  461. data/vendor/cmock/vendor/unity/examples/example_1/src/ProductionCode.h +3 -0
  462. data/vendor/cmock/vendor/unity/examples/example_1/src/ProductionCode2.c +11 -0
  463. data/vendor/cmock/vendor/unity/examples/example_1/src/ProductionCode2.h +2 -0
  464. data/vendor/cmock/vendor/unity/examples/example_1/test/TestProductionCode.c +62 -0
  465. data/vendor/cmock/vendor/unity/examples/example_1/test/TestProductionCode2.c +31 -0
  466. data/vendor/cmock/vendor/unity/examples/example_1/test/test_runners/TestProductionCode2_Runner.c +53 -0
  467. data/vendor/cmock/vendor/unity/examples/example_1/test/test_runners/TestProductionCode_Runner.c +57 -0
  468. data/vendor/cmock/vendor/unity/examples/example_2/makefile +71 -0
  469. data/vendor/cmock/vendor/unity/examples/example_2/readme.txt +5 -0
  470. data/vendor/cmock/vendor/unity/examples/example_2/src/ProductionCode.c +24 -0
  471. data/vendor/cmock/vendor/unity/examples/example_2/src/ProductionCode.h +3 -0
  472. data/vendor/cmock/vendor/unity/examples/example_2/src/ProductionCode2.c +11 -0
  473. data/vendor/cmock/vendor/unity/examples/example_2/src/ProductionCode2.h +2 -0
  474. data/vendor/cmock/vendor/unity/examples/example_2/test/TestProductionCode.c +64 -0
  475. data/vendor/cmock/vendor/unity/examples/example_2/test/TestProductionCode2.c +33 -0
  476. data/vendor/cmock/vendor/unity/examples/example_2/test/test_runners/TestProductionCode2_Runner.c +9 -0
  477. data/vendor/cmock/vendor/unity/examples/example_2/test/test_runners/TestProductionCode_Runner.c +11 -0
  478. data/vendor/cmock/vendor/unity/examples/example_2/test/test_runners/all_tests.c +12 -0
  479. data/vendor/cmock/vendor/unity/examples/example_3/helper/UnityHelper.c +10 -0
  480. data/vendor/cmock/vendor/unity/examples/example_3/helper/UnityHelper.h +12 -0
  481. data/vendor/cmock/vendor/unity/examples/example_3/rakefile.rb +43 -0
  482. data/vendor/cmock/vendor/unity/examples/example_3/rakefile_helper.rb +256 -0
  483. data/vendor/cmock/vendor/unity/examples/example_3/readme.txt +19 -0
  484. data/vendor/cmock/vendor/unity/examples/example_3/src/ProductionCode.c +24 -0
  485. data/vendor/cmock/vendor/unity/examples/example_3/src/ProductionCode.h +3 -0
  486. data/vendor/cmock/vendor/unity/examples/example_3/src/ProductionCode2.c +11 -0
  487. data/vendor/cmock/vendor/unity/examples/example_3/src/ProductionCode2.h +2 -0
  488. data/vendor/cmock/vendor/unity/examples/example_3/target_gcc_32.yml +46 -0
  489. data/vendor/cmock/vendor/unity/examples/example_3/test/TestProductionCode.c +62 -0
  490. data/vendor/cmock/vendor/unity/examples/example_3/test/TestProductionCode2.c +31 -0
  491. data/vendor/cmock/vendor/unity/extras/eclipse/error_parsers.txt +26 -0
  492. data/vendor/cmock/vendor/unity/extras/fixture/rakefile.rb +48 -0
  493. data/vendor/cmock/vendor/unity/extras/fixture/rakefile_helper.rb +179 -0
  494. data/vendor/cmock/vendor/unity/extras/fixture/readme.txt +9 -0
  495. data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture.c +423 -0
  496. data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture.h +78 -0
  497. data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture_internals.h +46 -0
  498. data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture_malloc_overrides.h +45 -0
  499. data/vendor/cmock/vendor/unity/extras/fixture/test/Makefile +19 -0
  500. data/vendor/cmock/vendor/unity/extras/fixture/test/main/AllTests.c +21 -0
  501. data/vendor/cmock/vendor/unity/extras/fixture/test/testunity_fixture.c +39 -0
  502. data/vendor/cmock/vendor/unity/extras/fixture/test/unity_fixture_Test.c +373 -0
  503. data/vendor/cmock/vendor/unity/extras/fixture/test/unity_fixture_TestRunner.c +43 -0
  504. data/vendor/cmock/vendor/unity/extras/fixture/test/unity_output_Spy.c +57 -0
  505. data/vendor/cmock/vendor/unity/extras/fixture/test/unity_output_Spy.h +17 -0
  506. data/vendor/cmock/vendor/unity/release/build.info +2 -0
  507. data/vendor/cmock/vendor/unity/release/version.info +2 -0
  508. data/vendor/cmock/vendor/unity/src/unity.c +1324 -0
  509. data/vendor/cmock/vendor/unity/src/unity.h +285 -0
  510. data/vendor/cmock/vendor/unity/src/unity_internals.h +758 -0
  511. data/vendor/cmock/vendor/unity/test/expectdata/testsample_cmd.c +57 -0
  512. data/vendor/cmock/vendor/unity/test/expectdata/testsample_def.c +53 -0
  513. data/vendor/cmock/vendor/unity/test/expectdata/testsample_head1.c +51 -0
  514. data/vendor/cmock/vendor/unity/test/expectdata/testsample_head1.h +12 -0
  515. data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_cmd.c +80 -0
  516. data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_def.c +76 -0
  517. data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_head1.c +75 -0
  518. data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_head1.h +11 -0
  519. data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_new1.c +89 -0
  520. data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_new2.c +89 -0
  521. data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_param.c +77 -0
  522. data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_run1.c +89 -0
  523. data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_run2.c +89 -0
  524. data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_yaml.c +90 -0
  525. data/vendor/cmock/vendor/unity/test/expectdata/testsample_new1.c +63 -0
  526. data/vendor/cmock/vendor/unity/test/expectdata/testsample_new2.c +66 -0
  527. data/vendor/cmock/vendor/unity/test/expectdata/testsample_param.c +54 -0
  528. data/vendor/cmock/vendor/unity/test/expectdata/testsample_run1.c +63 -0
  529. data/vendor/cmock/vendor/unity/test/expectdata/testsample_run2.c +66 -0
  530. data/vendor/cmock/vendor/unity/test/expectdata/testsample_yaml.c +67 -0
  531. data/vendor/cmock/vendor/unity/test/rakefile +60 -0
  532. data/vendor/cmock/vendor/unity/test/rakefile_helper.rb +255 -0
  533. data/vendor/cmock/vendor/unity/test/targets/clang_file.yml +84 -0
  534. data/vendor/cmock/vendor/unity/test/targets/clang_strict.yml +84 -0
  535. data/vendor/cmock/vendor/unity/test/targets/gcc_32.yml +50 -0
  536. data/vendor/cmock/vendor/unity/test/targets/gcc_64.yml +51 -0
  537. data/vendor/cmock/vendor/unity/test/targets/gcc_auto_limits.yml +47 -0
  538. data/vendor/cmock/vendor/unity/test/targets/gcc_auto_sizeof.yml +48 -0
  539. data/vendor/cmock/vendor/unity/test/targets/gcc_auto_stdint.yml +59 -0
  540. data/vendor/cmock/vendor/unity/test/targets/gcc_manual_math.yml +47 -0
  541. data/vendor/cmock/vendor/unity/test/targets/hitech_picc18.yml +101 -0
  542. data/vendor/cmock/vendor/unity/test/targets/iar_arm_v4.yml +89 -0
  543. data/vendor/cmock/vendor/unity/test/targets/iar_arm_v5.yml +79 -0
  544. data/vendor/cmock/vendor/unity/test/targets/iar_arm_v5_3.yml +79 -0
  545. data/vendor/cmock/vendor/unity/test/targets/iar_armcortex_LM3S9B92_v5_4.yml +93 -0
  546. data/vendor/cmock/vendor/unity/test/targets/iar_cortexm3_v5.yml +83 -0
  547. data/vendor/cmock/vendor/unity/test/targets/iar_msp430.yml +94 -0
  548. data/vendor/cmock/vendor/unity/test/targets/iar_sh2a_v6.yml +85 -0
  549. data/vendor/cmock/vendor/unity/test/testdata/mocksample.c +51 -0
  550. data/vendor/cmock/vendor/unity/test/testdata/sample.yml +9 -0
  551. data/vendor/cmock/vendor/unity/test/testdata/testsample.c +51 -0
  552. data/vendor/cmock/vendor/unity/test/tests/test_generate_test_runner.rb +102 -0
  553. data/vendor/cmock/vendor/unity/test/tests/testparameterized.c +104 -0
  554. data/vendor/cmock/vendor/unity/test/tests/testunity.c +3656 -0
  555. data/vendor/unity/README.md +211 -203
  556. data/vendor/unity/auto/colour_reporter.rb +38 -38
  557. data/vendor/unity/auto/generate_config.yml +36 -36
  558. data/vendor/unity/auto/generate_module.rb +202 -202
  559. data/vendor/unity/auto/generate_test_runner.rb +389 -347
  560. data/vendor/unity/auto/parseOutput.rb +2 -0
  561. data/vendor/unity/auto/unity_test_summary.py +135 -135
  562. data/vendor/unity/auto/unity_test_summary.rb +148 -139
  563. data/vendor/unity/docs/Unity Summary.odt +0 -0
  564. data/vendor/unity/docs/Unity Summary.pdf +0 -0
  565. data/vendor/unity/docs/Unity Summary.txt +224 -216
  566. data/vendor/unity/docs/license.txt +21 -21
  567. data/vendor/unity/examples/example_1/makefile +7 -3
  568. data/vendor/unity/examples/example_1/test/test_runners/TestProductionCode2_Runner.c +29 -9
  569. data/vendor/unity/examples/example_1/test/test_runners/TestProductionCode_Runner.c +26 -6
  570. data/vendor/unity/examples/example_2/makefile +7 -4
  571. data/vendor/unity/extras/fixture/rakefile.rb +48 -48
  572. data/vendor/unity/extras/fixture/rakefile_helper.rb +179 -179
  573. data/vendor/unity/extras/fixture/src/unity_fixture.c +123 -78
  574. data/vendor/unity/extras/fixture/src/unity_fixture.h +6 -14
  575. data/vendor/unity/extras/fixture/src/unity_fixture_internals.h +12 -15
  576. data/vendor/unity/extras/fixture/src/unity_fixture_malloc_overrides.h +25 -0
  577. data/vendor/unity/extras/fixture/test/Makefile +35 -0
  578. data/vendor/unity/extras/fixture/test/main/AllTests.c +2 -1
  579. data/vendor/unity/extras/fixture/test/unity_fixture_Test.c +99 -4
  580. data/vendor/unity/extras/fixture/test/unity_fixture_TestRunner.c +10 -0
  581. data/vendor/unity/extras/fixture/test/unity_output_Spy.c +3 -1
  582. data/vendor/unity/release/build.info +1 -1
  583. data/vendor/unity/release/version.info +1 -1
  584. data/vendor/unity/src/unity.c +1324 -1177
  585. data/vendor/unity/src/unity.h +285 -272
  586. data/vendor/unity/src/unity_internals.h +758 -692
  587. data/vendor/unity/test/expectdata/testsample_head1.c +51 -0
  588. data/vendor/unity/test/expectdata/testsample_head1.h +12 -0
  589. data/vendor/unity/test/expectdata/testsample_mock_cmd.c +1 -0
  590. data/vendor/unity/test/expectdata/testsample_mock_def.c +1 -0
  591. data/vendor/unity/test/expectdata/testsample_mock_head1.c +75 -0
  592. data/vendor/unity/test/expectdata/testsample_mock_head1.h +11 -0
  593. data/vendor/unity/test/expectdata/testsample_mock_new1.c +3 -2
  594. data/vendor/unity/test/expectdata/testsample_mock_new2.c +1 -0
  595. data/vendor/unity/test/expectdata/testsample_mock_param.c +1 -0
  596. data/vendor/unity/test/expectdata/testsample_mock_run1.c +3 -2
  597. data/vendor/unity/test/expectdata/testsample_mock_run2.c +1 -0
  598. data/vendor/unity/test/expectdata/testsample_mock_yaml.c +4 -3
  599. data/vendor/unity/test/expectdata/testsample_new1.c +2 -2
  600. data/vendor/unity/test/expectdata/testsample_run1.c +2 -2
  601. data/vendor/unity/test/expectdata/testsample_yaml.c +3 -3
  602. data/vendor/unity/test/rakefile +60 -60
  603. data/vendor/unity/test/rakefile_helper.rb +255 -249
  604. data/vendor/unity/test/targets/clang_file.yml +83 -0
  605. data/vendor/unity/test/targets/clang_strict.yml +83 -83
  606. data/vendor/unity/test/targets/gcc_32.yml +49 -49
  607. data/vendor/unity/test/targets/gcc_64.yml +50 -50
  608. data/vendor/unity/test/targets/gcc_auto_limits.yml +46 -46
  609. data/vendor/unity/test/targets/gcc_auto_sizeof.yml +47 -47
  610. data/vendor/unity/test/targets/gcc_auto_stdint.yml +58 -58
  611. data/vendor/unity/test/targets/gcc_manual_math.yml +46 -0
  612. data/vendor/unity/test/targets/hitech_picc18.yml +101 -101
  613. data/vendor/unity/test/targets/iar_arm_v4.yml +89 -89
  614. data/vendor/unity/test/targets/iar_arm_v5.yml +79 -79
  615. data/vendor/unity/test/targets/iar_arm_v5_3.yml +79 -79
  616. data/vendor/unity/test/targets/iar_armcortex_LM3S9B92_v5_4.yml +93 -93
  617. data/vendor/unity/test/targets/iar_cortexm3_v5.yml +83 -83
  618. data/vendor/unity/test/targets/iar_msp430.yml +94 -94
  619. data/vendor/unity/test/targets/iar_sh2a_v6.yml +85 -85
  620. data/vendor/unity/test/testdata/mocksample.c +51 -51
  621. data/vendor/unity/test/testdata/sample.yml +8 -8
  622. data/vendor/unity/test/testdata/testsample.c +51 -51
  623. data/vendor/unity/test/tests/test_generate_test_runner.rb +102 -88
  624. data/vendor/unity/test/tests/testparameterized.c +104 -101
  625. data/vendor/unity/test/tests/testunity.c +3676 -3447
  626. metadata +549 -191
@@ -0,0 +1,67 @@
1
+ /* AUTOGENERATED FILE. DO NOT EDIT. */
2
+
3
+ //=======Test Runner Used To Run Each Test Below=====
4
+ #define RUN_TEST(TestFunc, TestLineNum) \
5
+ { \
6
+ Unity.CurrentTestName = #TestFunc; \
7
+ Unity.CurrentTestLineNumber = TestLineNum; \
8
+ Unity.NumberOfTests++; \
9
+ if (TEST_PROTECT()) \
10
+ { \
11
+ CEXCEPTION_T e; \
12
+ Try { \
13
+ setUp(); \
14
+ TestFunc(); \
15
+ } Catch(e) { TEST_ASSERT_EQUAL_HEX32_MESSAGE(CEXCEPTION_NONE, e, "Unhandled Exception!"); } \
16
+ } \
17
+ if (TEST_PROTECT() && !TEST_IS_IGNORED) \
18
+ { \
19
+ tearDown(); \
20
+ } \
21
+ UnityConcludeTest(); \
22
+ }
23
+
24
+ //=======Automagically Detected Files To Include=====
25
+ #include "unity.h"
26
+ #include "two.h"
27
+ #include "three.h"
28
+ #include <four.h>
29
+ #include <setjmp.h>
30
+ #include <stdio.h>
31
+ #include "CException.h"
32
+ #include "funky.h"
33
+ #include "stanky.h"
34
+ #include <setjmp.h>
35
+
36
+ //=======External Functions This Runner Calls=====
37
+ extern void setUp(void);
38
+ extern void tearDown(void);
39
+ extern void test_TheFirstThingToTest(void);
40
+ extern void test_TheSecondThingToTest(void);
41
+
42
+
43
+ //=======Suite Setup=====
44
+ static int suite_setup(void)
45
+ {
46
+ a_yaml_setup();
47
+ }
48
+
49
+ //=======Test Reset Option=====
50
+ void resetTest()
51
+ {
52
+ tearDown();
53
+ setUp();
54
+ }
55
+
56
+
57
+ //=======MAIN=====
58
+ int main(void)
59
+ {
60
+ suite_setup();
61
+ UnityBegin();
62
+ Unity.TestFile = "test/testdata/testsample.c";
63
+ RUN_TEST(test_TheFirstThingToTest, 21);
64
+ RUN_TEST(test_TheSecondThingToTest, 43);
65
+
66
+ return (UnityEnd());
67
+ }
@@ -0,0 +1,88 @@
1
+ # ==========================================
2
+ # CMock Project - Automatic Mock Generation for C
3
+ # Copyright (c) 2007 Mike Karlesky, Mark VanderVoord, Greg Williams
4
+ # [Released under MIT License. Please refer to license.txt for details]
5
+ # ==========================================
6
+
7
+ require './auto/generate_test_runner.rb'
8
+
9
+ TEST_FILE = 'test/testdata/testsample.c'
10
+ TEST_MOCK = 'test/testdata/mocksample.c'
11
+ OUT_FILE = 'build/testsample_'
12
+ EXP_FILE = 'test/expectdata/testsample_'
13
+
14
+ $generate_test_runner_failures = 0
15
+
16
+ def verify_output_equal(subtest)
17
+ expected = File.read(EXP_FILE + subtest + '.c').gsub(/\r\n/,"\n")
18
+ actual = File.read(OUT_FILE + subtest + '.c').gsub(/\r\n/,"\n")
19
+ if (expected != actual)
20
+ report(" #{subtest}:FAIL")
21
+ $generate_test_runner_failures += 1
22
+ else
23
+ report(" #{subtest}:PASS")
24
+ end
25
+ end
26
+
27
+ should "GenerateARunnerByCreatingRunnerWithOptions" do
28
+ sets = { 'def' => nil,
29
+ 'new1' => { :plugins => [:cexception], :includes => ['one.h', 'two.h'], :enforce_strict_ordering => true },
30
+ 'new2' => { :plugins => [:ignore], :suite_setup => "a_custom_setup();", :suite_teardown => "a_custom_teardown();" }
31
+ }
32
+
33
+ sets.each_pair do |subtest, options|
34
+ UnityTestRunnerGenerator.new(options).run(TEST_FILE, OUT_FILE + subtest + '.c')
35
+ verify_output_equal(subtest)
36
+ UnityTestRunnerGenerator.new(options).run(TEST_MOCK, OUT_FILE + 'mock_' + subtest + '.c')
37
+ verify_output_equal('mock_' + subtest)
38
+ end
39
+ end
40
+
41
+ should "GenerateARunnerByRunningRunnerWithOptions" do
42
+ sets = { 'run1' => { :plugins => [:cexception], :includes => ['one.h', 'two.h'], :enforce_strict_ordering => true },
43
+ 'run2' => { :plugins => [:ignore], :suite_setup => "a_custom_setup();", :suite_teardown => "a_custom_teardown();" }
44
+ }
45
+
46
+ sets.each_pair do |subtest, options|
47
+ UnityTestRunnerGenerator.new.run(TEST_FILE, OUT_FILE + subtest + '.c', options)
48
+ verify_output_equal(subtest)
49
+ UnityTestRunnerGenerator.new.run(TEST_MOCK, OUT_FILE + 'mock_' + subtest + '.c', options)
50
+ verify_output_equal('mock_' + subtest)
51
+ end
52
+ end
53
+
54
+ should "GenerateARunnerByPullingYamlOptions" do
55
+ subtest = 'yaml'
56
+ cmdstr = "ruby auto/generate_test_runner.rb test/testdata/sample.yml \"#{TEST_FILE}\" \"#{OUT_FILE + subtest + '.c'}\""
57
+ `#{cmdstr}`
58
+ verify_output_equal(subtest)
59
+
60
+ cmdstr = "ruby auto/generate_test_runner.rb test/testdata/sample.yml \"#{TEST_MOCK}\" \"#{OUT_FILE + 'mock_' + subtest + '.c'}\""
61
+ `#{cmdstr}`
62
+ verify_output_equal('mock_' + subtest)
63
+ end
64
+
65
+ should "GenerateARunnerByPullingCommandlineOptions" do
66
+ subtest = 'cmd'
67
+ cmdstr = "ruby auto/generate_test_runner.rb -cexception \"#{TEST_FILE}\" \"#{OUT_FILE + subtest + '.c'}\""
68
+ `#{cmdstr}`
69
+ verify_output_equal(subtest)
70
+
71
+ cmdstr = "ruby auto/generate_test_runner.rb -cexception \"#{TEST_MOCK}\" \"#{OUT_FILE + 'mock_' + subtest + '.c'}\""
72
+ `#{cmdstr}`
73
+ verify_output_equal('mock_' + subtest)
74
+ end
75
+
76
+ should "GenerateARunnerThatUsesParameterizedTests" do
77
+ sets = { 'param' => { :plugins => [:ignore], :use_param_tests => true }
78
+ }
79
+
80
+ sets.each_pair do |subtest, options|
81
+ UnityTestRunnerGenerator.new(options).run(TEST_FILE, OUT_FILE + subtest + '.c')
82
+ verify_output_equal(subtest)
83
+ UnityTestRunnerGenerator.new(options).run(TEST_MOCK, OUT_FILE + 'mock_' + subtest + '.c')
84
+ verify_output_equal('mock_' + subtest)
85
+ end
86
+ end
87
+
88
+ raise "There were #{$generate_test_runner_failures.to_s} failures while testing generate_test_runner.rb" if ($generate_test_runner_failures > 0)
@@ -0,0 +1,51 @@
1
+ // This is just a sample test file to be used to test the generator script
2
+ #ifndef TEST_SAMPLE_H
3
+ #define TEST_SAMPLE_H
4
+
5
+ #include <setjmp.h>
6
+ #include "unity.h"
7
+ #include "funky.h"
8
+ #include "Mockstanky.h"
9
+
10
+ void setUp(void)
11
+ {
12
+ CustomSetupStuff();
13
+ }
14
+
15
+ void tearDown(void)
16
+ {
17
+ CustomTeardownStuff
18
+ }
19
+
20
+ //Yup, nice comment
21
+ void test_TheFirstThingToTest(void)
22
+ {
23
+ TEST_ASSERT(1);
24
+
25
+ TEST_ASSERT_TRUE(1);
26
+ }
27
+
28
+ /*
29
+ void test_ShouldBeIgnored(void)
30
+ {
31
+ DoesStuff();
32
+ }
33
+ */
34
+
35
+ //void test_ShouldAlsoNotBeTested(void)
36
+ //{
37
+ // Call_An_Expect();
38
+ //
39
+ // CallAFunction();
40
+ // test_CallAFunctionThatLooksLikeATest();
41
+ //}
42
+
43
+ void test_TheSecondThingToTest(void)
44
+ {
45
+ Call_An_Expect();
46
+
47
+ CallAFunction();
48
+ test_CallAFunctionThatLooksLikeATest();
49
+ }
50
+
51
+ #endif //TEST_SAMPLE_H
@@ -0,0 +1,9 @@
1
+ :unity:
2
+ :includes:
3
+ - two.h
4
+ - three.h
5
+ - <four.h>
6
+ :plugins:
7
+ - :cexception
8
+ :suite_setup: |
9
+ a_yaml_setup();
@@ -0,0 +1,51 @@
1
+ // This is just a sample test file to be used to test the generator script
2
+ #ifndef TEST_SAMPLE_H
3
+ #define TEST_SAMPLE_H
4
+
5
+ #include <setjmp.h>
6
+ #include "unity.h"
7
+ #include "funky.h"
8
+ #include "stanky.h"
9
+
10
+ void setUp(void)
11
+ {
12
+ CustomSetupStuff();
13
+ }
14
+
15
+ void tearDown(void)
16
+ {
17
+ CustomTeardownStuff
18
+ }
19
+
20
+ //Yup, nice comment
21
+ void test_TheFirstThingToTest(void)
22
+ {
23
+ TEST_ASSERT(1);
24
+
25
+ TEST_ASSERT_TRUE(1);
26
+ }
27
+
28
+ /*
29
+ void test_ShouldBeIgnored(void)
30
+ {
31
+ DoesStuff();
32
+ }
33
+ */
34
+
35
+ //void test_ShouldAlsoNotBeTested(void)
36
+ //{
37
+ // Call_An_Expect();
38
+ //
39
+ // CallAFunction();
40
+ // test_CallAFunctionThatLooksLikeATest();
41
+ //}
42
+
43
+ void test_TheSecondThingToTest(void)
44
+ {
45
+ Call_An_Expect();
46
+
47
+ CallAFunction();
48
+ test_CallAFunctionThatLooksLikeATest();
49
+ }
50
+
51
+ #endif //TEST_SAMPLE_H
@@ -0,0 +1,101 @@
1
+ /* ==========================================
2
+ Unity Project - A Test Framework for C
3
+ Copyright (c) 2007 Mike Karlesky, Mark VanderVoord, Greg Williams
4
+ [Released under MIT License. Please refer to license.txt for details]
5
+ ========================================== */
6
+
7
+ #include <setjmp.h>
8
+ #include "unity.h"
9
+
10
+ #define TEST_CASE(...)
11
+
12
+ #define EXPECT_ABORT_BEGIN \
13
+ if (TEST_PROTECT()) \
14
+ {
15
+
16
+ #define VERIFY_FAILS_END \
17
+ } \
18
+ Unity.CurrentTestFailed = (Unity.CurrentTestFailed == 1) ? 0 : 1; \
19
+ if (Unity.CurrentTestFailed == 1) { \
20
+ SetToOneMeanWeAlreadyCheckedThisGuy = 1; \
21
+ UnityPrint("[[[[ Previous Test Should Have Failed But Did Not ]]]]"); \
22
+ UNITY_OUTPUT_CHAR('\n'); \
23
+ }
24
+
25
+ #define VERIFY_IGNORES_END \
26
+ } \
27
+ Unity.CurrentTestFailed = (Unity.CurrentTestIgnored == 1) ? 0 : 1; \
28
+ Unity.CurrentTestIgnored = 0; \
29
+ if (Unity.CurrentTestFailed == 1) { \
30
+ SetToOneMeanWeAlreadyCheckedThisGuy = 1; \
31
+ UnityPrint("[[[[ Previous Test Should Have Ignored But Did Not ]]]]"); \
32
+ UNITY_OUTPUT_CHAR('\n'); \
33
+ }
34
+
35
+ int SetToOneToFailInTearDown;
36
+ int SetToOneMeanWeAlreadyCheckedThisGuy;
37
+
38
+ void setUp(void)
39
+ {
40
+ SetToOneToFailInTearDown = 0;
41
+ SetToOneMeanWeAlreadyCheckedThisGuy = 0;
42
+ }
43
+
44
+ void tearDown(void)
45
+ {
46
+ if (SetToOneToFailInTearDown == 1)
47
+ TEST_FAIL_MESSAGE("<= Failed in tearDown");
48
+ if ((SetToOneMeanWeAlreadyCheckedThisGuy == 0) && (Unity.CurrentTestFailed > 0))
49
+ {
50
+ UnityPrint("[[[[ Previous Test Should Have Passed But Did Not ]]]]");
51
+ UNITY_OUTPUT_CHAR('\n');
52
+ }
53
+ }
54
+
55
+ TEST_CASE(0)
56
+ TEST_CASE(44)
57
+ TEST_CASE((90)+9)
58
+ void test_TheseShouldAllPass(int Num)
59
+ {
60
+ TEST_ASSERT_TRUE(Num < 100);
61
+ }
62
+
63
+ TEST_CASE(3)
64
+ TEST_CASE(77)
65
+ TEST_CASE( (99) + 1 - (1))
66
+ void test_TheseShouldAllFail(int Num)
67
+ {
68
+ EXPECT_ABORT_BEGIN
69
+ TEST_ASSERT_TRUE(Num > 100);
70
+ VERIFY_FAILS_END
71
+ }
72
+
73
+ TEST_CASE(1)
74
+ TEST_CASE(44)
75
+ TEST_CASE(99)
76
+ TEST_CASE(98)
77
+ void test_TheseAreEveryOther(int Num)
78
+ {
79
+ if (Num & 1)
80
+ {
81
+ EXPECT_ABORT_BEGIN
82
+ TEST_ASSERT_TRUE(Num > 100);
83
+ VERIFY_FAILS_END
84
+ }
85
+ else
86
+ {
87
+ TEST_ASSERT_TRUE(Num < 100);
88
+ }
89
+ }
90
+
91
+ void test_NormalPassesStillWork(void)
92
+ {
93
+ TEST_ASSERT_TRUE(1);
94
+ }
95
+
96
+ void test_NormalFailsStillWork(void)
97
+ {
98
+ EXPECT_ABORT_BEGIN
99
+ TEST_ASSERT_TRUE(0);
100
+ VERIFY_FAILS_END
101
+ }
@@ -0,0 +1,3447 @@
1
+ /* ==========================================
2
+ Unity Project - A Test Framework for C
3
+ Copyright (c) 2007 Mike Karlesky, Mark VanderVoord, Greg Williams
4
+ [Released under MIT License. Please refer to license.txt for details]
5
+ ========================================== */
6
+
7
+ #include <setjmp.h>
8
+ #include "unity.h"
9
+
10
+ // Dividing by these constants produces +/- infinity.
11
+ // The rationale is given in UnityAssertFloatIsInf's body.
12
+ #ifndef UNITY_EXCLUDE_FLOAT
13
+ static const _UF f_zero = 0.0f;
14
+ #endif
15
+
16
+ #ifndef UNITY_EXCLUDE_DOUBLE
17
+ static const _UD d_zero = 0.0;
18
+ #endif
19
+
20
+ #define EXPECT_ABORT_BEGIN \
21
+ if (TEST_PROTECT()) \
22
+ {
23
+
24
+ #define VERIFY_FAILS_END \
25
+ } \
26
+ Unity.CurrentTestFailed = (Unity.CurrentTestFailed == 1) ? 0 : 1; \
27
+ if (Unity.CurrentTestFailed == 1) { \
28
+ SetToOneMeanWeAlreadyCheckedThisGuy = 1; \
29
+ UnityPrint("[[[[ Previous Test Should Have Failed But Did Not ]]]]"); \
30
+ UNITY_OUTPUT_CHAR('\n'); \
31
+ }
32
+
33
+ #define VERIFY_IGNORES_END \
34
+ } \
35
+ Unity.CurrentTestFailed = (Unity.CurrentTestIgnored == 1) ? 0 : 1; \
36
+ Unity.CurrentTestIgnored = 0; \
37
+ if (Unity.CurrentTestFailed == 1) { \
38
+ SetToOneMeanWeAlreadyCheckedThisGuy = 1; \
39
+ UnityPrint("[[[[ Previous Test Should Have Ignored But Did Not ]]]]"); \
40
+ UNITY_OUTPUT_CHAR('\n'); \
41
+ }
42
+
43
+ int SetToOneToFailInTearDown;
44
+ int SetToOneMeanWeAlreadyCheckedThisGuy;
45
+
46
+ void setUp(void)
47
+ {
48
+ SetToOneToFailInTearDown = 0;
49
+ SetToOneMeanWeAlreadyCheckedThisGuy = 0;
50
+ }
51
+
52
+ void tearDown(void)
53
+ {
54
+ if (SetToOneToFailInTearDown == 1)
55
+ TEST_FAIL_MESSAGE("<= Failed in tearDown");
56
+ if ((SetToOneMeanWeAlreadyCheckedThisGuy == 0) && (Unity.CurrentTestFailed > 0))
57
+ {
58
+ UnityPrint("[[[[ Previous Test Should Have Passed But Did Not ]]]]");
59
+ UNITY_OUTPUT_CHAR('\n');
60
+ }
61
+ }
62
+
63
+ void testUnitySizeInitializationReminder(void)
64
+ {
65
+ /* This test ensures that sizeof(struct _Unity) doesn't change. If this
66
+ * test breaks, go look at the initialization of the Unity global variable
67
+ * in unity.c and make sure we're filling in the proper fields. */
68
+ const char* message = "Unexpected size for _Unity struct. Please check that "
69
+ "the initialization of the Unity symbol in unity.c is "
70
+ "still correct.";
71
+
72
+ /* Define a structure with all the same fields as `struct _Unity`. */
73
+ struct {
74
+ const char* TestFile;
75
+ const char* CurrentTestName;
76
+ UNITY_LINE_TYPE CurrentTestLineNumber;
77
+ UNITY_COUNTER_TYPE NumberOfTests;
78
+ UNITY_COUNTER_TYPE TestFailures;
79
+ UNITY_COUNTER_TYPE TestIgnores;
80
+ UNITY_COUNTER_TYPE CurrentTestFailed;
81
+ UNITY_COUNTER_TYPE CurrentTestIgnored;
82
+ jmp_buf AbortFrame;
83
+ } _Expected_Unity;
84
+
85
+ /* Compare our fake structure's size to the actual structure's size. They
86
+ * should be the same.
87
+ *
88
+ * This accounts for alignment, padding, and packing issues that might come
89
+ * up between different architectures. */
90
+ TEST_ASSERT_EQUAL_MESSAGE(sizeof(_Expected_Unity), sizeof(Unity), message);
91
+ }
92
+
93
+ void testTrue(void)
94
+ {
95
+ TEST_ASSERT(1);
96
+
97
+ TEST_ASSERT_TRUE(1);
98
+ }
99
+
100
+ void testFalse(void)
101
+ {
102
+ TEST_ASSERT_FALSE(0);
103
+
104
+ TEST_ASSERT_UNLESS(0);
105
+ }
106
+
107
+ void testPreviousPass(void)
108
+ {
109
+ TEST_ASSERT_EQUAL_INT(0U, Unity.TestFailures);
110
+ }
111
+
112
+ void testNotVanilla(void)
113
+ {
114
+ EXPECT_ABORT_BEGIN
115
+ TEST_ASSERT(0);
116
+ VERIFY_FAILS_END
117
+ }
118
+
119
+ void testNotTrue(void)
120
+ {
121
+ EXPECT_ABORT_BEGIN
122
+ TEST_ASSERT_TRUE(0);
123
+ VERIFY_FAILS_END
124
+ }
125
+
126
+ void testNotFalse(void)
127
+ {
128
+ EXPECT_ABORT_BEGIN
129
+ TEST_ASSERT_FALSE(1);
130
+ VERIFY_FAILS_END
131
+ }
132
+
133
+ void testNotUnless(void)
134
+ {
135
+ EXPECT_ABORT_BEGIN
136
+ TEST_ASSERT_UNLESS(1);
137
+ VERIFY_FAILS_END
138
+ }
139
+
140
+ void testNotNotEqual(void)
141
+ {
142
+ EXPECT_ABORT_BEGIN
143
+ TEST_ASSERT_NOT_EQUAL(10, 10);
144
+ VERIFY_FAILS_END
145
+ }
146
+
147
+ void testFail(void)
148
+ {
149
+ EXPECT_ABORT_BEGIN
150
+ TEST_FAIL_MESSAGE("Expected for testing");
151
+ VERIFY_FAILS_END
152
+ }
153
+
154
+ void testIsNull(void)
155
+ {
156
+ char* ptr1 = NULL;
157
+ const char* ptr2 = "hello";
158
+
159
+ TEST_ASSERT_NULL(ptr1);
160
+ TEST_ASSERT_NOT_NULL(ptr2);
161
+ }
162
+
163
+ void testIsNullShouldFailIfNot(void)
164
+ {
165
+ const char* ptr1 = "hello";
166
+
167
+ EXPECT_ABORT_BEGIN
168
+ TEST_ASSERT_NULL(ptr1);
169
+ VERIFY_FAILS_END
170
+ }
171
+
172
+ void testNotNullShouldFailIfNULL(void)
173
+ {
174
+ char* ptr1 = NULL;
175
+
176
+ EXPECT_ABORT_BEGIN
177
+ TEST_ASSERT_NOT_NULL(ptr1);
178
+ VERIFY_FAILS_END
179
+ }
180
+
181
+ void testIgnore(void)
182
+ {
183
+ EXPECT_ABORT_BEGIN
184
+ TEST_IGNORE();
185
+ TEST_FAIL_MESSAGE("This should not be reached");
186
+ VERIFY_IGNORES_END
187
+ }
188
+
189
+ void testIgnoreMessage(void)
190
+ {
191
+ EXPECT_ABORT_BEGIN
192
+ TEST_IGNORE_MESSAGE("This is an expected TEST_IGNORE_MESSAGE string!");
193
+ TEST_FAIL_MESSAGE("This should not be reached");
194
+ VERIFY_IGNORES_END
195
+ }
196
+
197
+ void testNotEqualInts(void)
198
+ {
199
+ EXPECT_ABORT_BEGIN
200
+ TEST_ASSERT_EQUAL_INT(3982, 3983);
201
+ VERIFY_FAILS_END
202
+ }
203
+
204
+ void testNotEqualInt8s(void)
205
+ {
206
+ EXPECT_ABORT_BEGIN
207
+ TEST_ASSERT_EQUAL_INT8(-127, -126);
208
+ VERIFY_FAILS_END
209
+ }
210
+
211
+ void testNotEqualInt16s(void)
212
+ {
213
+ EXPECT_ABORT_BEGIN
214
+ TEST_ASSERT_EQUAL_INT16(-16383, -16382);
215
+ VERIFY_FAILS_END
216
+ }
217
+
218
+ void testNotEqualInt32s(void)
219
+ {
220
+ EXPECT_ABORT_BEGIN
221
+ TEST_ASSERT_EQUAL_INT32(-2147483647, -2147483646);
222
+ VERIFY_FAILS_END
223
+ }
224
+
225
+ void testNotEqualBits(void)
226
+ {
227
+ EXPECT_ABORT_BEGIN
228
+ TEST_ASSERT_BITS(0xFF00, 0x5555, 0x5A55);
229
+ VERIFY_FAILS_END
230
+ }
231
+
232
+ void testNotEqualUInts(void)
233
+ {
234
+ _UU16 v0, v1;
235
+
236
+ v0 = 9000;
237
+ v1 = 9001;
238
+
239
+ EXPECT_ABORT_BEGIN
240
+ TEST_ASSERT_EQUAL_UINT(v0, v1);
241
+ VERIFY_FAILS_END
242
+ }
243
+
244
+ void testNotEqualUInt8s(void)
245
+ {
246
+ _UU8 v0, v1;
247
+
248
+ v0 = 254;
249
+ v1 = 255;
250
+
251
+ EXPECT_ABORT_BEGIN
252
+ TEST_ASSERT_EQUAL_UINT8(v0, v1);
253
+ VERIFY_FAILS_END
254
+ }
255
+
256
+ void testNotEqualUInt16s(void)
257
+ {
258
+ _UU16 v0, v1;
259
+
260
+ v0 = 65535;
261
+ v1 = 65534;
262
+
263
+ EXPECT_ABORT_BEGIN
264
+ TEST_ASSERT_EQUAL_UINT16(v0, v1);
265
+ VERIFY_FAILS_END
266
+ }
267
+
268
+ void testNotEqualUInt32s(void)
269
+ {
270
+ _UU32 v0, v1;
271
+
272
+ v0 = 4294967295;
273
+ v1 = 4294967294;
274
+
275
+ EXPECT_ABORT_BEGIN
276
+ TEST_ASSERT_EQUAL_UINT32(v0, v1);
277
+ VERIFY_FAILS_END
278
+ }
279
+
280
+ void testNotEqualHex8s(void)
281
+ {
282
+ _UU8 v0, v1;
283
+
284
+ v0 = 0x23;
285
+ v1 = 0x22;
286
+
287
+ EXPECT_ABORT_BEGIN
288
+ TEST_ASSERT_EQUAL_HEX8(v0, v1);
289
+ VERIFY_FAILS_END
290
+ }
291
+
292
+ void testNotEqualHex8sIfSigned(void)
293
+ {
294
+ _US8 v0, v1;
295
+
296
+ v0 = -2;
297
+ v1 = 2;
298
+
299
+ EXPECT_ABORT_BEGIN
300
+ TEST_ASSERT_EQUAL_HEX8(v0, v1);
301
+ VERIFY_FAILS_END
302
+ }
303
+
304
+ void testNotEqualHex16s(void)
305
+ {
306
+ _UU16 v0, v1;
307
+
308
+ v0 = 0x1234;
309
+ v1 = 0x1235;
310
+
311
+ EXPECT_ABORT_BEGIN
312
+ TEST_ASSERT_EQUAL_HEX16(v0, v1);
313
+ VERIFY_FAILS_END
314
+ }
315
+
316
+ void testNotEqualHex16sIfSigned(void)
317
+ {
318
+ _US16 v0, v1;
319
+
320
+ v0 = -1024;
321
+ v1 = -1028;
322
+
323
+ EXPECT_ABORT_BEGIN
324
+ TEST_ASSERT_EQUAL_HEX16(v0, v1);
325
+ VERIFY_FAILS_END
326
+ }
327
+
328
+ void testNotEqualHex32s(void)
329
+ {
330
+ _UU32 v0, v1;
331
+
332
+ v0 = 900000;
333
+ v1 = 900001;
334
+
335
+ EXPECT_ABORT_BEGIN
336
+ TEST_ASSERT_EQUAL_HEX32(v0, v1);
337
+ VERIFY_FAILS_END
338
+ }
339
+
340
+ void testNotEqualHex32sIfSigned(void)
341
+ {
342
+ _US32 v0, v1;
343
+
344
+ v0 = -900000;
345
+ v1 = 900001;
346
+
347
+ EXPECT_ABORT_BEGIN
348
+ TEST_ASSERT_EQUAL_HEX32(v0, v1);
349
+ VERIFY_FAILS_END
350
+ }
351
+
352
+ void testEqualInts(void)
353
+ {
354
+ int v0, v1;
355
+ int *p0, *p1;
356
+
357
+ v0 = 19467;
358
+ v1 = 19467;
359
+ p0 = &v0;
360
+ p1 = &v1;
361
+
362
+ TEST_ASSERT_EQUAL_INT(1837, 1837);
363
+ TEST_ASSERT_EQUAL_INT(-27365, -27365);
364
+ TEST_ASSERT_EQUAL_INT(v0, v1);
365
+ TEST_ASSERT_EQUAL_INT(19467, v1);
366
+ TEST_ASSERT_EQUAL_INT(v0, 19467);
367
+ TEST_ASSERT_EQUAL_INT(*p0, v1);
368
+ TEST_ASSERT_EQUAL_INT(*p0, *p1);
369
+ TEST_ASSERT_EQUAL_INT(*p0, 19467);
370
+ }
371
+
372
+ void testEqualInt8s(void)
373
+ {
374
+ _US8 v0, v1;
375
+ _US8 *p0, *p1;
376
+
377
+ v0 = 0x22;
378
+ v1 = 0x22;
379
+ p0 = &v0;
380
+ p1 = &v1;
381
+
382
+ TEST_ASSERT_EQUAL_INT8(0x22, 0x22);
383
+ TEST_ASSERT_EQUAL_INT8(v0, v1);
384
+ TEST_ASSERT_EQUAL_INT8(0x22, v1);
385
+ TEST_ASSERT_EQUAL_INT8(v0, 0x22);
386
+ TEST_ASSERT_EQUAL_INT8(*p0, v1);
387
+ TEST_ASSERT_EQUAL_INT8(*p0, *p1);
388
+ TEST_ASSERT_EQUAL_INT8(*p0, 0x22);
389
+ }
390
+
391
+ void testEqualInt8sWhenThereAreDifferencesOutside8Bits(void)
392
+ {
393
+ TEST_ASSERT_EQUAL_INT8(0x321,0x421);
394
+ TEST_ASSERT_EQUAL_INT8(0xFF21,0x0021);
395
+ }
396
+
397
+ void testEqualInt16s(void)
398
+ {
399
+ _US16 v0, v1;
400
+ _US16 *p0, *p1;
401
+
402
+ v0 = 0x7876;
403
+ v1 = 0x7876;
404
+ p0 = &v0;
405
+ p1 = &v1;
406
+
407
+ TEST_ASSERT_EQUAL_INT16(0x7876, 0x7876);
408
+ TEST_ASSERT_EQUAL_INT16(v0, v1);
409
+ TEST_ASSERT_EQUAL_INT16(0x7876, v1);
410
+ TEST_ASSERT_EQUAL_INT16(v0, 0x7876);
411
+ TEST_ASSERT_EQUAL_INT16(*p0, v1);
412
+ TEST_ASSERT_EQUAL_INT16(*p0, *p1);
413
+ TEST_ASSERT_EQUAL_INT16(*p0, 0x7876);
414
+ }
415
+
416
+ void testEqualInt16sNegatives(void)
417
+ {
418
+ _US16 v0, v1;
419
+ _US16 *p0, *p1;
420
+
421
+ v0 = -7876;
422
+ v1 = -7876;
423
+ p0 = &v0;
424
+ p1 = &v1;
425
+
426
+ TEST_ASSERT_EQUAL_INT16(-7876, -7876);
427
+ TEST_ASSERT_EQUAL_INT16(v0, v1);
428
+ TEST_ASSERT_EQUAL_INT16(-7876, v1);
429
+ TEST_ASSERT_EQUAL_INT16(v0, -7876);
430
+ TEST_ASSERT_EQUAL_INT16(*p0, v1);
431
+ TEST_ASSERT_EQUAL_INT16(*p0, *p1);
432
+ TEST_ASSERT_EQUAL_INT16(*p0, -7876);
433
+ }
434
+
435
+ void testEqualInt16sWhenThereAreDifferencesOutside16Bits(void)
436
+ {
437
+ TEST_ASSERT_EQUAL_INT16(0x54321,0x64321);
438
+ TEST_ASSERT_EQUAL_INT16(0xFFFF4321,0x00004321);
439
+ }
440
+
441
+ void testEqualInt32s(void)
442
+ {
443
+ _US32 v0, v1;
444
+ _US32 *p0, *p1;
445
+
446
+ v0 = 0x78760000;
447
+ v1 = 0x78760000;
448
+ p0 = &v0;
449
+ p1 = &v1;
450
+
451
+ TEST_ASSERT_EQUAL_INT32(0x78760000, 0x78760000);
452
+ TEST_ASSERT_EQUAL_INT32(v0, v1);
453
+ TEST_ASSERT_EQUAL_INT32(0x78760000, v1);
454
+ TEST_ASSERT_EQUAL_INT32(v0, 0x78760000);
455
+ TEST_ASSERT_EQUAL_INT32(*p0, v1);
456
+ TEST_ASSERT_EQUAL_INT32(*p0, *p1);
457
+ TEST_ASSERT_EQUAL_INT32(*p0, 0x78760000);
458
+ }
459
+
460
+ void testEqualInt32sNegatives(void)
461
+ {
462
+ _US32 v0, v1;
463
+ _US32 *p0, *p1;
464
+
465
+ v0 = -123456789;
466
+ v1 = -123456789;
467
+ p0 = &v0;
468
+ p1 = &v1;
469
+
470
+ TEST_ASSERT_EQUAL_INT32(-123456789, -123456789);
471
+ TEST_ASSERT_EQUAL_INT32(v0, v1);
472
+ TEST_ASSERT_EQUAL_INT32(-123456789, v1);
473
+ TEST_ASSERT_EQUAL_INT32(v0, -123456789);
474
+ TEST_ASSERT_EQUAL_INT32(*p0, v1);
475
+ TEST_ASSERT_EQUAL_INT32(*p0, *p1);
476
+ TEST_ASSERT_EQUAL_INT32(*p0, -123456789);
477
+ }
478
+
479
+
480
+ void testEqualUints(void)
481
+ {
482
+ unsigned int v0, v1;
483
+ unsigned int *p0, *p1;
484
+
485
+ v0 = 19467;
486
+ v1 = 19467;
487
+ p0 = &v0;
488
+ p1 = &v1;
489
+
490
+ TEST_ASSERT_EQUAL_UINT(1837, 1837);
491
+ TEST_ASSERT_EQUAL_UINT(v0, v1);
492
+ TEST_ASSERT_EQUAL_UINT(19467, v1);
493
+ TEST_ASSERT_EQUAL_UINT(v0, 19467);
494
+ TEST_ASSERT_EQUAL_UINT(*p0, v1);
495
+ TEST_ASSERT_EQUAL_UINT(*p0, *p1);
496
+ TEST_ASSERT_EQUAL_UINT(*p0, 19467);
497
+ TEST_ASSERT_EQUAL_UINT(60872u, 60872u);
498
+ }
499
+
500
+
501
+ void testEqualUint8s(void)
502
+ {
503
+ _UU8 v0, v1;
504
+ _UU8 *p0, *p1;
505
+
506
+ v0 = 0x22;
507
+ v1 = 0x22;
508
+ p0 = &v0;
509
+ p1 = &v1;
510
+
511
+ TEST_ASSERT_EQUAL_UINT8(0x22, 0x22);
512
+ TEST_ASSERT_EQUAL_UINT8(v0, v1);
513
+ TEST_ASSERT_EQUAL_UINT8(0x22, v1);
514
+ TEST_ASSERT_EQUAL_UINT8(v0, 0x22);
515
+ TEST_ASSERT_EQUAL_UINT8(*p0, v1);
516
+ TEST_ASSERT_EQUAL_UINT8(*p0, *p1);
517
+ TEST_ASSERT_EQUAL_UINT8(*p0, 0x22);
518
+ }
519
+
520
+ void testEqualUint8sWhenThereAreDifferencesOutside8Bits(void)
521
+ {
522
+ TEST_ASSERT_EQUAL_UINT8(0x321,0x421);
523
+ TEST_ASSERT_EQUAL_UINT8(0xFF21,0x0021);
524
+ }
525
+
526
+ void testEqualUint16s(void)
527
+ {
528
+ _UU16 v0, v1;
529
+ _UU16 *p0, *p1;
530
+
531
+ v0 = 0x9876;
532
+ v1 = 0x9876;
533
+ p0 = &v0;
534
+ p1 = &v1;
535
+
536
+ TEST_ASSERT_EQUAL_UINT16(0x9876, 0x9876);
537
+ TEST_ASSERT_EQUAL_UINT16(v0, v1);
538
+ TEST_ASSERT_EQUAL_UINT16(0x9876, v1);
539
+ TEST_ASSERT_EQUAL_UINT16(v0, 0x9876);
540
+ TEST_ASSERT_EQUAL_UINT16(*p0, v1);
541
+ TEST_ASSERT_EQUAL_UINT16(*p0, *p1);
542
+ TEST_ASSERT_EQUAL_UINT16(*p0, 0x9876);
543
+ }
544
+
545
+ void testEqualUint16sWhenThereAreDifferencesOutside16Bits(void)
546
+ {
547
+ TEST_ASSERT_EQUAL_UINT16(0x54321,0x64321);
548
+ TEST_ASSERT_EQUAL_UINT16(0xFFFF4321,0x00004321);
549
+ }
550
+
551
+ void testEqualUint32s(void)
552
+ {
553
+ _UU32 v0, v1;
554
+ _UU32 *p0, *p1;
555
+
556
+ v0 = 0x98760000;
557
+ v1 = 0x98760000;
558
+ p0 = &v0;
559
+ p1 = &v1;
560
+
561
+ TEST_ASSERT_EQUAL_UINT32(0x98760000, 0x98760000);
562
+ TEST_ASSERT_EQUAL_UINT32(v0, v1);
563
+ TEST_ASSERT_EQUAL_UINT32(0x98760000, v1);
564
+ TEST_ASSERT_EQUAL_UINT32(v0, 0x98760000);
565
+ TEST_ASSERT_EQUAL_UINT32(*p0, v1);
566
+ TEST_ASSERT_EQUAL_UINT32(*p0, *p1);
567
+ TEST_ASSERT_EQUAL_UINT32(*p0, 0x98760000);
568
+ }
569
+
570
+ void testNotEqual(void)
571
+ {
572
+ TEST_ASSERT_NOT_EQUAL(0, 1);
573
+ TEST_ASSERT_NOT_EQUAL(1, 0);
574
+ TEST_ASSERT_NOT_EQUAL(100, 101);
575
+ TEST_ASSERT_NOT_EQUAL(0, -1);
576
+ TEST_ASSERT_NOT_EQUAL(65535, -65535);
577
+ TEST_ASSERT_NOT_EQUAL(75, 900);
578
+ TEST_ASSERT_NOT_EQUAL(-100, -101);
579
+ }
580
+
581
+ void testEqualHex8s(void)
582
+ {
583
+ _UU8 v0, v1;
584
+ _UU8 *p0, *p1;
585
+
586
+ v0 = 0x22;
587
+ v1 = 0x22;
588
+ p0 = &v0;
589
+ p1 = &v1;
590
+
591
+ TEST_ASSERT_EQUAL_HEX8(0x22, 0x22);
592
+ TEST_ASSERT_EQUAL_HEX8(v0, v1);
593
+ TEST_ASSERT_EQUAL_HEX8(0x22, v1);
594
+ TEST_ASSERT_EQUAL_HEX8(v0, 0x22);
595
+ TEST_ASSERT_EQUAL_HEX8(*p0, v1);
596
+ TEST_ASSERT_EQUAL_HEX8(*p0, *p1);
597
+ TEST_ASSERT_EQUAL_HEX8(*p0, 0x22);
598
+ }
599
+
600
+ void testEqualHex8sWhenThereAreDifferencesOutside8Bits(void)
601
+ {
602
+ TEST_ASSERT_EQUAL_HEX8(0x321,0x421);
603
+ TEST_ASSERT_EQUAL_HEX8(0xFF21,0x0021);
604
+ }
605
+
606
+ void testEqualHex8sNegatives(void)
607
+ {
608
+ _UU8 v0, v1;
609
+ _UU8 *p0, *p1;
610
+
611
+ v0 = 0xDD;
612
+ v1 = 0xDD;
613
+ p0 = &v0;
614
+ p1 = &v1;
615
+
616
+ TEST_ASSERT_EQUAL_HEX8(0xDD, 0xDD);
617
+ TEST_ASSERT_EQUAL_HEX8(v0, v1);
618
+ TEST_ASSERT_EQUAL_HEX8(0xDD, v1);
619
+ TEST_ASSERT_EQUAL_HEX8(v0, 0xDD);
620
+ TEST_ASSERT_EQUAL_HEX8(*p0, v1);
621
+ TEST_ASSERT_EQUAL_HEX8(*p0, *p1);
622
+ TEST_ASSERT_EQUAL_HEX8(*p0, 0xDD);
623
+ }
624
+
625
+ void testEqualHex16s(void)
626
+ {
627
+ _UU16 v0, v1;
628
+ _UU16 *p0, *p1;
629
+
630
+ v0 = 0x9876;
631
+ v1 = 0x9876;
632
+ p0 = &v0;
633
+ p1 = &v1;
634
+
635
+ TEST_ASSERT_EQUAL_HEX16(0x9876, 0x9876);
636
+ TEST_ASSERT_EQUAL_HEX16(v0, v1);
637
+ TEST_ASSERT_EQUAL_HEX16(0x9876, v1);
638
+ TEST_ASSERT_EQUAL_HEX16(v0, 0x9876);
639
+ TEST_ASSERT_EQUAL_HEX16(*p0, v1);
640
+ TEST_ASSERT_EQUAL_HEX16(*p0, *p1);
641
+ TEST_ASSERT_EQUAL_HEX16(*p0, 0x9876);
642
+ }
643
+
644
+ void testEqualHex16sWhenThereAreDifferencesOutside16Bits(void)
645
+ {
646
+ TEST_ASSERT_EQUAL_HEX16(0x54321,0x64321);
647
+ TEST_ASSERT_EQUAL_HEX16(0xFFFF4321,0x00004321);
648
+ }
649
+
650
+ void testEqualHex32s(void)
651
+ {
652
+ _UU32 v0, v1;
653
+ _UU32 *p0, *p1;
654
+
655
+ v0 = 0x98765432ul;
656
+ v1 = 0x98765432ul;
657
+ p0 = &v0;
658
+ p1 = &v1;
659
+
660
+ TEST_ASSERT_EQUAL_HEX32(0x98765432ul, 0x98765432ul);
661
+ TEST_ASSERT_EQUAL_HEX32(v0, v1);
662
+ TEST_ASSERT_EQUAL_HEX32(0x98765432ul, v1);
663
+ TEST_ASSERT_EQUAL_HEX32(v0, 0x98765432ul);
664
+ TEST_ASSERT_EQUAL_HEX32(*p0, v1);
665
+ TEST_ASSERT_EQUAL_HEX32(*p0, *p1);
666
+ TEST_ASSERT_EQUAL_HEX32(*p0, 0x98765432ul);
667
+ }
668
+
669
+ void testEqualBits(void)
670
+ {
671
+ _UU32 v0 = 0xFF55AA00;
672
+ _UU32 v1 = 0x55550000;
673
+
674
+ TEST_ASSERT_BITS(v1, v0, 0x55550000);
675
+ TEST_ASSERT_BITS(v1, v0, 0xFF55CC00);
676
+ TEST_ASSERT_BITS(0xFFFFFFFF, v0, 0xFF55AA00);
677
+ TEST_ASSERT_BITS(0xFFFFFFFF, v0, v0);
678
+ TEST_ASSERT_BITS(0xF0F0F0F0, v0, 0xFC5DAE0F);
679
+ TEST_ASSERT_BITS_HIGH(v1, v0);
680
+ TEST_ASSERT_BITS_LOW(0x000055FF, v0);
681
+ TEST_ASSERT_BIT_HIGH(30, v0);
682
+ TEST_ASSERT_BIT_LOW(5, v0);
683
+ }
684
+
685
+ void testNotEqualBitHigh(void)
686
+ {
687
+ _UU32 v0 = 0x7F55AA00;
688
+
689
+ EXPECT_ABORT_BEGIN
690
+ TEST_ASSERT_BIT_HIGH(31, v0);
691
+ VERIFY_FAILS_END
692
+ }
693
+
694
+ void testNotEqualBitLow(void)
695
+ {
696
+ _UU32 v0 = 0xFF55AA00;
697
+
698
+ EXPECT_ABORT_BEGIN
699
+ TEST_ASSERT_BIT_LOW(30, v0);
700
+ VERIFY_FAILS_END
701
+ }
702
+
703
+ void testNotEqualBitsHigh(void)
704
+ {
705
+ _UU32 v0 = 0xFF55AA00;
706
+ _UU32 v1 = 0x55550000;
707
+
708
+ EXPECT_ABORT_BEGIN
709
+ TEST_ASSERT_BITS_HIGH(v0, v1);
710
+ VERIFY_FAILS_END
711
+
712
+ }
713
+
714
+ void testNotEqualBitsLow(void)
715
+ {
716
+ _UU32 v0 = 0xFF55AA00;
717
+ _UU32 v1 = 0x55550000;
718
+
719
+ EXPECT_ABORT_BEGIN
720
+ TEST_ASSERT_BITS_LOW(v0, v1);
721
+ VERIFY_FAILS_END
722
+
723
+ }
724
+ void testEqualShorts(void)
725
+ {
726
+ short v0, v1;
727
+ short *p0, *p1;
728
+
729
+ v0 = 19467;
730
+ v1 = 19467;
731
+ p0 = &v0;
732
+ p1 = &v1;
733
+
734
+ TEST_ASSERT_EQUAL_INT(1837, 1837);
735
+ TEST_ASSERT_EQUAL_INT(-2987, -2987);
736
+ TEST_ASSERT_EQUAL_INT(v0, v1);
737
+ TEST_ASSERT_EQUAL_INT(19467, v1);
738
+ TEST_ASSERT_EQUAL_INT(v0, 19467);
739
+ TEST_ASSERT_EQUAL_INT(*p0, v1);
740
+ TEST_ASSERT_EQUAL_INT(*p0, *p1);
741
+ TEST_ASSERT_EQUAL_INT(*p0, 19467);
742
+ }
743
+
744
+ void testEqualUShorts(void)
745
+ {
746
+ unsigned short v0, v1;
747
+ unsigned short *p0, *p1;
748
+
749
+ v0 = 19467;
750
+ v1 = 19467;
751
+ p0 = &v0;
752
+ p1 = &v1;
753
+
754
+ TEST_ASSERT_EQUAL_UINT(1837, 1837);
755
+ TEST_ASSERT_EQUAL_UINT(2987, 2987);
756
+ TEST_ASSERT_EQUAL_UINT(v0, v1);
757
+ TEST_ASSERT_EQUAL_UINT(19467, v1);
758
+ TEST_ASSERT_EQUAL_UINT(v0, 19467);
759
+ TEST_ASSERT_EQUAL_UINT(*p0, v1);
760
+ TEST_ASSERT_EQUAL_UINT(*p0, *p1);
761
+ TEST_ASSERT_EQUAL_UINT(*p0, 19467);
762
+ }
763
+
764
+ void testEqualChars(void)
765
+ {
766
+ signed char v0, v1;
767
+ signed char *p0, *p1;
768
+
769
+ v0 = 109;
770
+ v1 = 109;
771
+ p0 = &v0;
772
+ p1 = &v1;
773
+
774
+ TEST_ASSERT_EQUAL_INT(42, 42);
775
+ TEST_ASSERT_EQUAL_INT(-116, -116);
776
+ TEST_ASSERT_EQUAL_INT(v0, v1);
777
+ TEST_ASSERT_EQUAL_INT(109, v1);
778
+ TEST_ASSERT_EQUAL_INT(v0, 109);
779
+ TEST_ASSERT_EQUAL_INT(*p0, v1);
780
+ TEST_ASSERT_EQUAL_INT(*p0, *p1);
781
+ TEST_ASSERT_EQUAL_INT(*p0, 109);
782
+ }
783
+
784
+ void testEqualUChars(void)
785
+ {
786
+ unsigned char v0, v1;
787
+ unsigned char *p0, *p1;
788
+
789
+ v0 = 251;
790
+ v1 = 251;
791
+ p0 = &v0;
792
+ p1 = &v1;
793
+
794
+ TEST_ASSERT_EQUAL_INT(42, 42);
795
+ TEST_ASSERT_EQUAL_INT(v0, v1);
796
+ TEST_ASSERT_EQUAL_INT(251, v1);
797
+ TEST_ASSERT_EQUAL_INT(v0, 251);
798
+ TEST_ASSERT_EQUAL_INT(*p0, v1);
799
+ TEST_ASSERT_EQUAL_INT(*p0, *p1);
800
+ TEST_ASSERT_EQUAL_INT(*p0, 251);
801
+ }
802
+
803
+ void testEqualPointers(void)
804
+ {
805
+ int v0, v1;
806
+ int *p0, *p1, *p2;
807
+
808
+ v0 = 19467;
809
+ v1 = 18271;
810
+ p0 = &v0;
811
+ p1 = &v1;
812
+ p2 = &v1;
813
+
814
+ TEST_ASSERT_EQUAL_PTR(p0, &v0);
815
+ TEST_ASSERT_EQUAL_PTR(&v1, p1);
816
+ TEST_ASSERT_EQUAL_PTR(p2, p1);
817
+ TEST_ASSERT_EQUAL_PTR(&v0, &v0);
818
+ }
819
+
820
+ void testNotEqualPointers(void)
821
+ {
822
+ EXPECT_ABORT_BEGIN
823
+ TEST_ASSERT_EQUAL_PTR(0x12345678, 0x12345677);
824
+ VERIFY_FAILS_END
825
+ }
826
+
827
+ void testIntsWithinDelta(void)
828
+ {
829
+ TEST_ASSERT_INT_WITHIN(1, 5000, 5001);
830
+ TEST_ASSERT_INT_WITHIN(5, 5000, 4996);
831
+ TEST_ASSERT_INT_WITHIN(5, 5000, 5005);
832
+ TEST_ASSERT_INT_WITHIN(500, 50, -440);
833
+
834
+ TEST_ASSERT_INT_WITHIN(2, -1, -1);
835
+ TEST_ASSERT_INT_WITHIN(5, 1, -1);
836
+ TEST_ASSERT_INT_WITHIN(5, -1, 1);
837
+ }
838
+
839
+ void testIntsWithinDeltaAndCustomMessage(void)
840
+ {
841
+ TEST_ASSERT_INT_WITHIN_MESSAGE(1, 5000, 5001, "Custom Message.");
842
+ TEST_ASSERT_INT_WITHIN_MESSAGE(5, 5000, 4996, "Custom Message.");
843
+ TEST_ASSERT_INT_WITHIN_MESSAGE(5, 5000, 5005, "Custom Message.");
844
+ TEST_ASSERT_INT_WITHIN_MESSAGE(500, 50, -440, "Custom Message.");
845
+
846
+ TEST_ASSERT_INT_WITHIN_MESSAGE(2, -1, -1, "Custom Message.");
847
+ TEST_ASSERT_INT_WITHIN_MESSAGE(5, 1, -1, "Custom Message.");
848
+ TEST_ASSERT_INT_WITHIN_MESSAGE(5, -1, 1, "Custom Message.");
849
+ }
850
+
851
+ void testIntsNotWithinDelta(void)
852
+ {
853
+ EXPECT_ABORT_BEGIN
854
+ TEST_ASSERT_INT_WITHIN(5, 5000, 5006);
855
+ VERIFY_FAILS_END
856
+ }
857
+
858
+ void testIntsNotWithinDeltaAndCustomMessage(void)
859
+ {
860
+ EXPECT_ABORT_BEGIN
861
+ TEST_ASSERT_INT_WITHIN_MESSAGE(5, 5000, 5006, "Custom Message.");
862
+ VERIFY_FAILS_END
863
+ }
864
+
865
+ void testUIntsWithinDelta(void)
866
+ {
867
+ TEST_ASSERT_UINT_WITHIN(1, 5000, 5001);
868
+ TEST_ASSERT_UINT_WITHIN(5, 5000, 4996);
869
+ TEST_ASSERT_UINT_WITHIN(5, 5000, 5005);
870
+ }
871
+
872
+ void testUIntsWithinDeltaAndCustomMessage(void)
873
+ {
874
+ TEST_ASSERT_UINT_WITHIN_MESSAGE(1, 5000, 5001, "Custom Message.");
875
+ TEST_ASSERT_UINT_WITHIN_MESSAGE(5, 5000, 4996, "Custom Message.");
876
+ TEST_ASSERT_UINT_WITHIN_MESSAGE(5, 5000, 5005, "Custom Message.");
877
+ }
878
+
879
+ void testUIntsNotWithinDelta(void)
880
+ {
881
+ EXPECT_ABORT_BEGIN
882
+ TEST_ASSERT_UINT_WITHIN(1, 2147483647u, 2147483649u);
883
+ VERIFY_FAILS_END
884
+ }
885
+
886
+ void testUIntsNotWithinDeltaAndCustomMessage(void)
887
+ {
888
+ EXPECT_ABORT_BEGIN
889
+ TEST_ASSERT_UINT_WITHIN_MESSAGE(1, 2147483647u, 2147483649u, "Custom Message.");
890
+ VERIFY_FAILS_END
891
+ }
892
+
893
+ void testUIntsNotWithinDeltaEvenThoughASignedIntWouldPassSmallFirst(void)
894
+ {
895
+ EXPECT_ABORT_BEGIN
896
+ TEST_ASSERT_UINT_WITHIN(5, 1, -1);
897
+ VERIFY_FAILS_END
898
+ }
899
+
900
+ void testUIntsNotWithinDeltaEvenThoughASignedIntWouldPassSmallFirstAndCustomMessage(void)
901
+ {
902
+ EXPECT_ABORT_BEGIN
903
+ TEST_ASSERT_UINT_WITHIN_MESSAGE(5, 1, -1, "Custom Message.");
904
+ VERIFY_FAILS_END
905
+ }
906
+
907
+ void testUIntsNotWithinDeltaEvenThoughASignedIntWouldPassBigFirst(void)
908
+ {
909
+ EXPECT_ABORT_BEGIN
910
+ TEST_ASSERT_UINT_WITHIN(5, -1, 1);
911
+ VERIFY_FAILS_END
912
+ }
913
+
914
+ void testUIntsNotWithinDeltaEvenThoughASignedIntWouldPassBigFirstAndCustomMessage(void)
915
+ {
916
+ EXPECT_ABORT_BEGIN
917
+ TEST_ASSERT_UINT_WITHIN_MESSAGE(5, -1, 1, "Custom Message.");
918
+ VERIFY_FAILS_END
919
+ }
920
+
921
+ void testHEX32sWithinDelta(void)
922
+ {
923
+ TEST_ASSERT_HEX32_WITHIN(1, 5000, 5001);
924
+ TEST_ASSERT_HEX32_WITHIN(5, 5000, 4996);
925
+ TEST_ASSERT_HEX32_WITHIN(5, 5000, 5005);
926
+ }
927
+
928
+ void testHEX32sWithinDeltaAndCustomMessage(void)
929
+ {
930
+ TEST_ASSERT_HEX32_WITHIN_MESSAGE(1, 5000, 5001, "Custom Message.");
931
+ TEST_ASSERT_HEX32_WITHIN_MESSAGE(5, 5000, 4996, "Custom Message.");
932
+ TEST_ASSERT_HEX32_WITHIN_MESSAGE(5, 5000, 5005, "Custom Message.");
933
+ }
934
+
935
+ void testHEX32sNotWithinDelta(void)
936
+ {
937
+ EXPECT_ABORT_BEGIN
938
+ TEST_ASSERT_HEX32_WITHIN(1, 2147483647u, 2147483649u);
939
+ VERIFY_FAILS_END
940
+ }
941
+
942
+ void testHEX32sNotWithinDeltaAndCustomMessage(void)
943
+ {
944
+ EXPECT_ABORT_BEGIN
945
+ TEST_ASSERT_HEX32_WITHIN_MESSAGE(1, 2147483647u, 2147483649u, "Custom Message.");
946
+ VERIFY_FAILS_END
947
+ }
948
+
949
+ void testHEX32sNotWithinDeltaEvenThoughASignedIntWouldPass(void)
950
+ {
951
+ EXPECT_ABORT_BEGIN
952
+ TEST_ASSERT_HEX32_WITHIN(5, 1, -1);
953
+ VERIFY_FAILS_END
954
+ }
955
+
956
+ void testHEX32sNotWithinDeltaEvenThoughASignedIntWouldPassAndCustomMessage(void)
957
+ {
958
+ EXPECT_ABORT_BEGIN
959
+ TEST_ASSERT_HEX32_WITHIN_MESSAGE(5, 1, -1, "Custom Message.");
960
+ VERIFY_FAILS_END
961
+ }
962
+
963
+ void testHEX16sWithinDelta(void)
964
+ {
965
+ TEST_ASSERT_HEX16_WITHIN(1, 5000, 5001);
966
+ TEST_ASSERT_HEX16_WITHIN(5, 5000, 4996);
967
+ TEST_ASSERT_HEX16_WITHIN(5, 5000, 5005);
968
+ }
969
+
970
+ void testHEX16sWithinDeltaAndCustomMessage(void)
971
+ {
972
+ TEST_ASSERT_HEX16_WITHIN_MESSAGE(1, 5000, 5001, "Custom Message.");
973
+ TEST_ASSERT_HEX16_WITHIN_MESSAGE(5, 5000, 4996, "Custom Message.");
974
+ TEST_ASSERT_HEX16_WITHIN_MESSAGE(5, 5000, 5005, "Custom Message.");
975
+ }
976
+
977
+ void testHEX16sWithinDeltaWhenThereAreDifferenceOutsideOf16Bits(void)
978
+ {
979
+ TEST_ASSERT_HEX16_WITHIN(5, 0x54321, 0x44321);
980
+ }
981
+
982
+ void testHEX16sWithinDeltaWhenThereAreDifferenceOutsideOf16BitsAndCustomMessage(void)
983
+ {
984
+ TEST_ASSERT_HEX16_WITHIN_MESSAGE(5, 0x54321, 0x44321, "Custom Message.");
985
+ }
986
+
987
+ void testHEX16sNotWithinDelta(void)
988
+ {
989
+ EXPECT_ABORT_BEGIN
990
+ TEST_ASSERT_HEX16_WITHIN(2, 65535, 0);
991
+ VERIFY_FAILS_END
992
+ }
993
+
994
+ void testHEX16sNotWithinDeltaAndCustomMessage(void)
995
+ {
996
+ EXPECT_ABORT_BEGIN
997
+ TEST_ASSERT_HEX16_WITHIN_MESSAGE(2, 65535, 0, "Custom Message.");
998
+ VERIFY_FAILS_END
999
+ }
1000
+
1001
+ void testHEX8sWithinDelta(void)
1002
+ {
1003
+ TEST_ASSERT_HEX8_WITHIN(1, 254, 255);
1004
+ TEST_ASSERT_HEX8_WITHIN(5, 251, 255);
1005
+ TEST_ASSERT_HEX8_WITHIN(5, 1, 4);
1006
+ }
1007
+
1008
+ void testHEX8sWithinDeltaAndCustomMessage(void)
1009
+ {
1010
+ TEST_ASSERT_HEX8_WITHIN_MESSAGE(1, 254, 255, "Custom Message.");
1011
+ TEST_ASSERT_HEX8_WITHIN_MESSAGE(5, 251, 255, "Custom Message.");
1012
+ TEST_ASSERT_HEX8_WITHIN_MESSAGE(5, 1, 4, "Custom Message.");
1013
+ }
1014
+
1015
+ void testHEX8sWithinDeltaWhenThereAreDifferenceOutsideOf8Bits(void)
1016
+ {
1017
+ TEST_ASSERT_HEX8_WITHIN(5, 0x123, 0xF23);
1018
+ }
1019
+
1020
+ void testHEX8sWithinDeltaWhenThereAreDifferenceOutsideOf8BitsAndCustomMessage(void)
1021
+ {
1022
+ TEST_ASSERT_HEX8_WITHIN_MESSAGE(5, 0x123, 0xF23, "Custom Message.");
1023
+ }
1024
+
1025
+ void testHEX8sNotWithinDelta(void)
1026
+ {
1027
+ EXPECT_ABORT_BEGIN
1028
+ TEST_ASSERT_HEX8_WITHIN(2, 255, 0);
1029
+ VERIFY_FAILS_END
1030
+ }
1031
+
1032
+ void testHEX8sNotWithinDeltaAndCustomMessage(void)
1033
+ {
1034
+ EXPECT_ABORT_BEGIN
1035
+ TEST_ASSERT_HEX8_WITHIN_MESSAGE(2, 255, 0, "Custom Message.");
1036
+ VERIFY_FAILS_END
1037
+ }
1038
+
1039
+ //-----------------
1040
+
1041
+ void testUINT32sWithinDelta(void)
1042
+ {
1043
+ TEST_ASSERT_UINT32_WITHIN(1, 5000, 5001);
1044
+ TEST_ASSERT_UINT32_WITHIN(5, 5000, 4996);
1045
+ TEST_ASSERT_UINT32_WITHIN(5, 5000, 5005);
1046
+ }
1047
+
1048
+ void testUINT32sWithinDeltaAndCustomMessage(void)
1049
+ {
1050
+ TEST_ASSERT_UINT32_WITHIN_MESSAGE(1, 5000, 5001, "Custom Message.");
1051
+ TEST_ASSERT_UINT32_WITHIN_MESSAGE(5, 5000, 4996, "Custom Message.");
1052
+ TEST_ASSERT_UINT32_WITHIN_MESSAGE(5, 5000, 5005, "Custom Message.");
1053
+ }
1054
+
1055
+ void testUINT32sNotWithinDelta(void)
1056
+ {
1057
+ EXPECT_ABORT_BEGIN
1058
+ TEST_ASSERT_UINT32_WITHIN(1, 2147483647u, 2147483649u);
1059
+ VERIFY_FAILS_END
1060
+ }
1061
+
1062
+ void testUINT32sNotWithinDeltaAndCustomMessage(void)
1063
+ {
1064
+ EXPECT_ABORT_BEGIN
1065
+ TEST_ASSERT_UINT32_WITHIN_MESSAGE(1, 2147483647u, 2147483649u, "Custom Message.");
1066
+ VERIFY_FAILS_END
1067
+ }
1068
+
1069
+ void testUINT32sNotWithinDeltaEvenThoughASignedIntWouldPass(void)
1070
+ {
1071
+ EXPECT_ABORT_BEGIN
1072
+ TEST_ASSERT_UINT32_WITHIN(5, 1, -1);
1073
+ VERIFY_FAILS_END
1074
+ }
1075
+
1076
+ void testUINT32sNotWithinDeltaEvenThoughASignedIntWouldPassAndCustomMessage(void)
1077
+ {
1078
+ EXPECT_ABORT_BEGIN
1079
+ TEST_ASSERT_UINT32_WITHIN_MESSAGE(5, 1, -1, "Custom Message.");
1080
+ VERIFY_FAILS_END
1081
+ }
1082
+
1083
+ void testUINT16sWithinDelta(void)
1084
+ {
1085
+ TEST_ASSERT_UINT16_WITHIN(1, 5000, 5001);
1086
+ TEST_ASSERT_UINT16_WITHIN(5, 5000, 4996);
1087
+ TEST_ASSERT_UINT16_WITHIN(5, 5000, 5005);
1088
+ }
1089
+
1090
+ void testUINT16sWithinDeltaAndCustomMessage(void)
1091
+ {
1092
+ TEST_ASSERT_UINT16_WITHIN_MESSAGE(1, 5000, 5001, "Custom Message.");
1093
+ TEST_ASSERT_UINT16_WITHIN_MESSAGE(5, 5000, 4996, "Custom Message.");
1094
+ TEST_ASSERT_UINT16_WITHIN_MESSAGE(5, 5000, 5005, "Custom Message.");
1095
+ }
1096
+
1097
+ void testUINT16sWithinDeltaWhenThereAreDifferenceOutsideOf16Bits(void)
1098
+ {
1099
+ TEST_ASSERT_UINT16_WITHIN(5, 0x54321, 0x44321);
1100
+ }
1101
+
1102
+ void testUINT16sWithinDeltaWhenThereAreDifferenceOutsideOf16BitsAndCustomMessage(void)
1103
+ {
1104
+ TEST_ASSERT_UINT16_WITHIN_MESSAGE(5, 0x54321, 0x44321, "Custom Message.");
1105
+ }
1106
+
1107
+ void testUINT16sNotWithinDelta(void)
1108
+ {
1109
+ EXPECT_ABORT_BEGIN
1110
+ TEST_ASSERT_UINT16_WITHIN(2, 65535, 0);
1111
+ VERIFY_FAILS_END
1112
+ }
1113
+
1114
+ void testUINT16sNotWithinDeltaAndCustomMessage(void)
1115
+ {
1116
+ EXPECT_ABORT_BEGIN
1117
+ TEST_ASSERT_UINT16_WITHIN_MESSAGE(2, 65535, 0, "Custom Message.");
1118
+ VERIFY_FAILS_END
1119
+ }
1120
+
1121
+ void testUINT8sWithinDelta(void)
1122
+ {
1123
+ TEST_ASSERT_UINT8_WITHIN(1, 254, 255);
1124
+ TEST_ASSERT_UINT8_WITHIN(5, 251, 255);
1125
+ TEST_ASSERT_UINT8_WITHIN(5, 1, 4);
1126
+ }
1127
+
1128
+ void testUINT8sWithinDeltaAndCustomMessage(void)
1129
+ {
1130
+ TEST_ASSERT_UINT8_WITHIN_MESSAGE(1, 254, 255, "Custom Message.");
1131
+ TEST_ASSERT_UINT8_WITHIN_MESSAGE(5, 251, 255, "Custom Message.");
1132
+ TEST_ASSERT_UINT8_WITHIN_MESSAGE(5, 1, 4, "Custom Message.");
1133
+ }
1134
+
1135
+ void testUINT8sWithinDeltaWhenThereAreDifferenceOutsideOf8Bits(void)
1136
+ {
1137
+ TEST_ASSERT_UINT8_WITHIN(5, 0x123, 0xF23);
1138
+ }
1139
+
1140
+ void testUINT8sWithinDeltaWhenThereAreDifferenceOutsideOf8BitsAndCustomMessage(void)
1141
+ {
1142
+ TEST_ASSERT_UINT8_WITHIN_MESSAGE(5, 0x123, 0xF23, "Custom Message.");
1143
+ }
1144
+
1145
+ void testUINT8sNotWithinDelta(void)
1146
+ {
1147
+ EXPECT_ABORT_BEGIN
1148
+ TEST_ASSERT_UINT8_WITHIN(2, 255, 0);
1149
+ VERIFY_FAILS_END
1150
+ }
1151
+
1152
+ void testUINT8sNotWithinDeltaAndCustomMessage(void)
1153
+ {
1154
+ EXPECT_ABORT_BEGIN
1155
+ TEST_ASSERT_UINT8_WITHIN_MESSAGE(2, 255, 0, "Custom Message.");
1156
+ VERIFY_FAILS_END
1157
+ }
1158
+
1159
+ void testINT32sWithinDelta(void)
1160
+ {
1161
+ TEST_ASSERT_INT32_WITHIN(1, 5000, 5001);
1162
+ TEST_ASSERT_INT32_WITHIN(5, 1, -2);
1163
+ TEST_ASSERT_INT32_WITHIN(5, -2, 1);
1164
+ }
1165
+
1166
+ void testINT32sWithinDeltaAndCustomMessage(void)
1167
+ {
1168
+ TEST_ASSERT_INT32_WITHIN_MESSAGE(1, 5000, 5001, "Custom Message.");
1169
+ }
1170
+
1171
+ void testINT32sNotWithinDelta(void)
1172
+ {
1173
+ EXPECT_ABORT_BEGIN
1174
+ TEST_ASSERT_INT32_WITHIN(1, -3, 1);
1175
+ VERIFY_FAILS_END
1176
+ }
1177
+
1178
+ void testINT32sNotWithinDeltaAndCustomMessage(void)
1179
+ {
1180
+ EXPECT_ABORT_BEGIN
1181
+ TEST_ASSERT_INT32_WITHIN_MESSAGE(1, -2, 1, "Custom Message.");
1182
+ VERIFY_FAILS_END
1183
+ }
1184
+
1185
+ void testINT16sWithinDelta(void)
1186
+ {
1187
+ TEST_ASSERT_INT16_WITHIN(1, 5000, 5001);
1188
+ TEST_ASSERT_INT16_WITHIN(5, 2, -2);
1189
+ TEST_ASSERT_INT16_WITHIN(5, -2, 2);
1190
+ }
1191
+
1192
+ void testINT16sWithinDeltaAndCustomMessage(void)
1193
+ {
1194
+ TEST_ASSERT_INT16_WITHIN_MESSAGE(1, 5000, 5001, "Custom Message.");
1195
+ }
1196
+
1197
+ void testINT16sWithinDeltaWhenThereAreDifferenceOutsideOf16Bits(void)
1198
+ {
1199
+ TEST_ASSERT_INT16_WITHIN(5, 0x54321, 0x44321);
1200
+ }
1201
+
1202
+ void testINT16sWithinDeltaWhenThereAreDifferenceOutsideOf16BitsAndCustomMessage(void)
1203
+ {
1204
+ TEST_ASSERT_INT16_WITHIN_MESSAGE(5, 0x54321, 0x44321, "Custom Message.");
1205
+ }
1206
+
1207
+ void testINT16sNotWithinDelta(void)
1208
+ {
1209
+ EXPECT_ABORT_BEGIN
1210
+ TEST_ASSERT_INT16_WITHIN(2, 4, -2);
1211
+ VERIFY_FAILS_END
1212
+ }
1213
+
1214
+ void testINT16sNotWithinDeltaAndCustomMessage(void)
1215
+ {
1216
+ EXPECT_ABORT_BEGIN
1217
+ TEST_ASSERT_INT16_WITHIN_MESSAGE(2, 3, 0, "Custom Message.");
1218
+ VERIFY_FAILS_END
1219
+ }
1220
+
1221
+ void testINT8sWithinDelta(void)
1222
+ {
1223
+ TEST_ASSERT_INT8_WITHIN(1, 127, 126);
1224
+ TEST_ASSERT_INT8_WITHIN(5, -2, 2);
1225
+ TEST_ASSERT_INT8_WITHIN(5, 2, -2);
1226
+ }
1227
+
1228
+ void testINT8sWithinDeltaAndCustomMessage(void)
1229
+ {
1230
+ TEST_ASSERT_INT8_WITHIN_MESSAGE(5, 1, 4, "Custom Message.");
1231
+ }
1232
+
1233
+ void testINT8sWithinDeltaWhenThereAreDifferenceOutsideOf8Bits(void)
1234
+ {
1235
+ TEST_ASSERT_INT8_WITHIN(5, 0x123, 0xF23);
1236
+ }
1237
+
1238
+ void testINT8sWithinDeltaWhenThereAreDifferenceOutsideOf8BitsAndCustomMessage(void)
1239
+ {
1240
+ TEST_ASSERT_INT8_WITHIN_MESSAGE(5, 0x123, 0xF23, "Custom Message.");
1241
+ }
1242
+
1243
+ void testINT8sNotWithinDelta(void)
1244
+ {
1245
+ EXPECT_ABORT_BEGIN
1246
+ TEST_ASSERT_INT8_WITHIN(2, -3, 0);
1247
+ VERIFY_FAILS_END
1248
+ }
1249
+
1250
+ void testINT8sNotWithinDeltaAndCustomMessage(void)
1251
+ {
1252
+ EXPECT_ABORT_BEGIN
1253
+ TEST_ASSERT_INT8_WITHIN_MESSAGE(2, -4, 0, "Custom Message.");
1254
+ VERIFY_FAILS_END
1255
+ }
1256
+
1257
+ void testEqualStrings(void)
1258
+ {
1259
+ const char *testString = "foo";
1260
+
1261
+ TEST_ASSERT_EQUAL_STRING(testString, testString);
1262
+ TEST_ASSERT_EQUAL_STRING("foo", "foo");
1263
+ TEST_ASSERT_EQUAL_STRING("foo", testString);
1264
+ TEST_ASSERT_EQUAL_STRING(testString, "foo");
1265
+ TEST_ASSERT_EQUAL_STRING("", "");
1266
+ }
1267
+
1268
+ void testEqualStringsWithCarriageReturnsAndLineFeeds(void)
1269
+ {
1270
+ const char *testString = "foo\r\nbar";
1271
+
1272
+ TEST_ASSERT_EQUAL_STRING(testString, testString);
1273
+ TEST_ASSERT_EQUAL_STRING("foo\r\nbar", "foo\r\nbar");
1274
+ TEST_ASSERT_EQUAL_STRING("foo\r\nbar", testString);
1275
+ TEST_ASSERT_EQUAL_STRING(testString, "foo\r\nbar");
1276
+ TEST_ASSERT_EQUAL_STRING("", "");
1277
+ }
1278
+
1279
+ void testNotEqualString1(void)
1280
+ {
1281
+ EXPECT_ABORT_BEGIN
1282
+ TEST_ASSERT_EQUAL_STRING("foo", "bar");
1283
+ VERIFY_FAILS_END
1284
+ }
1285
+
1286
+ void testNotEqualString2(void)
1287
+ {
1288
+ EXPECT_ABORT_BEGIN
1289
+ TEST_ASSERT_EQUAL_STRING("foo", "");
1290
+ VERIFY_FAILS_END
1291
+ }
1292
+
1293
+ void testNotEqualString3(void)
1294
+ {
1295
+ EXPECT_ABORT_BEGIN
1296
+ TEST_ASSERT_EQUAL_STRING("", "bar");
1297
+ VERIFY_FAILS_END
1298
+ }
1299
+
1300
+ void testNotEqualString4(void)
1301
+ {
1302
+ EXPECT_ABORT_BEGIN
1303
+ TEST_ASSERT_EQUAL_STRING("bar\r", "bar\n");
1304
+ VERIFY_FAILS_END
1305
+ }
1306
+
1307
+ void testNotEqualString5(void)
1308
+ {
1309
+ const char str1[] = { 0x41, 0x42, 0x03, 0x00 };
1310
+ const char str2[] = { 0x41, 0x42, 0x04, 0x00 };
1311
+ EXPECT_ABORT_BEGIN
1312
+ TEST_ASSERT_EQUAL_STRING(str1, str2);
1313
+ VERIFY_FAILS_END
1314
+ }
1315
+
1316
+ void testNotEqualString_ExpectedStringIsNull(void)
1317
+ {
1318
+ EXPECT_ABORT_BEGIN
1319
+ TEST_ASSERT_EQUAL_STRING(NULL, "bar");
1320
+ VERIFY_FAILS_END
1321
+ }
1322
+
1323
+ void testNotEqualString_ActualStringIsNull(void)
1324
+ {
1325
+ EXPECT_ABORT_BEGIN
1326
+ TEST_ASSERT_EQUAL_STRING("foo", NULL);
1327
+ VERIFY_FAILS_END
1328
+ }
1329
+
1330
+ void testEqualStringArrays(void)
1331
+ {
1332
+ const char *testStrings[] = { "foo", "boo", "woo", "moo" };
1333
+ const char *expStrings[] = { "foo", "boo", "woo", "zoo" };
1334
+
1335
+ TEST_ASSERT_EQUAL_STRING_ARRAY(expStrings, expStrings, 3);
1336
+ TEST_ASSERT_EQUAL_STRING_ARRAY(expStrings, testStrings, 3);
1337
+ TEST_ASSERT_EQUAL_STRING_ARRAY(expStrings, testStrings, 2);
1338
+ TEST_ASSERT_EQUAL_STRING_ARRAY(expStrings, testStrings, 1);
1339
+ }
1340
+
1341
+ void testNotEqualStringArray1(void)
1342
+ {
1343
+ const char *testStrings[] = { "foo", "boo", "woo", "moo" };
1344
+ const char *expStrings[] = { "foo", "boo", "woo", "zoo" };
1345
+
1346
+ EXPECT_ABORT_BEGIN
1347
+ TEST_ASSERT_EQUAL_STRING_ARRAY(expStrings, testStrings, 4);
1348
+ VERIFY_FAILS_END
1349
+ }
1350
+
1351
+ void testNotEqualStringArray2(void)
1352
+ {
1353
+ const char *testStrings[] = { "zoo", "boo", "woo", "moo" };
1354
+ const char *expStrings[] = { "foo", "boo", "woo", "moo" };
1355
+
1356
+ EXPECT_ABORT_BEGIN
1357
+ TEST_ASSERT_EQUAL_STRING_ARRAY(expStrings, testStrings, 4);
1358
+ VERIFY_FAILS_END
1359
+ }
1360
+
1361
+ void testNotEqualStringArray3(void)
1362
+ {
1363
+ const char *testStrings[] = { "foo", "boo", "woo", NULL };
1364
+ const char *expStrings[] = { "foo", "boo", "woo", "zoo" };
1365
+
1366
+ EXPECT_ABORT_BEGIN
1367
+ TEST_ASSERT_EQUAL_STRING_ARRAY(expStrings, testStrings, 4);
1368
+ VERIFY_FAILS_END
1369
+ }
1370
+
1371
+ void testNotEqualStringArray4(void)
1372
+ {
1373
+ const char *testStrings[] = { "foo", "boo", "woo", "moo" };
1374
+ const char *expStrings[] = { "foo", NULL, "woo", "moo" };
1375
+
1376
+ EXPECT_ABORT_BEGIN
1377
+ TEST_ASSERT_EQUAL_STRING_ARRAY(expStrings, testStrings, 4);
1378
+ VERIFY_FAILS_END
1379
+ }
1380
+
1381
+ void testNotEqualStringArray5(void)
1382
+ {
1383
+ const char **testStrings = NULL;
1384
+ const char *expStrings[] = { "foo", "boo", "woo", "zoo" };
1385
+
1386
+ EXPECT_ABORT_BEGIN
1387
+ TEST_ASSERT_EQUAL_STRING_ARRAY(expStrings, testStrings, 4);
1388
+ VERIFY_FAILS_END
1389
+ }
1390
+
1391
+ void testNotEqualStringArray6(void)
1392
+ {
1393
+ const char *testStrings[] = { "foo", "boo", "woo", "zoo" };
1394
+ const char **expStrings = NULL;
1395
+
1396
+ EXPECT_ABORT_BEGIN
1397
+ TEST_ASSERT_EQUAL_STRING_ARRAY(expStrings, testStrings, 4);
1398
+ VERIFY_FAILS_END
1399
+ }
1400
+
1401
+ void testEqualStringArrayIfBothNulls(void)
1402
+ {
1403
+ const char **testStrings = NULL;
1404
+ const char **expStrings = NULL;
1405
+
1406
+ TEST_ASSERT_EQUAL_STRING_ARRAY(expStrings, testStrings, 4);
1407
+ }
1408
+
1409
+ void testEqualMemory(void)
1410
+ {
1411
+ const char *testString = "whatever";
1412
+
1413
+ TEST_ASSERT_EQUAL_MEMORY(testString, testString, 8);
1414
+ TEST_ASSERT_EQUAL_MEMORY("whatever", "whatever", 8);
1415
+ TEST_ASSERT_EQUAL_MEMORY("whatever", testString, 8);
1416
+ TEST_ASSERT_EQUAL_MEMORY(testString, "whatever", 8);
1417
+ TEST_ASSERT_EQUAL_MEMORY(testString, "whatever", 2);
1418
+ TEST_ASSERT_EQUAL_MEMORY(NULL, NULL, 1);
1419
+ }
1420
+
1421
+ void testNotEqualMemory1(void)
1422
+ {
1423
+ EXPECT_ABORT_BEGIN
1424
+ TEST_ASSERT_EQUAL_MEMORY("foo", "bar", 3);
1425
+ VERIFY_FAILS_END
1426
+ }
1427
+
1428
+ void testNotEqualMemory2(void)
1429
+ {
1430
+ EXPECT_ABORT_BEGIN
1431
+ TEST_ASSERT_EQUAL_MEMORY("fool", "food", 4);
1432
+ VERIFY_FAILS_END
1433
+ }
1434
+
1435
+ void testNotEqualMemory3(void)
1436
+ {
1437
+ EXPECT_ABORT_BEGIN
1438
+ TEST_ASSERT_EQUAL_MEMORY(NULL, "food", 4);
1439
+ VERIFY_FAILS_END
1440
+ }
1441
+
1442
+ void testNotEqualMemory4(void)
1443
+ {
1444
+ EXPECT_ABORT_BEGIN
1445
+ TEST_ASSERT_EQUAL_MEMORY("fool", NULL, 4);
1446
+ VERIFY_FAILS_END
1447
+ }
1448
+
1449
+ void testEqualIntArrays(void)
1450
+ {
1451
+ int p0[] = {1, 8, 987, -2};
1452
+ int p1[] = {1, 8, 987, -2};
1453
+ int p2[] = {1, 8, 987, 2};
1454
+ int p3[] = {1, 500, 600, 700};
1455
+
1456
+ TEST_ASSERT_EQUAL_INT_ARRAY(p0, p0, 1);
1457
+ TEST_ASSERT_EQUAL_INT_ARRAY(p0, p0, 4);
1458
+ TEST_ASSERT_EQUAL_INT_ARRAY(p0, p1, 4);
1459
+ TEST_ASSERT_EQUAL_INT_ARRAY(p0, p2, 3);
1460
+ TEST_ASSERT_EQUAL_INT_ARRAY(p0, p3, 1);
1461
+ }
1462
+
1463
+ void testNotEqualIntArraysNullExpected(void)
1464
+ {
1465
+ int* p0 = NULL;
1466
+ int p1[] = {1, 8, 987, 2};
1467
+
1468
+ EXPECT_ABORT_BEGIN
1469
+ TEST_ASSERT_EQUAL_INT_ARRAY(p0, p1, 4);
1470
+ VERIFY_FAILS_END
1471
+ }
1472
+
1473
+ void testNotEqualIntArraysNullActual(void)
1474
+ {
1475
+ int* p1 = NULL;
1476
+ int p0[] = {1, 8, 987, 2};
1477
+
1478
+ EXPECT_ABORT_BEGIN
1479
+ TEST_ASSERT_EQUAL_INT_ARRAY(p0, p1, 4);
1480
+ VERIFY_FAILS_END
1481
+ }
1482
+
1483
+ void testNotEqualIntArrays1(void)
1484
+ {
1485
+ int p0[] = {1, 8, 987, -2};
1486
+ int p1[] = {1, 8, 987, 2};
1487
+
1488
+ EXPECT_ABORT_BEGIN
1489
+ TEST_ASSERT_EQUAL_INT_ARRAY(p0, p1, 4);
1490
+ VERIFY_FAILS_END
1491
+ }
1492
+
1493
+ void testNotEqualIntArrays2(void)
1494
+ {
1495
+ int p0[] = {1, 8, 987, -2};
1496
+ int p1[] = {2, 8, 987, -2};
1497
+
1498
+ EXPECT_ABORT_BEGIN
1499
+ TEST_ASSERT_EQUAL_INT_ARRAY(p0, p1, 4);
1500
+ VERIFY_FAILS_END
1501
+ }
1502
+
1503
+ void testNotEqualIntArrays3(void)
1504
+ {
1505
+ int p0[] = {1, 8, 987, -2};
1506
+ int p1[] = {1, 8, 986, -2};
1507
+
1508
+ EXPECT_ABORT_BEGIN
1509
+ TEST_ASSERT_EQUAL_INT_ARRAY(p0, p1, 4);
1510
+ VERIFY_FAILS_END
1511
+ }
1512
+
1513
+ void testEqualPtrArrays(void)
1514
+ {
1515
+ char A = 1;
1516
+ char B = 2;
1517
+ char C = 3;
1518
+ char* p0[] = {&A, &B, &C};
1519
+ char* p1[] = {&A, &B, &C, &A};
1520
+ char* p2[] = {&A, &B};
1521
+ char* p3[] = {&A};
1522
+
1523
+ TEST_ASSERT_EQUAL_PTR_ARRAY(p0, p0, 1);
1524
+ TEST_ASSERT_EQUAL_PTR_ARRAY(p0, p0, 3);
1525
+ TEST_ASSERT_EQUAL_PTR_ARRAY(p0, p1, 3);
1526
+ TEST_ASSERT_EQUAL_PTR_ARRAY(p1, p2, 2);
1527
+ TEST_ASSERT_EQUAL_PTR_ARRAY(p3, p0, 1);
1528
+ }
1529
+
1530
+ void testNotEqualPtrArraysNullExpected(void)
1531
+ {
1532
+ char A = 1;
1533
+ char B = 2;
1534
+ char** p0 = NULL;
1535
+ char* p1[] = {&A, &B};
1536
+
1537
+ EXPECT_ABORT_BEGIN
1538
+ TEST_ASSERT_EQUAL_PTR_ARRAY(p0, p1, 2);
1539
+ VERIFY_FAILS_END
1540
+ }
1541
+
1542
+ void testNotEqualPtrArraysNullActual(void)
1543
+ {
1544
+ char A = 1;
1545
+ char B = 2;
1546
+ char** p0 = NULL;
1547
+ char* p1[] = {&A, &B};
1548
+
1549
+ EXPECT_ABORT_BEGIN
1550
+ TEST_ASSERT_EQUAL_PTR_ARRAY(p1, p0, 2);
1551
+ VERIFY_FAILS_END
1552
+ }
1553
+
1554
+ void testNotEqualPtrArrays1(void)
1555
+ {
1556
+ char A = 1;
1557
+ char B = 2;
1558
+ char C = 3;
1559
+ char* p0[] = {&A, &B, &C, &B};
1560
+ char* p1[] = {&A, &B, &C, &A};
1561
+
1562
+ EXPECT_ABORT_BEGIN
1563
+ TEST_ASSERT_EQUAL_PTR_ARRAY(p0, p1, 4);
1564
+ VERIFY_FAILS_END
1565
+ }
1566
+
1567
+ void testNotEqualPtrArrays2(void)
1568
+ {
1569
+ char A = 1;
1570
+ char B = 2;
1571
+ char C = 3;
1572
+ char* p0[] = {&B, &B, &C, &A};
1573
+ char* p1[] = {&A, &B, &C, &A};
1574
+
1575
+ EXPECT_ABORT_BEGIN
1576
+ TEST_ASSERT_EQUAL_PTR_ARRAY(p0, p1, 4);
1577
+ VERIFY_FAILS_END
1578
+ }
1579
+
1580
+ void testNotEqualPtrArrays3(void)
1581
+ {
1582
+ char A = 1;
1583
+ char B = 2;
1584
+ char C = 3;
1585
+ char* p0[] = {&A, &B, &B, &A};
1586
+ char* p1[] = {&A, &B, &C, &A};
1587
+
1588
+ EXPECT_ABORT_BEGIN
1589
+ TEST_ASSERT_EQUAL_PTR_ARRAY(p0, p1, 4);
1590
+ VERIFY_FAILS_END
1591
+ }
1592
+
1593
+ void testEqualInt8Arrays(void)
1594
+ {
1595
+ _US8 p0[] = {1, 8, 117, -2};
1596
+ _US8 p1[] = {1, 8, 117, -2};
1597
+ _US8 p2[] = {1, 8, 117, 2};
1598
+ _US8 p3[] = {1, 50, 60, 70};
1599
+
1600
+ TEST_ASSERT_EQUAL_INT8_ARRAY(p0, p0, 1);
1601
+ TEST_ASSERT_EQUAL_INT8_ARRAY(p0, p0, 4);
1602
+ TEST_ASSERT_EQUAL_INT8_ARRAY(p0, p1, 4);
1603
+ TEST_ASSERT_EQUAL_INT8_ARRAY(p0, p2, 3);
1604
+ TEST_ASSERT_EQUAL_INT8_ARRAY(p0, p3, 1);
1605
+ }
1606
+
1607
+ void testNotEqualInt8Arrays(void)
1608
+ {
1609
+ _US8 p0[] = {1, 8, 36, -2};
1610
+ _US8 p1[] = {1, 8, 36, 2};
1611
+
1612
+ EXPECT_ABORT_BEGIN
1613
+ TEST_ASSERT_EQUAL_INT8_ARRAY(p0, p1, 4);
1614
+ VERIFY_FAILS_END
1615
+ }
1616
+
1617
+ void testEqualUIntArrays(void)
1618
+ {
1619
+ unsigned int p0[] = {1, 8, 987, 65132u};
1620
+ unsigned int p1[] = {1, 8, 987, 65132u};
1621
+ unsigned int p2[] = {1, 8, 987, 2};
1622
+ unsigned int p3[] = {1, 500, 600, 700};
1623
+
1624
+ TEST_ASSERT_EQUAL_UINT_ARRAY(p0, p0, 1);
1625
+ TEST_ASSERT_EQUAL_UINT_ARRAY(p0, p0, 4);
1626
+ TEST_ASSERT_EQUAL_UINT_ARRAY(p0, p1, 4);
1627
+ TEST_ASSERT_EQUAL_UINT_ARRAY(p0, p2, 3);
1628
+ TEST_ASSERT_EQUAL_UINT_ARRAY(p0, p3, 1);
1629
+ }
1630
+
1631
+ void testNotEqualUIntArrays1(void)
1632
+ {
1633
+ unsigned int p0[] = {1, 8, 987, 65132u};
1634
+ unsigned int p1[] = {1, 8, 987, 65131u};
1635
+
1636
+ EXPECT_ABORT_BEGIN
1637
+ TEST_ASSERT_EQUAL_UINT_ARRAY(p0, p1, 4);
1638
+ VERIFY_FAILS_END
1639
+ }
1640
+
1641
+ void testNotEqualUIntArrays2(void)
1642
+ {
1643
+ unsigned int p0[] = {1, 8, 987, 65132u};
1644
+ unsigned int p1[] = {2, 8, 987, 65132u};
1645
+
1646
+ EXPECT_ABORT_BEGIN
1647
+ TEST_ASSERT_EQUAL_UINT_ARRAY(p0, p1, 4);
1648
+ VERIFY_FAILS_END
1649
+ }
1650
+
1651
+ void testNotEqualUIntArrays3(void)
1652
+ {
1653
+ unsigned int p0[] = {1, 8, 987, 65132u};
1654
+ unsigned int p1[] = {1, 8, 986, 65132u};
1655
+
1656
+ EXPECT_ABORT_BEGIN
1657
+ TEST_ASSERT_EQUAL_UINT_ARRAY(p0, p1, 4);
1658
+ VERIFY_FAILS_END
1659
+ }
1660
+
1661
+ void testEqualInt16Arrays(void)
1662
+ {
1663
+ _US16 p0[] = {1, 8, 117, 3};
1664
+ _US16 p1[] = {1, 8, 117, 3};
1665
+ _US16 p2[] = {1, 8, 117, 2};
1666
+ _US16 p3[] = {1, 50, 60, 70};
1667
+
1668
+ TEST_ASSERT_EQUAL_INT16_ARRAY(p0, p0, 1);
1669
+ TEST_ASSERT_EQUAL_INT16_ARRAY(p0, p0, 4);
1670
+ TEST_ASSERT_EQUAL_INT16_ARRAY(p0, p1, 4);
1671
+ TEST_ASSERT_EQUAL_INT16_ARRAY(p0, p2, 3);
1672
+ TEST_ASSERT_EQUAL_INT16_ARRAY(p0, p3, 1);
1673
+ }
1674
+
1675
+ void testNotEqualInt16Arrays(void)
1676
+ {
1677
+ _US16 p0[] = {1, 8, 127, 3};
1678
+ _US16 p1[] = {1, 8, 127, 2};
1679
+
1680
+ EXPECT_ABORT_BEGIN
1681
+ TEST_ASSERT_EQUAL_INT16_ARRAY(p0, p1, 4);
1682
+ VERIFY_FAILS_END
1683
+ }
1684
+
1685
+ void testEqualInt32Arrays(void)
1686
+ {
1687
+ _US32 p0[] = {1, 8, 117, 3};
1688
+ _US32 p1[] = {1, 8, 117, 3};
1689
+ _US32 p2[] = {1, 8, 117, 2};
1690
+ _US32 p3[] = {1, 50, 60, 70};
1691
+
1692
+ TEST_ASSERT_EQUAL_INT32_ARRAY(p0, p0, 1);
1693
+ TEST_ASSERT_EQUAL_INT32_ARRAY(p0, p0, 4);
1694
+ TEST_ASSERT_EQUAL_INT32_ARRAY(p0, p1, 4);
1695
+ TEST_ASSERT_EQUAL_INT32_ARRAY(p0, p2, 3);
1696
+ TEST_ASSERT_EQUAL_INT32_ARRAY(p0, p3, 1);
1697
+ }
1698
+
1699
+ void testNotEqualInt32Arrays(void)
1700
+ {
1701
+ _US32 p0[] = {1, 8, 127, 3};
1702
+ _US32 p1[] = {1, 8, 127, 2};
1703
+
1704
+ EXPECT_ABORT_BEGIN
1705
+ TEST_ASSERT_EQUAL_INT32_ARRAY(p0, p1, 4);
1706
+ VERIFY_FAILS_END
1707
+ }
1708
+
1709
+ void testEqualUINT8Arrays(void)
1710
+ {
1711
+ _UU8 p0[] = {1, 8, 100, 127};
1712
+ _UU8 p1[] = {1, 8, 100, 127};
1713
+ _UU8 p2[] = {1, 8, 100, 2};
1714
+ _UU8 p3[] = {1, 50, 60, 70};
1715
+
1716
+ TEST_ASSERT_EQUAL_UINT8_ARRAY(p0, p0, 1);
1717
+ TEST_ASSERT_EQUAL_UINT8_ARRAY(p0, p0, 4);
1718
+ TEST_ASSERT_EQUAL_UINT8_ARRAY(p0, p1, 4);
1719
+ TEST_ASSERT_EQUAL_UINT8_ARRAY(p0, p2, 3);
1720
+ TEST_ASSERT_EQUAL_UINT8_ARRAY(p0, p3, 1);
1721
+ }
1722
+
1723
+ void testNotEqualUINT8Arrays1(void)
1724
+ {
1725
+ unsigned char p0[] = {1, 8, 100, 127u};
1726
+ unsigned char p1[] = {1, 8, 100, 255u};
1727
+
1728
+ EXPECT_ABORT_BEGIN
1729
+ TEST_ASSERT_EQUAL_UINT8_ARRAY(p0, p1, 4);
1730
+ VERIFY_FAILS_END
1731
+ }
1732
+
1733
+ void testNotEqualUINT8Arrays2(void)
1734
+ {
1735
+ unsigned char p0[] = {1, 8, 100, 127u};
1736
+ unsigned char p1[] = {1, 8, 100, 255u};
1737
+
1738
+ EXPECT_ABORT_BEGIN
1739
+ TEST_ASSERT_EQUAL_UINT8_ARRAY(p0, p1, 4);
1740
+ VERIFY_FAILS_END
1741
+ }
1742
+
1743
+ void testNotEqualUINT8Arrays3(void)
1744
+ {
1745
+ unsigned char p0[] = {1, 8, 100, 127u};
1746
+ unsigned char p1[] = {1, 8, 100, 255u};
1747
+
1748
+ EXPECT_ABORT_BEGIN
1749
+ TEST_ASSERT_EQUAL_UINT8_ARRAY(p0, p1, 4);
1750
+ VERIFY_FAILS_END
1751
+ }
1752
+
1753
+
1754
+ void testEqualUINT16Arrays(void)
1755
+ {
1756
+ unsigned short p0[] = {1, 8, 987, 65132u};
1757
+ unsigned short p1[] = {1, 8, 987, 65132u};
1758
+ unsigned short p2[] = {1, 8, 987, 2};
1759
+ unsigned short p3[] = {1, 500, 600, 700};
1760
+
1761
+ TEST_ASSERT_EQUAL_UINT16_ARRAY(p0, p0, 1);
1762
+ TEST_ASSERT_EQUAL_UINT16_ARRAY(p0, p0, 4);
1763
+ TEST_ASSERT_EQUAL_UINT16_ARRAY(p0, p1, 4);
1764
+ TEST_ASSERT_EQUAL_UINT16_ARRAY(p0, p2, 3);
1765
+ TEST_ASSERT_EQUAL_UINT16_ARRAY(p0, p3, 1);
1766
+ }
1767
+
1768
+ void testNotEqualUINT16Arrays1(void)
1769
+ {
1770
+ unsigned short p0[] = {1, 8, 987, 65132u};
1771
+ unsigned short p1[] = {1, 8, 987, 65131u};
1772
+
1773
+ EXPECT_ABORT_BEGIN
1774
+ TEST_ASSERT_EQUAL_UINT16_ARRAY(p0, p1, 4);
1775
+ VERIFY_FAILS_END
1776
+ }
1777
+
1778
+ void testNotEqualUINT16Arrays2(void)
1779
+ {
1780
+ unsigned short p0[] = {1, 8, 987, 65132u};
1781
+ unsigned short p1[] = {2, 8, 987, 65132u};
1782
+
1783
+ EXPECT_ABORT_BEGIN
1784
+ TEST_ASSERT_EQUAL_UINT16_ARRAY(p0, p1, 4);
1785
+ VERIFY_FAILS_END
1786
+ }
1787
+
1788
+ void testNotEqualUINT16Arrays3(void)
1789
+ {
1790
+ unsigned short p0[] = {1, 8, 987, 65132u};
1791
+ unsigned short p1[] = {1, 8, 986, 65132u};
1792
+
1793
+ EXPECT_ABORT_BEGIN
1794
+ TEST_ASSERT_EQUAL_UINT16_ARRAY(p0, p1, 4);
1795
+ VERIFY_FAILS_END
1796
+ }
1797
+
1798
+ void testEqualUINT32Arrays(void)
1799
+ {
1800
+ _UU32 p0[] = {1, 8, 987, 65132u};
1801
+ _UU32 p1[] = {1, 8, 987, 65132u};
1802
+ _UU32 p2[] = {1, 8, 987, 2};
1803
+ _UU32 p3[] = {1, 500, 600, 700};
1804
+
1805
+ TEST_ASSERT_EQUAL_UINT32_ARRAY(p0, p0, 1);
1806
+ TEST_ASSERT_EQUAL_UINT32_ARRAY(p0, p0, 4);
1807
+ TEST_ASSERT_EQUAL_UINT32_ARRAY(p0, p1, 4);
1808
+ TEST_ASSERT_EQUAL_UINT32_ARRAY(p0, p2, 3);
1809
+ TEST_ASSERT_EQUAL_UINT32_ARRAY(p0, p3, 1);
1810
+ }
1811
+
1812
+ void testNotEqualUINT32Arrays1(void)
1813
+ {
1814
+ _UU32 p0[] = {1, 8, 987, 65132u};
1815
+ _UU32 p1[] = {1, 8, 987, 65131u};
1816
+
1817
+ EXPECT_ABORT_BEGIN
1818
+ TEST_ASSERT_EQUAL_UINT32_ARRAY(p0, p1, 4);
1819
+ VERIFY_FAILS_END
1820
+ }
1821
+
1822
+ void testNotEqualUINT32Arrays2(void)
1823
+ {
1824
+ _UU32 p0[] = {1, 8, 987, 65132u};
1825
+ _UU32 p1[] = {2, 8, 987, 65132u};
1826
+
1827
+ EXPECT_ABORT_BEGIN
1828
+ TEST_ASSERT_EQUAL_UINT32_ARRAY(p0, p1, 4);
1829
+ VERIFY_FAILS_END
1830
+ }
1831
+
1832
+ void testNotEqualUINT32Arrays3(void)
1833
+ {
1834
+ _UU32 p0[] = {1, 8, 987, 65132u};
1835
+ _UU32 p1[] = {1, 8, 986, 65132u};
1836
+
1837
+ EXPECT_ABORT_BEGIN
1838
+ TEST_ASSERT_EQUAL_UINT32_ARRAY(p0, p1, 4);
1839
+ VERIFY_FAILS_END
1840
+ }
1841
+
1842
+ void testEqualHEXArrays(void)
1843
+ {
1844
+ _UU32 p0[] = {1, 8, 987, 65132u};
1845
+ _UU32 p1[] = {1, 8, 987, 65132u};
1846
+ _UU32 p2[] = {1, 8, 987, 2};
1847
+ _UU32 p3[] = {1, 500, 600, 700};
1848
+
1849
+ TEST_ASSERT_EQUAL_HEX_ARRAY(p0, p0, 1);
1850
+ TEST_ASSERT_EQUAL_HEX_ARRAY(p0, p0, 4);
1851
+ TEST_ASSERT_EQUAL_HEX_ARRAY(p0, p1, 4);
1852
+ TEST_ASSERT_EQUAL_HEX32_ARRAY(p0, p2, 3);
1853
+ TEST_ASSERT_EQUAL_HEX32_ARRAY(p0, p3, 1);
1854
+ }
1855
+
1856
+ void testNotEqualHEXArrays1(void)
1857
+ {
1858
+ _UU32 p0[] = {1, 8, 987, 65132u};
1859
+ _UU32 p1[] = {1, 8, 987, 65131u};
1860
+
1861
+ EXPECT_ABORT_BEGIN
1862
+ TEST_ASSERT_EQUAL_HEX32_ARRAY(p0, p1, 4);
1863
+ VERIFY_FAILS_END
1864
+ }
1865
+
1866
+ void testNotEqualHEXArrays2(void)
1867
+ {
1868
+ _UU32 p0[] = {1, 8, 987, 65132u};
1869
+ _UU32 p1[] = {2, 8, 987, 65132u};
1870
+
1871
+ EXPECT_ABORT_BEGIN
1872
+ TEST_ASSERT_EQUAL_HEX32_ARRAY(p0, p1, 4);
1873
+ VERIFY_FAILS_END
1874
+ }
1875
+
1876
+ void testNotEqualHEXArrays3(void)
1877
+ {
1878
+ _UU32 p0[] = {1, 8, 987, 65132u};
1879
+ _UU32 p1[] = {1, 8, 986, 65132u};
1880
+
1881
+ EXPECT_ABORT_BEGIN
1882
+ TEST_ASSERT_EQUAL_HEX_ARRAY(p0, p1, 4);
1883
+ VERIFY_FAILS_END
1884
+ }
1885
+
1886
+ void testEqualHEX32Arrays(void)
1887
+ {
1888
+ _UU32 p0[] = {1, 8, 987, 65132u};
1889
+ _UU32 p1[] = {1, 8, 987, 65132u};
1890
+ _UU32 p2[] = {1, 8, 987, 2};
1891
+ _UU32 p3[] = {1, 500, 600, 700};
1892
+
1893
+ TEST_ASSERT_EQUAL_HEX32_ARRAY(p0, p0, 1);
1894
+ TEST_ASSERT_EQUAL_HEX32_ARRAY(p0, p0, 4);
1895
+ TEST_ASSERT_EQUAL_HEX32_ARRAY(p0, p1, 4);
1896
+ TEST_ASSERT_EQUAL_HEX32_ARRAY(p0, p2, 3);
1897
+ TEST_ASSERT_EQUAL_HEX32_ARRAY(p0, p3, 1);
1898
+ }
1899
+
1900
+ void testNotEqualHEX32Arrays1(void)
1901
+ {
1902
+ _UU32 p0[] = {1, 8, 987, 65132u};
1903
+ _UU32 p1[] = {1, 8, 987, 65131u};
1904
+
1905
+ EXPECT_ABORT_BEGIN
1906
+ TEST_ASSERT_EQUAL_HEX32_ARRAY(p0, p1, 4);
1907
+ VERIFY_FAILS_END
1908
+ }
1909
+
1910
+ void testNotEqualHEX32Arrays2(void)
1911
+ {
1912
+ _UU32 p0[] = {1, 8, 987, 65132u};
1913
+ _UU32 p1[] = {2, 8, 987, 65132u};
1914
+
1915
+ EXPECT_ABORT_BEGIN
1916
+ TEST_ASSERT_EQUAL_HEX32_ARRAY(p0, p1, 4);
1917
+ VERIFY_FAILS_END
1918
+ }
1919
+
1920
+ void testNotEqualHEX32Arrays3(void)
1921
+ {
1922
+ _UU32 p0[] = {1, 8, 987, 65132u};
1923
+ _UU32 p1[] = {1, 8, 986, 65132u};
1924
+
1925
+ EXPECT_ABORT_BEGIN
1926
+ TEST_ASSERT_EQUAL_HEX32_ARRAY(p0, p1, 4);
1927
+ VERIFY_FAILS_END
1928
+ }
1929
+
1930
+ void testEqualHEX16Arrays(void)
1931
+ {
1932
+ unsigned short p0[] = {1, 8, 987, 65132u};
1933
+ unsigned short p1[] = {1, 8, 987, 65132u};
1934
+ unsigned short p2[] = {1, 8, 987, 2};
1935
+ unsigned short p3[] = {1, 500, 600, 700};
1936
+
1937
+ TEST_ASSERT_EQUAL_HEX16_ARRAY(p0, p0, 1);
1938
+ TEST_ASSERT_EQUAL_HEX16_ARRAY(p0, p0, 4);
1939
+ TEST_ASSERT_EQUAL_HEX16_ARRAY(p0, p1, 4);
1940
+ TEST_ASSERT_EQUAL_HEX16_ARRAY(p0, p2, 3);
1941
+ TEST_ASSERT_EQUAL_HEX16_ARRAY(p0, p3, 1);
1942
+ }
1943
+
1944
+ void testNotEqualHEX16Arrays1(void)
1945
+ {
1946
+ unsigned short p0[] = {1, 8, 987, 65132u};
1947
+ unsigned short p1[] = {1, 8, 987, 65131u};
1948
+
1949
+ EXPECT_ABORT_BEGIN
1950
+ TEST_ASSERT_EQUAL_HEX16_ARRAY(p0, p1, 4);
1951
+ VERIFY_FAILS_END
1952
+ }
1953
+
1954
+ void testNotEqualHEX16Arrays2(void)
1955
+ {
1956
+ unsigned short p0[] = {1, 8, 987, 65132u};
1957
+ unsigned short p1[] = {2, 8, 987, 65132u};
1958
+
1959
+ EXPECT_ABORT_BEGIN
1960
+ TEST_ASSERT_EQUAL_HEX16_ARRAY(p0, p1, 4);
1961
+ VERIFY_FAILS_END
1962
+ }
1963
+
1964
+ void testNotEqualHEX16Arrays3(void)
1965
+ {
1966
+ unsigned short p0[] = {1, 8, 987, 65132u};
1967
+ unsigned short p1[] = {1, 8, 986, 65132u};
1968
+
1969
+ EXPECT_ABORT_BEGIN
1970
+ TEST_ASSERT_EQUAL_HEX16_ARRAY(p0, p1, 4);
1971
+ VERIFY_FAILS_END
1972
+ }
1973
+
1974
+ void testEqualHEX8Arrays(void)
1975
+ {
1976
+ unsigned short p0[] = {1, 8, 254u, 123};
1977
+ unsigned short p1[] = {1, 8, 254u, 123};
1978
+ unsigned short p2[] = {1, 8, 254u, 2};
1979
+ unsigned short p3[] = {1, 23, 25, 26};
1980
+
1981
+ TEST_ASSERT_EQUAL_HEX8_ARRAY(p0, p0, 1);
1982
+ TEST_ASSERT_EQUAL_HEX8_ARRAY(p0, p0, 4);
1983
+ TEST_ASSERT_EQUAL_HEX8_ARRAY(p0, p1, 4);
1984
+ TEST_ASSERT_EQUAL_HEX8_ARRAY(p0, p2, 3);
1985
+ TEST_ASSERT_EQUAL_HEX8_ARRAY(p0, p3, 1);
1986
+ }
1987
+
1988
+ void testNotEqualHEX8Arrays1(void)
1989
+ {
1990
+ unsigned char p0[] = {1, 8, 254u, 253u};
1991
+ unsigned char p1[] = {1, 8, 254u, 252u};
1992
+
1993
+ EXPECT_ABORT_BEGIN
1994
+ TEST_ASSERT_EQUAL_HEX8_ARRAY(p0, p1, 4);
1995
+ VERIFY_FAILS_END
1996
+ }
1997
+
1998
+ void testNotEqualHEX8Arrays2(void)
1999
+ {
2000
+ unsigned char p0[] = {1, 8, 254u, 253u};
2001
+ unsigned char p1[] = {2, 8, 254u, 253u};
2002
+
2003
+ EXPECT_ABORT_BEGIN
2004
+ TEST_ASSERT_EQUAL_HEX8_ARRAY(p0, p1, 4);
2005
+ VERIFY_FAILS_END
2006
+ }
2007
+
2008
+ void testNotEqualHEX8Arrays3(void)
2009
+ {
2010
+ unsigned char p0[] = {1, 8, 254u, 253u};
2011
+ unsigned char p1[] = {1, 8, 255u, 253u};
2012
+
2013
+ EXPECT_ABORT_BEGIN
2014
+ TEST_ASSERT_EQUAL_HEX8_ARRAY(p0, p1, 4);
2015
+ VERIFY_FAILS_END
2016
+ }
2017
+
2018
+ void testEqualMemoryArrays(void)
2019
+ {
2020
+ int p0[] = {1, 8, 987, -2};
2021
+ int p1[] = {1, 8, 987, -2};
2022
+ int p2[] = {1, 8, 987, 2};
2023
+ int p3[] = {1, 500, 600, 700};
2024
+
2025
+ TEST_ASSERT_EQUAL_MEMORY_ARRAY(p0, p0, sizeof(int), 1);
2026
+ TEST_ASSERT_EQUAL_MEMORY_ARRAY(p0, p0, sizeof(int), 4);
2027
+ TEST_ASSERT_EQUAL_MEMORY_ARRAY(p0, p1, sizeof(int), 4);
2028
+ TEST_ASSERT_EQUAL_MEMORY_ARRAY(p0, p2, sizeof(int), 3);
2029
+ TEST_ASSERT_EQUAL_MEMORY_ARRAY(p0, p3, sizeof(int), 1);
2030
+ }
2031
+
2032
+ void testNotEqualMemoryArraysExpectedNull(void)
2033
+ {
2034
+ int* p0 = NULL;
2035
+ int p1[] = {1, 8, 987, 2};
2036
+
2037
+ EXPECT_ABORT_BEGIN
2038
+ TEST_ASSERT_EQUAL_MEMORY_ARRAY(p0, p1, sizeof(int), 4);
2039
+ VERIFY_FAILS_END
2040
+ }
2041
+
2042
+ void testNotEqualMemoryArraysActualNull(void)
2043
+ {
2044
+ int p0[] = {1, 8, 987, -2};
2045
+ int* p1 = NULL;
2046
+
2047
+ EXPECT_ABORT_BEGIN
2048
+ TEST_ASSERT_EQUAL_MEMORY_ARRAY(p0, p1, sizeof(int), 4);
2049
+ VERIFY_FAILS_END
2050
+ }
2051
+
2052
+ void testNotEqualMemoryArrays1(void)
2053
+ {
2054
+ int p0[] = {1, 8, 987, -2};
2055
+ int p1[] = {1, 8, 987, 2};
2056
+
2057
+ EXPECT_ABORT_BEGIN
2058
+ TEST_ASSERT_EQUAL_MEMORY_ARRAY(p0, p1, sizeof(int), 4);
2059
+ VERIFY_FAILS_END
2060
+ }
2061
+
2062
+ void testNotEqualMemoryArrays2(void)
2063
+ {
2064
+ int p0[] = {1, 8, 987, -2};
2065
+ int p1[] = {2, 8, 987, -2};
2066
+
2067
+ EXPECT_ABORT_BEGIN
2068
+ TEST_ASSERT_EQUAL_MEMORY_ARRAY(p0, p1, sizeof(int), 4);
2069
+ VERIFY_FAILS_END
2070
+ }
2071
+
2072
+ void testNotEqualMemoryArrays3(void)
2073
+ {
2074
+ int p0[] = {1, 8, 987, -2};
2075
+ int p1[] = {1, 8, 986, -2};
2076
+
2077
+ EXPECT_ABORT_BEGIN
2078
+ TEST_ASSERT_EQUAL_MEMORY_ARRAY(p0, p1, sizeof(int), 4);
2079
+ VERIFY_FAILS_END
2080
+ }
2081
+
2082
+ void testProtection(void)
2083
+ {
2084
+ volatile int mask = 0;
2085
+
2086
+ if (TEST_PROTECT())
2087
+ {
2088
+ mask |= 1;
2089
+ TEST_ABORT();
2090
+ }
2091
+ else
2092
+ {
2093
+ Unity.CurrentTestFailed = 0;
2094
+ mask |= 2;
2095
+ }
2096
+
2097
+ TEST_ASSERT_EQUAL(3, mask);
2098
+ }
2099
+
2100
+ void testIgnoredAndThenFailInTearDown(void)
2101
+ {
2102
+ SetToOneToFailInTearDown = 1;
2103
+ TEST_IGNORE();
2104
+ }
2105
+
2106
+ // ===================== THESE TEST WILL RUN IF YOUR CONFIG INCLUDES 64 BIT SUPPORT ==================
2107
+
2108
+ void testEqualHex64s(void)
2109
+ {
2110
+ #ifndef UNITY_SUPPORT_64
2111
+ TEST_IGNORE();
2112
+ #else
2113
+ _UU64 v0, v1;
2114
+ _UU64 *p0, *p1;
2115
+
2116
+ v0 = 0x9876543201234567;
2117
+ v1 = 0x9876543201234567;
2118
+ p0 = &v0;
2119
+ p1 = &v1;
2120
+
2121
+ TEST_ASSERT_EQUAL_HEX64(0x9876543201234567, 0x9876543201234567);
2122
+ TEST_ASSERT_EQUAL_HEX64(v0, v1);
2123
+ TEST_ASSERT_EQUAL_HEX64(0x9876543201234567, v1);
2124
+ TEST_ASSERT_EQUAL_HEX64(v0, 0x9876543201234567);
2125
+ TEST_ASSERT_EQUAL_HEX64(*p0, v1);
2126
+ TEST_ASSERT_EQUAL_HEX64(*p0, *p1);
2127
+ TEST_ASSERT_EQUAL_HEX64(*p0, 0x9876543201234567);
2128
+ #endif
2129
+ }
2130
+
2131
+ void testEqualUint64s(void)
2132
+ {
2133
+ #ifndef UNITY_SUPPORT_64
2134
+ TEST_IGNORE();
2135
+ #else
2136
+ _UU64 v0, v1;
2137
+ _UU64 *p0, *p1;
2138
+
2139
+ v0 = 0x9876543201234567;
2140
+ v1 = 0x9876543201234567;
2141
+ p0 = &v0;
2142
+ p1 = &v1;
2143
+
2144
+ TEST_ASSERT_EQUAL_UINT64(0x9876543201234567, 0x9876543201234567);
2145
+ TEST_ASSERT_EQUAL_UINT64(v0, v1);
2146
+ TEST_ASSERT_EQUAL_UINT64(0x9876543201234567, v1);
2147
+ TEST_ASSERT_EQUAL_UINT64(v0, 0x9876543201234567);
2148
+ TEST_ASSERT_EQUAL_UINT64(*p0, v1);
2149
+ TEST_ASSERT_EQUAL_UINT64(*p0, *p1);
2150
+ TEST_ASSERT_EQUAL_UINT64(*p0, 0x9876543201234567);
2151
+ #endif
2152
+ }
2153
+
2154
+ void testEqualInt64s(void)
2155
+ {
2156
+ #ifndef UNITY_SUPPORT_64
2157
+ TEST_IGNORE();
2158
+ #else
2159
+ _US64 v0, v1;
2160
+ _US64 *p0, *p1;
2161
+
2162
+ v0 = (_US64)0x9876543201234567;
2163
+ v1 = (_US64)0x9876543201234567;
2164
+ p0 = &v0;
2165
+ p1 = &v1;
2166
+
2167
+ TEST_ASSERT_EQUAL_INT64(0x9876543201234567, 0x9876543201234567);
2168
+ TEST_ASSERT_EQUAL_INT64(v0, v1);
2169
+ TEST_ASSERT_EQUAL_INT64(0x9876543201234567, v1);
2170
+ TEST_ASSERT_EQUAL_INT64(v0, 0x9876543201234567);
2171
+ TEST_ASSERT_EQUAL_INT64(*p0, v1);
2172
+ TEST_ASSERT_EQUAL_INT64(*p0, *p1);
2173
+ TEST_ASSERT_EQUAL_INT64(*p0, 0x9876543201234567);
2174
+ #endif
2175
+ }
2176
+
2177
+
2178
+ void testNotEqualHex64s(void)
2179
+ {
2180
+ #ifndef UNITY_SUPPORT_64
2181
+ TEST_IGNORE();
2182
+ #else
2183
+ _UU64 v0, v1;
2184
+
2185
+ v0 = 9000000000;
2186
+ v1 = 9100000000;
2187
+
2188
+ EXPECT_ABORT_BEGIN
2189
+ TEST_ASSERT_EQUAL_HEX64(v0, v1);
2190
+ VERIFY_FAILS_END
2191
+ #endif
2192
+ }
2193
+
2194
+ void testNotEqualUint64s(void)
2195
+ {
2196
+ #ifndef UNITY_SUPPORT_64
2197
+ TEST_IGNORE();
2198
+ #else
2199
+ _UU64 v0, v1;
2200
+
2201
+ v0 = 9000000000;
2202
+ v1 = 9100000000;
2203
+
2204
+ EXPECT_ABORT_BEGIN
2205
+ TEST_ASSERT_EQUAL_UINT64(v0, v1);
2206
+ VERIFY_FAILS_END
2207
+ #endif
2208
+ }
2209
+
2210
+ void testNotEqualInt64s(void)
2211
+ {
2212
+ #ifndef UNITY_SUPPORT_64
2213
+ TEST_IGNORE();
2214
+ #else
2215
+ _US64 v0, v1;
2216
+
2217
+ v0 = -9000000000;
2218
+ v1 = 9100000000;
2219
+
2220
+ EXPECT_ABORT_BEGIN
2221
+ TEST_ASSERT_EQUAL_INT64(v0, v1);
2222
+ VERIFY_FAILS_END
2223
+ #endif
2224
+ }
2225
+
2226
+ void testNotEqualHex64sIfSigned(void)
2227
+ {
2228
+ #ifndef UNITY_SUPPORT_64
2229
+ TEST_IGNORE();
2230
+ #else
2231
+ _US64 v0, v1;
2232
+
2233
+ v0 = -9000000000;
2234
+ v1 = 9000000000;
2235
+
2236
+ EXPECT_ABORT_BEGIN
2237
+ TEST_ASSERT_EQUAL_HEX64(v0, v1);
2238
+ VERIFY_FAILS_END
2239
+ #endif
2240
+ }
2241
+
2242
+ void testHEX64sWithinDelta(void)
2243
+ {
2244
+ #ifndef UNITY_SUPPORT_64
2245
+ TEST_IGNORE();
2246
+ #else
2247
+ TEST_ASSERT_HEX64_WITHIN(1, 0x7FFFFFFFFFFFFFFF,0x7FFFFFFFFFFFFFFE);
2248
+ TEST_ASSERT_HEX64_WITHIN(5, 5000, 4996);
2249
+ TEST_ASSERT_HEX64_WITHIN(5, 5000, 5005);
2250
+ #endif
2251
+ }
2252
+
2253
+ void testHEX64sNotWithinDelta(void)
2254
+ {
2255
+ #ifndef UNITY_SUPPORT_64
2256
+ TEST_IGNORE();
2257
+ #else
2258
+ EXPECT_ABORT_BEGIN
2259
+ TEST_ASSERT_HEX64_WITHIN(1, 0x7FFFFFFFFFFFFFFF, 0x7FFFFFFFFFFFFFFC);
2260
+ VERIFY_FAILS_END
2261
+ #endif
2262
+ }
2263
+
2264
+ void testHEX64sNotWithinDeltaEvenThoughASignedIntWouldPass(void)
2265
+ {
2266
+ #ifndef UNITY_SUPPORT_64
2267
+ TEST_IGNORE();
2268
+ #else
2269
+ EXPECT_ABORT_BEGIN
2270
+ TEST_ASSERT_HEX64_WITHIN(5, 1, -1);
2271
+ VERIFY_FAILS_END
2272
+ #endif
2273
+ }
2274
+
2275
+ void testUINT64sWithinDelta(void)
2276
+ {
2277
+ #ifndef UNITY_SUPPORT_64
2278
+ TEST_IGNORE();
2279
+ #else
2280
+ TEST_ASSERT_UINT64_WITHIN(1, 0x7FFFFFFFFFFFFFFF,0x7FFFFFFFFFFFFFFE);
2281
+ TEST_ASSERT_UINT64_WITHIN(5, 5000, 4996);
2282
+ TEST_ASSERT_UINT64_WITHIN(5, 5000, 5005);
2283
+ #endif
2284
+ }
2285
+
2286
+ void testUINT64sNotWithinDelta(void)
2287
+ {
2288
+ #ifndef UNITY_SUPPORT_64
2289
+ TEST_IGNORE();
2290
+ #else
2291
+ EXPECT_ABORT_BEGIN
2292
+ TEST_ASSERT_UINT64_WITHIN(1, 0x7FFFFFFFFFFFFFFF, 0x7FFFFFFFFFFFFFFC);
2293
+ VERIFY_FAILS_END
2294
+ #endif
2295
+ }
2296
+
2297
+ void testUINT64sNotWithinDeltaEvenThoughASignedIntWouldPass(void)
2298
+ {
2299
+ #ifndef UNITY_SUPPORT_64
2300
+ TEST_IGNORE();
2301
+ #else
2302
+ EXPECT_ABORT_BEGIN
2303
+ TEST_ASSERT_UINT64_WITHIN(5, 1, -1);
2304
+ VERIFY_FAILS_END
2305
+ #endif
2306
+ }
2307
+
2308
+ void testINT64sWithinDelta(void)
2309
+ {
2310
+ #ifndef UNITY_SUPPORT_64
2311
+ TEST_IGNORE();
2312
+ #else
2313
+ TEST_ASSERT_INT64_WITHIN(1, 0x7FFFFFFFFFFFFFFF,0x7FFFFFFFFFFFFFFE);
2314
+ TEST_ASSERT_INT64_WITHIN(5, 5000, 4996);
2315
+ TEST_ASSERT_INT64_WITHIN(5, 5000, 5005);
2316
+ #endif
2317
+ }
2318
+
2319
+ void testINT64sNotWithinDelta(void)
2320
+ {
2321
+ #ifndef UNITY_SUPPORT_64
2322
+ TEST_IGNORE();
2323
+ #else
2324
+ EXPECT_ABORT_BEGIN
2325
+ TEST_ASSERT_INT64_WITHIN(1, 0x7FFFFFFFFFFFFFFF, 0x7FFFFFFFFFFFFFFC);
2326
+ VERIFY_FAILS_END
2327
+ #endif
2328
+ }
2329
+
2330
+ void testEqualHEX64Arrays(void)
2331
+ {
2332
+ #ifndef UNITY_SUPPORT_64
2333
+ TEST_IGNORE();
2334
+ #else
2335
+ _UU64 p0[] = {1, 8, 987, 65132u};
2336
+ _UU64 p1[] = {1, 8, 987, 65132u};
2337
+ _UU64 p2[] = {1, 8, 987, 2};
2338
+ _UU64 p3[] = {1, 500, 600, 700};
2339
+
2340
+ TEST_ASSERT_EQUAL_HEX64_ARRAY(p0, p0, 1);
2341
+ TEST_ASSERT_EQUAL_HEX64_ARRAY(p0, p0, 4);
2342
+ TEST_ASSERT_EQUAL_HEX64_ARRAY(p0, p1, 4);
2343
+ TEST_ASSERT_EQUAL_HEX64_ARRAY(p0, p2, 3);
2344
+ TEST_ASSERT_EQUAL_HEX64_ARRAY(p0, p3, 1);
2345
+ #endif
2346
+ }
2347
+
2348
+ void testEqualUint64Arrays(void)
2349
+ {
2350
+ #ifndef UNITY_SUPPORT_64
2351
+ TEST_IGNORE();
2352
+ #else
2353
+ _UU64 p0[] = {1, 8, 987, 65132u};
2354
+ _UU64 p1[] = {1, 8, 987, 65132u};
2355
+ _UU64 p2[] = {1, 8, 987, 2};
2356
+ _UU64 p3[] = {1, 500, 600, 700};
2357
+
2358
+ TEST_ASSERT_EQUAL_UINT64_ARRAY(p0, p0, 1);
2359
+ TEST_ASSERT_EQUAL_UINT64_ARRAY(p0, p0, 4);
2360
+ TEST_ASSERT_EQUAL_UINT64_ARRAY(p0, p1, 4);
2361
+ TEST_ASSERT_EQUAL_UINT64_ARRAY(p0, p2, 3);
2362
+ TEST_ASSERT_EQUAL_UINT64_ARRAY(p0, p3, 1);
2363
+ #endif
2364
+ }
2365
+
2366
+ void testEqualInt64Arrays(void)
2367
+ {
2368
+ #ifndef UNITY_SUPPORT_64
2369
+ TEST_IGNORE();
2370
+ #else
2371
+ _US64 p0[] = {1, 8, 987, -65132};
2372
+ _US64 p1[] = {1, 8, 987, -65132};
2373
+ _US64 p2[] = {1, 8, 987, -2};
2374
+ _US64 p3[] = {1, 500, 600, 700};
2375
+
2376
+ TEST_ASSERT_EQUAL_INT64_ARRAY(p0, p0, 1);
2377
+ TEST_ASSERT_EQUAL_INT64_ARRAY(p0, p0, 4);
2378
+ TEST_ASSERT_EQUAL_INT64_ARRAY(p0, p1, 4);
2379
+ TEST_ASSERT_EQUAL_INT64_ARRAY(p0, p2, 3);
2380
+ TEST_ASSERT_EQUAL_INT64_ARRAY(p0, p3, 1);
2381
+ #endif
2382
+ }
2383
+
2384
+
2385
+ void testNotEqualHEX64Arrays1(void)
2386
+ {
2387
+ #ifndef UNITY_SUPPORT_64
2388
+ TEST_IGNORE();
2389
+ #else
2390
+ _UU64 p0[] = {1, 8, 987, 65132u};
2391
+ _UU64 p1[] = {1, 8, 987, 65131u};
2392
+
2393
+ EXPECT_ABORT_BEGIN
2394
+ TEST_ASSERT_EQUAL_HEX64_ARRAY(p0, p1, 4);
2395
+ VERIFY_FAILS_END
2396
+ #endif
2397
+ }
2398
+
2399
+ void testNotEqualHEX64Arrays2(void)
2400
+ {
2401
+ #ifndef UNITY_SUPPORT_64
2402
+ TEST_IGNORE();
2403
+ #else
2404
+ _UU64 p0[] = {1, 8, 987, 65132u};
2405
+ _UU64 p1[] = {2, 8, 987, 65132u};
2406
+
2407
+ EXPECT_ABORT_BEGIN
2408
+ TEST_ASSERT_EQUAL_HEX64_ARRAY(p0, p1, 4);
2409
+ VERIFY_FAILS_END
2410
+ #endif
2411
+ }
2412
+
2413
+ void testNotEqualUint64Arrays(void)
2414
+ {
2415
+ #ifndef UNITY_SUPPORT_64
2416
+ TEST_IGNORE();
2417
+ #else
2418
+ _UU64 p0[] = {1, 8, 987, 65132u};
2419
+ _UU64 p1[] = {1, 8, 987, 65131u};
2420
+
2421
+ EXPECT_ABORT_BEGIN
2422
+ TEST_ASSERT_EQUAL_UINT64_ARRAY(p0, p1, 4);
2423
+ VERIFY_FAILS_END
2424
+ #endif
2425
+ }
2426
+
2427
+ void testNotEqualInt64Arrays(void)
2428
+ {
2429
+ #ifndef UNITY_SUPPORT_64
2430
+ TEST_IGNORE();
2431
+ #else
2432
+ _US64 p0[] = {1, 8, 987, -65132};
2433
+ _US64 p1[] = {1, 8, 987, -65131};
2434
+
2435
+ EXPECT_ABORT_BEGIN
2436
+ TEST_ASSERT_EQUAL_INT64_ARRAY(p0, p1, 4);
2437
+ VERIFY_FAILS_END
2438
+ #endif
2439
+ }
2440
+ // ===================== THESE TEST WILL RUN IF YOUR CONFIG INCLUDES FLOAT SUPPORT ==================
2441
+
2442
+ void testFloatsWithinDelta(void)
2443
+ {
2444
+ #ifdef UNITY_EXCLUDE_FLOAT
2445
+ TEST_IGNORE();
2446
+ #else
2447
+ TEST_ASSERT_FLOAT_WITHIN(0.00003f, 187245.03485f, 187245.03488f);
2448
+ TEST_ASSERT_FLOAT_WITHIN(1.0f, 187245.0f, 187246.0f);
2449
+ TEST_ASSERT_FLOAT_WITHIN(0.05f, 9273.2549f, 9273.2049f);
2450
+ TEST_ASSERT_FLOAT_WITHIN(0.007f, -726.93724f, -726.94424f);
2451
+ #endif
2452
+ }
2453
+
2454
+ void testFloatsNotWithinDelta(void)
2455
+ {
2456
+ #ifdef UNITY_EXCLUDE_FLOAT
2457
+ TEST_IGNORE();
2458
+ #else
2459
+ EXPECT_ABORT_BEGIN
2460
+ TEST_ASSERT_FLOAT_WITHIN(0.05f, 9273.2649f, 9273.2049f);
2461
+ VERIFY_FAILS_END
2462
+ #endif
2463
+ }
2464
+
2465
+ void testFloatsEqual(void)
2466
+ {
2467
+ #ifdef UNITY_EXCLUDE_FLOAT
2468
+ TEST_IGNORE();
2469
+ #else
2470
+ TEST_ASSERT_EQUAL_FLOAT(187245.0f, 187246.0f);
2471
+ TEST_ASSERT_EQUAL_FLOAT(18724.5f, 18724.6f);
2472
+ TEST_ASSERT_EQUAL_FLOAT(9273.2549f, 9273.2599f);
2473
+ TEST_ASSERT_EQUAL_FLOAT(-726.93724f, -726.9374f);
2474
+ #endif
2475
+ }
2476
+
2477
+ void testFloatsNotEqual(void)
2478
+ {
2479
+ #ifdef UNITY_EXCLUDE_FLOAT
2480
+ TEST_IGNORE();
2481
+ #else
2482
+ EXPECT_ABORT_BEGIN
2483
+ TEST_ASSERT_EQUAL_FLOAT(9273.9649f, 9273.0049f);
2484
+ VERIFY_FAILS_END
2485
+ #endif
2486
+ }
2487
+
2488
+ void testFloatsNotEqualNegative1(void)
2489
+ {
2490
+ #ifdef UNITY_EXCLUDE_FLOAT
2491
+ TEST_IGNORE();
2492
+ #else
2493
+ EXPECT_ABORT_BEGIN
2494
+ TEST_ASSERT_EQUAL_FLOAT(-9273.9649f, -9273.0049f);
2495
+ VERIFY_FAILS_END
2496
+ #endif
2497
+ }
2498
+
2499
+ void testFloatsNotEqualNegative2(void)
2500
+ {
2501
+ #ifdef UNITY_EXCLUDE_FLOAT
2502
+ TEST_IGNORE();
2503
+ #else
2504
+ EXPECT_ABORT_BEGIN
2505
+ TEST_ASSERT_EQUAL_FLOAT(-9273.0049f, -9273.9649f);
2506
+ VERIFY_FAILS_END
2507
+ #endif
2508
+ }
2509
+
2510
+ void testFloatsNotEqualActualNaN(void)
2511
+ {
2512
+ #ifdef UNITY_EXCLUDE_FLOAT
2513
+ TEST_IGNORE();
2514
+ #else
2515
+ EXPECT_ABORT_BEGIN
2516
+ TEST_ASSERT_EQUAL_FLOAT(85.963f, 0.0f / f_zero);
2517
+ VERIFY_FAILS_END
2518
+ #endif
2519
+ }
2520
+
2521
+ void testFloatsNotEqualExpectedNaN(void)
2522
+ {
2523
+ #ifdef UNITY_EXCLUDE_FLOAT
2524
+ TEST_IGNORE();
2525
+ #else
2526
+ EXPECT_ABORT_BEGIN
2527
+ TEST_ASSERT_EQUAL_FLOAT(0.0f / f_zero, 85.963f);
2528
+ VERIFY_FAILS_END
2529
+ #endif
2530
+ }
2531
+
2532
+ void testFloatsNotEqualBothNaN(void)
2533
+ {
2534
+ #ifdef UNITY_EXCLUDE_FLOAT
2535
+ TEST_IGNORE();
2536
+ #else
2537
+ EXPECT_ABORT_BEGIN
2538
+ TEST_ASSERT_EQUAL_FLOAT(0.0f / f_zero, 0.0f / f_zero);
2539
+ VERIFY_FAILS_END
2540
+ #endif
2541
+ }
2542
+
2543
+ void testFloatsNotEqualInfNaN(void)
2544
+ {
2545
+ #ifdef UNITY_EXCLUDE_FLOAT
2546
+ TEST_IGNORE();
2547
+ #else
2548
+ EXPECT_ABORT_BEGIN
2549
+ TEST_ASSERT_EQUAL_FLOAT(1.0f / f_zero, 0.0f / f_zero);
2550
+ VERIFY_FAILS_END
2551
+ #endif
2552
+ }
2553
+
2554
+ void testFloatsNotEqualNaNInf(void)
2555
+ {
2556
+ #ifdef UNITY_EXCLUDE_FLOAT
2557
+ TEST_IGNORE();
2558
+ #else
2559
+ EXPECT_ABORT_BEGIN
2560
+ TEST_ASSERT_EQUAL_FLOAT(0.0f / f_zero, 1.0f / f_zero);
2561
+ VERIFY_FAILS_END
2562
+ #endif
2563
+ }
2564
+
2565
+ void testFloatsNotEqualActualInf(void)
2566
+ {
2567
+ #ifdef UNITY_EXCLUDE_FLOAT
2568
+ TEST_IGNORE();
2569
+ #else
2570
+ EXPECT_ABORT_BEGIN
2571
+ TEST_ASSERT_EQUAL_FLOAT(321.642f, 1.0f / f_zero);
2572
+ VERIFY_FAILS_END
2573
+ #endif
2574
+ }
2575
+
2576
+ void testFloatsNotEqualExpectedInf(void)
2577
+ {
2578
+ #ifdef UNITY_EXCLUDE_FLOAT
2579
+ TEST_IGNORE();
2580
+ #else
2581
+ EXPECT_ABORT_BEGIN
2582
+ TEST_ASSERT_EQUAL_FLOAT(1.0f / f_zero, 321.642f);
2583
+ VERIFY_FAILS_END
2584
+ #endif
2585
+ }
2586
+
2587
+ void testFloatsNotEqualBothInf(void)
2588
+ {
2589
+ #ifdef UNITY_EXCLUDE_FLOAT
2590
+ TEST_IGNORE();
2591
+ #else
2592
+ EXPECT_ABORT_BEGIN
2593
+ TEST_ASSERT_EQUAL_FLOAT(1.0f / f_zero, 1.0f / f_zero);
2594
+ VERIFY_FAILS_END
2595
+ #endif
2596
+ }
2597
+
2598
+ void testFloatsNotEqualPlusMinusInf(void)
2599
+ {
2600
+ #ifdef UNITY_EXCLUDE_FLOAT
2601
+ TEST_IGNORE();
2602
+ #else
2603
+ EXPECT_ABORT_BEGIN
2604
+ TEST_ASSERT_EQUAL_FLOAT(1.0f / f_zero, -1.0f / f_zero);
2605
+ VERIFY_FAILS_END
2606
+ #endif
2607
+ }
2608
+
2609
+ void testFloatIsPosInf1(void)
2610
+ {
2611
+ #ifdef UNITY_EXCLUDE_FLOAT
2612
+ TEST_IGNORE();
2613
+ #else
2614
+ TEST_ASSERT_FLOAT_IS_INF(2.0f / f_zero);
2615
+ #endif
2616
+ }
2617
+
2618
+ void testFloatIsPosInf2(void)
2619
+ {
2620
+ #ifdef UNITY_EXCLUDE_FLOAT
2621
+ TEST_IGNORE();
2622
+ #else
2623
+ EXPECT_ABORT_BEGIN
2624
+ TEST_ASSERT_FLOAT_IS_NOT_INF(2.0f / f_zero);
2625
+ VERIFY_FAILS_END
2626
+ #endif
2627
+ }
2628
+
2629
+ void testFloatIsNegInf1(void)
2630
+ {
2631
+ #ifdef UNITY_EXCLUDE_FLOAT
2632
+ TEST_IGNORE();
2633
+ #else
2634
+ TEST_ASSERT_FLOAT_IS_NEG_INF(-3.0f / f_zero);
2635
+ #endif
2636
+ }
2637
+
2638
+ void testFloatIsNegInf2(void)
2639
+ {
2640
+ #ifdef UNITY_EXCLUDE_FLOAT
2641
+ TEST_IGNORE();
2642
+ #else
2643
+ EXPECT_ABORT_BEGIN
2644
+ TEST_ASSERT_FLOAT_IS_NOT_NEG_INF(-3.0f / f_zero);
2645
+ VERIFY_FAILS_END
2646
+ #endif
2647
+ }
2648
+
2649
+ void testFloatIsNotPosInf1(void)
2650
+ {
2651
+ #ifdef UNITY_EXCLUDE_FLOAT
2652
+ TEST_IGNORE();
2653
+ #else
2654
+ EXPECT_ABORT_BEGIN
2655
+ TEST_ASSERT_FLOAT_IS_INF(2.0f);
2656
+ VERIFY_FAILS_END
2657
+ #endif
2658
+ }
2659
+
2660
+ void testFloatIsNotPosInf2(void)
2661
+ {
2662
+ #ifdef UNITY_EXCLUDE_FLOAT
2663
+ TEST_IGNORE();
2664
+ #else
2665
+ TEST_ASSERT_FLOAT_IS_NOT_INF(2.0f);
2666
+ #endif
2667
+ }
2668
+
2669
+ void testFloatIsNotNegInf(void)
2670
+ {
2671
+ #ifdef UNITY_EXCLUDE_FLOAT
2672
+ TEST_IGNORE();
2673
+ #else
2674
+ EXPECT_ABORT_BEGIN
2675
+ TEST_ASSERT_FLOAT_IS_NEG_INF(-999.876f);
2676
+ VERIFY_FAILS_END
2677
+ #endif
2678
+ }
2679
+
2680
+ void testFloatIsNan1(void)
2681
+ {
2682
+ #ifdef UNITY_EXCLUDE_FLOAT
2683
+ TEST_IGNORE();
2684
+ #else
2685
+ TEST_ASSERT_FLOAT_IS_NAN(0.0f / f_zero);
2686
+ #endif
2687
+ }
2688
+
2689
+ void testFloatIsNan2(void)
2690
+ {
2691
+ #ifdef UNITY_EXCLUDE_FLOAT
2692
+ TEST_IGNORE();
2693
+ #else
2694
+ EXPECT_ABORT_BEGIN
2695
+ TEST_ASSERT_FLOAT_IS_NOT_NAN(0.0f / f_zero);
2696
+ VERIFY_FAILS_END
2697
+ #endif
2698
+ }
2699
+
2700
+ void testFloatIsNotNan1(void)
2701
+ {
2702
+ #ifdef UNITY_EXCLUDE_FLOAT
2703
+ TEST_IGNORE();
2704
+ #else
2705
+ EXPECT_ABORT_BEGIN
2706
+ TEST_ASSERT_FLOAT_IS_NAN(234.9f);
2707
+ VERIFY_FAILS_END
2708
+ #endif
2709
+ }
2710
+
2711
+ void testFloatIsNotNan2(void)
2712
+ {
2713
+ #ifdef UNITY_EXCLUDE_FLOAT
2714
+ TEST_IGNORE();
2715
+ #else
2716
+ TEST_ASSERT_FLOAT_IS_NOT_NAN(234.9f);
2717
+ #endif
2718
+ }
2719
+
2720
+ void testFloatInfIsNotNan(void)
2721
+ {
2722
+ #ifdef UNITY_EXCLUDE_FLOAT
2723
+ TEST_IGNORE();
2724
+ #else
2725
+ EXPECT_ABORT_BEGIN
2726
+ TEST_ASSERT_FLOAT_IS_NAN(1.0f / f_zero);
2727
+ VERIFY_FAILS_END
2728
+ #endif
2729
+ }
2730
+
2731
+ void testFloatNanIsNotInf(void)
2732
+ {
2733
+ #ifdef UNITY_EXCLUDE_FLOAT
2734
+ TEST_IGNORE();
2735
+ #else
2736
+ EXPECT_ABORT_BEGIN
2737
+ TEST_ASSERT_FLOAT_IS_INF(0.0f / f_zero);
2738
+ VERIFY_FAILS_END
2739
+ #endif
2740
+ }
2741
+
2742
+ void testFloatIsDeterminate1(void)
2743
+ {
2744
+ #ifdef UNITY_EXCLUDE_FLOAT
2745
+ TEST_IGNORE();
2746
+ #else
2747
+ TEST_ASSERT_FLOAT_IS_DETERMINATE(0.0f);
2748
+ TEST_ASSERT_FLOAT_IS_DETERMINATE(123.3f);
2749
+ TEST_ASSERT_FLOAT_IS_DETERMINATE(-88.3f);
2750
+ #endif
2751
+ }
2752
+
2753
+ void testFloatIsDeterminate2(void)
2754
+ {
2755
+ #ifdef UNITY_EXCLUDE_FLOAT
2756
+ TEST_IGNORE();
2757
+ #else
2758
+ EXPECT_ABORT_BEGIN
2759
+ TEST_ASSERT_FLOAT_IS_NOT_DETERMINATE(-88.3f);
2760
+ VERIFY_FAILS_END
2761
+ #endif
2762
+ }
2763
+
2764
+ void testFloatIsNotDeterminate1(void)
2765
+ {
2766
+ #ifdef UNITY_EXCLUDE_FLOAT
2767
+ TEST_IGNORE();
2768
+ #else
2769
+ TEST_ASSERT_FLOAT_IS_NOT_DETERMINATE(1.0f / f_zero);
2770
+ TEST_ASSERT_FLOAT_IS_NOT_DETERMINATE(-1.0f / f_zero);
2771
+ TEST_ASSERT_FLOAT_IS_NOT_DETERMINATE(0.0f / f_zero);
2772
+ #endif
2773
+ }
2774
+
2775
+ void testFloatIsNotDeterminate2(void)
2776
+ {
2777
+ #ifdef UNITY_EXCLUDE_FLOAT
2778
+ TEST_IGNORE();
2779
+ #else
2780
+ EXPECT_ABORT_BEGIN
2781
+ TEST_ASSERT_FLOAT_IS_DETERMINATE(-1.0f / f_zero);
2782
+ VERIFY_FAILS_END
2783
+ #endif
2784
+ }
2785
+
2786
+ void testEqualFloatArrays(void)
2787
+ {
2788
+ #ifdef UNITY_EXCLUDE_FLOAT
2789
+ TEST_IGNORE();
2790
+ #else
2791
+ float p0[] = {1.0f, -8.0f, 25.4f, -0.123f};
2792
+ float p1[] = {1.0f, -8.0f, 25.4f, -0.123f};
2793
+ float p2[] = {1.0f, -8.0f, 25.4f, -0.2f};
2794
+ float p3[] = {1.0f, -23.0f, 25.0f, -0.26f};
2795
+
2796
+ TEST_ASSERT_EQUAL_FLOAT_ARRAY(p0, p0, 1);
2797
+ TEST_ASSERT_EQUAL_FLOAT_ARRAY(p0, p0, 4);
2798
+ TEST_ASSERT_EQUAL_FLOAT_ARRAY(p0, p1, 4);
2799
+ TEST_ASSERT_EQUAL_FLOAT_ARRAY(p0, p2, 3);
2800
+ TEST_ASSERT_EQUAL_FLOAT_ARRAY(p0, p3, 1);
2801
+ #endif
2802
+ }
2803
+
2804
+ void testNotEqualFloatArraysExpectedNull(void)
2805
+ {
2806
+ #ifdef UNITY_EXCLUDE_FLOAT
2807
+ TEST_IGNORE();
2808
+ #else
2809
+ float* p0 = NULL;
2810
+ float p1[] = {1.0f, 8.0f, 25.4f, 0.252f};
2811
+
2812
+ EXPECT_ABORT_BEGIN
2813
+ TEST_ASSERT_EQUAL_FLOAT_ARRAY(p0, p1, 4);
2814
+ VERIFY_FAILS_END
2815
+ #endif
2816
+ }
2817
+
2818
+ void testNotEqualFloatArraysActualNull(void)
2819
+ {
2820
+ #ifdef UNITY_EXCLUDE_FLOAT
2821
+ TEST_IGNORE();
2822
+ #else
2823
+ float p0[] = {1.0f, 8.0f, 25.4f, 0.253f};
2824
+ float* p1 = NULL;
2825
+
2826
+ EXPECT_ABORT_BEGIN
2827
+ TEST_ASSERT_EQUAL_FLOAT_ARRAY(p0, p1, 4);
2828
+ VERIFY_FAILS_END
2829
+ #endif
2830
+ }
2831
+
2832
+ void testNotEqualFloatArrays1(void)
2833
+ {
2834
+ #ifdef UNITY_EXCLUDE_FLOAT
2835
+ TEST_IGNORE();
2836
+ #else
2837
+ float p0[] = {1.0f, 8.0f, 25.4f, 0.253f};
2838
+ float p1[] = {1.0f, 8.0f, 25.4f, 0.252f};
2839
+
2840
+ EXPECT_ABORT_BEGIN
2841
+ TEST_ASSERT_EQUAL_FLOAT_ARRAY(p0, p1, 4);
2842
+ VERIFY_FAILS_END
2843
+ #endif
2844
+ }
2845
+
2846
+ void testNotEqualFloatArrays2(void)
2847
+ {
2848
+ #ifdef UNITY_EXCLUDE_FLOAT
2849
+ TEST_IGNORE();
2850
+ #else
2851
+ float p0[] = {1.0f, 8.0f, 25.4f, 0.253f};
2852
+ float p1[] = {2.0f, 8.0f, 25.4f, 0.253f};
2853
+
2854
+ EXPECT_ABORT_BEGIN
2855
+ TEST_ASSERT_EQUAL_FLOAT_ARRAY(p0, p1, 4);
2856
+ VERIFY_FAILS_END
2857
+ #endif
2858
+ }
2859
+
2860
+ void testNotEqualFloatArrays3(void)
2861
+ {
2862
+ #ifdef UNITY_EXCLUDE_FLOAT
2863
+ TEST_IGNORE();
2864
+ #else
2865
+ float p0[] = {1.0f, 8.0f, 25.4f, 0.253f};
2866
+ float p1[] = {1.0f, 8.0f, 25.5f, 0.253f};
2867
+
2868
+ EXPECT_ABORT_BEGIN
2869
+ TEST_ASSERT_EQUAL_FLOAT_ARRAY(p0, p1, 4);
2870
+ VERIFY_FAILS_END
2871
+ #endif
2872
+ }
2873
+
2874
+ void testNotEqualFloatArraysNegative1(void)
2875
+ {
2876
+ #ifdef UNITY_EXCLUDE_FLOAT
2877
+ TEST_IGNORE();
2878
+ #else
2879
+ float p0[] = {-1.0f, -8.0f, -25.4f, -0.253f};
2880
+ float p1[] = {-1.0f, -8.0f, -25.4f, -0.252f};
2881
+
2882
+ EXPECT_ABORT_BEGIN
2883
+ TEST_ASSERT_EQUAL_FLOAT_ARRAY(p0, p1, 4);
2884
+ VERIFY_FAILS_END
2885
+ #endif
2886
+ }
2887
+
2888
+ void testNotEqualFloatArraysNegative2(void)
2889
+ {
2890
+ #ifdef UNITY_EXCLUDE_FLOAT
2891
+ TEST_IGNORE();
2892
+ #else
2893
+ float p0[] = {-1.0f, -8.0f, -25.4f, -0.253f};
2894
+ float p1[] = {-2.0f, -8.0f, -25.4f, -0.253f};
2895
+
2896
+ EXPECT_ABORT_BEGIN
2897
+ TEST_ASSERT_EQUAL_FLOAT_ARRAY(p0, p1, 4);
2898
+ VERIFY_FAILS_END
2899
+ #endif
2900
+ }
2901
+
2902
+ void testNotEqualFloatArraysNegative3(void)
2903
+ {
2904
+ #ifdef UNITY_EXCLUDE_FLOAT
2905
+ TEST_IGNORE();
2906
+ #else
2907
+ float p0[] = {-1.0f, -8.0f, -25.4f, -0.253f};
2908
+ float p1[] = {-1.0f, -8.0f, -25.5f, -0.253f};
2909
+
2910
+ EXPECT_ABORT_BEGIN
2911
+ TEST_ASSERT_EQUAL_FLOAT_ARRAY(p0, p1, 4);
2912
+ VERIFY_FAILS_END
2913
+ #endif
2914
+ }
2915
+
2916
+ void testNotEqualFloatArraysNaN(void)
2917
+ {
2918
+ #ifdef UNITY_EXCLUDE_FLOAT
2919
+ TEST_IGNORE();
2920
+ #else
2921
+ float p0[] = {1.0f, 0.0f / f_zero, 25.4f, 0.253f};
2922
+ float p1[] = {1.0f, 0.0f / f_zero, 25.4f, 0.253f};
2923
+
2924
+ EXPECT_ABORT_BEGIN
2925
+ TEST_ASSERT_EQUAL_FLOAT_ARRAY(p0, p1, 4);
2926
+ VERIFY_FAILS_END
2927
+ #endif
2928
+ }
2929
+
2930
+ void testNotEqualFloatArraysInf(void)
2931
+ {
2932
+ #ifdef UNITY_EXCLUDE_FLOAT
2933
+ TEST_IGNORE();
2934
+ #else
2935
+ float p0[] = {1.0f, 1.0f / f_zero, 25.4f, 0.253f};
2936
+ float p1[] = {1.0f, 1.0f / f_zero, 25.4f, 0.253f};
2937
+
2938
+ EXPECT_ABORT_BEGIN
2939
+ TEST_ASSERT_EQUAL_FLOAT_ARRAY(p0, p1, 4);
2940
+ VERIFY_FAILS_END
2941
+ #endif
2942
+ }
2943
+
2944
+ // ===================== THESE TEST WILL RUN IF YOUR CONFIG INCLUDES DOUBLE SUPPORT ==================
2945
+
2946
+ void testDoublesWithinDelta(void)
2947
+ {
2948
+ #ifdef UNITY_EXCLUDE_DOUBLE
2949
+ TEST_IGNORE();
2950
+ #else
2951
+ TEST_ASSERT_DOUBLE_WITHIN(0.00003, 187245.03485, 187245.03488);
2952
+ TEST_ASSERT_DOUBLE_WITHIN(1.0, 187245.0, 187246.0);
2953
+ TEST_ASSERT_DOUBLE_WITHIN(0.05, 9273.2549, 9273.2049);
2954
+ TEST_ASSERT_DOUBLE_WITHIN(0.007, -726.93725, -726.94424);
2955
+ #endif
2956
+ }
2957
+
2958
+ void testDoublesNotWithinDelta(void)
2959
+ {
2960
+ #ifdef UNITY_EXCLUDE_DOUBLE
2961
+ TEST_IGNORE();
2962
+ #else
2963
+ EXPECT_ABORT_BEGIN
2964
+ TEST_ASSERT_DOUBLE_WITHIN(0.05, 9273.2649, 9273.2049);
2965
+ VERIFY_FAILS_END
2966
+ #endif
2967
+ }
2968
+
2969
+
2970
+ void testDoublesEqual(void)
2971
+ {
2972
+ #ifdef UNITY_EXCLUDE_DOUBLE
2973
+ TEST_IGNORE();
2974
+ #else
2975
+ TEST_ASSERT_EQUAL_DOUBLE(187245123456.0, 187245123456.0);
2976
+ TEST_ASSERT_EQUAL_DOUBLE(187241234567.5, 187241234567.6);
2977
+ TEST_ASSERT_EQUAL_DOUBLE(9273.2512345649, 9273.25123455699);
2978
+ TEST_ASSERT_EQUAL_DOUBLE(-726.12345693724, -726.1234569374);
2979
+ #endif
2980
+ }
2981
+
2982
+ void testDoublesNotEqual(void)
2983
+ {
2984
+ #ifdef UNITY_EXCLUDE_DOUBLE
2985
+ TEST_IGNORE();
2986
+ #else
2987
+ EXPECT_ABORT_BEGIN
2988
+ TEST_ASSERT_EQUAL_DOUBLE(9273.9649, 9273.0049);
2989
+ VERIFY_FAILS_END
2990
+ #endif
2991
+ }
2992
+
2993
+ void testDoublesNotEqualNegative1(void)
2994
+ {
2995
+ #ifdef UNITY_EXCLUDE_DOUBLE
2996
+ TEST_IGNORE();
2997
+ #else
2998
+ EXPECT_ABORT_BEGIN
2999
+ TEST_ASSERT_EQUAL_DOUBLE(-9273.9649, -9273.0049);
3000
+ VERIFY_FAILS_END
3001
+ #endif
3002
+ }
3003
+
3004
+ void testDoublesNotEqualNegative2(void)
3005
+ {
3006
+ #ifdef UNITY_EXCLUDE_DOUBLE
3007
+ TEST_IGNORE();
3008
+ #else
3009
+ EXPECT_ABORT_BEGIN
3010
+ TEST_ASSERT_EQUAL_DOUBLE(-9273.0049, -9273.9649);
3011
+ VERIFY_FAILS_END
3012
+ #endif
3013
+ }
3014
+
3015
+ void testDoublesNotEqualActualNaN(void)
3016
+ {
3017
+ #ifdef UNITY_EXCLUDE_DOUBLE
3018
+ TEST_IGNORE();
3019
+ #else
3020
+ EXPECT_ABORT_BEGIN
3021
+ TEST_ASSERT_EQUAL_DOUBLE(85.963, 0.0 / d_zero);
3022
+ VERIFY_FAILS_END
3023
+ #endif
3024
+ }
3025
+
3026
+ void testDoublesNotEqualExpectedNaN(void)
3027
+ {
3028
+ #ifdef UNITY_EXCLUDE_DOUBLE
3029
+ TEST_IGNORE();
3030
+ #else
3031
+ EXPECT_ABORT_BEGIN
3032
+ TEST_ASSERT_EQUAL_DOUBLE(0.0 / d_zero, 85.963);
3033
+ VERIFY_FAILS_END
3034
+ #endif
3035
+ }
3036
+
3037
+ void testDoublesNotEqualBothNaN(void)
3038
+ {
3039
+ #ifdef UNITY_EXCLUDE_DOUBLE
3040
+ TEST_IGNORE();
3041
+ #else
3042
+ EXPECT_ABORT_BEGIN
3043
+ TEST_ASSERT_EQUAL_DOUBLE(0.0 / d_zero, 0.0 / d_zero);
3044
+ VERIFY_FAILS_END
3045
+ #endif
3046
+ }
3047
+
3048
+ void testDoublesNotEqualInfNaN(void)
3049
+ {
3050
+ #ifdef UNITY_EXCLUDE_DOUBLE
3051
+ TEST_IGNORE();
3052
+ #else
3053
+ EXPECT_ABORT_BEGIN
3054
+ TEST_ASSERT_EQUAL_DOUBLE(1.0 / d_zero, 0.0 / d_zero);
3055
+ VERIFY_FAILS_END
3056
+ #endif
3057
+ }
3058
+
3059
+ void testDoublesNotEqualNaNInf(void)
3060
+ {
3061
+ #ifdef UNITY_EXCLUDE_DOUBLE
3062
+ TEST_IGNORE();
3063
+ #else
3064
+ EXPECT_ABORT_BEGIN
3065
+ TEST_ASSERT_EQUAL_DOUBLE(0.0 / d_zero, 1.0 / d_zero);
3066
+ VERIFY_FAILS_END
3067
+ #endif
3068
+ }
3069
+
3070
+ void testDoublesNotEqualActualInf(void)
3071
+ {
3072
+ #ifdef UNITY_EXCLUDE_DOUBLE
3073
+ TEST_IGNORE();
3074
+ #else
3075
+ EXPECT_ABORT_BEGIN
3076
+ TEST_ASSERT_EQUAL_DOUBLE(321.642, 1.0 / d_zero);
3077
+ VERIFY_FAILS_END
3078
+ #endif
3079
+ }
3080
+
3081
+ void testDoublesNotEqualExpectedInf(void)
3082
+ {
3083
+ #ifdef UNITY_EXCLUDE_DOUBLE
3084
+ TEST_IGNORE();
3085
+ #else
3086
+ EXPECT_ABORT_BEGIN
3087
+ TEST_ASSERT_EQUAL_DOUBLE(1.0 / d_zero, 321.642);
3088
+ VERIFY_FAILS_END
3089
+ #endif
3090
+ }
3091
+
3092
+ void testDoublesNotEqualBothInf(void)
3093
+ {
3094
+ #ifdef UNITY_EXCLUDE_DOUBLE
3095
+ TEST_IGNORE();
3096
+ #else
3097
+ EXPECT_ABORT_BEGIN
3098
+ TEST_ASSERT_EQUAL_DOUBLE(1.0 / d_zero, 1.0 / d_zero);
3099
+ VERIFY_FAILS_END
3100
+ #endif
3101
+ }
3102
+
3103
+ void testDoublesNotEqualPlusMinusInf(void)
3104
+ {
3105
+ #ifdef UNITY_EXCLUDE_DOUBLE
3106
+ TEST_IGNORE();
3107
+ #else
3108
+ EXPECT_ABORT_BEGIN
3109
+ TEST_ASSERT_EQUAL_DOUBLE(1.0 / d_zero, -1.0 / d_zero);
3110
+ VERIFY_FAILS_END
3111
+ #endif
3112
+ }
3113
+
3114
+ void testDoubleIsPosInf1(void)
3115
+ {
3116
+ #ifdef UNITY_EXCLUDE_DOUBLE
3117
+ TEST_IGNORE();
3118
+ #else
3119
+ TEST_ASSERT_DOUBLE_IS_INF(2.0 / d_zero);
3120
+ #endif
3121
+ }
3122
+
3123
+ void testDoubleIsPosInf2(void)
3124
+ {
3125
+ #ifdef UNITY_EXCLUDE_DOUBLE
3126
+ TEST_IGNORE();
3127
+ #else
3128
+ EXPECT_ABORT_BEGIN
3129
+ TEST_ASSERT_DOUBLE_IS_NOT_INF(2.0 / d_zero);
3130
+ VERIFY_FAILS_END
3131
+ #endif
3132
+ }
3133
+
3134
+ void testDoubleIsNegInf1(void)
3135
+ {
3136
+ #ifdef UNITY_EXCLUDE_DOUBLE
3137
+ TEST_IGNORE();
3138
+ #else
3139
+ TEST_ASSERT_DOUBLE_IS_NEG_INF(-3.0 / d_zero);
3140
+ #endif
3141
+ }
3142
+
3143
+ void testDoubleIsNegInf2(void)
3144
+ {
3145
+ #ifdef UNITY_EXCLUDE_DOUBLE
3146
+ TEST_IGNORE();
3147
+ #else
3148
+ EXPECT_ABORT_BEGIN
3149
+ TEST_ASSERT_DOUBLE_IS_NOT_NEG_INF(-3.0 / d_zero);
3150
+ VERIFY_FAILS_END
3151
+ #endif
3152
+ }
3153
+
3154
+ void testDoubleIsNotPosInf1(void)
3155
+ {
3156
+ #ifdef UNITY_EXCLUDE_DOUBLE
3157
+ TEST_IGNORE();
3158
+ #else
3159
+ EXPECT_ABORT_BEGIN
3160
+ TEST_ASSERT_DOUBLE_IS_INF(2.0);
3161
+ VERIFY_FAILS_END
3162
+ #endif
3163
+ }
3164
+
3165
+ void testDoubleIsNotPosInf2(void)
3166
+ {
3167
+ #ifdef UNITY_EXCLUDE_DOUBLE
3168
+ TEST_IGNORE();
3169
+ #else
3170
+ TEST_ASSERT_DOUBLE_IS_NOT_INF(2.0);
3171
+ #endif
3172
+ }
3173
+
3174
+ void testDoubleIsNotNegInf(void)
3175
+ {
3176
+ #ifdef UNITY_EXCLUDE_DOUBLE
3177
+ TEST_IGNORE();
3178
+ #else
3179
+ EXPECT_ABORT_BEGIN
3180
+ TEST_ASSERT_DOUBLE_IS_NEG_INF(-999.876);
3181
+ VERIFY_FAILS_END
3182
+ #endif
3183
+ }
3184
+
3185
+ void testDoubleIsNan1(void)
3186
+ {
3187
+ #ifdef UNITY_EXCLUDE_DOUBLE
3188
+ TEST_IGNORE();
3189
+ #else
3190
+ TEST_ASSERT_DOUBLE_IS_NAN(0.0 / d_zero);
3191
+ #endif
3192
+ }
3193
+
3194
+ void testDoubleIsNan2(void)
3195
+ {
3196
+ #ifdef UNITY_EXCLUDE_DOUBLE
3197
+ TEST_IGNORE();
3198
+ #else
3199
+ EXPECT_ABORT_BEGIN
3200
+ TEST_ASSERT_DOUBLE_IS_NOT_NAN(0.0 / d_zero);
3201
+ VERIFY_FAILS_END
3202
+ #endif
3203
+ }
3204
+
3205
+ void testDoubleIsNotNan1(void)
3206
+ {
3207
+ #ifdef UNITY_EXCLUDE_DOUBLE
3208
+ TEST_IGNORE();
3209
+ #else
3210
+ EXPECT_ABORT_BEGIN
3211
+ TEST_ASSERT_DOUBLE_IS_NAN(234.9);
3212
+ VERIFY_FAILS_END
3213
+ #endif
3214
+ }
3215
+
3216
+ void testDoubleIsNotNan2(void)
3217
+ {
3218
+ #ifdef UNITY_EXCLUDE_DOUBLE
3219
+ TEST_IGNORE();
3220
+ #else
3221
+ TEST_ASSERT_DOUBLE_IS_NOT_NAN(234.9);
3222
+ #endif
3223
+ }
3224
+
3225
+ void testDoubleInfIsNotNan(void)
3226
+ {
3227
+ #ifdef UNITY_EXCLUDE_DOUBLE
3228
+ TEST_IGNORE();
3229
+ #else
3230
+ EXPECT_ABORT_BEGIN
3231
+ TEST_ASSERT_DOUBLE_IS_NAN(1.0 / d_zero);
3232
+ VERIFY_FAILS_END
3233
+ #endif
3234
+ }
3235
+
3236
+ void testDoubleNanIsNotInf(void)
3237
+ {
3238
+ #ifdef UNITY_EXCLUDE_DOUBLE
3239
+ TEST_IGNORE();
3240
+ #else
3241
+ EXPECT_ABORT_BEGIN
3242
+ TEST_ASSERT_DOUBLE_IS_INF(0.0 / d_zero);
3243
+ VERIFY_FAILS_END
3244
+ #endif
3245
+ }
3246
+
3247
+ void testDoubleIsDeterminate1(void)
3248
+ {
3249
+ #ifdef UNITY_EXCLUDE_DOUBLE
3250
+ TEST_IGNORE();
3251
+ #else
3252
+ TEST_ASSERT_DOUBLE_IS_DETERMINATE(0.0);
3253
+ TEST_ASSERT_DOUBLE_IS_DETERMINATE(123.3);
3254
+ TEST_ASSERT_DOUBLE_IS_DETERMINATE(-88.3);
3255
+ #endif
3256
+ }
3257
+
3258
+ void testDoubleIsDeterminate2(void)
3259
+ {
3260
+ #ifdef UNITY_EXCLUDE_DOUBLE
3261
+ TEST_IGNORE();
3262
+ #else
3263
+ EXPECT_ABORT_BEGIN
3264
+ TEST_ASSERT_DOUBLE_IS_NOT_DETERMINATE(-88.3);
3265
+ VERIFY_FAILS_END
3266
+ #endif
3267
+ }
3268
+
3269
+ void testDoubleIsNotDeterminate1(void)
3270
+ {
3271
+ #ifdef UNITY_EXCLUDE_DOUBLE
3272
+ TEST_IGNORE();
3273
+ #else
3274
+ TEST_ASSERT_DOUBLE_IS_NOT_DETERMINATE(1.0 / d_zero);
3275
+ TEST_ASSERT_DOUBLE_IS_NOT_DETERMINATE(-1.0 / d_zero);
3276
+ TEST_ASSERT_DOUBLE_IS_NOT_DETERMINATE(0.0 / d_zero);
3277
+ #endif
3278
+ }
3279
+
3280
+ void testDoubleIsNotDeterminate2(void)
3281
+ {
3282
+ #ifdef UNITY_EXCLUDE_DOUBLE
3283
+ TEST_IGNORE();
3284
+ #else
3285
+ EXPECT_ABORT_BEGIN
3286
+ TEST_ASSERT_DOUBLE_IS_DETERMINATE(-1.0 / d_zero);
3287
+ VERIFY_FAILS_END
3288
+ #endif
3289
+ }
3290
+
3291
+ void testEqualDoubleArrays(void)
3292
+ {
3293
+ #ifdef UNITY_EXCLUDE_DOUBLE
3294
+ TEST_IGNORE();
3295
+ #else
3296
+ double p0[] = {1.0, -8.0, 25.4, -0.123};
3297
+ double p1[] = {1.0, -8.0, 25.4, -0.123};
3298
+ double p2[] = {1.0, -8.0, 25.4, -0.2};
3299
+ double p3[] = {1.0, -23.0, 25.0, -0.26};
3300
+
3301
+ TEST_ASSERT_EQUAL_DOUBLE_ARRAY(p0, p0, 1);
3302
+ TEST_ASSERT_EQUAL_DOUBLE_ARRAY(p0, p0, 4);
3303
+ TEST_ASSERT_EQUAL_DOUBLE_ARRAY(p0, p1, 4);
3304
+ TEST_ASSERT_EQUAL_DOUBLE_ARRAY(p0, p2, 3);
3305
+ TEST_ASSERT_EQUAL_DOUBLE_ARRAY(p0, p3, 1);
3306
+ #endif
3307
+ }
3308
+
3309
+ void testNotEqualDoubleArraysExpectedNull(void)
3310
+ {
3311
+ #ifdef UNITY_EXCLUDE_DOUBLE
3312
+ TEST_IGNORE();
3313
+ #else
3314
+ double* p0 = NULL;
3315
+ double p1[] = {1.0, 8.0, 25.4, 0.252};
3316
+
3317
+ EXPECT_ABORT_BEGIN
3318
+ TEST_ASSERT_EQUAL_DOUBLE_ARRAY(p0, p1, 4);
3319
+ VERIFY_FAILS_END
3320
+ #endif
3321
+ }
3322
+
3323
+ void testNotEqualDoubleArraysActualNull(void)
3324
+ {
3325
+ #ifdef UNITY_EXCLUDE_DOUBLE
3326
+ TEST_IGNORE();
3327
+ #else
3328
+ double p0[] = {1.0, 8.0, 25.4, 0.253};
3329
+ double* p1 = NULL;
3330
+
3331
+ EXPECT_ABORT_BEGIN
3332
+ TEST_ASSERT_EQUAL_DOUBLE_ARRAY(p0, p1, 4);
3333
+ VERIFY_FAILS_END
3334
+ #endif
3335
+ }
3336
+
3337
+ void testNotEqualDoubleArrays1(void)
3338
+ {
3339
+ #ifdef UNITY_EXCLUDE_DOUBLE
3340
+ TEST_IGNORE();
3341
+ #else
3342
+ double p0[] = {1.0, 8.0, 25.4, 0.25666666667};
3343
+ double p1[] = {1.0, 8.0, 25.4, 0.25666666666};
3344
+
3345
+ EXPECT_ABORT_BEGIN
3346
+ TEST_ASSERT_EQUAL_DOUBLE_ARRAY(p0, p1, 4);
3347
+ VERIFY_FAILS_END
3348
+ #endif
3349
+ }
3350
+
3351
+ void testNotEqualDoubleArrays2(void)
3352
+ {
3353
+ #ifdef UNITY_EXCLUDE_DOUBLE
3354
+ TEST_IGNORE();
3355
+ #else
3356
+ double p0[] = {1.0, 8.0, 25.4, 0.253};
3357
+ double p1[] = {2.0, 8.0, 25.4, 0.253};
3358
+
3359
+ EXPECT_ABORT_BEGIN
3360
+ TEST_ASSERT_EQUAL_DOUBLE_ARRAY(p0, p1, 4);
3361
+ VERIFY_FAILS_END
3362
+ #endif
3363
+ }
3364
+
3365
+ void testNotEqualDoubleArrays3(void)
3366
+ {
3367
+ #ifdef UNITY_EXCLUDE_DOUBLE
3368
+ TEST_IGNORE();
3369
+ #else
3370
+ double p0[] = {1.0, 8.0, 25.4, 0.253};
3371
+ double p1[] = {1.0, 8.0, 25.5, 0.253};
3372
+
3373
+ EXPECT_ABORT_BEGIN
3374
+ TEST_ASSERT_EQUAL_DOUBLE_ARRAY(p0, p1, 4);
3375
+ VERIFY_FAILS_END
3376
+ #endif
3377
+ }
3378
+
3379
+ void testNotEqualDoubleArraysNegative1(void)
3380
+ {
3381
+ #ifdef UNITY_EXCLUDE_DOUBLE
3382
+ TEST_IGNORE();
3383
+ #else
3384
+ double p0[] = {-1.0, -8.0, -25.4, -0.2566666667};
3385
+ double p1[] = {-1.0, -8.0, -25.4, -0.2566666666};
3386
+
3387
+ EXPECT_ABORT_BEGIN
3388
+ TEST_ASSERT_EQUAL_DOUBLE_ARRAY(p0, p1, 4);
3389
+ VERIFY_FAILS_END
3390
+ #endif
3391
+ }
3392
+
3393
+ void testNotEqualDoubleArraysNegative2(void)
3394
+ {
3395
+ #ifdef UNITY_EXCLUDE_DOUBLE
3396
+ TEST_IGNORE();
3397
+ #else
3398
+ double p0[] = {-1.0, -8.0, -25.4, -0.253};
3399
+ double p1[] = {-2.0, -8.0, -25.4, -0.253};
3400
+
3401
+ EXPECT_ABORT_BEGIN
3402
+ TEST_ASSERT_EQUAL_DOUBLE_ARRAY(p0, p1, 4);
3403
+ VERIFY_FAILS_END
3404
+ #endif
3405
+ }
3406
+
3407
+ void testNotEqualDoubleArraysNegative3(void)
3408
+ {
3409
+ #ifdef UNITY_EXCLUDE_DOUBLE
3410
+ TEST_IGNORE();
3411
+ #else
3412
+ double p0[] = {-1.0, -8.0, -25.4, -0.253};
3413
+ double p1[] = {-1.0, -8.0, -25.5, -0.253};
3414
+
3415
+ EXPECT_ABORT_BEGIN
3416
+ TEST_ASSERT_EQUAL_DOUBLE_ARRAY(p0, p1, 4);
3417
+ VERIFY_FAILS_END
3418
+ #endif
3419
+ }
3420
+
3421
+ void testNotEqualDoubleArraysNaN(void)
3422
+ {
3423
+ #ifdef UNITY_EXCLUDE_DOUBLE
3424
+ TEST_IGNORE();
3425
+ #else
3426
+ double p0[] = {1.0, 0.0 / d_zero, 25.4, 0.253};
3427
+ double p1[] = {1.0, 0.0 / d_zero, 25.4, 0.253};
3428
+
3429
+ EXPECT_ABORT_BEGIN
3430
+ TEST_ASSERT_EQUAL_DOUBLE_ARRAY(p0, p1, 4);
3431
+ VERIFY_FAILS_END
3432
+ #endif
3433
+ }
3434
+
3435
+ void testNotEqualDoubleArraysInf(void)
3436
+ {
3437
+ #ifdef UNITY_EXCLUDE_DOUBLE
3438
+ TEST_IGNORE();
3439
+ #else
3440
+ double p0[] = {1.0, 1.0 / d_zero, 25.4, 0.253};
3441
+ double p1[] = {1.0, 1.0 / d_zero, 25.4, 0.253};
3442
+
3443
+ EXPECT_ABORT_BEGIN
3444
+ TEST_ASSERT_EQUAL_DOUBLE_ARRAY(p0, p1, 4);
3445
+ VERIFY_FAILS_END
3446
+ #endif
3447
+ }