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
@@ -4,15 +4,46 @@
4
4
  # [Released under MIT License. Please refer to license.txt for details]
5
5
  # ==========================================
6
6
 
7
- UNITY_ROOT=../..
8
- C_COMPILER=gcc
9
- TARGET_BASE1=test1
10
- TARGET_BASE2=test2
11
- ifeq ($(OS),Windows_NT)
7
+ #We try to detect the OS we are running on, and adjust commands as needed
8
+ ifeq ($(OSTYPE),cygwin)
9
+ CLEANUP = rm -f
10
+ MKDIR = mkdir -p
11
+ TARGET_EXTENSION=.out
12
+ elseifeq ($(OSTYPE),msys)
13
+ CLEANUP = rm -f
14
+ MKDIR = mkdir -p
15
+ TARGET_EXTENSION=.exe
16
+ elseifeq ($(OS),Windows_NT)
17
+ CLEANUP = del /F /Q
18
+ MKDIR = mkdir
12
19
  TARGET_EXTENSION=.exe
13
20
  else
21
+ CLEANUP = rm -f
22
+ MKDIR = mkdir -p
14
23
  TARGET_EXTENSION=.out
15
24
  endif
25
+
26
+ UNITY_ROOT=../..
27
+ C_COMPILER=gcc
28
+
29
+ CFLAGS=-std=c99
30
+ CFLAGS += -Wall
31
+ CFLAGS += -Wextra
32
+ CFLAGS += -Werror
33
+ CFLAGS += -Wpointer-arith
34
+ CFLAGS += -Wcast-align
35
+ CFLAGS += -Wwrite-strings
36
+ CFLAGS += -Wswitch-default
37
+ CFLAGS += -Wunreachable-code
38
+ CFLAGS += -Winit-self
39
+ CFLAGS += -Wmissing-field-initializers
40
+ CFLAGS += -Wno-unknown-pragmas
41
+ CFLAGS += -Wstrict-prototypes
42
+ CFLAGS += -Wundef
43
+ CFLAGS += -Wold-style-definition
44
+
45
+ TARGET_BASE1=test1
46
+ TARGET_BASE2=test2
16
47
  TARGET1 = $(TARGET_BASE1)$(TARGET_EXTENSION)
17
48
  TARGET2 = $(TARGET_BASE2)$(TARGET_EXTENSION)
18
49
  SRC_FILES1=$(UNITY_ROOT)/src/unity.c src/ProductionCode.c test/TestProductionCode.c test/test_runners/TestProductionCode_Runner.c
@@ -20,19 +51,13 @@ SRC_FILES2=$(UNITY_ROOT)/src/unity.c src/ProductionCode2.c test/TestProductionCo
20
51
  INC_DIRS=-Isrc -I$(UNITY_ROOT)/src
21
52
  SYMBOLS=-DTEST
22
53
 
23
- ifeq ($(OS),Windows_NT)
24
- CLEANUP = del /F /Q $(TARGET1) && del /F /Q $(TARGET2)
25
- else
26
- CLEANUP = rm -f build/*.o ; rm -f $(TARGET1) ; rm -f $(TARGET2)
27
- endif
28
-
29
54
  all: clean default
30
55
 
31
56
  default:
32
- # ruby auto/generate_test_runner.rb test/TestProductionCode.c test/test_runners/TestProductionCode_Runner.c
33
- # ruby auto/generate_test_runner.rb test/TestProductionCode2.c test/test_runners/TestProductionCode2_Runner.c
34
- $(C_COMPILER) $(INC_DIRS) $(SYMBOLS) $(SRC_FILES1) -o $(TARGET1)
35
- $(C_COMPILER) $(INC_DIRS) $(SYMBOLS) $(SRC_FILES2) -o $(TARGET2)
57
+ ruby $(UNITY_ROOT)/auto/generate_test_runner.rb test/TestProductionCode.c test/test_runners/TestProductionCode_Runner.c
58
+ ruby $(UNITY_ROOT)/auto/generate_test_runner.rb test/TestProductionCode2.c test/test_runners/TestProductionCode2_Runner.c
59
+ $(C_COMPILER) $(CFLAGS) $(INC_DIRS) $(SYMBOLS) $(SRC_FILES1) -o $(TARGET1)
60
+ $(C_COMPILER) $(CFLAGS) $(INC_DIRS) $(SYMBOLS) $(SRC_FILES2) -o $(TARGET2)
36
61
  ./$(TARGET1)
37
62
  ./$(TARGET2)
38
63
 
@@ -3,6 +3,8 @@
3
3
 
4
4
  char* ThisFunctionHasNotBeenTested(int Poor, char* LittleFunction)
5
5
  {
6
+ (void)Poor;
7
+ (void)LittleFunction;
6
8
  //Since There Are No Tests Yet, This Function Could Be Empty For All We Know.
7
9
  // Which isn't terribly useful... but at least we put in a TEST_IGNORE so we won't forget
8
10
  return (char*)0;
@@ -1,46 +1,53 @@
1
1
  /* AUTOGENERATED FILE. DO NOT EDIT. */
2
+
3
+ //=======Test Runner Used To Run Each Test Below=====
4
+ #define RUN_TEST(TestFunc, TestLineNum) \
5
+ { \
6
+ Unity.CurrentTestName = #TestFunc; \
7
+ Unity.CurrentTestLineNumber = TestLineNum; \
8
+ Unity.NumberOfTests++; \
9
+ if (TEST_PROTECT()) \
10
+ { \
11
+ setUp(); \
12
+ TestFunc(); \
13
+ } \
14
+ if (TEST_PROTECT() && !TEST_IS_IGNORED) \
15
+ { \
16
+ tearDown(); \
17
+ } \
18
+ UnityConcludeTest(); \
19
+ }
20
+
21
+ //=======Automagically Detected Files To Include=====
2
22
  #include "unity.h"
3
23
  #include <setjmp.h>
4
24
  #include <stdio.h>
25
+ #include "ProductionCode2.h"
5
26
 
6
- char MessageBuffer[50];
7
-
27
+ //=======External Functions This Runner Calls=====
8
28
  extern void setUp(void);
9
29
  extern void tearDown(void);
10
-
11
30
  extern void test_IgnoredTest(void);
12
31
  extern void test_AnotherIgnoredTest(void);
13
32
  extern void test_ThisFunctionHasNotBeenTested_NeedsToBeImplemented(void);
14
33
 
15
- static void runTest(UnityTestFunction test)
16
- {
17
- if (TEST_PROTECT())
18
- {
19
- setUp();
20
- test();
21
- }
22
- if (TEST_PROTECT() && !TEST_IS_IGNORED)
23
- {
24
- tearDown();
25
- }
26
- }
27
- void resetTest()
34
+
35
+ //=======Test Reset Option=====
36
+ void resetTest(void);
37
+ void resetTest(void)
28
38
  {
29
39
  tearDown();
30
40
  setUp();
31
41
  }
32
42
 
33
43
 
44
+ //=======MAIN=====
34
45
  int main(void)
35
46
  {
36
- Unity.TestFile = "test/TestProductionCode2.c";
37
- UnityBegin();
38
-
39
- // RUN_TEST calls runTest
40
- RUN_TEST(test_IgnoredTest, 13);
41
- RUN_TEST(test_AnotherIgnoredTest, 18);
42
- RUN_TEST(test_ThisFunctionHasNotBeenTested_NeedsToBeImplemented, 23);
47
+ UnityBegin("test/TestProductionCode2.c");
48
+ RUN_TEST(test_IgnoredTest, 18);
49
+ RUN_TEST(test_AnotherIgnoredTest, 23);
50
+ RUN_TEST(test_ThisFunctionHasNotBeenTested_NeedsToBeImplemented, 28);
43
51
 
44
- UnityEnd();
45
- return 0;
52
+ return (UnityEnd());
46
53
  }
@@ -1,50 +1,57 @@
1
1
  /* AUTOGENERATED FILE. DO NOT EDIT. */
2
+
3
+ //=======Test Runner Used To Run Each Test Below=====
4
+ #define RUN_TEST(TestFunc, TestLineNum) \
5
+ { \
6
+ Unity.CurrentTestName = #TestFunc; \
7
+ Unity.CurrentTestLineNumber = TestLineNum; \
8
+ Unity.NumberOfTests++; \
9
+ if (TEST_PROTECT()) \
10
+ { \
11
+ setUp(); \
12
+ TestFunc(); \
13
+ } \
14
+ if (TEST_PROTECT() && !TEST_IS_IGNORED) \
15
+ { \
16
+ tearDown(); \
17
+ } \
18
+ UnityConcludeTest(); \
19
+ }
20
+
21
+ //=======Automagically Detected Files To Include=====
2
22
  #include "unity.h"
3
23
  #include <setjmp.h>
4
24
  #include <stdio.h>
25
+ #include "ProductionCode.h"
5
26
 
6
- char MessageBuffer[50];
7
-
27
+ //=======External Functions This Runner Calls=====
8
28
  extern void setUp(void);
9
29
  extern void tearDown(void);
10
-
11
30
  extern void test_FindFunction_WhichIsBroken_ShouldReturnZeroIfItemIsNotInList_WhichWorksEvenInOurBrokenCode(void);
12
31
  extern void test_FindFunction_WhichIsBroken_ShouldReturnTheIndexForItemsInList_WhichWillFailBecauseOurFunctionUnderTestIsBroken(void);
13
32
  extern void test_FunctionWhichReturnsLocalVariable_ShouldReturnTheCurrentCounterValue(void);
14
33
  extern void test_FunctionWhichReturnsLocalVariable_ShouldReturnTheCurrentCounterValueAgain(void);
15
34
  extern void test_FunctionWhichReturnsLocalVariable_ShouldReturnCurrentCounter_ButFailsBecauseThisTestIsActuallyFlawed(void);
16
35
 
17
- static void runTest(UnityTestFunction test)
18
- {
19
- if (TEST_PROTECT())
20
- {
21
- setUp();
22
- test();
23
- }
24
- if (TEST_PROTECT() && !TEST_IS_IGNORED)
25
- {
26
- tearDown();
27
- }
28
- }
29
- void resetTest()
36
+
37
+ //=======Test Reset Option=====
38
+ void resetTest(void);
39
+ void resetTest(void)
30
40
  {
31
41
  tearDown();
32
42
  setUp();
33
43
  }
34
44
 
35
45
 
46
+ //=======MAIN=====
36
47
  int main(void)
37
48
  {
38
- Unity.TestFile = "test/TestProductionCode.c";
39
- UnityBegin();
40
-
41
- // RUN_TEST calls runTest
49
+ UnityBegin("test/TestProductionCode.c");
42
50
  RUN_TEST(test_FindFunction_WhichIsBroken_ShouldReturnZeroIfItemIsNotInList_WhichWorksEvenInOurBrokenCode, 20);
43
51
  RUN_TEST(test_FindFunction_WhichIsBroken_ShouldReturnTheIndexForItemsInList_WhichWillFailBecauseOurFunctionUnderTestIsBroken, 30);
44
52
  RUN_TEST(test_FunctionWhichReturnsLocalVariable_ShouldReturnTheCurrentCounterValue, 41);
45
53
  RUN_TEST(test_FunctionWhichReturnsLocalVariable_ShouldReturnTheCurrentCounterValueAgain, 51);
46
54
  RUN_TEST(test_FunctionWhichReturnsLocalVariable_ShouldReturnCurrentCounter_ButFailsBecauseThisTestIsActuallyFlawed, 57);
47
55
 
48
- UnityEnd();
49
- return 0;
56
+ return (UnityEnd());
50
57
  }
@@ -4,14 +4,48 @@
4
4
  # [Released under MIT License. Please refer to license.txt for details]
5
5
  # ==========================================
6
6
 
7
- UNITY_ROOT=../..
8
- C_COMPILER=gcc
9
- TARGET_BASE1=all_tests
10
- ifeq ($(OS),Windows_NT)
7
+ #We try to detect the OS we are running on, and adjust commands as needed
8
+ ifeq ($(OSTYPE),cygwin)
9
+ CLEANUP = rm -f
10
+ MKDIR = mkdir -p
11
+ TARGET_EXTENSION=.out
12
+ elseifeq ($(OSTYPE),msys)
13
+ CLEANUP = rm -f
14
+ MKDIR = mkdir -p
15
+ TARGET_EXTENSION=.exe
16
+ elseifeq ($(OS),Windows_NT)
17
+ CLEANUP = del /F /Q
18
+ MKDIR = mkdir
11
19
  TARGET_EXTENSION=.exe
12
20
  else
21
+ CLEANUP = rm -f
22
+ MKDIR = mkdir -p
13
23
  TARGET_EXTENSION=.out
14
24
  endif
25
+
26
+ UNITY_ROOT=../..
27
+ C_COMPILER=gcc
28
+
29
+ CFLAGS = -std=c99
30
+ CFLAGS += -Wall
31
+ CFLAGS += -Wextra
32
+ CFLAGS += -Werror
33
+ CFLAGS += -Wpointer-arith
34
+ CFLAGS += -Wcast-align
35
+ CFLAGS += -Wwrite-strings
36
+ CFLAGS += -Wswitch-default
37
+ CFLAGS += -Wunreachable-code
38
+ CFLAGS += -Winit-self
39
+ CFLAGS += -Wmissing-field-initializers
40
+ CFLAGS += -Wno-unknown-pragmas
41
+ CFLAGS += -Wstrict-prototypes
42
+ CFLAGS += -Wundef
43
+ CFLAGS += -Wold-style-definition
44
+ CFLAGS += -Wmissing-prototypes
45
+ CFLAGS += -Wmissing-declarations
46
+ CFLAGS += -DUNITY_FIXTURES
47
+
48
+ TARGET_BASE1=all_tests
15
49
  TARGET1 = $(TARGET_BASE1)$(TARGET_EXTENSION)
16
50
  SRC_FILES1=\
17
51
  $(UNITY_ROOT)/src/unity.c \
@@ -26,19 +60,11 @@ SRC_FILES1=\
26
60
  INC_DIRS=-Isrc -I$(UNITY_ROOT)/src -I$(UNITY_ROOT)/extras/fixture/src
27
61
  SYMBOLS=
28
62
 
29
- ifeq ($(OS),Windows_NT)
30
- CLEANUP = del /F /Q $(TARGET1)
31
- else
32
- CLEANUP = rm -f build/*.o ; rm -f $(TARGET1)
33
- endif
34
-
35
63
  all: clean default
36
64
 
37
65
  default:
38
- # ruby auto/generate_test_runner.rb test/TestProductionCode.c test/test_runners/TestProductionCode_Runner.c
39
- # ruby auto/generate_test_runner.rb test/TestProductionCode2.c test/test_runners/TestProductionCode2_Runner.c
40
- $(C_COMPILER) $(INC_DIRS) $(SYMBOLS) $(SRC_FILES1) -o $(TARGET1)
41
- ./$(TARGET1)
66
+ $(C_COMPILER) $(CFLAGS) $(INC_DIRS) $(SYMBOLS) $(SRC_FILES1) -o $(TARGET1)
67
+ ./$(TARGET1) -v
42
68
 
43
69
  clean:
44
70
  $(CLEANUP)
@@ -3,6 +3,8 @@
3
3
 
4
4
  char* ThisFunctionHasNotBeenTested(int Poor, char* LittleFunction)
5
5
  {
6
+ (void)Poor;
7
+ (void)LittleFunction;
6
8
  //Since There Are No Tests Yet, This Function Could Be Empty For All We Know.
7
9
  // Which isn't terribly useful... but at least we put in a TEST_IGNORE so we won't forget
8
10
  return (char*)0;
@@ -6,7 +6,7 @@ static void RunAllTests(void)
6
6
  RUN_TEST_GROUP(ProductionCode2);
7
7
  }
8
8
 
9
- int main(int argc, char * argv[])
9
+ int main(int argc, const char * argv[])
10
10
  {
11
11
  return UnityMain(argc, argv, RunAllTests);
12
- }
12
+ }
@@ -3,7 +3,6 @@ UNITY_ROOT = File.expand_path(File.dirname(__FILE__)) + '/../..'
3
3
 
4
4
  require 'rake'
5
5
  require 'rake/clean'
6
- require 'rake/testtask'
7
6
  require HERE+'rakefile_helper'
8
7
 
9
8
  TEMP_DIRS = [
@@ -3,6 +3,8 @@
3
3
 
4
4
  char* ThisFunctionHasNotBeenTested(int Poor, char* LittleFunction)
5
5
  {
6
+ (void)Poor;
7
+ (void)LittleFunction;
6
8
  //Since There Are No Tests Yet, This Function Could Be Empty For All We Know.
7
9
  // Which isn't terribly useful... but at least we put in a TEST_IGNORE so we won't forget
8
10
  return (char*)0;
@@ -1,37 +1,48 @@
1
- # ==========================================
2
- # Unity Project - A Test Framework for C
3
- # Copyright (c) 2007 Mike Karlesky, Mark VanderVoord, Greg Williams
4
- # [Released under MIT License. Please refer to license.txt for details]
5
- # ==========================================
6
-
7
- HERE = File.expand_path(File.dirname(__FILE__)) + '/'
8
-
9
- require 'rake'
10
- require 'rake/clean'
11
- require 'rake/testtask'
12
- require HERE + 'rakefile_helper'
13
-
14
- include RakefileHelpers
15
-
16
- # Load default configuration, for now
17
- DEFAULT_CONFIG_FILE = 'gcc_32.yml'
18
- configure_toolchain(DEFAULT_CONFIG_FILE)
19
-
20
- task :unit do
21
- run_tests
22
- end
23
-
24
- desc "Build and test Unity Framework"
25
- task :all => [:clean, :unit]
26
- task :default => [:clobber, :all]
27
- task :ci => [:no_color, :default]
28
- task :cruise => [:no_color, :default]
29
-
30
- desc "Load configuration"
31
- task :config, :config_file do |t, args|
32
- configure_toolchain(args[:config_file])
33
- end
34
-
35
- task :no_color do
36
- $colour_output = false
37
- end
1
+ # ==========================================
2
+ # Unity Project - A Test Framework for C
3
+ # Copyright (c) 2007 Mike Karlesky, Mark VanderVoord, Greg Williams
4
+ # [Released under MIT License. Please refer to license.txt for details]
5
+ # ==========================================
6
+
7
+ HERE = File.expand_path(File.dirname(__FILE__)) + '/'
8
+
9
+ require 'rake'
10
+ require 'rake/clean'
11
+ require 'rake/testtask'
12
+ require HERE + 'rakefile_helper'
13
+
14
+ TEMP_DIRS = [
15
+ File.join(HERE, 'build')
16
+ ]
17
+
18
+ TEMP_DIRS.each do |dir|
19
+ directory(dir)
20
+ CLOBBER.include(dir)
21
+ end
22
+
23
+ task :prepare_for_tests => TEMP_DIRS
24
+
25
+ include RakefileHelpers
26
+
27
+ # Load default configuration, for now
28
+ DEFAULT_CONFIG_FILE = 'gcc_auto_stdint.yml'
29
+ configure_toolchain(DEFAULT_CONFIG_FILE)
30
+
31
+ task :unit => [:prepare_for_tests] do
32
+ run_tests
33
+ end
34
+
35
+ desc "Build and test Unity Framework"
36
+ task :all => [:clean, :unit]
37
+ task :default => [:clobber, :all]
38
+ task :ci => [:no_color, :default]
39
+ task :cruise => [:no_color, :default]
40
+
41
+ desc "Load configuration"
42
+ task :config, :config_file do |t, args|
43
+ configure_toolchain(args[:config_file])
44
+ end
45
+
46
+ task :no_color do
47
+ $colour_output = false
48
+ end
@@ -1,179 +1,179 @@
1
- # ==========================================
2
- # Unity Project - A Test Framework for C
3
- # Copyright (c) 2007 Mike Karlesky, Mark VanderVoord, Greg Williams
4
- # [Released under MIT License. Please refer to license.txt for details]
5
- # ==========================================
6
-
7
- require 'yaml'
8
- require 'fileutils'
9
- require HERE+'../../auto/unity_test_summary'
10
- require HERE+'../../auto/generate_test_runner'
11
- require HERE+'../../auto/colour_reporter'
12
-
13
- module RakefileHelpers
14
-
15
- C_EXTENSION = '.c'
16
-
17
- def load_configuration(config_file)
18
- unless ($configured)
19
- $cfg_file = HERE+"../../targets/#{config_file}" unless (config_file =~ /[\\|\/]/)
20
- $cfg = YAML.load(File.read($cfg_file))
21
- $colour_output = false unless $cfg['colour']
22
- $configured = true if (config_file != DEFAULT_CONFIG_FILE)
23
- end
24
- end
25
-
26
- def configure_clean
27
- CLEAN.include($cfg['compiler']['build_path'] + '*.*') unless $cfg['compiler']['build_path'].nil?
28
- end
29
-
30
- def configure_toolchain(config_file=DEFAULT_CONFIG_FILE)
31
- config_file += '.yml' unless config_file =~ /\.yml$/
32
- config_file = config_file unless config_file =~ /[\\|\/]/
33
- load_configuration(config_file)
34
- configure_clean
35
- end
36
-
37
- def tackit(strings)
38
- if strings.is_a?(Array)
39
- result = "\"#{strings.join}\""
40
- else
41
- result = strings
42
- end
43
- return result
44
- end
45
-
46
- def squash(prefix, items)
47
- result = ''
48
- items.each { |item| result += " #{prefix}#{tackit(item)}" }
49
- return result
50
- end
51
-
52
- def build_compiler_fields
53
- command = tackit($cfg['compiler']['path'])
54
- if $cfg['compiler']['defines']['items'].nil?
55
- defines = ''
56
- else
57
- defines = squash($cfg['compiler']['defines']['prefix'], $cfg['compiler']['defines']['items'] + ['UNITY_OUTPUT_CHAR=UnityOutputCharSpy_OutputChar'])
58
- end
59
- options = squash('', $cfg['compiler']['options'])
60
- includes = squash($cfg['compiler']['includes']['prefix'], $cfg['compiler']['includes']['items'])
61
- includes = includes.gsub(/\\ /, ' ').gsub(/\\\"/, '"').gsub(/\\$/, '') # Remove trailing slashes (for IAR)
62
- return {:command => command, :defines => defines, :options => options, :includes => includes}
63
- end
64
-
65
- def compile(file, defines=[])
66
- compiler = build_compiler_fields
67
- unity_include = $cfg['compiler']['includes']['prefix']+'../../src'
68
- cmd_str = "#{compiler[:command]}#{compiler[:defines]}#{compiler[:options]}#{compiler[:includes]} #{unity_include} #{file} " +
69
- "#{$cfg['compiler']['object_files']['prefix']}#{$cfg['compiler']['object_files']['destination']}" +
70
- "#{File.basename(file, C_EXTENSION)}#{$cfg['compiler']['object_files']['extension']}"
71
- execute(cmd_str)
72
- end
73
-
74
- def build_linker_fields
75
- command = tackit($cfg['linker']['path'])
76
- if $cfg['linker']['options'].nil?
77
- options = ''
78
- else
79
- options = squash('', $cfg['linker']['options'])
80
- end
81
- if ($cfg['linker']['includes'].nil? || $cfg['linker']['includes']['items'].nil?)
82
- includes = ''
83
- else
84
- includes = squash($cfg['linker']['includes']['prefix'], $cfg['linker']['includes']['items'])
85
- end
86
- includes = includes.gsub(/\\ /, ' ').gsub(/\\\"/, '"').gsub(/\\$/, '') # Remove trailing slashes (for IAR)
87
- return {:command => command, :options => options, :includes => includes}
88
- end
89
-
90
- def link_it(exe_name, obj_list)
91
- linker = build_linker_fields
92
- cmd_str = "#{linker[:command]}#{linker[:options]}#{linker[:includes]} " +
93
- (obj_list.map{|obj|"#{$cfg['linker']['object_files']['path']}#{obj} "}).join +
94
- $cfg['linker']['bin_files']['prefix'] + ' ' +
95
- $cfg['linker']['bin_files']['destination'] +
96
- exe_name + $cfg['linker']['bin_files']['extension']
97
- execute(cmd_str)
98
- end
99
-
100
- def build_simulator_fields
101
- return nil if $cfg['simulator'].nil?
102
- if $cfg['simulator']['path'].nil?
103
- command = ''
104
- else
105
- command = (tackit($cfg['simulator']['path']) + ' ')
106
- end
107
- if $cfg['simulator']['pre_support'].nil?
108
- pre_support = ''
109
- else
110
- pre_support = squash('', $cfg['simulator']['pre_support'])
111
- end
112
- if $cfg['simulator']['post_support'].nil?
113
- post_support = ''
114
- else
115
- post_support = squash('', $cfg['simulator']['post_support'])
116
- end
117
- return {:command => command, :pre_support => pre_support, :post_support => post_support}
118
- end
119
-
120
- def execute(command_string, verbose=true)
121
- report command_string
122
- output = `#{command_string}`.chomp
123
- report(output) if (verbose && !output.nil? && (output.length > 0))
124
- if ($?.exitstatus != 0)
125
- raise "Command failed. (Returned #{$?.exitstatus})"
126
- end
127
- return output
128
- end
129
-
130
- def report_summary
131
- summary = UnityTestSummary.new
132
- summary.set_root_path(HERE)
133
- results_glob = "#{$cfg['compiler']['build_path']}*.test*"
134
- results_glob.gsub!(/\\/, '/')
135
- results = Dir[results_glob]
136
- summary.set_targets(results)
137
- summary.run
138
- end
139
-
140
- def run_tests
141
- report 'Running Unity system tests...'
142
-
143
- # Tack on TEST define for compiling unit tests
144
- load_configuration($cfg_file)
145
- test_defines = ['TEST']
146
- $cfg['compiler']['defines']['items'] = [] if $cfg['compiler']['defines']['items'].nil?
147
-
148
- # Get a list of all source files needed
149
- src_files = Dir[HERE+'src/*.c']
150
- src_files += Dir[HERE+'test/*.c']
151
- src_files += Dir[HERE+'test/main/*.c']
152
- src_files << '../../src/unity.c'
153
-
154
- # Build object files
155
- src_files.each { |f| compile(f, test_defines) }
156
- obj_list = src_files.map {|f| File.basename(f.ext($cfg['compiler']['object_files']['extension'])) }
157
-
158
- # Link the test executable
159
- test_base = "framework_test"
160
- link_it(test_base, obj_list)
161
-
162
- # Execute unit test and generate results file
163
- simulator = build_simulator_fields
164
- executable = $cfg['linker']['bin_files']['destination'] + test_base + $cfg['linker']['bin_files']['extension']
165
- if simulator.nil?
166
- cmd_str = executable + " -v -r"
167
- else
168
- cmd_str = "#{simulator[:command]} #{simulator[:pre_support]} #{executable} #{simulator[:post_support]}"
169
- end
170
- output = execute(cmd_str)
171
- test_results = $cfg['compiler']['build_path'] + test_base
172
- if output.match(/OK$/m).nil?
173
- test_results += '.testfail'
174
- else
175
- test_results += '.testpass'
176
- end
177
- File.open(test_results, 'w') { |f| f.print output }
178
- end
179
- end
1
+ # ==========================================
2
+ # Unity Project - A Test Framework for C
3
+ # Copyright (c) 2007 Mike Karlesky, Mark VanderVoord, Greg Williams
4
+ # [Released under MIT License. Please refer to license.txt for details]
5
+ # ==========================================
6
+
7
+ require 'yaml'
8
+ require 'fileutils'
9
+ require HERE+'../../auto/unity_test_summary'
10
+ require HERE+'../../auto/generate_test_runner'
11
+ require HERE+'../../auto/colour_reporter'
12
+
13
+ module RakefileHelpers
14
+
15
+ C_EXTENSION = '.c'
16
+
17
+ def load_configuration(config_file)
18
+ unless ($configured)
19
+ $cfg_file = HERE+"../../test/targets/#{config_file}" unless (config_file =~ /[\\|\/]/)
20
+ $cfg = YAML.load(File.read($cfg_file))
21
+ $colour_output = false unless $cfg['colour']
22
+ $configured = true if (config_file != DEFAULT_CONFIG_FILE)
23
+ end
24
+ end
25
+
26
+ def configure_clean
27
+ CLEAN.include($cfg['compiler']['build_path'] + '*.*') unless $cfg['compiler']['build_path'].nil?
28
+ end
29
+
30
+ def configure_toolchain(config_file=DEFAULT_CONFIG_FILE)
31
+ config_file += '.yml' unless config_file =~ /\.yml$/
32
+ config_file = config_file unless config_file =~ /[\\|\/]/
33
+ load_configuration(config_file)
34
+ configure_clean
35
+ end
36
+
37
+ def tackit(strings)
38
+ if strings.is_a?(Array)
39
+ result = "\"#{strings.join}\""
40
+ else
41
+ result = strings
42
+ end
43
+ return result
44
+ end
45
+
46
+ def squash(prefix, items)
47
+ result = ''
48
+ items.each { |item| result += " #{prefix}#{tackit(item)}" }
49
+ return result
50
+ end
51
+
52
+ def build_compiler_fields
53
+ command = tackit($cfg['compiler']['path'])
54
+ if $cfg['compiler']['defines']['items'].nil?
55
+ defines = ''
56
+ else
57
+ defines = squash($cfg['compiler']['defines']['prefix'], $cfg['compiler']['defines']['items'] + ['UNITY_OUTPUT_CHAR=UnityOutputCharSpy_OutputChar'])
58
+ end
59
+ options = squash('', $cfg['compiler']['options'])
60
+ includes = squash($cfg['compiler']['includes']['prefix'], $cfg['compiler']['includes']['items'])
61
+ includes = includes.gsub(/\\ /, ' ').gsub(/\\\"/, '"').gsub(/\\$/, '') # Remove trailing slashes (for IAR)
62
+ return {:command => command, :defines => defines, :options => options, :includes => includes}
63
+ end
64
+
65
+ def compile(file, defines=[])
66
+ compiler = build_compiler_fields
67
+ unity_include = $cfg['compiler']['includes']['prefix']+'../../src'
68
+ cmd_str = "#{compiler[:command]}#{compiler[:defines]}#{compiler[:options]}#{compiler[:includes]} #{unity_include} #{file} " +
69
+ "#{$cfg['compiler']['object_files']['prefix']}#{$cfg['compiler']['object_files']['destination']}" +
70
+ "#{File.basename(file, C_EXTENSION)}#{$cfg['compiler']['object_files']['extension']}"
71
+ execute(cmd_str)
72
+ end
73
+
74
+ def build_linker_fields
75
+ command = tackit($cfg['linker']['path'])
76
+ if $cfg['linker']['options'].nil?
77
+ options = ''
78
+ else
79
+ options = squash('', $cfg['linker']['options'])
80
+ end
81
+ if ($cfg['linker']['includes'].nil? || $cfg['linker']['includes']['items'].nil?)
82
+ includes = ''
83
+ else
84
+ includes = squash($cfg['linker']['includes']['prefix'], $cfg['linker']['includes']['items'])
85
+ end
86
+ includes = includes.gsub(/\\ /, ' ').gsub(/\\\"/, '"').gsub(/\\$/, '') # Remove trailing slashes (for IAR)
87
+ return {:command => command, :options => options, :includes => includes}
88
+ end
89
+
90
+ def link_it(exe_name, obj_list)
91
+ linker = build_linker_fields
92
+ cmd_str = "#{linker[:command]}#{linker[:options]}#{linker[:includes]} " +
93
+ (obj_list.map{|obj|"#{$cfg['linker']['object_files']['path']}#{obj} "}).join +
94
+ $cfg['linker']['bin_files']['prefix'] + ' ' +
95
+ $cfg['linker']['bin_files']['destination'] +
96
+ exe_name + $cfg['linker']['bin_files']['extension']
97
+ execute(cmd_str)
98
+ end
99
+
100
+ def build_simulator_fields
101
+ return nil if $cfg['simulator'].nil?
102
+ if $cfg['simulator']['path'].nil?
103
+ command = ''
104
+ else
105
+ command = (tackit($cfg['simulator']['path']) + ' ')
106
+ end
107
+ if $cfg['simulator']['pre_support'].nil?
108
+ pre_support = ''
109
+ else
110
+ pre_support = squash('', $cfg['simulator']['pre_support'])
111
+ end
112
+ if $cfg['simulator']['post_support'].nil?
113
+ post_support = ''
114
+ else
115
+ post_support = squash('', $cfg['simulator']['post_support'])
116
+ end
117
+ return {:command => command, :pre_support => pre_support, :post_support => post_support}
118
+ end
119
+
120
+ def execute(command_string, verbose=true)
121
+ report command_string
122
+ output = `#{command_string}`.chomp
123
+ report(output) if (verbose && !output.nil? && (output.length > 0))
124
+ if ($?.exitstatus != 0)
125
+ raise "Command failed. (Returned #{$?.exitstatus})"
126
+ end
127
+ return output
128
+ end
129
+
130
+ def report_summary
131
+ summary = UnityTestSummary.new
132
+ summary.set_root_path(HERE)
133
+ results_glob = "#{$cfg['compiler']['build_path']}*.test*"
134
+ results_glob.gsub!(/\\/, '/')
135
+ results = Dir[results_glob]
136
+ summary.set_targets(results)
137
+ summary.run
138
+ end
139
+
140
+ def run_tests
141
+ report 'Running Unity system tests...'
142
+
143
+ # Tack on TEST define for compiling unit tests
144
+ load_configuration($cfg_file)
145
+ test_defines = ['TEST']
146
+ $cfg['compiler']['defines']['items'] = [] if $cfg['compiler']['defines']['items'].nil?
147
+
148
+ # Get a list of all source files needed
149
+ src_files = Dir[HERE+'src/*.c']
150
+ src_files += Dir[HERE+'test/*.c']
151
+ src_files += Dir[HERE+'test/main/*.c']
152
+ src_files << '../../src/unity.c'
153
+
154
+ # Build object files
155
+ src_files.each { |f| compile(f, test_defines) }
156
+ obj_list = src_files.map {|f| File.basename(f.ext($cfg['compiler']['object_files']['extension'])) }
157
+
158
+ # Link the test executable
159
+ test_base = "framework_test"
160
+ link_it(test_base, obj_list)
161
+
162
+ # Execute unit test and generate results file
163
+ simulator = build_simulator_fields
164
+ executable = $cfg['linker']['bin_files']['destination'] + test_base + $cfg['linker']['bin_files']['extension']
165
+ if simulator.nil?
166
+ cmd_str = executable + " -v -r"
167
+ else
168
+ cmd_str = "#{simulator[:command]} #{simulator[:pre_support]} #{executable} #{simulator[:post_support]}"
169
+ end
170
+ output = execute(cmd_str)
171
+ test_results = $cfg['compiler']['build_path'] + test_base
172
+ if output.match(/OK$/m).nil?
173
+ test_results += '.testfail'
174
+ else
175
+ test_results += '.testpass'
176
+ end
177
+ File.open(test_results, 'w') { |f| f.print output }
178
+ end
179
+ end