ceedling 0.13.0 → 0.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (308) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +1 -1
  3. data/Gemfile.lock +18 -14
  4. data/README.md +6 -4
  5. data/assets/project_as_gem.yml +1 -1
  6. data/assets/rakefile_as_gem.rb +2 -0
  7. data/assets/rakefile_with_guts.rb +3 -1
  8. data/ceedling.gemspec +1 -0
  9. data/examples/blinky/rakefile.rb +2 -2
  10. data/examples/temp_sensor/rakefile.rb +1 -1
  11. data/examples/temp_sensor/src/TemperatureFilter.c +1 -2
  12. data/examples/temp_sensor/test/TestTemperatureCalculator.c +1 -1
  13. data/examples/temp_sensor/test/TestTemperatureFilter.c +12 -2
  14. data/lib/ceedling.rb +94 -22
  15. data/lib/{build_invoker_utils.rb → ceedling/build_invoker_utils.rb} +27 -27
  16. data/lib/{cacheinator.rb → ceedling/cacheinator.rb} +42 -42
  17. data/lib/{cacheinator_helper.rb → ceedling/cacheinator_helper.rb} +12 -12
  18. data/lib/{cmock_builder.rb → ceedling/cmock_builder.rb} +15 -15
  19. data/lib/{configurator.rb → ceedling/configurator.rb} +333 -329
  20. data/lib/{configurator_builder.rb → ceedling/configurator_builder.rb} +437 -437
  21. data/lib/{configurator_plugins.rb → ceedling/configurator_plugins.rb} +124 -124
  22. data/lib/{configurator_setup.rb → ceedling/configurator_setup.rb} +124 -124
  23. data/lib/{configurator_validator.rb → ceedling/configurator_validator.rb} +184 -184
  24. data/lib/{constants.rb → ceedling/constants.rb} +20 -17
  25. data/lib/{defaults.rb → ceedling/defaults.rb} +19 -18
  26. data/lib/{dependinator.rb → ceedling/dependinator.rb} +92 -92
  27. data/lib/{erb_wrapper.rb → ceedling/erb_wrapper.rb} +8 -8
  28. data/lib/{file_finder.rb → ceedling/file_finder.rb} +132 -132
  29. data/lib/{file_finder_helper.rb → ceedling/file_finder_helper.rb} +54 -54
  30. data/lib/{file_path_utils.rb → ceedling/file_path_utils.rb} +189 -189
  31. data/lib/{file_system_utils.rb → ceedling/file_system_utils.rb} +69 -69
  32. data/lib/{file_system_wrapper.rb → ceedling/file_system_wrapper.rb} +9 -9
  33. data/lib/{file_wrapper.rb → ceedling/file_wrapper.rb} +79 -79
  34. data/lib/{flaginator.rb → ceedling/flaginator.rb} +54 -54
  35. data/lib/{generator.rb → ceedling/generator.rb} +164 -164
  36. data/lib/{generator_helper.rb → ceedling/generator_helper.rb} +40 -40
  37. data/lib/{generator_test_results.rb → ceedling/generator_test_results.rb} +86 -89
  38. data/lib/{generator_test_results_sanity_checker.rb → ceedling/generator_test_results_sanity_checker.rb} +64 -62
  39. data/lib/{generator_test_runner.rb → ceedling/generator_test_runner.rb} +63 -63
  40. data/lib/{loginator.rb → ceedling/loginator.rb} +31 -31
  41. data/lib/{makefile.rb → ceedling/makefile.rb} +0 -0
  42. data/lib/{objects.yml → ceedling/objects.yml} +0 -0
  43. data/lib/{par_map.rb → ceedling/par_map.rb} +0 -0
  44. data/lib/{plugin.rb → ceedling/plugin.rb} +80 -80
  45. data/lib/{plugin_builder.rb → ceedling/plugin_builder.rb} +52 -52
  46. data/lib/{plugin_manager.rb → ceedling/plugin_manager.rb} +107 -107
  47. data/lib/{plugin_manager_helper.rb → ceedling/plugin_manager_helper.rb} +19 -19
  48. data/lib/{plugin_reportinator.rb → ceedling/plugin_reportinator.rb} +2 -2
  49. data/lib/{plugin_reportinator_helper.rb → ceedling/plugin_reportinator_helper.rb} +1 -1
  50. data/lib/{preprocessinator.rb → ceedling/preprocessinator.rb} +43 -43
  51. data/lib/{preprocessinator_extractor.rb → ceedling/preprocessinator_extractor.rb} +30 -30
  52. data/lib/{preprocessinator_file_handler.rb → ceedling/preprocessinator_file_handler.rb} +21 -21
  53. data/lib/{preprocessinator_helper.rb → ceedling/preprocessinator_helper.rb} +46 -46
  54. data/lib/ceedling/preprocessinator_includes_handler.rb +82 -0
  55. data/lib/{project_config_manager.rb → ceedling/project_config_manager.rb} +38 -38
  56. data/lib/{project_file_loader.rb → ceedling/project_file_loader.rb} +64 -64
  57. data/lib/{rake_utils.rb → ceedling/rake_utils.rb} +17 -17
  58. data/lib/{rake_wrapper.rb → ceedling/rake_wrapper.rb} +33 -33
  59. data/lib/{rakefile.rb → ceedling/rakefile.rb} +78 -74
  60. data/lib/{release_invoker.rb → ceedling/release_invoker.rb} +58 -58
  61. data/lib/{release_invoker_helper.rb → ceedling/release_invoker_helper.rb} +16 -16
  62. data/lib/{reportinator.rb → ceedling/reportinator.rb} +9 -9
  63. data/lib/{rules_cmock.rake → ceedling/rules_cmock.rake} +9 -9
  64. data/lib/{rules_preprocess.rake → ceedling/rules_preprocess.rake} +26 -26
  65. data/lib/{rules_release.rake → ceedling/rules_release.rake} +79 -79
  66. data/lib/{rules_release_deep_dependencies.rake → ceedling/rules_release_deep_dependencies.rake} +15 -15
  67. data/lib/{rules_tests.rake → ceedling/rules_tests.rake} +59 -59
  68. data/lib/{rules_tests_deep_dependencies.rake → ceedling/rules_tests_deep_dependencies.rake} +15 -15
  69. data/lib/{setupinator.rb → ceedling/setupinator.rb} +51 -51
  70. data/lib/{stream_wrapper.rb → ceedling/stream_wrapper.rb} +20 -20
  71. data/lib/{streaminator.rb → ceedling/streaminator.rb} +40 -41
  72. data/lib/{streaminator_helper.rb → ceedling/streaminator_helper.rb} +15 -15
  73. data/lib/{system_utils.rb → ceedling/system_utils.rb} +0 -0
  74. data/lib/{system_wrapper.rb → ceedling/system_wrapper.rb} +76 -76
  75. data/lib/{target_loader.rb → ceedling/target_loader.rb} +0 -0
  76. data/lib/{task_invoker.rb → ceedling/task_invoker.rb} +89 -89
  77. data/lib/{tasks_base.rake → ceedling/tasks_base.rake} +104 -104
  78. data/lib/{tasks_filesystem.rake → ceedling/tasks_filesystem.rake} +91 -91
  79. data/lib/{tasks_release.rake → ceedling/tasks_release.rake} +28 -28
  80. data/lib/{tasks_release_deep_dependencies.rake → ceedling/tasks_release_deep_dependencies.rake} +9 -9
  81. data/lib/{tasks_tests.rake → ceedling/tasks_tests.rake} +52 -52
  82. data/lib/{tasks_tests_deep_dependencies.rake → ceedling/tasks_tests_deep_dependencies.rake} +9 -9
  83. data/lib/{tasks_vendor.rake → ceedling/tasks_vendor.rake} +36 -36
  84. data/lib/{test_includes_extractor.rb → ceedling/test_includes_extractor.rb} +81 -81
  85. data/lib/{test_invoker.rb → ceedling/test_invoker.rb} +97 -97
  86. data/lib/{test_invoker_helper.rb → ceedling/test_invoker_helper.rb} +28 -28
  87. data/lib/{tool_executor.rb → ceedling/tool_executor.rb} +215 -212
  88. data/lib/{tool_executor_helper.rb → ceedling/tool_executor_helper.rb} +115 -115
  89. data/lib/{verbosinator.rb → ceedling/verbosinator.rb} +10 -10
  90. data/lib/ceedling/version.rb +1 -1
  91. data/lib/{yaml_wrapper.rb → ceedling/yaml_wrapper.rb} +17 -16
  92. data/license.txt +31 -0
  93. data/plugins/bullseye/lib/bullseye.rb +2 -2
  94. data/plugins/gcov/gcov.rb +2 -2
  95. data/plugins/module_generator/lib/module_generator.rb +4 -3
  96. data/plugins/stdout_ide_tests_report/lib/stdout_ide_tests_report.rb +8 -8
  97. data/plugins/stdout_pretty_tests_report/lib/stdout_pretty_tests_report.rb +3 -3
  98. data/plugins/teamcity_tests_report/config/teamcity_tests_report.yml +4 -0
  99. data/plugins/teamcity_tests_report/lib/teamcity_tests_report.rb +57 -0
  100. data/plugins/xml_tests_report/xml_tests_report.rb +4 -4
  101. data/release/version.info +1 -1
  102. data/spec/ceedling_spec.rb +154 -0
  103. data/spec/par_map_spec.rb +1 -1
  104. data/spec/preprocessinator_extractor_spec.rb +26 -27
  105. data/spec/preprocessinator_includes_handler_spec.rb +175 -0
  106. data/spec/spec_helper.rb +8 -27
  107. data/test_graveyard/integration/paths_test.rb +2 -2
  108. data/test_graveyard/unit/busted/configurator_builder_test.rb +2 -2
  109. data/test_graveyard/unit/busted/configurator_test.rb +1 -1
  110. data/test_graveyard/unit/busted/configurator_validator_test.rb +1 -1
  111. data/test_graveyard/unit/busted/dependinator_test.rb +1 -1
  112. data/test_graveyard/unit/busted/file_finder_helper_test.rb +1 -1
  113. data/test_graveyard/unit/busted/file_finder_test.rb +1 -1
  114. data/test_graveyard/unit/busted/file_path_utils_test.rb +1 -1
  115. data/test_graveyard/unit/busted/file_system_utils_test.rb +1 -1
  116. data/test_graveyard/unit/busted/generator_test.rb +1 -1
  117. data/test_graveyard/unit/busted/generator_test_results_test.rb +1 -1
  118. data/test_graveyard/unit/busted/generator_test_runner_test.rb +1 -1
  119. data/test_graveyard/unit/busted/preprocessinator_file_handler_test.rb +1 -1
  120. data/test_graveyard/unit/busted/preprocessinator_helper_test.rb +1 -1
  121. data/test_graveyard/unit/busted/preprocessinator_includes_handler_test.rb +1 -1
  122. data/test_graveyard/unit/busted/preprocessinator_test.rb +1 -1
  123. data/test_graveyard/unit/busted/project_file_loader_test.rb +1 -1
  124. data/test_graveyard/unit/busted/setupinator_test.rb +1 -1
  125. data/test_graveyard/unit/busted/streaminator_test.rb +2 -2
  126. data/test_graveyard/unit/busted/task_invoker_test.rb +1 -1
  127. data/test_graveyard/unit/busted/test_includes_extractor_test.rb +1 -1
  128. data/test_graveyard/unit/busted/test_invoker_helper_test.rb +1 -1
  129. data/test_graveyard/unit/busted/test_invoker_test.rb +1 -1
  130. data/test_graveyard/unit/busted/tool_executor_helper_test.rb +1 -1
  131. data/test_graveyard/unit/busted/tool_executor_test.rb +1 -1
  132. data/test_graveyard/unit/busted/verbosinator_test.rb +1 -1
  133. data/test_graveyard/unit/preprocessinator_extractor_test.rb +1 -1
  134. data/vendor/c_exception/Gemfile +4 -0
  135. data/vendor/c_exception/lib/CException.h +1 -1
  136. data/vendor/c_exception/test/TestException.c +25 -14
  137. data/vendor/c_exception/test/TestException_Runner.c +74 -57
  138. data/vendor/cmock/Gemfile +11 -0
  139. data/vendor/cmock/lib/cmock_generator.rb +13 -12
  140. data/vendor/cmock/lib/cmock_generator_plugin_ignore_arg.rb +44 -0
  141. data/vendor/cmock/lib/cmock_generator_plugin_return_thru_ptr.rb +74 -0
  142. data/vendor/cmock/lib/cmock_generator_utils.rb +67 -42
  143. data/vendor/cmock/src/cmock.c +20 -30
  144. data/vendor/cmock/src/cmock.h +1 -0
  145. data/vendor/cmock/src/cmock_internals.h +43 -0
  146. data/vendor/cmock/test/c/TestCMockC.c +79 -36
  147. data/vendor/cmock/test/c/TestCMockC_Runner.c +2 -0
  148. data/vendor/cmock/test/spec/cmock_file_writer_spec.rb +21 -1
  149. data/vendor/cmock/test/spec/cmock_generator_plugin_array_spec.rb +52 -0
  150. data/vendor/cmock/test/system/test_interactions/all_plugins_coexist.yml +2 -0
  151. data/vendor/cmock/test/system/test_interactions/return_thru_ptr_ignore_arg.yml +235 -0
  152. data/vendor/cmock/test/test_helper.rb +10 -5
  153. data/vendor/cmock/test/unit/cmock_generator_main_test.rb +38 -0
  154. data/vendor/cmock/test/unit/cmock_generator_plugin_ignore_arg_test.rb +116 -0
  155. data/vendor/cmock/test/unit/cmock_generator_plugin_return_thru_ptr_test.rb +134 -0
  156. data/vendor/cmock/test/unit/cmock_generator_utils_test.rb +58 -33
  157. data/vendor/cmock/vendor/c_exception/docs/CExceptionSummary.odt +0 -0
  158. data/vendor/cmock/vendor/c_exception/docs/CExceptionSummary.pdf +0 -0
  159. data/vendor/cmock/vendor/c_exception/docs/license.txt +30 -0
  160. data/vendor/cmock/vendor/c_exception/docs/readme.txt +236 -0
  161. data/vendor/cmock/vendor/c_exception/lib/CException.c +39 -0
  162. data/vendor/cmock/vendor/c_exception/lib/CException.h +70 -0
  163. data/vendor/cmock/vendor/c_exception/makefile +24 -0
  164. data/vendor/cmock/vendor/c_exception/rakefile.rb +41 -0
  165. data/vendor/cmock/vendor/c_exception/release/build.info +2 -0
  166. data/vendor/cmock/vendor/c_exception/release/version.info +2 -0
  167. data/vendor/cmock/vendor/c_exception/test/CExceptionConfig.h +27 -0
  168. data/vendor/cmock/vendor/c_exception/test/TestException.c +291 -0
  169. data/vendor/cmock/vendor/c_exception/test/TestException_Runner.c +62 -0
  170. data/vendor/cmock/vendor/unity/auto/colour_prompt.rb +94 -0
  171. data/vendor/cmock/vendor/unity/auto/colour_reporter.rb +39 -0
  172. data/vendor/cmock/vendor/unity/auto/generate_config.yml +36 -0
  173. data/vendor/cmock/vendor/unity/auto/generate_module.rb +202 -0
  174. data/vendor/cmock/vendor/unity/auto/generate_test_runner.rb +313 -0
  175. data/vendor/cmock/vendor/unity/auto/test_file_filter.rb +23 -0
  176. data/vendor/cmock/vendor/unity/auto/unity_test_summary.rb +139 -0
  177. data/vendor/cmock/vendor/unity/docs/Unity Summary.odt +0 -0
  178. data/vendor/cmock/vendor/unity/docs/Unity Summary.pdf +0 -0
  179. data/vendor/cmock/vendor/unity/docs/Unity Summary.txt +217 -0
  180. data/vendor/cmock/vendor/unity/docs/license.txt +31 -0
  181. data/vendor/cmock/vendor/unity/examples/helper/UnityHelper.c +10 -0
  182. data/vendor/cmock/vendor/unity/examples/helper/UnityHelper.h +12 -0
  183. data/vendor/cmock/vendor/unity/examples/makefile +40 -0
  184. data/vendor/cmock/vendor/unity/examples/rakefile.rb +32 -0
  185. data/vendor/cmock/vendor/unity/examples/rakefile_helper.rb +256 -0
  186. data/vendor/cmock/vendor/unity/examples/readme.txt +18 -0
  187. data/vendor/cmock/vendor/unity/examples/src/ProductionCode.c +24 -0
  188. data/vendor/cmock/vendor/unity/examples/src/ProductionCode.h +3 -0
  189. data/vendor/cmock/vendor/unity/examples/src/ProductionCode2.c +9 -0
  190. data/vendor/cmock/vendor/unity/examples/src/ProductionCode2.h +2 -0
  191. data/vendor/cmock/vendor/unity/examples/test/TestProductionCode.c +62 -0
  192. data/vendor/cmock/vendor/unity/examples/test/TestProductionCode2.c +31 -0
  193. data/vendor/cmock/vendor/unity/examples/test/no_ruby/TestProductionCode2_Runner.c +46 -0
  194. data/vendor/cmock/vendor/unity/examples/test/no_ruby/TestProductionCode_Runner.c +50 -0
  195. data/vendor/{unity → cmock/vendor/unity}/extras/fixture/build/MakefileWorker.mk +0 -0
  196. data/vendor/{unity → cmock/vendor/unity}/extras/fixture/build/filterGcov.sh +0 -0
  197. data/vendor/cmock/vendor/unity/extras/fixture/rakefile.rb +37 -0
  198. data/vendor/cmock/vendor/unity/extras/fixture/rakefile_helper.rb +178 -0
  199. data/vendor/cmock/vendor/unity/extras/fixture/readme.txt +9 -0
  200. data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture.c +381 -0
  201. data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture.h +81 -0
  202. data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture_internals.h +44 -0
  203. data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture_malloc_overrides.h +16 -0
  204. data/vendor/cmock/vendor/unity/extras/fixture/test/main/AllTests.c +21 -0
  205. data/vendor/cmock/vendor/unity/extras/fixture/test/testunity_fixture.c +39 -0
  206. data/vendor/cmock/vendor/unity/extras/fixture/test/unity_fixture_Test.c +321 -0
  207. data/vendor/cmock/vendor/unity/extras/fixture/test/unity_fixture_TestRunner.c +40 -0
  208. data/vendor/cmock/vendor/unity/extras/fixture/test/unity_output_Spy.c +56 -0
  209. data/vendor/cmock/vendor/unity/extras/fixture/test/unity_output_Spy.h +17 -0
  210. data/vendor/cmock/vendor/unity/makefile +35 -0
  211. data/vendor/cmock/vendor/unity/rakefile.rb +48 -0
  212. data/vendor/cmock/vendor/unity/rakefile_helper.rb +240 -0
  213. data/vendor/cmock/vendor/unity/release/build.info +2 -0
  214. data/vendor/cmock/vendor/unity/release/version.info +2 -0
  215. data/vendor/cmock/vendor/unity/src/unity.c +979 -0
  216. data/vendor/cmock/vendor/unity/src/unity.h +232 -0
  217. data/vendor/cmock/vendor/unity/src/unity_internals.h +424 -0
  218. data/vendor/cmock/vendor/unity/targets/gcc.yml +43 -0
  219. data/vendor/cmock/vendor/unity/targets/gcc_64.yml +44 -0
  220. data/vendor/cmock/vendor/unity/targets/hitech_picc18.yml +101 -0
  221. data/vendor/cmock/vendor/unity/targets/iar_arm_v4.yml +89 -0
  222. data/vendor/cmock/vendor/unity/targets/iar_arm_v5.yml +79 -0
  223. data/vendor/cmock/vendor/unity/targets/iar_arm_v5_3.yml +79 -0
  224. data/vendor/cmock/vendor/unity/targets/iar_armcortex_LM3S9B92_v5_4.yml +93 -0
  225. data/vendor/cmock/vendor/unity/targets/iar_cortexm3_v5.yml +83 -0
  226. data/vendor/cmock/vendor/unity/targets/iar_msp430.yml +94 -0
  227. data/vendor/cmock/vendor/unity/targets/iar_sh2a_v6.yml +85 -0
  228. data/vendor/cmock/vendor/unity/test/expectdata/testsample_cmd.c +54 -0
  229. data/vendor/cmock/vendor/unity/test/expectdata/testsample_def.c +50 -0
  230. data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_cmd.c +76 -0
  231. data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_def.c +72 -0
  232. data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_new1.c +85 -0
  233. data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_new2.c +85 -0
  234. data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_param.c +73 -0
  235. data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_run1.c +85 -0
  236. data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_run2.c +85 -0
  237. data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_yaml.c +86 -0
  238. data/vendor/cmock/vendor/unity/test/expectdata/testsample_new1.c +60 -0
  239. data/vendor/cmock/vendor/unity/test/expectdata/testsample_new2.c +63 -0
  240. data/vendor/cmock/vendor/unity/test/expectdata/testsample_param.c +51 -0
  241. data/vendor/cmock/vendor/unity/test/expectdata/testsample_run1.c +60 -0
  242. data/vendor/cmock/vendor/unity/test/expectdata/testsample_run2.c +63 -0
  243. data/vendor/cmock/vendor/unity/test/expectdata/testsample_yaml.c +64 -0
  244. data/vendor/cmock/vendor/unity/test/test_generate_test_runner.rb +94 -0
  245. data/vendor/cmock/vendor/unity/test/testdata/mocksample.c +51 -0
  246. data/vendor/cmock/vendor/unity/test/testdata/sample.yml +9 -0
  247. data/vendor/cmock/vendor/unity/test/testdata/testsample.c +51 -0
  248. data/vendor/cmock/vendor/unity/test/testparameterized.c +101 -0
  249. data/vendor/cmock/vendor/unity/test/testunity.c +2024 -0
  250. data/vendor/unity/Gemfile +4 -0
  251. data/vendor/unity/auto/generate_test_runner.rb +6 -3
  252. data/vendor/unity/examples/makefile +2 -2
  253. data/vendor/unity/examples/rakefile.rb +13 -2
  254. data/vendor/unity/extras/fixture/rakefile.rb +1 -1
  255. data/vendor/unity/extras/fixture/rakefile_helper.rb +4 -3
  256. data/vendor/unity/extras/fixture/src/unity_fixture.c +15 -12
  257. data/vendor/unity/extras/fixture/src/unity_fixture.h +5 -5
  258. data/vendor/unity/extras/fixture/src/unity_fixture_internals.h +1 -1
  259. data/vendor/unity/extras/fixture/test/unity_fixture_Test.c +6 -3
  260. data/vendor/unity/makefile +2 -2
  261. data/vendor/unity/src/unity.c +183 -16
  262. data/vendor/unity/src/unity.h +18 -5
  263. data/vendor/unity/src/unity_internals.h +57 -23
  264. data/vendor/unity/targets/gcc_64.yml +45 -0
  265. data/vendor/unity/test/testunity.c +436 -28
  266. metadata +200 -137
  267. data/ceedling-0.13.0.rc4.gem +0 -0
  268. data/ceedling.sublime-project +0 -8
  269. data/ceedling.sublime-workspace +0 -365
  270. data/lib/preprocessinator_includes_handler.rb +0 -55
  271. data/tags +0 -977
  272. data/vendor/cmock/vendor/hardmock/CHANGES +0 -78
  273. data/vendor/cmock/vendor/hardmock/LICENSE +0 -7
  274. data/vendor/cmock/vendor/hardmock/README +0 -70
  275. data/vendor/cmock/vendor/hardmock/Rakefile +0 -8
  276. data/vendor/cmock/vendor/hardmock/config/environment.rb +0 -12
  277. data/vendor/cmock/vendor/hardmock/lib/assert_error.rb +0 -23
  278. data/vendor/cmock/vendor/hardmock/lib/extend_test_unit.rb +0 -14
  279. data/vendor/cmock/vendor/hardmock/lib/hardmock.rb +0 -86
  280. data/vendor/cmock/vendor/hardmock/lib/hardmock/errors.rb +0 -22
  281. data/vendor/cmock/vendor/hardmock/lib/hardmock/expectation.rb +0 -229
  282. data/vendor/cmock/vendor/hardmock/lib/hardmock/expectation_builder.rb +0 -9
  283. data/vendor/cmock/vendor/hardmock/lib/hardmock/expector.rb +0 -26
  284. data/vendor/cmock/vendor/hardmock/lib/hardmock/method_cleanout.rb +0 -33
  285. data/vendor/cmock/vendor/hardmock/lib/hardmock/mock.rb +0 -180
  286. data/vendor/cmock/vendor/hardmock/lib/hardmock/mock_control.rb +0 -53
  287. data/vendor/cmock/vendor/hardmock/lib/hardmock/stubbing.rb +0 -210
  288. data/vendor/cmock/vendor/hardmock/lib/hardmock/trapper.rb +0 -31
  289. data/vendor/cmock/vendor/hardmock/lib/hardmock/utils.rb +0 -9
  290. data/vendor/cmock/vendor/hardmock/lib/test_unit_before_after.rb +0 -169
  291. data/vendor/cmock/vendor/hardmock/rake_tasks/rdoc.rake +0 -19
  292. data/vendor/cmock/vendor/hardmock/rake_tasks/rdoc_options.rb +0 -4
  293. data/vendor/cmock/vendor/hardmock/rake_tasks/test.rake +0 -22
  294. data/vendor/cmock/vendor/hardmock/test/functional/assert_error_test.rb +0 -52
  295. data/vendor/cmock/vendor/hardmock/test/functional/auto_verify_test.rb +0 -178
  296. data/vendor/cmock/vendor/hardmock/test/functional/direct_mock_usage_test.rb +0 -396
  297. data/vendor/cmock/vendor/hardmock/test/functional/hardmock_test.rb +0 -434
  298. data/vendor/cmock/vendor/hardmock/test/functional/stubbing_test.rb +0 -479
  299. data/vendor/cmock/vendor/hardmock/test/test_helper.rb +0 -43
  300. data/vendor/cmock/vendor/hardmock/test/unit/expectation_builder_test.rb +0 -19
  301. data/vendor/cmock/vendor/hardmock/test/unit/expectation_test.rb +0 -372
  302. data/vendor/cmock/vendor/hardmock/test/unit/expector_test.rb +0 -57
  303. data/vendor/cmock/vendor/hardmock/test/unit/method_cleanout_test.rb +0 -36
  304. data/vendor/cmock/vendor/hardmock/test/unit/mock_control_test.rb +0 -175
  305. data/vendor/cmock/vendor/hardmock/test/unit/mock_test.rb +0 -279
  306. data/vendor/cmock/vendor/hardmock/test/unit/test_unit_before_after_test.rb +0 -452
  307. data/vendor/cmock/vendor/hardmock/test/unit/trapper_test.rb +0 -62
  308. data/vendor/cmock/vendor/hardmock/test/unit/verify_error_test.rb +0 -40
@@ -0,0 +1,81 @@
1
+ //- Copyright (c) 2010 James Grenning and Contributed to Unity Project
2
+ /* ==========================================
3
+ Unity Project - A Test Framework for C
4
+ Copyright (c) 2007 Mike Karlesky, Mark VanderVoord, Greg Williams
5
+ [Released under MIT License. Please refer to license.txt for details]
6
+ ========================================== */
7
+
8
+ #ifndef UNITY_FIXTURE_H_
9
+ #define UNITY_FIXTURE_H_
10
+
11
+ #include "unity.h"
12
+ #include "unity_internals.h"
13
+ #include "unity_fixture_malloc_overrides.h"
14
+ #include "unity_fixture_internals.h"
15
+
16
+ int UnityMain(int argc, char* argv[], void (*runAllTests)());
17
+
18
+
19
+ #define TEST_GROUP(group)\
20
+ int TEST_GROUP_##group = 0
21
+
22
+ #define TEST_SETUP(group) void TEST_##group##_SETUP()
23
+
24
+ #define TEST_TEAR_DOWN(group) void TEST_##group##_TEAR_DOWN()
25
+
26
+
27
+ #define TEST(group, name) \
28
+ void TEST_##group##_##name##_();\
29
+ void TEST_##group##_##name##_run()\
30
+ {\
31
+ UnityTestRunner(TEST_##group##_SETUP,\
32
+ TEST_##group##_##name##_,\
33
+ TEST_##group##_TEAR_DOWN,\
34
+ "TEST(" #group ", " #name ")",\
35
+ #group, #name,\
36
+ __FILE__, __LINE__);\
37
+ }\
38
+ void TEST_##group##_##name##_()
39
+
40
+ #define IGNORE_TEST(group, name) \
41
+ void TEST_##group##_##name##_();\
42
+ void TEST_##group##_##name##_run()\
43
+ {\
44
+ UnityIgnoreTest();\
45
+ }\
46
+ void TEST_##group##_##name##_()
47
+
48
+ #define DECLARE_TEST_CASE(group, name) \
49
+ void TEST_##group##_##name##_run()
50
+
51
+ #define RUN_TEST_CASE(group, name) \
52
+ DECLARE_TEST_CASE(group, name);\
53
+ TEST_##group##_##name##_run();
54
+
55
+ //This goes at the bottom of each test file or in a separate c file
56
+ #define TEST_GROUP_RUNNER(group)\
57
+ void TEST_##group##_GROUP_RUNNER_runAll();\
58
+ void TEST_##group##_GROUP_RUNNER()\
59
+ {\
60
+ TEST_##group##_GROUP_RUNNER_runAll();\
61
+ }\
62
+ void TEST_##group##_GROUP_RUNNER_runAll()
63
+
64
+ //Call this from main
65
+ #define RUN_TEST_GROUP(group)\
66
+ void TEST_##group##_GROUP_RUNNER();\
67
+ TEST_##group##_GROUP_RUNNER();
68
+
69
+ //CppUTest Compatibility Macros
70
+ #define UT_PTR_SET(ptr, newPointerValue) UnityPointer_Set((void**)&ptr, (void*)newPointerValue)
71
+ #define TEST_ASSERT_POINTERS_EQUAL(expected, actual) TEST_ASSERT_EQUAL_PTR(expected, actual)
72
+ #define TEST_ASSERT_BYTES_EQUAL(expected, actual) TEST_ASSERT_EQUAL_HEX8(0xff & (expected), 0xff & (actual))
73
+ #define FAIL(message) TEST_FAIL((message))
74
+ #define CHECK(condition) TEST_ASSERT_TRUE((condition))
75
+ #define LONGS_EQUAL(expected, actual) TEST_ASSERT_EQUAL_INT((expected), (actual))
76
+ #define STRCMP_EQUAL(expected, actual) TEST_ASSERT_EQUAL_STRING((expected), (actual))
77
+ #define DOUBLES_EQUAL(expected, actual, delta) TEST_ASSERT_FLOAT_WITHIN(((expected), (actual), (delta))
78
+
79
+ void UnityMalloc_MakeMallocFailAfterCount(int count);
80
+
81
+ #endif /* UNITY_FIXTURE_H_ */
@@ -0,0 +1,44 @@
1
+ //- Copyright (c) 2010 James Grenning and Contributed to Unity Project
2
+ /* ==========================================
3
+ Unity Project - A Test Framework for C
4
+ Copyright (c) 2007 Mike Karlesky, Mark VanderVoord, Greg Williams
5
+ [Released under MIT License. Please refer to license.txt for details]
6
+ ========================================== */
7
+
8
+ #ifndef UNITY_FIXTURE_INTERNALS_H_
9
+ #define UNITY_FIXTURE_INTERNALS_H_
10
+
11
+ typedef struct _UNITY_FIXTURE_T
12
+ {
13
+ int Verbose;
14
+ unsigned int RepeatCount;
15
+ const char* NameFilter;
16
+ const char* GroupFilter;
17
+ } UNITY_FIXTURE_T;
18
+
19
+ typedef void unityfunction();
20
+ void UnityTestRunner(unityfunction * setup,
21
+ unityfunction * body,
22
+ unityfunction * teardown,
23
+ const char * printableName,
24
+ const char * group,
25
+ const char * name,
26
+ const char * file, int line);
27
+
28
+ void UnityIgnoreTest();
29
+ void UnityMalloc_StartTest();
30
+ void UnityMalloc_EndTest();
31
+ int UnityFailureCount();
32
+ int UnityGetCommandLineOptions(int argc, char* argv[]);
33
+ void UnityConcludeFixtureTest();
34
+
35
+ void UnityPointer_Set(void ** ptr, void * newValue);
36
+ void UnityPointer_UndoAllSets();
37
+ void UnityPointer_Init();
38
+
39
+ void UnityAssertEqualPointer(const void * expected,
40
+ const void * actual,
41
+ const char* msg,
42
+ const UNITY_LINE_TYPE lineNumber);
43
+
44
+ #endif /* UNITY_FIXTURE_INTERNALS_H_ */
@@ -0,0 +1,16 @@
1
+ //- Copyright (c) 2010 James Grenning and Contributed to Unity Project
2
+ /* ==========================================
3
+ Unity Project - A Test Framework for C
4
+ Copyright (c) 2007 Mike Karlesky, Mark VanderVoord, Greg Williams
5
+ [Released under MIT License. Please refer to license.txt for details]
6
+ ========================================== */
7
+
8
+ #ifndef UNITY_FIXTURE_MALLOC_OVERRIDES_H_
9
+ #define UNITY_FIXTURE_MALLOC_OVERRIDES_H_
10
+
11
+ #define malloc unity_malloc
12
+ #define calloc unity_calloc
13
+ #define realloc unity_realloc
14
+ #define free unity_free
15
+
16
+ #endif /* UNITY_FIXTURE_MALLOC_OVERRIDES_H_ */
@@ -0,0 +1,21 @@
1
+ //- Copyright (c) 2010 James Grenning and Contributed to Unity Project
2
+ /* ==========================================
3
+ Unity Project - A Test Framework for C
4
+ Copyright (c) 2007 Mike Karlesky, Mark VanderVoord, Greg Williams
5
+ [Released under MIT License. Please refer to license.txt for details]
6
+ ========================================== */
7
+
8
+ #include "unity_fixture.h"
9
+
10
+ static void runAllTests()
11
+ {
12
+ RUN_TEST_GROUP(UnityFixture);
13
+ RUN_TEST_GROUP(UnityCommandOptions);
14
+ RUN_TEST_GROUP(LeakDetection)
15
+ }
16
+
17
+ int main(int argc, char* argv[])
18
+ {
19
+ return UnityMain(argc, argv, runAllTests);
20
+ }
21
+
@@ -0,0 +1,39 @@
1
+ //- Copyright (c) 2010 James Grenning and Contributed to Unity Project
2
+ /* ==========================================
3
+ Unity Project - A Test Framework for C
4
+ Copyright (c) 2007 Mike Karlesky, Mark VanderVoord, Greg Williams
5
+ [Released under MIT License. Please refer to license.txt for details]
6
+ ========================================== */
7
+
8
+ #include "unity_fixture.h"
9
+
10
+ static int data = -1;
11
+
12
+ TEST_GROUP(mygroup);
13
+
14
+ TEST_SETUP(mygroup)
15
+ {
16
+ data = 0;
17
+ }
18
+
19
+ TEST_TEAR_DOWN(mygroup)
20
+ {
21
+ data = -1;
22
+ }
23
+
24
+ TEST(mygroup, test1)
25
+ {
26
+ TEST_ASSERT_EQUAL_INT(0, data);
27
+ }
28
+
29
+ TEST(mygroup, test2)
30
+ {
31
+ TEST_ASSERT_EQUAL_INT(0, data);
32
+ data = 5;
33
+ }
34
+
35
+ TEST(mygroup, test3)
36
+ {
37
+ data = 7;
38
+ TEST_ASSERT_EQUAL_INT(7, data);
39
+ }
@@ -0,0 +1,321 @@
1
+ //- Copyright (c) 2010 James Grenning and Contributed to Unity Project
2
+ /* ==========================================
3
+ Unity Project - A Test Framework for C
4
+ Copyright (c) 2007 Mike Karlesky, Mark VanderVoord, Greg Williams
5
+ [Released under MIT License. Please refer to license.txt for details]
6
+ ========================================== */
7
+
8
+ #include "unity_fixture.h"
9
+ #include "unity_output_Spy.h"
10
+ #include <stdlib.h>
11
+ #include <string.h>
12
+
13
+ extern UNITY_FIXTURE_T UnityFixture;
14
+
15
+ TEST_GROUP(UnityFixture);
16
+
17
+ TEST_SETUP(UnityFixture)
18
+ {
19
+ }
20
+
21
+ TEST_TEAR_DOWN(UnityFixture)
22
+ {
23
+ }
24
+
25
+ int my_int;
26
+ int* pointer1 = 0;
27
+ int* pointer2 = (int*)2;
28
+ int* pointer3 = (int*)3;
29
+ int int1;
30
+ int int2;
31
+ int int3;
32
+ int int4;
33
+
34
+ TEST(UnityFixture, PointerSetting)
35
+ {
36
+ TEST_ASSERT_POINTERS_EQUAL(pointer1, 0);
37
+ UT_PTR_SET(pointer1, &int1);
38
+ UT_PTR_SET(pointer2, &int2);
39
+ UT_PTR_SET(pointer3, &int3);
40
+ TEST_ASSERT_POINTERS_EQUAL(pointer1, &int1);
41
+ TEST_ASSERT_POINTERS_EQUAL(pointer2, &int2);
42
+ TEST_ASSERT_POINTERS_EQUAL(pointer3, &int3);
43
+ UT_PTR_SET(pointer1, &int4);
44
+ UnityPointer_UndoAllSets();
45
+ TEST_ASSERT_POINTERS_EQUAL(pointer1, 0);
46
+ TEST_ASSERT_POINTERS_EQUAL(pointer2, (int*)2);
47
+ TEST_ASSERT_POINTERS_EQUAL(pointer3, (int*)3);
48
+ }
49
+
50
+ TEST(UnityFixture, ForceMallocFail)
51
+ {
52
+ UnityMalloc_MakeMallocFailAfterCount(1);
53
+ void* m = malloc(10);
54
+ CHECK(m);
55
+ void* mfails = malloc(10);
56
+ TEST_ASSERT_POINTERS_EQUAL(0, mfails);
57
+ free(m);
58
+ }
59
+
60
+ TEST(UnityFixture, ReallocSmallerIsUnchanged)
61
+ {
62
+ void* m1 = malloc(10);
63
+ void* m2 = realloc(m1, 5);
64
+ TEST_ASSERT_POINTERS_EQUAL(m1, m2);
65
+ free(m2);
66
+ }
67
+
68
+ TEST(UnityFixture, ReallocSameIsUnchanged)
69
+ {
70
+ void* m1 = malloc(10);
71
+ void* m2 = realloc(m1, 10);
72
+ TEST_ASSERT_POINTERS_EQUAL(m1, m2);
73
+ free(m2);
74
+ }
75
+
76
+ TEST(UnityFixture, ReallocLargerNeeded)
77
+ {
78
+ void* m1 = malloc(10);
79
+ strcpy((char*)m1, "123456789");
80
+ void* m2 = realloc(m1, 15);
81
+ CHECK(m1 != m2);
82
+ STRCMP_EQUAL("123456789", m2);
83
+ free(m2);
84
+ }
85
+
86
+ TEST(UnityFixture, ReallocNullPointerIsLikeMalloc)
87
+ {
88
+ void* m = realloc(0, 15);
89
+ CHECK(m != 0);
90
+ free(m);
91
+ }
92
+
93
+ TEST(UnityFixture, ReallocSizeZeroFreesMemAndReturnsNullPointer)
94
+ {
95
+ void* m1 = malloc(10);
96
+ void* m2 = realloc(m1, 0);
97
+ TEST_ASSERT_POINTERS_EQUAL(0, m2);
98
+ }
99
+
100
+ TEST(UnityFixture, CallocFillsWithZero)
101
+ {
102
+ void* m = calloc(3, sizeof(char));
103
+ char* s = (char*)m;
104
+ TEST_ASSERT_BYTES_EQUAL(0, s[0]);
105
+ TEST_ASSERT_BYTES_EQUAL(0, s[1]);
106
+ TEST_ASSERT_BYTES_EQUAL(0, s[2]);
107
+ free(m);
108
+ }
109
+
110
+ char *p1;
111
+ char *p2;
112
+
113
+ TEST(UnityFixture, PointerSet)
114
+ {
115
+ char c1;
116
+ char c2;
117
+ char newC1;
118
+ char newC2;
119
+ p1 = &c1;
120
+ p2 = &c2;
121
+
122
+ UnityPointer_Init(10);
123
+ UT_PTR_SET(p1, &newC1);
124
+ UT_PTR_SET(p2, &newC2);
125
+ TEST_ASSERT_POINTERS_EQUAL(&newC1, p1);
126
+ TEST_ASSERT_POINTERS_EQUAL(&newC2, p2);
127
+ UnityPointer_UndoAllSets();
128
+ TEST_ASSERT_POINTERS_EQUAL(&c1, p1);
129
+ TEST_ASSERT_POINTERS_EQUAL(&c2, p2);
130
+ }
131
+
132
+ //------------------------------------------------------------
133
+
134
+ TEST_GROUP(UnityCommandOptions);
135
+
136
+ int savedVerbose;
137
+ int savedRepeat;
138
+ const char* savedName;
139
+ const char* savedGroup;
140
+
141
+ TEST_SETUP(UnityCommandOptions)
142
+ {
143
+ savedVerbose = UnityFixture.Verbose;
144
+ savedRepeat = UnityFixture.RepeatCount;
145
+ savedName = UnityFixture.NameFilter;
146
+ savedGroup = UnityFixture.GroupFilter;
147
+ }
148
+
149
+ TEST_TEAR_DOWN(UnityCommandOptions)
150
+ {
151
+ UnityFixture.Verbose = savedVerbose;
152
+ UnityFixture.RepeatCount= savedRepeat;
153
+ UnityFixture.NameFilter = savedName;
154
+ UnityFixture.GroupFilter = savedGroup;
155
+ }
156
+
157
+
158
+ static char* noOptions[] = {
159
+ "testrunner.exe"
160
+ };
161
+
162
+ TEST(UnityCommandOptions, DefaultOptions)
163
+ {
164
+ UnityGetCommandLineOptions(1, noOptions);
165
+ TEST_ASSERT_EQUAL(0, UnityFixture.Verbose);
166
+ TEST_ASSERT_POINTERS_EQUAL(0, UnityFixture.GroupFilter);
167
+ TEST_ASSERT_POINTERS_EQUAL(0, UnityFixture.NameFilter);
168
+ TEST_ASSERT_EQUAL(1, UnityFixture.RepeatCount);
169
+ }
170
+
171
+ static char* verbose[] = {
172
+ "testrunner.exe",
173
+ "-v"
174
+ };
175
+
176
+ TEST(UnityCommandOptions, OptionVerbose)
177
+ {
178
+ TEST_ASSERT_EQUAL(0, UnityGetCommandLineOptions(2, verbose));
179
+ TEST_ASSERT_EQUAL(1, UnityFixture.Verbose);
180
+ }
181
+
182
+ static char* group[] = {
183
+ "testrunner.exe",
184
+ "-g", "groupname"
185
+ };
186
+
187
+ TEST(UnityCommandOptions, OptionSelectTestByGroup)
188
+ {
189
+ TEST_ASSERT_EQUAL(0, UnityGetCommandLineOptions(3, group));
190
+ STRCMP_EQUAL("groupname", UnityFixture.GroupFilter);
191
+ }
192
+
193
+ static char* name[] = {
194
+ "testrunner.exe",
195
+ "-n", "testname"
196
+ };
197
+
198
+ TEST(UnityCommandOptions, OptionSelectTestByName)
199
+ {
200
+ TEST_ASSERT_EQUAL(0, UnityGetCommandLineOptions(3, name));
201
+ STRCMP_EQUAL("testname", UnityFixture.NameFilter);
202
+ }
203
+
204
+ static char* repeat[] = {
205
+ "testrunner.exe",
206
+ "-r", "99"
207
+ };
208
+
209
+ TEST(UnityCommandOptions, OptionSelectRepeatTestsDefaultCount)
210
+ {
211
+ TEST_ASSERT_EQUAL(0, UnityGetCommandLineOptions(2, repeat));
212
+ TEST_ASSERT_EQUAL(2, UnityFixture.RepeatCount);
213
+ }
214
+
215
+ TEST(UnityCommandOptions, OptionSelectRepeatTestsSpecificCount)
216
+ {
217
+ TEST_ASSERT_EQUAL(0, UnityGetCommandLineOptions(3, repeat));
218
+ TEST_ASSERT_EQUAL(99, UnityFixture.RepeatCount);
219
+ }
220
+
221
+ static char* multiple[] = {
222
+ "testrunner.exe",
223
+ "-v",
224
+ "-g", "groupname",
225
+ "-n", "testname",
226
+ "-r", "98"
227
+ };
228
+
229
+ TEST(UnityCommandOptions, MultipleOptions)
230
+ {
231
+ TEST_ASSERT_EQUAL(0, UnityGetCommandLineOptions(8, multiple));
232
+ TEST_ASSERT_EQUAL(1, UnityFixture.Verbose);
233
+ STRCMP_EQUAL("groupname", UnityFixture.GroupFilter);
234
+ STRCMP_EQUAL("testname", UnityFixture.NameFilter);
235
+ TEST_ASSERT_EQUAL(98, UnityFixture.RepeatCount);
236
+ }
237
+
238
+ static char* dashRNotLast[] = {
239
+ "testrunner.exe",
240
+ "-v",
241
+ "-g", "gggg",
242
+ "-r",
243
+ "-n", "tttt",
244
+ };
245
+
246
+ TEST(UnityCommandOptions, MultipleOptionsDashRNotLastAndNoValueSpecified)
247
+ {
248
+ TEST_ASSERT_EQUAL(0, UnityGetCommandLineOptions(7, dashRNotLast));
249
+ TEST_ASSERT_EQUAL(1, UnityFixture.Verbose);
250
+ STRCMP_EQUAL("gggg", UnityFixture.GroupFilter);
251
+ STRCMP_EQUAL("tttt", UnityFixture.NameFilter);
252
+ TEST_ASSERT_EQUAL(2, UnityFixture.RepeatCount);
253
+ }
254
+
255
+
256
+ //------------------------------------------------------------
257
+
258
+ TEST_GROUP(LeakDetection);
259
+
260
+ TEST_SETUP(LeakDetection)
261
+ {
262
+ UnityOutputCharSpy_Create(1000);
263
+ }
264
+
265
+ TEST_TEAR_DOWN(LeakDetection)
266
+ {
267
+ UnityOutputCharSpy_Destroy();
268
+ }
269
+
270
+ #define EXPECT_ABORT_BEGIN \
271
+ { \
272
+ jmp_buf TestAbortFrame; \
273
+ memcpy(TestAbortFrame, Unity.AbortFrame, sizeof(jmp_buf)); \
274
+ if (TEST_PROTECT()) \
275
+ {
276
+
277
+ #define EXPECT_ABORT_END \
278
+ } \
279
+ memcpy(Unity.AbortFrame, TestAbortFrame, sizeof(jmp_buf)); \
280
+ }
281
+
282
+ TEST(LeakDetection, DetectsLeak)
283
+ {
284
+ void* m = malloc(10);
285
+ UnityOutputCharSpy_Enable(1);
286
+ EXPECT_ABORT_BEGIN
287
+ UnityMalloc_EndTest();
288
+ EXPECT_ABORT_END
289
+ UnityOutputCharSpy_Enable(0);
290
+ CHECK(strstr(UnityOutputCharSpy_Get(), "This test leaks!"));
291
+ free(m);
292
+ Unity.CurrentTestFailed = 0;
293
+ }
294
+
295
+ TEST(LeakDetection, BufferOverrunFoundDuringFree)
296
+ {
297
+ void* m = malloc(10);
298
+ char* s = (char*)m;
299
+ s[10] = (char)0xFF;
300
+ UnityOutputCharSpy_Enable(1);
301
+ EXPECT_ABORT_BEGIN
302
+ free(m);
303
+ EXPECT_ABORT_END
304
+ UnityOutputCharSpy_Enable(0);
305
+ CHECK(strstr(UnityOutputCharSpy_Get(), "Buffer overrun detected during free()"));
306
+ Unity.CurrentTestFailed = 0;
307
+ }
308
+
309
+ TEST(LeakDetection, BufferOverrunFoundDuringRealloc)
310
+ {
311
+ void* m = malloc(10);
312
+ char* s = (char*)m;
313
+ s[10] = (char)0xFF;
314
+ UnityOutputCharSpy_Enable(1);
315
+ EXPECT_ABORT_BEGIN
316
+ m = realloc(m, 100);
317
+ EXPECT_ABORT_END
318
+ UnityOutputCharSpy_Enable(0);
319
+ CHECK(strstr(UnityOutputCharSpy_Get(), "Buffer overrun detected during realloc()"));
320
+ Unity.CurrentTestFailed = 0;
321
+ }