ceedling 0.19.0 → 0.20.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (426) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +10 -10
  3. data/bin/ceedling +205 -92
  4. data/ceedling-0.19.0.gem +0 -0
  5. data/config/test_environment.rb +12 -12
  6. data/docs/CeedlingPacket.md +866 -853
  7. data/docs/CeedlingPacket.odt +0 -0
  8. data/docs/CeedlingPacket.pdf +0 -0
  9. data/examples/temp_sensor/rakefile.rb +4 -4
  10. data/examples/temp_sensor/src/AdcConductor.c +42 -42
  11. data/examples/temp_sensor/src/AdcConductor.h +13 -13
  12. data/examples/temp_sensor/src/AdcHardware.c +27 -27
  13. data/examples/temp_sensor/src/AdcHardware.h +11 -11
  14. data/examples/temp_sensor/src/AdcHardwareConfigurator.c +18 -18
  15. data/examples/temp_sensor/src/AdcHardwareConfigurator.h +10 -10
  16. data/examples/temp_sensor/src/AdcModel.c +33 -33
  17. data/examples/temp_sensor/src/AdcModel.h +13 -13
  18. data/examples/temp_sensor/src/AdcTemperatureSensor.c +51 -51
  19. data/examples/temp_sensor/src/AdcTemperatureSensor.h +10 -10
  20. data/examples/temp_sensor/src/Executor.c +25 -25
  21. data/examples/temp_sensor/src/Executor.h +9 -9
  22. data/examples/temp_sensor/src/IntrinsicsWrapper.c +18 -18
  23. data/examples/temp_sensor/src/IntrinsicsWrapper.h +7 -7
  24. data/examples/temp_sensor/src/Main.c +46 -46
  25. data/examples/temp_sensor/src/Main.h +7 -7
  26. data/examples/temp_sensor/src/Model.c +10 -10
  27. data/examples/temp_sensor/src/Model.h +8 -8
  28. data/examples/temp_sensor/src/ModelConfig.h +7 -7
  29. data/examples/temp_sensor/src/TaskScheduler.c +72 -72
  30. data/examples/temp_sensor/src/TaskScheduler.h +11 -11
  31. data/examples/temp_sensor/src/TemperatureCalculator.c +27 -27
  32. data/examples/temp_sensor/src/TemperatureCalculator.h +8 -8
  33. data/examples/temp_sensor/src/TemperatureFilter.c +38 -38
  34. data/examples/temp_sensor/src/TemperatureFilter.h +10 -10
  35. data/examples/temp_sensor/src/TimerConductor.c +15 -15
  36. data/examples/temp_sensor/src/TimerConductor.h +9 -9
  37. data/examples/temp_sensor/src/TimerConfigurator.c +51 -51
  38. data/examples/temp_sensor/src/TimerConfigurator.h +15 -15
  39. data/examples/temp_sensor/src/TimerHardware.c +15 -15
  40. data/examples/temp_sensor/src/TimerHardware.h +8 -8
  41. data/examples/temp_sensor/src/TimerInterruptConfigurator.c +55 -55
  42. data/examples/temp_sensor/src/TimerInterruptConfigurator.h +13 -13
  43. data/examples/temp_sensor/src/TimerInterruptHandler.c +25 -25
  44. data/examples/temp_sensor/src/TimerInterruptHandler.h +10 -10
  45. data/examples/temp_sensor/src/TimerModel.c +9 -9
  46. data/examples/temp_sensor/src/TimerModel.h +8 -8
  47. data/examples/temp_sensor/src/Types.h +90 -90
  48. data/examples/temp_sensor/src/UsartBaudRateRegisterCalculator.c +18 -18
  49. data/examples/temp_sensor/src/UsartBaudRateRegisterCalculator.h +8 -8
  50. data/examples/temp_sensor/src/UsartConductor.c +21 -21
  51. data/examples/temp_sensor/src/UsartConductor.h +7 -7
  52. data/examples/temp_sensor/src/UsartConfigurator.c +39 -39
  53. data/examples/temp_sensor/src/UsartConfigurator.h +13 -13
  54. data/examples/temp_sensor/src/UsartHardware.c +22 -22
  55. data/examples/temp_sensor/src/UsartHardware.h +9 -9
  56. data/examples/temp_sensor/src/UsartModel.c +34 -34
  57. data/examples/temp_sensor/src/UsartModel.h +10 -10
  58. data/examples/temp_sensor/src/UsartPutChar.c +16 -16
  59. data/examples/temp_sensor/src/UsartPutChar.h +8 -8
  60. data/examples/temp_sensor/src/UsartTransmitBufferStatus.c +7 -7
  61. data/examples/temp_sensor/src/UsartTransmitBufferStatus.h +8 -8
  62. data/examples/temp_sensor/test/TestAdcConductor.c +121 -121
  63. data/examples/temp_sensor/test/TestAdcHardware.c +44 -44
  64. data/examples/temp_sensor/test/TestAdcModel.c +33 -33
  65. data/examples/temp_sensor/test/TestExecutor.c +36 -36
  66. data/examples/temp_sensor/test/TestMain.c +24 -24
  67. data/examples/temp_sensor/test/TestModel.c +20 -20
  68. data/examples/temp_sensor/test/TestTaskScheduler.c +104 -104
  69. data/examples/temp_sensor/test/TestTemperatureCalculator.c +33 -33
  70. data/examples/temp_sensor/test/TestTemperatureFilter.c +79 -79
  71. data/examples/temp_sensor/test/TestTimerConductor.c +32 -32
  72. data/examples/temp_sensor/test/TestTimerHardware.c +26 -26
  73. data/examples/temp_sensor/test/TestTimerModel.c +18 -18
  74. data/examples/temp_sensor/test/TestUsartBaudRateRegisterCalculator.c +21 -21
  75. data/examples/temp_sensor/test/TestUsartConductor.c +40 -40
  76. data/examples/temp_sensor/test/TestUsartHardware.c +36 -36
  77. data/examples/temp_sensor/test/TestUsartModel.c +36 -36
  78. data/examples/temp_sensor/test/support/UnityHelper.c +12 -12
  79. data/examples/temp_sensor/test/support/UnityHelper.h +12 -12
  80. data/lib/ceedling/configurator_builder.rb +1 -1
  81. data/lib/ceedling/tasks_base.rake +10 -2
  82. data/lib/ceedling/tool_executor.rb +3 -0
  83. data/lib/ceedling/version.rb +3 -3
  84. data/license.txt +1 -1
  85. data/plugins/bullseye/bullseye.rake +162 -162
  86. data/plugins/gcov/gcov.rake +152 -152
  87. data/plugins/module_generator/lib/module_generator.rb +145 -145
  88. data/plugins/module_generator/module_generator.rake +14 -14
  89. data/plugins/stdout_gtestlike_tests_report/assets/template.erb +84 -0
  90. data/plugins/stdout_gtestlike_tests_report/assets/template.erb copy +59 -0
  91. data/plugins/stdout_gtestlike_tests_report/config/stdout_gtestlike_tests_report.yml +4 -0
  92. data/plugins/stdout_gtestlike_tests_report/lib/stdout_gtestlike_tests_report.rb +43 -0
  93. data/spec/system/deployment_spec.rb +0 -1
  94. data/test_graveyard/integration/paths_test.rb +80 -80
  95. data/test_graveyard/integration/rake_rules_aux_dependencies_test.rb +75 -75
  96. data/test_graveyard/integration/rake_rules_cmock_test.rb +74 -74
  97. data/test_graveyard/integration/rake_rules_preprocess_test.rb +178 -178
  98. data/test_graveyard/integration/rake_rules_test.rb +268 -268
  99. data/test_graveyard/integration/rake_tasks_test.rb +103 -103
  100. data/test_graveyard/integration_test_helper.rb +34 -34
  101. data/test_graveyard/rakefile_rules.rb +10 -10
  102. data/test_graveyard/rakefile_rules_aux_dependencies.rb +10 -10
  103. data/test_graveyard/rakefile_rules_cmock.rb +10 -10
  104. data/test_graveyard/rakefile_rules_preprocess.rb +10 -10
  105. data/test_graveyard/rakefile_tasks.rb +10 -10
  106. data/test_graveyard/system/file_system_test.rb +78 -78
  107. data/test_graveyard/system/project_mocks_test.rb +38 -38
  108. data/test_graveyard/system/project_simple_test.rb +39 -39
  109. data/test_graveyard/system/rule_mocks_test.rb +44 -44
  110. data/test_graveyard/system/rule_runners_test.rb +44 -44
  111. data/test_graveyard/system_test_helper.rb +73 -73
  112. data/test_graveyard/test_helper.rb +93 -93
  113. data/test_graveyard/unit/busted/configurator_builder_test.rb +569 -569
  114. data/test_graveyard/unit/busted/configurator_helper_test.rb +234 -234
  115. data/test_graveyard/unit/busted/configurator_test.rb +232 -232
  116. data/test_graveyard/unit/busted/configurator_validator_test.rb +169 -169
  117. data/test_graveyard/unit/busted/deep_merge_fix_test.rb +55 -55
  118. data/test_graveyard/unit/busted/dependinator_test.rb +129 -129
  119. data/test_graveyard/unit/busted/file_finder_helper_test.rb +45 -45
  120. data/test_graveyard/unit/busted/file_finder_test.rb +114 -114
  121. data/test_graveyard/unit/busted/file_path_utils_test.rb +97 -97
  122. data/test_graveyard/unit/busted/file_system_utils_test.rb +21 -21
  123. data/test_graveyard/unit/busted/generator_test.rb +187 -187
  124. data/test_graveyard/unit/busted/generator_test_results_test.rb +129 -129
  125. data/test_graveyard/unit/busted/generator_test_runner_test.rb +475 -475
  126. data/test_graveyard/unit/busted/preprocessinator_file_handler_test.rb +39 -39
  127. data/test_graveyard/unit/busted/preprocessinator_helper_test.rb +156 -156
  128. data/test_graveyard/unit/busted/preprocessinator_includes_handler_test.rb +93 -93
  129. data/test_graveyard/unit/busted/preprocessinator_test.rb +57 -57
  130. data/test_graveyard/unit/busted/project_file_loader_test.rb +142 -142
  131. data/test_graveyard/unit/busted/setupinator_test.rb +45 -45
  132. data/test_graveyard/unit/busted/streaminator_test.rb +49 -49
  133. data/test_graveyard/unit/busted/task_invoker_test.rb +69 -69
  134. data/test_graveyard/unit/busted/test_includes_extractor_test.rb +111 -111
  135. data/test_graveyard/unit/busted/test_invoker_helper_test.rb +62 -62
  136. data/test_graveyard/unit/busted/test_invoker_test.rb +47 -47
  137. data/test_graveyard/unit/busted/tool_executor_helper_test.rb +100 -100
  138. data/test_graveyard/unit/busted/tool_executor_test.rb +351 -351
  139. data/test_graveyard/unit/busted/verbosinator_test.rb +65 -65
  140. data/test_graveyard/unit/preprocessinator_extractor_test.rb +731 -731
  141. data/test_graveyard/unit_test_helper.rb +16 -16
  142. data/vendor/c_exception/LICENSE.txt +30 -30
  143. data/vendor/c_exception/README.md +11 -1
  144. data/vendor/c_exception/docs/CExceptionSummary.odt +0 -0
  145. data/vendor/c_exception/docs/CExceptionSummary.pdf +0 -0
  146. data/vendor/c_exception/docs/readme.txt +261 -242
  147. data/vendor/c_exception/lib/CException.c +46 -46
  148. data/vendor/c_exception/lib/CException.h +110 -86
  149. data/vendor/c_exception/makefile +23 -23
  150. data/vendor/c_exception/test/CExceptionConfig.h +46 -46
  151. data/vendor/c_exception/test/TestException.c +391 -342
  152. data/vendor/c_exception/test/TestException_Runner.c +5 -12
  153. data/vendor/c_exception/vendor/unity/README.md +211 -0
  154. data/vendor/c_exception/vendor/unity/auto/colour_prompt.rb +1 -1
  155. data/vendor/c_exception/vendor/unity/auto/colour_reporter.rb +38 -38
  156. data/vendor/c_exception/vendor/unity/auto/generate_config.yml +36 -36
  157. data/vendor/c_exception/vendor/unity/auto/generate_module.rb +202 -202
  158. data/vendor/c_exception/vendor/unity/auto/generate_test_runner.rb +391 -320
  159. data/vendor/c_exception/vendor/unity/auto/parseOutput.rb +2 -0
  160. data/vendor/c_exception/vendor/unity/auto/stylize_as_junit.rb +260 -0
  161. data/vendor/c_exception/vendor/unity/auto/type_sanitizer.rb +8 -0
  162. data/vendor/c_exception/vendor/unity/auto/unity_test_summary.py +135 -0
  163. data/vendor/c_exception/vendor/unity/auto/unity_test_summary.rb +148 -139
  164. data/vendor/c_exception/vendor/unity/docs/Unity Summary.odt +0 -0
  165. data/vendor/c_exception/vendor/unity/docs/Unity Summary.pdf +0 -0
  166. data/vendor/c_exception/vendor/unity/docs/Unity Summary.txt +224 -216
  167. data/vendor/c_exception/vendor/unity/docs/license.txt +21 -31
  168. data/vendor/c_exception/vendor/unity/examples/example_1/makefile +40 -15
  169. data/vendor/c_exception/vendor/unity/examples/example_1/src/ProductionCode2.c +2 -0
  170. data/vendor/c_exception/vendor/unity/examples/example_1/test/test_runners/TestProductionCode2_Runner.c +32 -25
  171. data/vendor/c_exception/vendor/unity/examples/example_1/test/test_runners/TestProductionCode_Runner.c +29 -22
  172. data/vendor/c_exception/vendor/unity/examples/example_2/makefile +40 -14
  173. data/vendor/c_exception/vendor/unity/examples/example_2/src/ProductionCode2.c +2 -0
  174. data/vendor/c_exception/vendor/unity/examples/example_2/test/test_runners/all_tests.c +2 -2
  175. data/vendor/c_exception/vendor/unity/examples/example_3/rakefile.rb +0 -1
  176. data/vendor/c_exception/vendor/unity/examples/example_3/src/ProductionCode2.c +2 -0
  177. data/vendor/c_exception/vendor/unity/extras/fixture/rakefile.rb +48 -37
  178. data/vendor/c_exception/vendor/unity/extras/fixture/rakefile_helper.rb +179 -179
  179. data/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture.c +135 -94
  180. data/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture.h +13 -17
  181. data/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture_internals.h +12 -18
  182. data/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture_malloc_overrides.h +30 -0
  183. data/vendor/c_exception/vendor/unity/extras/fixture/test/Makefile +60 -0
  184. data/vendor/c_exception/vendor/unity/extras/fixture/test/main/AllTests.c +4 -3
  185. data/vendor/c_exception/vendor/unity/extras/fixture/test/{testunity_fixture.c → template_fixture_tests.c} +0 -0
  186. data/vendor/c_exception/vendor/unity/extras/fixture/test/unity_fixture_Test.c +182 -27
  187. data/vendor/c_exception/vendor/unity/extras/fixture/test/unity_fixture_TestRunner.c +13 -0
  188. data/vendor/c_exception/vendor/unity/extras/fixture/test/unity_output_Spy.c +8 -6
  189. data/vendor/c_exception/vendor/unity/extras/fixture/test/unity_output_Spy.h +2 -2
  190. data/vendor/c_exception/vendor/unity/release/build.info +1 -1
  191. data/vendor/c_exception/vendor/unity/release/version.info +1 -1
  192. data/vendor/c_exception/vendor/unity/src/unity.c +1333 -1145
  193. data/vendor/c_exception/vendor/unity/src/unity.h +290 -307
  194. data/vendor/c_exception/vendor/unity/src/unity_internals.h +758 -620
  195. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_cmd.c +7 -3
  196. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_def.c +7 -3
  197. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_head1.c +55 -0
  198. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_head1.h +15 -0
  199. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_cmd.c +4 -3
  200. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_def.c +4 -3
  201. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_head1.c +75 -0
  202. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_head1.h +13 -0
  203. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_new1.c +6 -5
  204. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_new2.c +4 -3
  205. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_param.c +4 -3
  206. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_run1.c +6 -5
  207. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_run2.c +4 -3
  208. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_yaml.c +7 -6
  209. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_new1.c +9 -5
  210. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_new2.c +7 -3
  211. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_param.c +7 -3
  212. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_run1.c +9 -5
  213. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_run2.c +7 -3
  214. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_yaml.c +10 -6
  215. data/vendor/c_exception/vendor/unity/{rakefile.rb → test/rakefile} +60 -61
  216. data/vendor/c_exception/vendor/unity/{rakefile_helper.rb → test/rakefile_helper.rb} +255 -249
  217. data/vendor/c_exception/vendor/unity/test/targets/clang_file.yml +83 -0
  218. data/vendor/c_exception/vendor/unity/{targets → test/targets}/clang_strict.yml +83 -83
  219. data/vendor/c_exception/vendor/unity/test/targets/gcc_32.yml +49 -0
  220. data/vendor/c_exception/vendor/unity/test/targets/gcc_64.yml +50 -0
  221. data/vendor/c_exception/vendor/unity/{targets/gcc_64.yml → test/targets/gcc_auto_limits.yml} +46 -45
  222. data/vendor/c_exception/vendor/unity/test/targets/gcc_auto_sizeof.yml +47 -0
  223. data/vendor/c_exception/vendor/unity/test/targets/gcc_auto_stdint.yml +58 -0
  224. data/vendor/{cmock/vendor/c_exception/vendor/unity/targets/gcc_64.yml → c_exception/vendor/unity/test/targets/gcc_manual_math.yml} +46 -45
  225. data/vendor/{cmock/vendor/c_exception/vendor/unity → c_exception/vendor/unity/test}/targets/hitech_picc18.yml +101 -101
  226. data/vendor/{cmock/vendor/c_exception/vendor/unity → c_exception/vendor/unity/test}/targets/iar_arm_v4.yml +89 -89
  227. data/vendor/{cmock/vendor/c_exception/vendor/unity → c_exception/vendor/unity/test}/targets/iar_arm_v5.yml +79 -79
  228. data/vendor/c_exception/vendor/unity/{targets → test/targets}/iar_arm_v5_3.yml +79 -79
  229. data/vendor/{cmock/vendor/c_exception/vendor/unity → c_exception/vendor/unity/test}/targets/iar_armcortex_LM3S9B92_v5_4.yml +93 -93
  230. data/vendor/c_exception/vendor/unity/{targets → test/targets}/iar_cortexm3_v5.yml +83 -83
  231. data/vendor/{cmock/vendor/c_exception/vendor/unity → c_exception/vendor/unity/test}/targets/iar_msp430.yml +94 -94
  232. data/vendor/c_exception/vendor/unity/{targets → test/targets}/iar_sh2a_v6.yml +85 -85
  233. data/vendor/c_exception/vendor/unity/test/testdata/mocksample.c +51 -51
  234. data/vendor/c_exception/vendor/unity/test/testdata/sample.yml +8 -8
  235. data/vendor/c_exception/vendor/unity/test/testdata/testsample.c +68 -51
  236. data/vendor/{cmock/vendor/c_exception/vendor/unity/test → c_exception/vendor/unity/test/tests}/test_generate_test_runner.rb +102 -88
  237. data/vendor/{cmock/vendor/c_exception/vendor/unity/test → c_exception/vendor/unity/test/tests}/testparameterized.c +104 -101
  238. data/vendor/c_exception/vendor/unity/test/{testunity.c → tests/testunity.c} +3682 -3447
  239. data/vendor/cmock/docs/CMock_Summary.md +3 -0
  240. data/vendor/cmock/lib/cmock_config.rb +1 -0
  241. data/vendor/cmock/lib/cmock_file_writer.rb +7 -3
  242. data/vendor/cmock/lib/cmock_generator.rb +3 -2
  243. data/vendor/cmock/lib/cmock_header_parser.rb +12 -5
  244. data/vendor/cmock/release/version.info +1 -1
  245. data/vendor/cmock/test/system/test_compilation/parsing.h +3 -0
  246. data/vendor/cmock/test/unit/cmock_generator_main_test.rb +7 -0
  247. data/vendor/cmock/test/unit/cmock_header_parser_test.rb +57 -1
  248. data/vendor/cmock/vendor/c_exception/LICENSE.txt +30 -30
  249. data/vendor/cmock/vendor/c_exception/README.md +11 -1
  250. data/vendor/cmock/vendor/c_exception/docs/CExceptionSummary.odt +0 -0
  251. data/vendor/cmock/vendor/c_exception/docs/CExceptionSummary.pdf +0 -0
  252. data/vendor/cmock/vendor/c_exception/docs/readme.txt +261 -242
  253. data/vendor/cmock/vendor/c_exception/lib/CException.c +46 -46
  254. data/vendor/cmock/vendor/c_exception/lib/CException.h +110 -86
  255. data/vendor/cmock/vendor/c_exception/makefile +23 -23
  256. data/vendor/cmock/vendor/c_exception/test/CExceptionConfig.h +46 -46
  257. data/vendor/cmock/vendor/c_exception/test/TestException.c +391 -342
  258. data/vendor/cmock/vendor/c_exception/test/TestException_Runner.c +5 -12
  259. data/vendor/cmock/vendor/c_exception/vendor/unity/README.md +211 -0
  260. data/vendor/cmock/vendor/c_exception/vendor/unity/auto/colour_prompt.rb +1 -1
  261. data/vendor/cmock/vendor/c_exception/vendor/unity/auto/colour_reporter.rb +38 -38
  262. data/vendor/cmock/vendor/c_exception/vendor/unity/auto/generate_config.yml +36 -36
  263. data/vendor/cmock/vendor/c_exception/vendor/unity/auto/generate_module.rb +202 -202
  264. data/vendor/cmock/vendor/c_exception/vendor/unity/auto/generate_test_runner.rb +391 -320
  265. data/vendor/cmock/vendor/c_exception/vendor/unity/auto/parseOutput.rb +2 -0
  266. data/vendor/cmock/vendor/c_exception/vendor/unity/auto/stylize_as_junit.rb +260 -0
  267. data/vendor/cmock/vendor/c_exception/vendor/unity/auto/type_sanitizer.rb +8 -0
  268. data/vendor/cmock/vendor/c_exception/vendor/unity/auto/unity_test_summary.py +135 -0
  269. data/vendor/cmock/vendor/c_exception/vendor/unity/auto/unity_test_summary.rb +148 -139
  270. data/vendor/cmock/vendor/c_exception/vendor/unity/docs/Unity Summary.odt +0 -0
  271. data/vendor/cmock/vendor/c_exception/vendor/unity/docs/Unity Summary.pdf +0 -0
  272. data/vendor/cmock/vendor/c_exception/vendor/unity/docs/Unity Summary.txt +224 -216
  273. data/vendor/cmock/vendor/c_exception/vendor/unity/docs/license.txt +21 -31
  274. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_1/makefile +40 -15
  275. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_1/src/ProductionCode2.c +2 -0
  276. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_1/test/test_runners/TestProductionCode2_Runner.c +32 -25
  277. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_1/test/test_runners/TestProductionCode_Runner.c +29 -22
  278. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_2/makefile +40 -14
  279. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_2/src/ProductionCode2.c +2 -0
  280. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_2/test/test_runners/all_tests.c +2 -2
  281. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_3/rakefile.rb +0 -1
  282. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_3/src/ProductionCode2.c +2 -0
  283. data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/rakefile.rb +48 -37
  284. data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/rakefile_helper.rb +179 -179
  285. data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture.c +135 -94
  286. data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture.h +13 -17
  287. data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture_internals.h +12 -18
  288. data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture_malloc_overrides.h +30 -0
  289. data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/test/Makefile +60 -0
  290. data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/test/main/AllTests.c +4 -3
  291. data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/test/{testunity_fixture.c → template_fixture_tests.c} +0 -0
  292. data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/test/unity_fixture_Test.c +182 -27
  293. data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/test/unity_fixture_TestRunner.c +13 -0
  294. data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/test/unity_output_Spy.c +8 -6
  295. data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/test/unity_output_Spy.h +2 -2
  296. data/vendor/cmock/vendor/c_exception/vendor/unity/release/build.info +1 -1
  297. data/vendor/cmock/vendor/c_exception/vendor/unity/release/version.info +1 -1
  298. data/vendor/cmock/vendor/c_exception/vendor/unity/src/unity.c +1333 -1145
  299. data/vendor/cmock/vendor/c_exception/vendor/unity/src/unity.h +290 -307
  300. data/vendor/cmock/vendor/c_exception/vendor/unity/src/unity_internals.h +758 -620
  301. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_cmd.c +7 -3
  302. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_def.c +7 -3
  303. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_head1.c +55 -0
  304. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_head1.h +15 -0
  305. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_cmd.c +4 -3
  306. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_def.c +4 -3
  307. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_head1.c +75 -0
  308. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_head1.h +13 -0
  309. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_new1.c +6 -5
  310. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_new2.c +4 -3
  311. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_param.c +4 -3
  312. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_run1.c +6 -5
  313. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_run2.c +4 -3
  314. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_yaml.c +7 -6
  315. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_new1.c +9 -5
  316. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_new2.c +7 -3
  317. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_param.c +7 -3
  318. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_run1.c +9 -5
  319. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_run2.c +7 -3
  320. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_yaml.c +10 -6
  321. data/vendor/cmock/vendor/c_exception/vendor/unity/{rakefile.rb → test/rakefile} +60 -61
  322. data/vendor/cmock/vendor/c_exception/vendor/unity/{rakefile_helper.rb → test/rakefile_helper.rb} +255 -249
  323. data/vendor/cmock/vendor/c_exception/vendor/unity/test/targets/clang_file.yml +83 -0
  324. data/vendor/cmock/vendor/c_exception/vendor/unity/{targets → test/targets}/clang_strict.yml +83 -83
  325. data/vendor/cmock/vendor/c_exception/vendor/unity/test/targets/gcc_32.yml +49 -0
  326. data/vendor/cmock/vendor/c_exception/vendor/unity/test/targets/gcc_64.yml +50 -0
  327. data/vendor/cmock/vendor/c_exception/vendor/unity/{targets/gcc_32.yml → test/targets/gcc_auto_limits.yml} +46 -44
  328. data/vendor/cmock/vendor/c_exception/vendor/unity/test/targets/gcc_auto_sizeof.yml +47 -0
  329. data/vendor/cmock/vendor/c_exception/vendor/unity/test/targets/gcc_auto_stdint.yml +58 -0
  330. data/vendor/{c_exception/vendor/unity/targets/gcc_32.yml → cmock/vendor/c_exception/vendor/unity/test/targets/gcc_manual_math.yml} +46 -44
  331. data/vendor/{c_exception/vendor/unity → cmock/vendor/c_exception/vendor/unity/test}/targets/hitech_picc18.yml +101 -101
  332. data/vendor/{c_exception/vendor/unity → cmock/vendor/c_exception/vendor/unity/test}/targets/iar_arm_v4.yml +89 -89
  333. data/vendor/{c_exception/vendor/unity → cmock/vendor/c_exception/vendor/unity/test}/targets/iar_arm_v5.yml +79 -79
  334. data/vendor/cmock/vendor/c_exception/vendor/unity/{targets → test/targets}/iar_arm_v5_3.yml +79 -79
  335. data/vendor/{c_exception/vendor/unity → cmock/vendor/c_exception/vendor/unity/test}/targets/iar_armcortex_LM3S9B92_v5_4.yml +93 -93
  336. data/vendor/cmock/vendor/c_exception/vendor/unity/{targets → test/targets}/iar_cortexm3_v5.yml +83 -83
  337. data/vendor/{c_exception/vendor/unity → cmock/vendor/c_exception/vendor/unity/test}/targets/iar_msp430.yml +94 -94
  338. data/vendor/cmock/vendor/c_exception/vendor/unity/{targets → test/targets}/iar_sh2a_v6.yml +85 -85
  339. data/vendor/cmock/vendor/c_exception/vendor/unity/test/testdata/mocksample.c +51 -51
  340. data/vendor/cmock/vendor/c_exception/vendor/unity/test/testdata/sample.yml +8 -8
  341. data/vendor/cmock/vendor/c_exception/vendor/unity/test/testdata/testsample.c +68 -51
  342. data/vendor/{c_exception/vendor/unity/test → cmock/vendor/c_exception/vendor/unity/test/tests}/test_generate_test_runner.rb +102 -88
  343. data/vendor/{c_exception/vendor/unity/test → cmock/vendor/c_exception/vendor/unity/test/tests}/testparameterized.c +104 -101
  344. data/vendor/cmock/vendor/c_exception/vendor/unity/test/{testunity.c → tests/testunity.c} +3682 -3447
  345. data/vendor/cmock/vendor/unity/auto/generate_test_runner.rb +30 -13
  346. data/vendor/cmock/vendor/unity/auto/stylize_as_junit.rb +260 -0
  347. data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture.c +96 -93
  348. data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture.h +1 -1
  349. data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture_internals.h +12 -19
  350. data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture_malloc_overrides.h +18 -17
  351. data/vendor/cmock/vendor/unity/extras/fixture/test/Makefile +66 -5
  352. data/vendor/cmock/vendor/unity/extras/fixture/test/main/AllTests.c +2 -1
  353. data/vendor/cmock/vendor/unity/extras/fixture/test/{testunity_fixture.c → template_fixture_tests.c} +0 -0
  354. data/vendor/cmock/vendor/unity/extras/fixture/test/unity_fixture_Test.c +187 -27
  355. data/vendor/cmock/vendor/unity/extras/fixture/test/unity_fixture_TestRunner.c +14 -0
  356. data/vendor/cmock/vendor/unity/extras/fixture/test/unity_output_Spy.c +6 -5
  357. data/vendor/cmock/vendor/unity/release/version.info +1 -1
  358. data/vendor/cmock/vendor/unity/src/unity.c +38 -27
  359. data/vendor/cmock/vendor/unity/src/unity.h +5 -0
  360. data/vendor/cmock/vendor/unity/src/unity_internals.h +22 -18
  361. data/vendor/cmock/vendor/unity/test/Makefile +52 -0
  362. data/vendor/cmock/vendor/unity/test/expectdata/testsample_cmd.c +4 -0
  363. data/vendor/cmock/vendor/unity/test/expectdata/testsample_def.c +4 -0
  364. data/vendor/cmock/vendor/unity/test/expectdata/testsample_head1.c +4 -0
  365. data/vendor/cmock/vendor/unity/test/expectdata/testsample_head1.h +7 -4
  366. data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_head1.h +6 -4
  367. data/vendor/cmock/vendor/unity/test/expectdata/testsample_new1.c +4 -0
  368. data/vendor/cmock/vendor/unity/test/expectdata/testsample_new2.c +4 -0
  369. data/vendor/cmock/vendor/unity/test/expectdata/testsample_param.c +4 -0
  370. data/vendor/cmock/vendor/unity/test/expectdata/testsample_run1.c +4 -0
  371. data/vendor/cmock/vendor/unity/test/expectdata/testsample_run2.c +4 -0
  372. data/vendor/cmock/vendor/unity/test/expectdata/testsample_yaml.c +4 -0
  373. data/vendor/cmock/vendor/unity/test/rakefile_helper.rb +1 -1
  374. data/vendor/cmock/vendor/unity/test/targets/clang_file.yml +0 -1
  375. data/vendor/cmock/vendor/unity/test/targets/clang_strict.yml +0 -1
  376. data/vendor/cmock/vendor/unity/test/targets/gcc_32.yml +0 -1
  377. data/vendor/cmock/vendor/unity/test/targets/gcc_64.yml +0 -1
  378. data/vendor/cmock/vendor/unity/test/targets/gcc_auto_limits.yml +0 -1
  379. data/vendor/cmock/vendor/unity/test/targets/gcc_auto_sizeof.yml +0 -1
  380. data/vendor/cmock/vendor/unity/test/targets/gcc_auto_stdint.yml +0 -1
  381. data/vendor/cmock/vendor/unity/test/targets/gcc_manual_math.yml +0 -1
  382. data/vendor/cmock/vendor/unity/test/testdata/testsample.c +19 -2
  383. data/vendor/cmock/vendor/unity/test/tests/testunity.c +55 -4
  384. data/vendor/unity/auto/generate_test_runner.rb +4 -2
  385. data/vendor/unity/auto/stylize_as_junit.rb +260 -0
  386. data/vendor/unity/extras/fixture/src/unity_fixture.c +24 -41
  387. data/vendor/unity/extras/fixture/src/unity_fixture.h +1 -1
  388. data/vendor/unity/extras/fixture/src/unity_fixture_internals.h +5 -7
  389. data/vendor/unity/extras/fixture/test/Makefile +53 -8
  390. data/vendor/unity/extras/fixture/test/{testunity_fixture.c → template_fixture_tests.c} +0 -0
  391. data/vendor/unity/extras/fixture/test/unity_fixture_Test.c +129 -32
  392. data/vendor/unity/extras/fixture/test/unity_fixture_TestRunner.c +6 -0
  393. data/vendor/unity/extras/fixture/test/unity_output_Spy.c +4 -4
  394. data/vendor/unity/release/version.info +1 -1
  395. data/vendor/unity/src/unity.c +32 -21
  396. data/vendor/unity/src/unity.h +5 -0
  397. data/vendor/unity/src/unity_internals.h +7 -3
  398. data/vendor/unity/test/Makefile +52 -0
  399. data/vendor/unity/test/expectdata/testsample_cmd.c +4 -0
  400. data/vendor/unity/test/expectdata/testsample_def.c +4 -0
  401. data/vendor/unity/test/expectdata/testsample_head1.c +4 -0
  402. data/vendor/unity/test/expectdata/testsample_head1.h +7 -4
  403. data/vendor/unity/test/expectdata/testsample_mock_head1.h +6 -4
  404. data/vendor/unity/test/expectdata/testsample_new1.c +4 -0
  405. data/vendor/unity/test/expectdata/testsample_new2.c +4 -0
  406. data/vendor/unity/test/expectdata/testsample_param.c +4 -0
  407. data/vendor/unity/test/expectdata/testsample_run1.c +4 -0
  408. data/vendor/unity/test/expectdata/testsample_run2.c +4 -0
  409. data/vendor/unity/test/expectdata/testsample_yaml.c +4 -0
  410. data/vendor/unity/test/testdata/testsample.c +19 -2
  411. data/vendor/unity/test/tests/testunity.c +35 -4
  412. metadata +75 -52
  413. data/ceedling-0.18.0.gem +0 -0
  414. data/docs/CeedlingLogo.png +0 -0
  415. data/vendor/c_exception/vendor/unity/Gemfile +0 -4
  416. data/vendor/c_exception/vendor/unity/Gemfile.lock +0 -12
  417. data/vendor/c_exception/vendor/unity/examples/example_3/makefile +0 -41
  418. data/vendor/c_exception/vendor/unity/examples/example_3/test/no_ruby/TestProductionCode2_Runner.c +0 -46
  419. data/vendor/c_exception/vendor/unity/examples/example_3/test/no_ruby/TestProductionCode_Runner.c +0 -50
  420. data/vendor/c_exception/vendor/unity/makefile +0 -37
  421. data/vendor/cmock/vendor/c_exception/vendor/unity/Gemfile +0 -4
  422. data/vendor/cmock/vendor/c_exception/vendor/unity/Gemfile.lock +0 -12
  423. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_3/makefile +0 -41
  424. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_3/test/no_ruby/TestProductionCode2_Runner.c +0 -46
  425. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_3/test/no_ruby/TestProductionCode_Runner.c +0 -50
  426. data/vendor/cmock/vendor/c_exception/vendor/unity/makefile +0 -37
@@ -9,26 +9,27 @@
9
9
  #include "unity_fixture.h"
10
10
  #include "unity_internals.h"
11
11
 
12
- UNITY_FIXTURE_T UnityFixture;
12
+ struct _UnityFixture UnityFixture;
13
13
 
14
14
  //If you decide to use the function pointer approach.
15
- int (*outputChar)(int) = putchar;
16
-
17
- int verbose = 0;
15
+ //Build with -D UNITY_OUTPUT_CHAR=outputChar and include <stdio.h>
16
+ //int (*outputChar)(int) = putchar;
18
17
 
18
+ #if !defined(UNITY_WEAK_ATTRIBUTE) && !defined(UNITY_WEAK_PRAGMA)
19
19
  void setUp(void) { /*does nothing*/ }
20
20
  void tearDown(void) { /*does nothing*/ }
21
+ #endif
21
22
 
22
- void announceTestRun(unsigned int runNumber)
23
+ static void announceTestRun(unsigned int runNumber)
23
24
  {
24
25
  UnityPrint("Unity test run ");
25
- UnityPrintNumber(runNumber+1);
26
+ UnityPrintNumberUnsigned(runNumber+1);
26
27
  UnityPrint(" of ");
27
- UnityPrintNumber(UnityFixture.RepeatCount);
28
- UNITY_OUTPUT_CHAR('\n');
28
+ UnityPrintNumberUnsigned(UnityFixture.RepeatCount);
29
+ UNITY_PRINT_EOL();
29
30
  }
30
31
 
31
- int UnityMain(int argc, char* argv[], void (*runAllTests)(void))
32
+ int UnityMain(int argc, const char* argv[], void (*runAllTests)(void))
32
33
  {
33
34
  int result = UnityGetCommandLineOptions(argc, argv);
34
35
  unsigned int r;
@@ -37,17 +38,17 @@ int UnityMain(int argc, char* argv[], void (*runAllTests)(void))
37
38
 
38
39
  for (r = 0; r < UnityFixture.RepeatCount; r++)
39
40
  {
41
+ UnityBegin(argv[0]);
40
42
  announceTestRun(r);
41
- UnityBegin();
42
43
  runAllTests();
43
- UNITY_OUTPUT_CHAR('\n');
44
+ UNITY_PRINT_EOL();
44
45
  UnityEnd();
45
46
  }
46
47
 
47
- return UnityFailureCount();
48
+ return (int)Unity.TestFailures;
48
49
  }
49
50
 
50
- static int selected(const char * filter, const char * name)
51
+ static int selected(const char* filter, const char* name)
51
52
  {
52
53
  if (filter == 0)
53
54
  return 1;
@@ -64,18 +65,13 @@ static int groupSelected(const char* group)
64
65
  return selected(UnityFixture.GroupFilter, group);
65
66
  }
66
67
 
67
- static void runTestCase()
68
- {
69
-
70
- }
71
-
72
68
  void UnityTestRunner(unityfunction* setup,
73
- unityfunction* testBody,
74
- unityfunction* teardown,
75
- const char * printableName,
76
- const char * group,
77
- const char * name,
78
- const char * file, int line)
69
+ unityfunction* testBody,
70
+ unityfunction* teardown,
71
+ const char* printableName,
72
+ const char* group,
73
+ const char* name,
74
+ const char* file, unsigned int line)
79
75
  {
80
76
  if (testSelected(name) && groupSelected(group))
81
77
  {
@@ -92,7 +88,6 @@ void UnityTestRunner(unityfunction* setup,
92
88
  UnityMalloc_StartTest();
93
89
  UnityPointer_Init();
94
90
 
95
- runTestCase();
96
91
  if (TEST_PROTECT())
97
92
  {
98
93
  setup();
@@ -112,15 +107,18 @@ void UnityTestRunner(unityfunction* setup,
112
107
  }
113
108
  }
114
109
 
115
- void UnityIgnoreTest(const char * printableName)
110
+ void UnityIgnoreTest(const char* printableName, const char* group, const char* name)
116
111
  {
117
- Unity.NumberOfTests++;
118
- Unity.CurrentTestIgnored = 1;
119
- if (!UnityFixture.Verbose)
120
- UNITY_OUTPUT_CHAR('!');
121
- else
122
- UnityPrint(printableName);
123
- UnityConcludeFixtureTest();
112
+ if (testSelected(name) && groupSelected(group))
113
+ {
114
+ Unity.NumberOfTests++;
115
+ Unity.CurrentTestIgnored = 1;
116
+ if (!UnityFixture.Verbose)
117
+ UNITY_OUTPUT_CHAR('!');
118
+ else
119
+ UnityPrint(printableName);
120
+ UnityConcludeFixtureTest();
121
+ }
124
122
  }
125
123
 
126
124
 
@@ -131,18 +129,18 @@ void UnityIgnoreTest(const char * printableName)
131
129
  static int malloc_count;
132
130
  static int malloc_fail_countdown = MALLOC_DONT_FAIL;
133
131
 
134
- void UnityMalloc_StartTest()
132
+ void UnityMalloc_StartTest(void)
135
133
  {
136
134
  malloc_count = 0;
137
135
  malloc_fail_countdown = MALLOC_DONT_FAIL;
138
136
  }
139
137
 
140
- void UnityMalloc_EndTest()
138
+ void UnityMalloc_EndTest(void)
141
139
  {
142
140
  malloc_fail_countdown = MALLOC_DONT_FAIL;
143
141
  if (malloc_count != 0)
144
142
  {
145
- TEST_FAIL_MESSAGE("This test leaks!");
143
+ UNITY_TEST_FAIL(Unity.CurrentTestLineNumber, "This test leaks!");
146
144
  }
147
145
  }
148
146
 
@@ -151,161 +149,197 @@ void UnityMalloc_MakeMallocFailAfterCount(int countdown)
151
149
  malloc_fail_countdown = countdown;
152
150
  }
153
151
 
154
- #ifdef malloc
152
+ // These definitions are always included from unity_fixture_malloc_overrides.h
153
+ // We undef to use them or avoid conflict with <stdlib.h> per the C standard
155
154
  #undef malloc
156
- #endif
157
-
158
- #ifdef free
159
155
  #undef free
160
- #endif
156
+ #undef calloc
157
+ #undef realloc
161
158
 
159
+ #ifdef UNITY_EXCLUDE_STDLIB_MALLOC
160
+ static unsigned char unity_heap[UNITY_INTERNAL_HEAP_SIZE_BYTES];
161
+ static size_t heap_index;
162
+ #else
162
163
  #include <stdlib.h>
163
- #include <string.h>
164
+ #endif
164
165
 
165
166
  typedef struct GuardBytes
166
167
  {
167
168
  size_t size;
168
- char guard[sizeof(size_t)];
169
+ size_t guard_space;
169
170
  } Guard;
170
171
 
171
172
 
172
- static const char * end = "END";
173
+ static const char end[] = "END";
173
174
 
174
- void * unity_malloc(size_t size)
175
+ void* unity_malloc(size_t size)
175
176
  {
176
177
  char* mem;
177
178
  Guard* guard;
179
+ size_t total_size = size + sizeof(Guard) + sizeof(end);
178
180
 
179
181
  if (malloc_fail_countdown != MALLOC_DONT_FAIL)
180
182
  {
181
183
  if (malloc_fail_countdown == 0)
182
- return 0;
184
+ return NULL;
183
185
  malloc_fail_countdown--;
184
186
  }
185
187
 
188
+ if (size == 0) return NULL;
189
+ #ifdef UNITY_EXCLUDE_STDLIB_MALLOC
190
+ if (heap_index + total_size > UNITY_INTERNAL_HEAP_SIZE_BYTES)
191
+ {
192
+ guard = NULL;
193
+ }
194
+ else
195
+ {
196
+ guard = (Guard*) &unity_heap[heap_index];
197
+ heap_index += total_size;
198
+ }
199
+ #else
200
+ guard = (Guard*)UNITY_FIXTURE_MALLOC(total_size);
201
+ #endif
202
+ if (guard == NULL) return NULL;
186
203
  malloc_count++;
187
-
188
- guard = (Guard*)malloc(size + sizeof(Guard) + 4);
189
204
  guard->size = size;
205
+ guard->guard_space = 0;
190
206
  mem = (char*)&(guard[1]);
191
- memcpy(&mem[size], end, strlen(end) + 1);
207
+ memcpy(&mem[size], end, sizeof(end));
192
208
 
193
209
  return (void*)mem;
194
210
  }
195
211
 
196
- static int isOverrun(void * mem)
212
+ static int isOverrun(void* mem)
197
213
  {
198
214
  Guard* guard = (Guard*)mem;
199
215
  char* memAsChar = (char*)mem;
200
216
  guard--;
201
217
 
202
- return strcmp(&memAsChar[guard->size], end) != 0;
218
+ return guard->guard_space != 0 || strcmp(&memAsChar[guard->size], end) != 0;
203
219
  }
204
220
 
205
- static void release_memory(void * mem)
221
+ static void release_memory(void* mem)
206
222
  {
207
223
  Guard* guard = (Guard*)mem;
208
224
  guard--;
209
225
 
210
226
  malloc_count--;
211
- free(guard);
227
+ #ifdef UNITY_EXCLUDE_STDLIB_MALLOC
228
+ if (mem == unity_heap + heap_index - guard->size - sizeof(end))
229
+ {
230
+ heap_index -= (guard->size + sizeof(Guard) + sizeof(end));
231
+ }
232
+ #else
233
+ UNITY_FIXTURE_FREE(guard);
234
+ #endif
212
235
  }
213
236
 
214
- void unity_free(void * mem)
237
+ void unity_free(void* mem)
215
238
  {
216
- int overrun = isOverrun(mem);//strcmp(&memAsChar[guard->size], end) != 0;
239
+ int overrun;
240
+
241
+ if (mem == NULL)
242
+ {
243
+ return;
244
+ }
245
+
246
+ overrun = isOverrun(mem);
217
247
  release_memory(mem);
218
248
  if (overrun)
219
249
  {
220
- TEST_FAIL_MESSAGE("Buffer overrun detected during free()");
250
+ UNITY_TEST_FAIL(Unity.CurrentTestLineNumber, "Buffer overrun detected during free()");
221
251
  }
222
252
  }
223
253
 
224
254
  void* unity_calloc(size_t num, size_t size)
225
255
  {
226
256
  void* mem = unity_malloc(num * size);
227
- memset(mem, 0, num*size);
257
+ if (mem == NULL) return NULL;
258
+ memset(mem, 0, num * size);
228
259
  return mem;
229
260
  }
230
261
 
231
- void* unity_realloc(void * oldMem, size_t size)
262
+ void* unity_realloc(void* oldMem, size_t size)
232
263
  {
233
264
  Guard* guard = (Guard*)oldMem;
234
- // char* memAsChar = (char*)oldMem;
235
265
  void* newMem;
236
266
 
237
- if (oldMem == 0)
238
- return unity_malloc(size);
267
+ if (oldMem == NULL) return unity_malloc(size);
239
268
 
240
269
  guard--;
241
270
  if (isOverrun(oldMem))
242
271
  {
243
272
  release_memory(oldMem);
244
- TEST_FAIL_MESSAGE("Buffer overrun detected during realloc()");
273
+ UNITY_TEST_FAIL(Unity.CurrentTestLineNumber, "Buffer overrun detected during realloc()");
245
274
  }
246
275
 
247
276
  if (size == 0)
248
277
  {
249
278
  release_memory(oldMem);
250
- return 0;
279
+ return NULL;
251
280
  }
252
281
 
253
- if (guard->size >= size)
254
- return oldMem;
282
+ if (guard->size >= size) return oldMem;
255
283
 
284
+ #ifdef UNITY_EXCLUDE_STDLIB_MALLOC // Optimization if memory is expandable
285
+ if (oldMem == unity_heap + heap_index - guard->size - sizeof(end) &&
286
+ heap_index + size - guard->size <= UNITY_INTERNAL_HEAP_SIZE_BYTES)
287
+ {
288
+ release_memory(oldMem); // Not thread-safe, like unity_heap generally
289
+ return unity_malloc(size); // No memcpy since data is in place
290
+ }
291
+ #endif
256
292
  newMem = unity_malloc(size);
293
+ if (newMem == NULL) return NULL; // Do not release old memory
257
294
  memcpy(newMem, oldMem, guard->size);
258
- unity_free(oldMem);
295
+ release_memory(oldMem);
259
296
  return newMem;
260
297
  }
261
298
 
262
299
 
263
300
  //--------------------------------------------------------
264
301
  //Automatic pointer restoration functions
265
- typedef struct _PointerPair
302
+ struct PointerPair
266
303
  {
267
- struct _PointerPair * next;
268
- void ** pointer;
269
- void * old_value;
270
- } PointerPair;
304
+ void** pointer;
305
+ void* old_value;
306
+ };
271
307
 
272
- enum {MAX_POINTERS=50};
273
- static PointerPair pointer_store[MAX_POINTERS];
308
+ enum { MAX_POINTERS = 50 };
309
+ static struct PointerPair pointer_store[MAX_POINTERS];
274
310
  static int pointer_index = 0;
275
311
 
276
- void UnityPointer_Init()
312
+ void UnityPointer_Init(void)
277
313
  {
278
314
  pointer_index = 0;
279
315
  }
280
316
 
281
- void UnityPointer_Set(void ** pointer, void * newValue)
317
+ void UnityPointer_Set(void** pointer, void* newValue, UNITY_LINE_TYPE line)
282
318
  {
283
319
  if (pointer_index >= MAX_POINTERS)
284
- TEST_FAIL_MESSAGE("Too many pointers set");
285
-
286
- pointer_store[pointer_index].pointer = pointer;
287
- pointer_store[pointer_index].old_value = *pointer;
288
- *pointer = newValue;
289
- pointer_index++;
320
+ {
321
+ UNITY_TEST_FAIL(line, "Too many pointers set");
322
+ }
323
+ else
324
+ {
325
+ pointer_store[pointer_index].pointer = pointer;
326
+ pointer_store[pointer_index].old_value = *pointer;
327
+ *pointer = newValue;
328
+ pointer_index++;
329
+ }
290
330
  }
291
331
 
292
- void UnityPointer_UndoAllSets()
332
+ void UnityPointer_UndoAllSets(void)
293
333
  {
294
334
  while (pointer_index > 0)
295
335
  {
296
336
  pointer_index--;
297
337
  *(pointer_store[pointer_index].pointer) =
298
- pointer_store[pointer_index].old_value;
299
-
338
+ pointer_store[pointer_index].old_value;
300
339
  }
301
340
  }
302
341
 
303
- int UnityFailureCount()
304
- {
305
- return Unity.TestFailures;
306
- }
307
-
308
- int UnityGetCommandLineOptions(int argc, char* argv[])
342
+ int UnityGetCommandLineOptions(int argc, const char* argv[])
309
343
  {
310
344
  int i;
311
345
  UnityFixture.Verbose = 0;
@@ -347,7 +381,13 @@ int UnityGetCommandLineOptions(int argc, char* argv[])
347
381
  {
348
382
  if (*(argv[i]) >= '0' && *(argv[i]) <= '9')
349
383
  {
350
- UnityFixture.RepeatCount = atoi(argv[i]);
384
+ unsigned int digit = 0;
385
+ UnityFixture.RepeatCount = 0;
386
+ while (argv[i][digit] >= '0' && argv[i][digit] <= '9')
387
+ {
388
+ UnityFixture.RepeatCount *= 10;
389
+ UnityFixture.RepeatCount += (unsigned int)argv[i][digit++] - '0';
390
+ }
351
391
  i++;
352
392
  }
353
393
  }
@@ -359,13 +399,13 @@ int UnityGetCommandLineOptions(int argc, char* argv[])
359
399
  return 0;
360
400
  }
361
401
 
362
- void UnityConcludeFixtureTest()
402
+ void UnityConcludeFixtureTest(void)
363
403
  {
364
404
  if (Unity.CurrentTestIgnored)
365
405
  {
366
406
  if (UnityFixture.Verbose)
367
407
  {
368
- UNITY_OUTPUT_CHAR('\n');
408
+ UNITY_PRINT_EOL();
369
409
  }
370
410
  Unity.TestIgnores++;
371
411
  }
@@ -374,12 +414,13 @@ void UnityConcludeFixtureTest()
374
414
  if (UnityFixture.Verbose)
375
415
  {
376
416
  UnityPrint(" PASS");
377
- UNITY_OUTPUT_CHAR('\n');
417
+ UNITY_PRINT_EOL();
378
418
  }
379
419
  }
380
420
  else if (Unity.CurrentTestFailed)
381
421
  {
382
422
  Unity.TestFailures++;
423
+ UNITY_PRINT_EOL();
383
424
  }
384
425
 
385
426
  Unity.CurrentTestFailed = 0;
@@ -13,19 +13,22 @@
13
13
  #include "unity_fixture_malloc_overrides.h"
14
14
  #include "unity_fixture_internals.h"
15
15
 
16
- int UnityMain(int argc, char* argv[], void (*runAllTests)(void));
16
+ int UnityMain(int argc, const char* argv[], void (*runAllTests)(void));
17
17
 
18
18
 
19
19
  #define TEST_GROUP(group)\
20
20
  static const char* TEST_GROUP_##group = #group
21
21
 
22
- #define TEST_SETUP(group) void TEST_##group##_SETUP(void)
22
+ #define TEST_SETUP(group) void TEST_##group##_SETUP(void);\
23
+ void TEST_##group##_SETUP(void)
23
24
 
24
- #define TEST_TEAR_DOWN(group) void TEST_##group##_TEAR_DOWN(void)
25
+ #define TEST_TEAR_DOWN(group) void TEST_##group##_TEAR_DOWN(void);\
26
+ void TEST_##group##_TEAR_DOWN(void)
25
27
 
26
28
 
27
29
  #define TEST(group, name) \
28
30
  void TEST_##group##_##name##_(void);\
31
+ void TEST_##group##_##name##_run(void);\
29
32
  void TEST_##group##_##name##_run(void)\
30
33
  {\
31
34
  UnityTestRunner(TEST_##group##_SETUP,\
@@ -39,28 +42,21 @@ int UnityMain(int argc, char* argv[], void (*runAllTests)(void));
39
42
 
40
43
  #define IGNORE_TEST(group, name) \
41
44
  void TEST_##group##_##name##_(void);\
45
+ void TEST_##group##_##name##_run(void);\
42
46
  void TEST_##group##_##name##_run(void)\
43
47
  {\
44
- UnityIgnoreTest("IGNORE_TEST(" #group ", " #name ")");\
48
+ UnityIgnoreTest("IGNORE_TEST(" #group ", " #name ")", TEST_GROUP_##group, #name);\
45
49
  }\
46
50
  void TEST_##group##_##name##_(void)
47
51
 
48
- #define DECLARE_TEST_CASE(group, name) \
49
- void TEST_##group##_##name##_run(void)
50
-
51
52
  #define RUN_TEST_CASE(group, name) \
52
- { DECLARE_TEST_CASE(group, name);\
53
+ { void TEST_##group##_##name##_run(void);\
53
54
  TEST_##group##_##name##_run(); }
54
55
 
55
56
  //This goes at the bottom of each test file or in a separate c file
56
57
  #define TEST_GROUP_RUNNER(group)\
57
- void TEST_##group##_GROUP_RUNNER_runAll(void);\
58
58
  void TEST_##group##_GROUP_RUNNER(void);\
59
- void TEST_##group##_GROUP_RUNNER(void)\
60
- {\
61
- TEST_##group##_GROUP_RUNNER_runAll();\
62
- }\
63
- void TEST_##group##_GROUP_RUNNER_runAll()
59
+ void TEST_##group##_GROUP_RUNNER(void)
64
60
 
65
61
  //Call this from main
66
62
  #define RUN_TEST_GROUP(group)\
@@ -68,10 +64,10 @@ int UnityMain(int argc, char* argv[], void (*runAllTests)(void));
68
64
  TEST_##group##_GROUP_RUNNER(); }
69
65
 
70
66
  //CppUTest Compatibility Macros
71
- #define UT_PTR_SET(ptr, newPointerValue) UnityPointer_Set((void**)&ptr, (void*)newPointerValue)
72
- #define TEST_ASSERT_POINTERS_EQUAL(expected, actual) TEST_ASSERT_EQUAL_PTR(expected, actual)
67
+ #define UT_PTR_SET(ptr, newPointerValue) UnityPointer_Set((void**)&(ptr), (void*)(newPointerValue), __LINE__)
68
+ #define TEST_ASSERT_POINTERS_EQUAL(expected, actual) TEST_ASSERT_EQUAL_PTR((expected), (actual))
73
69
  #define TEST_ASSERT_BYTES_EQUAL(expected, actual) TEST_ASSERT_EQUAL_HEX8(0xff & (expected), 0xff & (actual))
74
- #define FAIL(message) TEST_FAIL((message))
70
+ #define FAIL(message) TEST_FAIL_MESSAGE((message))
75
71
  #define CHECK(condition) TEST_ASSERT_TRUE((condition))
76
72
  #define LONGS_EQUAL(expected, actual) TEST_ASSERT_EQUAL_INT((expected), (actual))
77
73
  #define STRCMP_EQUAL(expected, actual) TEST_ASSERT_EQUAL_STRING((expected), (actual))