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,7 +9,7 @@
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
15
  //Build with -D UNITY_OUTPUT_CHAR=outputChar and include <stdio.h>
@@ -23,9 +23,9 @@ void tearDown(void) { /*does nothing*/ }
23
23
  static void announceTestRun(unsigned int runNumber)
24
24
  {
25
25
  UnityPrint("Unity test run ");
26
- UnityPrintNumber(runNumber+1);
26
+ UnityPrintNumberUnsigned(runNumber+1);
27
27
  UnityPrint(" of ");
28
- UnityPrintNumber(UnityFixture.RepeatCount);
28
+ UnityPrintNumberUnsigned(UnityFixture.RepeatCount);
29
29
  UNITY_PRINT_EOL();
30
30
  }
31
31
 
@@ -45,7 +45,7 @@ int UnityMain(int argc, const char* argv[], void (*runAllTests)(void))
45
45
  UnityEnd();
46
46
  }
47
47
 
48
- return UnityFailureCount();
48
+ return (int)Unity.TestFailures;
49
49
  }
50
50
 
51
51
  static int selected(const char* filter, const char* name)
@@ -71,11 +71,10 @@ void UnityTestRunner(unityfunction* setup,
71
71
  const char* printableName,
72
72
  const char* group,
73
73
  const char* name,
74
- const char* file, int line)
74
+ const char* file, unsigned int line)
75
75
  {
76
76
  if (testSelected(name) && groupSelected(group))
77
77
  {
78
- Unity.CurrentTestFailed = 0;
79
78
  Unity.TestFile = file;
80
79
  Unity.CurrentTestName = printableName;
81
80
  Unity.CurrentTestLineNumber = line;
@@ -112,12 +111,14 @@ void UnityIgnoreTest(const char* printableName, const char* group, const char* n
112
111
  if (testSelected(name) && groupSelected(group))
113
112
  {
114
113
  Unity.NumberOfTests++;
115
- Unity.CurrentTestIgnored = 1;
114
+ Unity.TestIgnores++;
116
115
  if (!UnityFixture.Verbose)
117
116
  UNITY_OUTPUT_CHAR('!');
118
117
  else
118
+ {
119
119
  UnityPrint(printableName);
120
- UnityConcludeFixtureTest();
120
+ UNITY_PRINT_EOL();
121
+ }
121
122
  }
122
123
  }
123
124
 
@@ -140,7 +141,7 @@ void UnityMalloc_EndTest(void)
140
141
  malloc_fail_countdown = MALLOC_DONT_FAIL;
141
142
  if (malloc_count != 0)
142
143
  {
143
- TEST_FAIL_MESSAGE("This test leaks!");
144
+ UNITY_TEST_FAIL(Unity.CurrentTestLineNumber, "This test leaks!");
144
145
  }
145
146
  }
146
147
 
@@ -158,7 +159,7 @@ void UnityMalloc_MakeMallocFailAfterCount(int countdown)
158
159
 
159
160
  #ifdef UNITY_EXCLUDE_STDLIB_MALLOC
160
161
  static unsigned char unity_heap[UNITY_INTERNAL_HEAP_SIZE_BYTES];
161
- static unsigned int heap_index;
162
+ static size_t heap_index;
162
163
  #else
163
164
  #include <stdlib.h>
164
165
  #endif
@@ -166,7 +167,7 @@ static unsigned int heap_index;
166
167
  typedef struct GuardBytes
167
168
  {
168
169
  size_t size;
169
- char guard_space[4];
170
+ size_t guard_space;
170
171
  } Guard;
171
172
 
172
173
 
@@ -202,6 +203,7 @@ void* unity_malloc(size_t size)
202
203
  if (guard == NULL) return NULL;
203
204
  malloc_count++;
204
205
  guard->size = size;
206
+ guard->guard_space = 0;
205
207
  mem = (char*)&(guard[1]);
206
208
  memcpy(&mem[size], end, sizeof(end));
207
209
 
@@ -214,7 +216,7 @@ static int isOverrun(void* mem)
214
216
  char* memAsChar = (char*)mem;
215
217
  guard--;
216
218
 
217
- return strcmp(&memAsChar[guard->size], end) != 0;
219
+ return guard->guard_space != 0 || strcmp(&memAsChar[guard->size], end) != 0;
218
220
  }
219
221
 
220
222
  static void release_memory(void* mem)
@@ -246,7 +248,7 @@ void unity_free(void* mem)
246
248
  release_memory(mem);
247
249
  if (overrun)
248
250
  {
249
- TEST_FAIL_MESSAGE("Buffer overrun detected during free()");
251
+ UNITY_TEST_FAIL(Unity.CurrentTestLineNumber, "Buffer overrun detected during free()");
250
252
  }
251
253
  }
252
254
 
@@ -269,7 +271,7 @@ void* unity_realloc(void* oldMem, size_t size)
269
271
  if (isOverrun(oldMem))
270
272
  {
271
273
  release_memory(oldMem);
272
- TEST_FAIL_MESSAGE("Buffer overrun detected during realloc()");
274
+ UNITY_TEST_FAIL(Unity.CurrentTestLineNumber, "Buffer overrun detected during realloc()");
273
275
  }
274
276
 
275
277
  if (size == 0)
@@ -298,15 +300,14 @@ void* unity_realloc(void* oldMem, size_t size)
298
300
 
299
301
  //--------------------------------------------------------
300
302
  //Automatic pointer restoration functions
301
- typedef struct _PointerPair
303
+ struct PointerPair
302
304
  {
303
- struct _PointerPair* next;
304
305
  void** pointer;
305
306
  void* old_value;
306
- } PointerPair;
307
+ };
307
308
 
308
- enum {MAX_POINTERS=50};
309
- static PointerPair pointer_store[MAX_POINTERS+1];
309
+ enum { MAX_POINTERS = 50 };
310
+ static struct PointerPair pointer_store[MAX_POINTERS];
310
311
  static int pointer_index = 0;
311
312
 
312
313
  void UnityPointer_Init(void)
@@ -314,11 +315,11 @@ void UnityPointer_Init(void)
314
315
  pointer_index = 0;
315
316
  }
316
317
 
317
- void UnityPointer_Set(void** pointer, void* newValue)
318
+ void UnityPointer_Set(void** pointer, void* newValue, UNITY_LINE_TYPE line)
318
319
  {
319
320
  if (pointer_index >= MAX_POINTERS)
320
321
  {
321
- TEST_FAIL_MESSAGE("Too many pointers set");
322
+ UNITY_TEST_FAIL(line, "Too many pointers set");
322
323
  }
323
324
  else
324
325
  {
@@ -339,21 +340,6 @@ void UnityPointer_UndoAllSets(void)
339
340
  }
340
341
  }
341
342
 
342
- UNITY_COUNTER_TYPE UnityFailureCount(void)
343
- {
344
- return Unity.TestFailures;
345
- }
346
-
347
- UNITY_COUNTER_TYPE UnityIgnoreCount(void)
348
- {
349
- return Unity.TestIgnores;
350
- }
351
-
352
- UNITY_COUNTER_TYPE UnityTestsCount(void)
353
- {
354
- return Unity.NumberOfTests;
355
- }
356
-
357
343
  int UnityGetCommandLineOptions(int argc, const char* argv[])
358
344
  {
359
345
  int i;
@@ -418,11 +404,8 @@ void UnityConcludeFixtureTest(void)
418
404
  {
419
405
  if (Unity.CurrentTestIgnored)
420
406
  {
421
- if (UnityFixture.Verbose)
422
- {
423
- UNITY_PRINT_EOL();
424
- }
425
407
  Unity.TestIgnores++;
408
+ UNITY_PRINT_EOL();
426
409
  }
427
410
  else if (!Unity.CurrentTestFailed)
428
411
  {
@@ -432,7 +415,7 @@ void UnityConcludeFixtureTest(void)
432
415
  UNITY_PRINT_EOL();
433
416
  }
434
417
  }
435
- else if (Unity.CurrentTestFailed)
418
+ else // Unity.CurrentTestFailed
436
419
  {
437
420
  Unity.TestFailures++;
438
421
  UNITY_PRINT_EOL();
@@ -64,7 +64,7 @@ int UnityMain(int argc, const char* argv[], void (*runAllTests)(void));
64
64
  TEST_##group##_GROUP_RUNNER(); }
65
65
 
66
66
  //CppUTest Compatibility Macros
67
- #define UT_PTR_SET(ptr, newPointerValue) UnityPointer_Set((void**)&(ptr), (void*)(newPointerValue))
67
+ #define UT_PTR_SET(ptr, newPointerValue) UnityPointer_Set((void**)&(ptr), (void*)(newPointerValue), __LINE__)
68
68
  #define TEST_ASSERT_POINTERS_EQUAL(expected, actual) TEST_ASSERT_EQUAL_PTR((expected), (actual))
69
69
  #define TEST_ASSERT_BYTES_EQUAL(expected, actual) TEST_ASSERT_EQUAL_HEX8(0xff & (expected), 0xff & (actual))
70
70
  #define FAIL(message) TEST_FAIL_MESSAGE((message))
@@ -8,13 +8,14 @@
8
8
  #ifndef UNITY_FIXTURE_INTERNALS_H_
9
9
  #define UNITY_FIXTURE_INTERNALS_H_
10
10
 
11
- typedef struct _UNITY_FIXTURE_T
11
+ struct _UnityFixture
12
12
  {
13
13
  int Verbose;
14
14
  unsigned int RepeatCount;
15
15
  const char* NameFilter;
16
16
  const char* GroupFilter;
17
- } UNITY_FIXTURE_T;
17
+ };
18
+ extern struct _UnityFixture UnityFixture;
18
19
 
19
20
  typedef void unityfunction(void);
20
21
  void UnityTestRunner(unityfunction* setup,
@@ -23,18 +24,15 @@ void UnityTestRunner(unityfunction* setup,
23
24
  const char* printableName,
24
25
  const char* group,
25
26
  const char* name,
26
- const char* file, int line);
27
+ const char* file, unsigned int line);
27
28
 
28
29
  void UnityIgnoreTest(const char* printableName, const char* group, const char* name);
29
30
  void UnityMalloc_StartTest(void);
30
31
  void UnityMalloc_EndTest(void);
31
- UNITY_COUNTER_TYPE UnityFailureCount(void);
32
- UNITY_COUNTER_TYPE UnityIgnoreCount(void);
33
- UNITY_COUNTER_TYPE UnityTestsCount(void);
34
32
  int UnityGetCommandLineOptions(int argc, const char* argv[]);
35
33
  void UnityConcludeFixtureTest(void);
36
34
 
37
- void UnityPointer_Set(void** ptr, void* newValue);
35
+ void UnityPointer_Set(void** ptr, void* newValue, UNITY_LINE_TYPE line);
38
36
  void UnityPointer_UndoAllSets(void);
39
37
  void UnityPointer_Init(void);
40
38
 
@@ -1,8 +1,14 @@
1
1
  CC = gcc
2
- CFLAGS += -Werror
2
+ ifeq ($(shell uname -s), Darwin)
3
+ CC = clang
4
+ endif
5
+ #DEBUG = -O0 -g
3
6
  CFLAGS += -std=c99
4
7
  CFLAGS += -pedantic
5
- CFLAGS += -Wundef
8
+ CFLAGS += -Wall
9
+ CFLAGS += -Wextra
10
+ CFLAGS += -Werror
11
+ CFLAGS += $(DEBUG)
6
12
  DEFINES = -D UNITY_OUTPUT_CHAR=UnityOutputCharSpy_OutputChar
7
13
  SRC = ../src/unity_fixture.c \
8
14
  ../../../src/unity.c \
@@ -12,24 +18,63 @@ SRC = ../src/unity_fixture.c \
12
18
  main/AllTests.c
13
19
 
14
20
  INC_DIR = -I../src -I../../../src/
15
- TARGET = fixture_tests.exe
21
+ BUILD_DIR = ../build
22
+ TARGET = ../build/fixture_tests.exe
16
23
 
17
24
  all: default noStdlibMalloc 32bits
18
25
 
19
- default:
20
- $(CC) $(CFLAGS) $(DEFINES) $(SRC) $(INC_DIR) -o $(TARGET)
26
+ default: $(BUILD_DIR)
27
+ $(CC) $(CFLAGS) $(DEFINES) $(SRC) $(INC_DIR) -o $(TARGET) -D UNITY_SUPPORT_64
21
28
  @ echo "default build"
22
29
  ./$(TARGET)
23
30
 
24
- 32bits:
31
+ 32bits: $(BUILD_DIR)
25
32
  $(CC) $(CFLAGS) $(DEFINES) $(SRC) $(INC_DIR) -o $(TARGET) -m32
26
33
  @ echo "32bits build"
27
34
  ./$(TARGET)
28
35
 
29
- noStdlibMalloc:
36
+ noStdlibMalloc: $(BUILD_DIR)
30
37
  $(CC) $(CFLAGS) $(DEFINES) $(SRC) $(INC_DIR) -o $(TARGET) -D UNITY_EXCLUDE_STDLIB_MALLOC
31
38
  @ echo "build with noStdlibMalloc"
32
39
  ./$(TARGET)
33
40
 
41
+ clang89: ../build/
42
+ clang $(CFLAGS) $(DEFINES) $(SRC) $(INC_DIR) -o $(TARGET) -m32 -std=c89 -Wno-comment
43
+ clang $(CFLAGS) $(DEFINES) $(SRC) $(INC_DIR) -o $(TARGET) -m32 \
44
+ -D UNITY_EXCLUDE_STDLIB_MALLOC -std=c89 -Wno-comment ; ./$(TARGET)
45
+
34
46
  clangEverything:
35
- $(CC) $(CFLAGS) $(DEFINES) $(SRC) $(INC_DIR) -o $(TARGET) -m64 -Weverything # || true #prevents make from failing
47
+ clang $(CFLAGS) $(DEFINES) $(SRC) $(INC_DIR) -o $(TARGET) -Weverything
48
+
49
+ $(BUILD_DIR):
50
+ mkdir -p $(BUILD_DIR)
51
+
52
+ clean:
53
+ rm -f $(TARGET) $(BUILD_DIR)/*.gc*
54
+
55
+ coverage: $(BUILD_DIR)
56
+ cd $(BUILD_DIR) && \
57
+ $(CC) $(DEFINES) $(foreach i, $(SRC), ../test/$(i)) $(INC_DIR) -o $(TARGET) -fprofile-arcs -ftest-coverage
58
+ rm -f $(BUILD_DIR)/*.gcda
59
+ ./$(TARGET) > /dev/null ; ./$(TARGET) -v > /dev/null
60
+ cd $(BUILD_DIR) && \
61
+ gcov unity_fixture.c | head -3
62
+ grep '###' $(BUILD_DIR)/unity_fixture.c.gcov -C2 || true # Show uncovered lines
63
+
64
+ # These extended flags DO get included before any target build runs
65
+ CFLAGS += -Wbad-function-cast
66
+ CFLAGS += -Wcast-qual
67
+ CFLAGS += -Wconversion
68
+ CFLAGS += -Wformat=2
69
+ CFLAGS += -Wmissing-prototypes
70
+ CFLAGS += -Wold-style-definition
71
+ CFLAGS += -Wpointer-arith
72
+ CFLAGS += -Wshadow
73
+ CFLAGS += -Wstrict-overflow=5
74
+ CFLAGS += -Wstrict-prototypes
75
+ CFLAGS += -Wswitch-default
76
+ CFLAGS += -Wundef
77
+ CFLAGS += -Wno-error=undef # Warning only, this should not stop the build
78
+ CFLAGS += -Wunreachable-code
79
+ CFLAGS += -Wunused
80
+ CFLAGS += -fstrict-aliasing
@@ -10,8 +10,6 @@
10
10
  #include <stdlib.h>
11
11
  #include <string.h>
12
12
 
13
- extern UNITY_FIXTURE_T UnityFixture;
14
-
15
13
  TEST_GROUP(UnityFixture);
16
14
 
17
15
  TEST_SETUP(UnityFixture)
@@ -22,14 +20,13 @@ TEST_TEAR_DOWN(UnityFixture)
22
20
  {
23
21
  }
24
22
 
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;
23
+ static int* pointer1 = 0;
24
+ static int* pointer2 = (int*)2;
25
+ static int* pointer3 = (int*)3;
26
+ static int int1;
27
+ static int int2;
28
+ static int int3;
29
+ static int int4;
33
30
 
34
31
  TEST(UnityFixture, PointerSetting)
35
32
  {
@@ -112,8 +109,8 @@ TEST(UnityFixture, CallocFillsWithZero)
112
109
  free(m);
113
110
  }
114
111
 
115
- char *p1;
116
- char *p2;
112
+ static char *p1;
113
+ static char *p2;
117
114
 
118
115
  TEST(UnityFixture, PointerSet)
119
116
  {
@@ -139,14 +136,30 @@ TEST(UnityFixture, FreeNULLSafety)
139
136
  free(NULL);
140
137
  }
141
138
 
139
+ TEST(UnityFixture, ConcludeTestIncrementsFailCount)
140
+ {
141
+ _U_UINT savedFails = Unity.TestFailures;
142
+ _U_UINT savedIgnores = Unity.TestIgnores;
143
+ UnityOutputCharSpy_Enable(1);
144
+ Unity.CurrentTestFailed = 1;
145
+ UnityConcludeFixtureTest(); // Resets TestFailed for this test to pass
146
+ Unity.CurrentTestIgnored = 1;
147
+ UnityConcludeFixtureTest(); // Resets TestIgnored
148
+ UnityOutputCharSpy_Enable(0);
149
+ TEST_ASSERT_EQUAL(savedFails + 1, Unity.TestFailures);
150
+ TEST_ASSERT_EQUAL(savedIgnores + 1, Unity.TestIgnores);
151
+ Unity.TestFailures = savedFails;
152
+ Unity.TestIgnores = savedIgnores;
153
+ }
154
+
142
155
  //------------------------------------------------------------
143
156
 
144
157
  TEST_GROUP(UnityCommandOptions);
145
158
 
146
- int savedVerbose;
147
- int savedRepeat;
148
- const char* savedName;
149
- const char* savedGroup;
159
+ static int savedVerbose;
160
+ static unsigned int savedRepeat;
161
+ static const char* savedName;
162
+ static const char* savedGroup;
150
163
 
151
164
  TEST_SETUP(UnityCommandOptions)
152
165
  {
@@ -279,6 +292,21 @@ TEST(UnityCommandOptions, UnknownCommandIsIgnored)
279
292
  TEST_ASSERT_EQUAL(98, UnityFixture.RepeatCount);
280
293
  }
281
294
 
295
+ TEST(UnityCommandOptions, GroupOrNameFilterWithoutStringFails)
296
+ {
297
+ TEST_ASSERT_EQUAL(1, UnityGetCommandLineOptions(3, unknownCommand));
298
+ TEST_ASSERT_EQUAL(1, UnityGetCommandLineOptions(5, unknownCommand));
299
+ TEST_ASSERT_EQUAL(1, UnityMain(3, unknownCommand, NULL));
300
+ }
301
+
302
+ TEST(UnityCommandOptions, GroupFilterReallyFilters)
303
+ {
304
+ _U_UINT saved = Unity.NumberOfTests;
305
+ TEST_ASSERT_EQUAL(0, UnityGetCommandLineOptions(4, unknownCommand));
306
+ UnityIgnoreTest(NULL, "non-matching", NULL);
307
+ TEST_ASSERT_EQUAL(saved, Unity.NumberOfTests);
308
+ }
309
+
282
310
  IGNORE_TEST(UnityCommandOptions, TestShouldBeIgnored)
283
311
  {
284
312
  TEST_FAIL_MESSAGE("This test should not run!");
@@ -314,15 +342,28 @@ TEST_TEAR_DOWN(LeakDetection)
314
342
  memcpy(Unity.AbortFrame, TestAbortFrame, sizeof(jmp_buf)); \
315
343
  }
316
344
 
317
- // This tricky set of defines lets us see if we are using the Spy, returns 1 if true, else 0
318
- #define USING_SPY_AS(a) EXPAND_AND_USE_2ND(ASSIGN_VALUE(a), 0)
319
- #define ASSIGN_VALUE(a) VAL_FUNC_##a
320
- #define VAL_FUNC_UnityOutputCharSpy_OutputChar() 0, 1
321
- #define EXPAND_AND_USE_2ND(a, b) SECOND_PARAM(a, b, throwaway)
322
- #define SECOND_PARAM(a, b, ...) b
323
- #if USING_SPY_AS(UNITY_OUTPUT_CHAR())
345
+ // This tricky set of defines lets us see if we are using the Spy, returns 1 if true
346
+ #ifdef __STDC_VERSION__
347
+
348
+ #if __STDC_VERSION__ >= 199901L
349
+ #define USING_SPY_AS(a) EXPAND_AND_USE_2ND(ASSIGN_VALUE(a), 0)
350
+ #define ASSIGN_VALUE(a) VAL_##a
351
+ #define VAL_UnityOutputCharSpy_OutputChar 0, 1
352
+ #define EXPAND_AND_USE_2ND(a, b) SECOND_PARAM(a, b, throwaway)
353
+ #define SECOND_PARAM(a, b, ...) b
354
+ #if USING_SPY_AS(UNITY_OUTPUT_CHAR)
355
+ #define USING_OUTPUT_SPY // UNITY_OUTPUT_CHAR = UnityOutputCharSpy_OutputChar
356
+ #endif
357
+ #endif // >= 199901
358
+
359
+ #else // __STDC_VERSION__ else
360
+ #define UnityOutputCharSpy_OutputChar 42
361
+ #if UNITY_OUTPUT_CHAR == UnityOutputCharSpy_OutputChar // Works if no -Wundef -Werror
324
362
  #define USING_OUTPUT_SPY
325
363
  #endif
364
+ #undef UnityOutputCharSpy_OutputChar
365
+ #endif // __STDC_VERSION__
366
+
326
367
  TEST(LeakDetection, DetectsLeak)
327
368
  {
328
369
  #ifndef USING_OUTPUT_SPY
@@ -344,12 +385,11 @@ TEST(LeakDetection, DetectsLeak)
344
385
  TEST(LeakDetection, BufferOverrunFoundDuringFree)
345
386
  {
346
387
  #ifndef USING_OUTPUT_SPY
347
- UNITY_PRINT_EOL();
348
388
  TEST_IGNORE();
349
389
  #else
350
390
  void* m = malloc(10);
351
- TEST_ASSERT_NOT_NULL(m);
352
391
  char* s = (char*)m;
392
+ TEST_ASSERT_NOT_NULL(m);
353
393
  s[10] = (char)0xFF;
354
394
  UnityOutputCharSpy_Enable(1);
355
395
  EXPECT_ABORT_BEGIN
@@ -364,12 +404,11 @@ TEST(LeakDetection, BufferOverrunFoundDuringFree)
364
404
  TEST(LeakDetection, BufferOverrunFoundDuringRealloc)
365
405
  {
366
406
  #ifndef USING_OUTPUT_SPY
367
- UNITY_PRINT_EOL();
368
407
  TEST_IGNORE();
369
408
  #else
370
409
  void* m = malloc(10);
371
- TEST_ASSERT_NOT_NULL(m);
372
410
  char* s = (char*)m;
411
+ TEST_ASSERT_NOT_NULL(m);
373
412
  s[10] = (char)0xFF;
374
413
  UnityOutputCharSpy_Enable(1);
375
414
  EXPECT_ABORT_BEGIN
@@ -381,6 +420,64 @@ TEST(LeakDetection, BufferOverrunFoundDuringRealloc)
381
420
  #endif
382
421
  }
383
422
 
423
+ TEST(LeakDetection, BufferGuardWriteFoundDuringFree)
424
+ {
425
+ #ifndef USING_OUTPUT_SPY
426
+ TEST_IGNORE();
427
+ #else
428
+ void* m = malloc(10);
429
+ char* s = (char*)m;
430
+ TEST_ASSERT_NOT_NULL(m);
431
+ s[-1] = (char)0x00; // Will not detect 0
432
+ s[-2] = (char)0x01;
433
+ UnityOutputCharSpy_Enable(1);
434
+ EXPECT_ABORT_BEGIN
435
+ free(m);
436
+ EXPECT_ABORT_END
437
+ UnityOutputCharSpy_Enable(0);
438
+ Unity.CurrentTestFailed = 0;
439
+ CHECK(strstr(UnityOutputCharSpy_Get(), "Buffer overrun detected during free()"));
440
+ #endif
441
+ }
442
+
443
+ TEST(LeakDetection, BufferGuardWriteFoundDuringRealloc)
444
+ {
445
+ #ifndef USING_OUTPUT_SPY
446
+ TEST_IGNORE();
447
+ #else
448
+ void* m = malloc(10);
449
+ char* s = (char*)m;
450
+ TEST_ASSERT_NOT_NULL(m);
451
+ s[-1] = (char)0x0A;
452
+ UnityOutputCharSpy_Enable(1);
453
+ EXPECT_ABORT_BEGIN
454
+ m = realloc(m, 100);
455
+ EXPECT_ABORT_END
456
+ UnityOutputCharSpy_Enable(0);
457
+ Unity.CurrentTestFailed = 0;
458
+ CHECK(strstr(UnityOutputCharSpy_Get(), "Buffer overrun detected during realloc()"));
459
+ #endif
460
+ }
461
+
462
+ TEST(LeakDetection, PointerSettingMax)
463
+ {
464
+ #ifndef USING_OUTPUT_SPY
465
+ TEST_IGNORE();
466
+ #else
467
+ int i;
468
+ for (i = 0; i < 50; i++) UT_PTR_SET(pointer1, &int1);
469
+ UnityOutputCharSpy_Enable(1);
470
+ EXPECT_ABORT_BEGIN
471
+ UT_PTR_SET(pointer1, &int1);
472
+ EXPECT_ABORT_END
473
+ UnityOutputCharSpy_Enable(0);
474
+ Unity.CurrentTestFailed = 0;
475
+ CHECK(strstr(UnityOutputCharSpy_Get(), "Too many pointers set"));
476
+ #endif
477
+ }
478
+
479
+ //------------------------------------------------------------
480
+
384
481
  TEST_GROUP(InternalMalloc);
385
482
 
386
483
  TEST_SETUP(InternalMalloc) { }
@@ -390,8 +487,8 @@ TEST(InternalMalloc, MallocPastBufferFails)
390
487
  {
391
488
  #ifdef UNITY_EXCLUDE_STDLIB_MALLOC
392
489
  void* m = malloc(UNITY_INTERNAL_HEAP_SIZE_BYTES/2 + 1);
393
- TEST_ASSERT_NOT_NULL(m);
394
490
  void* n = malloc(UNITY_INTERNAL_HEAP_SIZE_BYTES/2);
491
+ TEST_ASSERT_NOT_NULL(m);
395
492
  TEST_ASSERT_NULL(n);
396
493
  free(m);
397
494
  #endif
@@ -401,8 +498,8 @@ TEST(InternalMalloc, CallocPastBufferFails)
401
498
  {
402
499
  #ifdef UNITY_EXCLUDE_STDLIB_MALLOC
403
500
  void* m = calloc(1, UNITY_INTERNAL_HEAP_SIZE_BYTES/2 + 1);
404
- TEST_ASSERT_NOT_NULL(m);
405
501
  void* n = calloc(1, UNITY_INTERNAL_HEAP_SIZE_BYTES/2);
502
+ TEST_ASSERT_NOT_NULL(m);
406
503
  TEST_ASSERT_NULL(n);
407
504
  free(m);
408
505
  #endif
@@ -412,8 +509,8 @@ TEST(InternalMalloc, MallocThenReallocGrowsMemoryInPlace)
412
509
  {
413
510
  #ifdef UNITY_EXCLUDE_STDLIB_MALLOC
414
511
  void* m = malloc(UNITY_INTERNAL_HEAP_SIZE_BYTES/2 + 1);
415
- TEST_ASSERT_NOT_NULL(m);
416
512
  void* n = realloc(m, UNITY_INTERNAL_HEAP_SIZE_BYTES/2 + 9);
513
+ TEST_ASSERT_NOT_NULL(m);
417
514
  TEST_ASSERT_EQUAL(m, n);
418
515
  free(n);
419
516
  #endif
@@ -423,11 +520,11 @@ TEST(InternalMalloc, ReallocFailDoesNotFreeMem)
423
520
  {
424
521
  #ifdef UNITY_EXCLUDE_STDLIB_MALLOC
425
522
  void* m = malloc(UNITY_INTERNAL_HEAP_SIZE_BYTES/2);
426
- TEST_ASSERT_NOT_NULL(m);
427
523
  void* n1 = malloc(10);
428
524
  void* out_of_mem = realloc(n1, UNITY_INTERNAL_HEAP_SIZE_BYTES/2 + 1);
429
- TEST_ASSERT_NULL(out_of_mem);
430
525
  void* n2 = malloc(10);
526
+ TEST_ASSERT_NOT_NULL(m);
527
+ TEST_ASSERT_NULL(out_of_mem);
431
528
  TEST_ASSERT_NOT_EQUAL(n2, n1);
432
529
  free(n2);
433
530
  free(n1);