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
@@ -1,74 +1,74 @@
1
- require File.dirname(__FILE__) + '/../unit_test_helper'
2
- require 'rubygems'
3
- require 'rake'
4
-
5
-
6
- class RakeRulesCmockTest < Test::Unit::TestCase
7
-
8
- def setup
9
- rake_setup('rakefile_rules_cmock.rb', :file_finder, :generator)
10
- end
11
-
12
- def teardown
13
- Rake.application = nil
14
- end
15
-
16
-
17
- should "recognize missing mock files, find their source, and execute rake tasks from the rule for mock generation" do
18
- # default values as set in test_helper
19
- redefine_global_constant('CMOCK_MOCK_PREFIX', 'mock_')
20
- redefine_global_constant('EXTENSION_SOURCE', '.c')
21
-
22
- # reload rakefile with new global constants
23
- setup()
24
-
25
- mock_src1 = 'files/source/thing.h'
26
- mock_src2 = 'stuff.h'
27
- mock_src3 = 'files/source/WooDoggie.h'
28
- mock1 = 'files/mocks/mock_thing.c'
29
- mock2 = 'mock_stuff.c'
30
- mock3 = 'files/mocks/mock_WooDoggie.c'
31
-
32
- # fake out rake so it won't look for the header files on disk and find they don't exist.
33
- # by creating file tasks we're telling rake there's a means to create these files that don't exist (but we never use the mechanism).
34
- @rake.define_task(Rake::FileTask, mock_src1)
35
- @rake.define_task(Rake::FileTask, mock_src2)
36
- @rake.define_task(Rake::FileTask, mock_src3)
37
-
38
- # set up expectations
39
- @file_finder.expects.find_mockable_header(mock1).returns(mock_src1)
40
- @generator.expects.generate_mock(mock_src1)
41
- @file_finder.expects.find_mockable_header(mock2).returns(mock_src2)
42
- @generator.expects.generate_mock(mock_src2)
43
- @file_finder.expects.find_mockable_header(mock3).returns(mock_src3)
44
- @generator.expects.generate_mock(mock_src3)
45
-
46
- # invoke the mock creation rule under test
47
- @rake[mock1].invoke
48
- @rake[mock2].invoke
49
- @rake[mock3].invoke
50
- end
51
-
52
- should "handle alternate mock prefixes and source extensions for mock generation rule" do
53
- redefine_global_constant('CMOCK_MOCK_PREFIX', 'Mock')
54
- redefine_global_constant('EXTENSION_SOURCE', '.x')
55
-
56
- # reload rakefile with new global constants
57
- setup()
58
-
59
- mock_src1 = 'files/source/IngBird.h'
60
- mock1 = 'files/mocks/MockIngBird.x'
61
-
62
- # fake out rake so it won't look for the header files on disk and find they don't exist.
63
- # by creating file tasks we're telling rake there's a means to create these files that don't exist (but we never use the mechanism).
64
- @rake.define_task(Rake::FileTask, mock_src1)
65
-
66
- # set up expectations
67
- @file_finder.expects.find_mockable_header(mock1).returns(mock_src1)
68
- @generator.expects.generate_mock(mock_src1)
69
-
70
- # invoke the mock creation rule under test
71
- @rake[mock1].invoke
72
- end
73
-
74
- end
1
+ require File.dirname(__FILE__) + '/../unit_test_helper'
2
+ require 'rubygems'
3
+ require 'rake'
4
+
5
+
6
+ class RakeRulesCmockTest < Test::Unit::TestCase
7
+
8
+ def setup
9
+ rake_setup('rakefile_rules_cmock.rb', :file_finder, :generator)
10
+ end
11
+
12
+ def teardown
13
+ Rake.application = nil
14
+ end
15
+
16
+
17
+ should "recognize missing mock files, find their source, and execute rake tasks from the rule for mock generation" do
18
+ # default values as set in test_helper
19
+ redefine_global_constant('CMOCK_MOCK_PREFIX', 'mock_')
20
+ redefine_global_constant('EXTENSION_SOURCE', '.c')
21
+
22
+ # reload rakefile with new global constants
23
+ setup()
24
+
25
+ mock_src1 = 'files/source/thing.h'
26
+ mock_src2 = 'stuff.h'
27
+ mock_src3 = 'files/source/WooDoggie.h'
28
+ mock1 = 'files/mocks/mock_thing.c'
29
+ mock2 = 'mock_stuff.c'
30
+ mock3 = 'files/mocks/mock_WooDoggie.c'
31
+
32
+ # fake out rake so it won't look for the header files on disk and find they don't exist.
33
+ # by creating file tasks we're telling rake there's a means to create these files that don't exist (but we never use the mechanism).
34
+ @rake.define_task(Rake::FileTask, mock_src1)
35
+ @rake.define_task(Rake::FileTask, mock_src2)
36
+ @rake.define_task(Rake::FileTask, mock_src3)
37
+
38
+ # set up expectations
39
+ @file_finder.expects.find_mockable_header(mock1).returns(mock_src1)
40
+ @generator.expects.generate_mock(mock_src1)
41
+ @file_finder.expects.find_mockable_header(mock2).returns(mock_src2)
42
+ @generator.expects.generate_mock(mock_src2)
43
+ @file_finder.expects.find_mockable_header(mock3).returns(mock_src3)
44
+ @generator.expects.generate_mock(mock_src3)
45
+
46
+ # invoke the mock creation rule under test
47
+ @rake[mock1].invoke
48
+ @rake[mock2].invoke
49
+ @rake[mock3].invoke
50
+ end
51
+
52
+ should "handle alternate mock prefixes and source extensions for mock generation rule" do
53
+ redefine_global_constant('CMOCK_MOCK_PREFIX', 'Mock')
54
+ redefine_global_constant('EXTENSION_SOURCE', '.x')
55
+
56
+ # reload rakefile with new global constants
57
+ setup()
58
+
59
+ mock_src1 = 'files/source/IngBird.h'
60
+ mock1 = 'files/mocks/MockIngBird.x'
61
+
62
+ # fake out rake so it won't look for the header files on disk and find they don't exist.
63
+ # by creating file tasks we're telling rake there's a means to create these files that don't exist (but we never use the mechanism).
64
+ @rake.define_task(Rake::FileTask, mock_src1)
65
+
66
+ # set up expectations
67
+ @file_finder.expects.find_mockable_header(mock1).returns(mock_src1)
68
+ @generator.expects.generate_mock(mock_src1)
69
+
70
+ # invoke the mock creation rule under test
71
+ @rake[mock1].invoke
72
+ end
73
+
74
+ end
@@ -1,178 +1,178 @@
1
- require File.dirname(__FILE__) + '/../unit_test_helper'
2
- require 'rubygems'
3
- require 'rake'
4
-
5
-
6
- class RakeRulesPreprocessTest < Test::Unit::TestCase
7
-
8
- def setup
9
- rake_setup('rakefile_rules_preprocess.rb', :file_finder, :generator, :configurator)
10
- end
11
-
12
- def teardown
13
- Rake.application = nil
14
- end
15
-
16
-
17
- ################################
18
- ####### Preprocess Files #######
19
- ################################
20
-
21
- should "recognize missing preprocessed files, find their source, and execute rake tasks from the rule for generating preprocessed file output" do
22
- # default values as set in test_helper
23
- redefine_global_constant('PROJECT_TEST_PREPROCESS_FILES_PATH', 'project/build/preprocess/files')
24
- # because rule matches on any file, gotta set this path here to help rake distinguish rules when file is tested
25
- redefine_global_constant('PROJECT_TEST_PREPROCESS_INCLUDES_PATH', 'project/build/preprocess/includes')
26
-
27
- # reload rakefile with new global constants
28
- setup()
29
-
30
- # try all different paths and file extensions; we should be able to preprocess any kind of source file
31
- preprocess_src1 = 'tests/a/test_thing.c'
32
- preprocess_src2 = 'source/a_file.h'
33
- preprocess_src3 = 'source/lib/include/API.H'
34
- preprocess1 = 'project/build/preprocess/files/test_thing.c'
35
- preprocess2 = 'project/build/preprocess/files/a_file.h'
36
- preprocess3 = 'project/build/preprocess/files/API.H'
37
-
38
- # fake out rake so it won't look for the test files on disk and find they don't exist.
39
- # by creating file tasks we're telling rake there's a means to create these files that don't exist (but we never use the mechanism).
40
- @rake.define_task(Rake::FileTask, preprocess_src1)
41
- @rake.define_task(Rake::FileTask, preprocess_src2)
42
- @rake.define_task(Rake::FileTask, preprocess_src3)
43
-
44
- # set up expectations
45
- @file_finder.expects.find_test_or_source_or_header_file(preprocess1).returns(preprocess_src1)
46
- @configurator.expects.project_use_deep_dependencies.returns(true)
47
- @generator.expects.generate_preprocessed_file(preprocess_src1)
48
-
49
- @file_finder.expects.find_test_or_source_or_header_file(preprocess2).returns(preprocess_src2)
50
- @configurator.expects.project_use_deep_dependencies.returns(true)
51
- @generator.expects.generate_preprocessed_file(preprocess_src2)
52
-
53
- @file_finder.expects.find_test_or_source_or_header_file(preprocess3).returns(preprocess_src3)
54
- @configurator.expects.project_use_deep_dependencies.returns(true)
55
- @generator.expects.generate_preprocessed_file(preprocess_src3)
56
-
57
- # invoke the test preprocess creation rule under test
58
- @rake[preprocess1].invoke
59
- @rake[preprocess2].invoke
60
- @rake[preprocess3].invoke
61
- end
62
-
63
- should "complain if file preprocessing rule is executed but auxiliary dependencies are not enabled" do
64
- # default values as set in test_helper
65
- redefine_global_constant('PROJECT_TEST_PREPROCESS_FILES_PATH', 'project/build/preprocess/files')
66
- # because rule matches on any file, gotta set this path here to help rake distinguish rules when file is tested
67
- redefine_global_constant('PROJECT_TEST_PREPROCESS_INCLUDES_PATH', 'project/build/preprocess/includes')
68
-
69
- # reload rakefile with new global constants
70
- setup()
71
-
72
- # try all different paths and file extensions; we should be able to preprocess any kind of source file
73
- preprocess_src1 = 'tests/a/test_thing.c'
74
- preprocess1 = 'project/build/preprocess/files/test_thing.c'
75
-
76
- # fake out rake so it won't look for the test files on disk and find they don't exist.
77
- # by creating file tasks we're telling rake there's a means to create these files that don't exist (but we never use the mechanism).
78
- @rake.define_task(Rake::FileTask, preprocess_src1)
79
-
80
- # set up expectations
81
- @file_finder.expects.find_test_or_source_or_header_file(preprocess1).returns(preprocess_src1)
82
- @configurator.expects.project_use_deep_dependencies.returns(false)
83
-
84
- # invoke the test preprocess creation rule under test
85
- assert_raise(RuntimeError){ @rake[preprocess1].invoke }
86
- end
87
-
88
- should "handle alternate output file paths for preprocessed file output rule" do
89
- # default values as set in test_helper
90
- redefine_global_constant('PROJECT_TEST_PREPROCESS_FILES_PATH', 'demacroified/files')
91
- # because rule matches on any file, gotta set this path here to help rake distinguish rules when file is tested
92
- redefine_global_constant('PROJECT_TEST_PREPROCESS_INCLUDES_PATH', 'includes')
93
-
94
- # reload rakefile with new global constants
95
- setup()
96
-
97
- preprocess_src1 = 'tests/a/test_thing.C'
98
- preprocess1 = 'demacroified/files/test_thing.C'
99
-
100
- # fake out rake so it won't look for the test files on disk and find they don't exist.
101
- # by creating file tasks we're telling rake there's a means to create these files that don't exist (but we never use the mechanism).
102
- @rake.define_task(Rake::FileTask, preprocess_src1)
103
-
104
- # set up expectations
105
- @file_finder.expects.find_test_or_source_or_header_file(preprocess1).returns(preprocess_src1)
106
- @configurator.expects.project_use_deep_dependencies.returns(true)
107
- @generator.expects.generate_preprocessed_file(preprocess_src1)
108
-
109
- # invoke the test preprocess creation rule under test
110
- @rake[preprocess1].invoke
111
- end
112
-
113
- ########################################
114
- ####### Extract Shallow Includes #######
115
- ########################################
116
-
117
- should "recognize missing extracted includes files, find their source, and execute rake tasks from the rule for extracting file includes output" do
118
- # default values as set in test_helper
119
- redefine_global_constant('PROJECT_TEST_PREPROCESS_INCLUDES_PATH', 'project/build/preprocess/includes')
120
- # because rule matches on any file, gotta set this path here to help rake distinguish rules when file is tested
121
- redefine_global_constant('PROJECT_TEST_PREPROCESS_FILES_PATH', 'project/build/preprocess/files')
122
-
123
- # reload rakefile with new global constants
124
- setup()
125
-
126
- # try all different paths and file extensions; we should be able to preprocess any kind of source file
127
- includes_src1 = 'tests/a/test_thing.c'
128
- includes_src2 = 'source/a_file.h'
129
- includes_src3 = 'source/lib/include/API.H'
130
- includes1 = 'project/build/preprocess/includes/test_thing.c'
131
- includes2 = 'project/build/preprocess/includes/a_file.h'
132
- includes3 = 'project/build/preprocess/includes/API.H'
133
-
134
- # fake out rake so it won't look for the test files on disk and find they don't exist.
135
- # by creating file tasks we're telling rake there's a means to create these files that don't exist (but we never use the mechanism).
136
- @rake.define_task(Rake::FileTask, includes_src1)
137
- @rake.define_task(Rake::FileTask, includes_src2)
138
- @rake.define_task(Rake::FileTask, includes_src3)
139
-
140
- # set up expectations
141
- @file_finder.expects.find_test_or_source_or_header_file(includes1).returns(includes_src1)
142
- @generator.expects.generate_shallow_includes_list(includes_src1)
143
- @file_finder.expects.find_test_or_source_or_header_file(includes2).returns(includes_src2)
144
- @generator.expects.generate_shallow_includes_list(includes_src2)
145
- @file_finder.expects.find_test_or_source_or_header_file(includes3).returns(includes_src3)
146
- @generator.expects.generate_shallow_includes_list(includes_src3)
147
-
148
- # invoke the test includes creation rule under test
149
- @rake[includes1].invoke
150
- @rake[includes2].invoke
151
- @rake[includes3].invoke
152
- end
153
-
154
- should "handle alternate output file paths for preprocessor incluedes file output rule" do
155
- # default values as set in test_helper
156
- redefine_global_constant('PROJECT_TEST_PREPROCESS_INCLUDES_PATH', 'include_stuff')
157
- # because rule matches on any file, gotta set this path here to help rake distinguish rules when file is tested
158
- redefine_global_constant('PROJECT_TEST_PREPROCESS_FILES_PATH', 'project/build/preprocess/files')
159
-
160
- # reload rakefile with new global constants
161
- setup()
162
-
163
- includes_src1 = 'tests/a/test_thing.C'
164
- includes1 = 'include_stuff/test_thing.C'
165
-
166
- # fake out rake so it won't look for the test files on disk and find they don't exist.
167
- # by creating file tasks we're telling rake there's a means to create these files that don't exist (but we never use the mechanism).
168
- @rake.define_task(Rake::FileTask, includes_src1)
169
-
170
- # set up expectations
171
- @file_finder.expects.find_test_or_source_or_header_file(includes1).returns(includes_src1)
172
- @generator.expects.generate_shallow_includes_list(includes_src1)
173
-
174
- # invoke the test includes creation rule under test
175
- @rake[includes1].invoke
176
- end
177
-
178
- end
1
+ require File.dirname(__FILE__) + '/../unit_test_helper'
2
+ require 'rubygems'
3
+ require 'rake'
4
+
5
+
6
+ class RakeRulesPreprocessTest < Test::Unit::TestCase
7
+
8
+ def setup
9
+ rake_setup('rakefile_rules_preprocess.rb', :file_finder, :generator, :configurator)
10
+ end
11
+
12
+ def teardown
13
+ Rake.application = nil
14
+ end
15
+
16
+
17
+ ################################
18
+ ####### Preprocess Files #######
19
+ ################################
20
+
21
+ should "recognize missing preprocessed files, find their source, and execute rake tasks from the rule for generating preprocessed file output" do
22
+ # default values as set in test_helper
23
+ redefine_global_constant('PROJECT_TEST_PREPROCESS_FILES_PATH', 'project/build/preprocess/files')
24
+ # because rule matches on any file, gotta set this path here to help rake distinguish rules when file is tested
25
+ redefine_global_constant('PROJECT_TEST_PREPROCESS_INCLUDES_PATH', 'project/build/preprocess/includes')
26
+
27
+ # reload rakefile with new global constants
28
+ setup()
29
+
30
+ # try all different paths and file extensions; we should be able to preprocess any kind of source file
31
+ preprocess_src1 = 'tests/a/test_thing.c'
32
+ preprocess_src2 = 'source/a_file.h'
33
+ preprocess_src3 = 'source/lib/include/API.H'
34
+ preprocess1 = 'project/build/preprocess/files/test_thing.c'
35
+ preprocess2 = 'project/build/preprocess/files/a_file.h'
36
+ preprocess3 = 'project/build/preprocess/files/API.H'
37
+
38
+ # fake out rake so it won't look for the test files on disk and find they don't exist.
39
+ # by creating file tasks we're telling rake there's a means to create these files that don't exist (but we never use the mechanism).
40
+ @rake.define_task(Rake::FileTask, preprocess_src1)
41
+ @rake.define_task(Rake::FileTask, preprocess_src2)
42
+ @rake.define_task(Rake::FileTask, preprocess_src3)
43
+
44
+ # set up expectations
45
+ @file_finder.expects.find_test_or_source_or_header_file(preprocess1).returns(preprocess_src1)
46
+ @configurator.expects.project_use_deep_dependencies.returns(true)
47
+ @generator.expects.generate_preprocessed_file(preprocess_src1)
48
+
49
+ @file_finder.expects.find_test_or_source_or_header_file(preprocess2).returns(preprocess_src2)
50
+ @configurator.expects.project_use_deep_dependencies.returns(true)
51
+ @generator.expects.generate_preprocessed_file(preprocess_src2)
52
+
53
+ @file_finder.expects.find_test_or_source_or_header_file(preprocess3).returns(preprocess_src3)
54
+ @configurator.expects.project_use_deep_dependencies.returns(true)
55
+ @generator.expects.generate_preprocessed_file(preprocess_src3)
56
+
57
+ # invoke the test preprocess creation rule under test
58
+ @rake[preprocess1].invoke
59
+ @rake[preprocess2].invoke
60
+ @rake[preprocess3].invoke
61
+ end
62
+
63
+ should "complain if file preprocessing rule is executed but auxiliary dependencies are not enabled" do
64
+ # default values as set in test_helper
65
+ redefine_global_constant('PROJECT_TEST_PREPROCESS_FILES_PATH', 'project/build/preprocess/files')
66
+ # because rule matches on any file, gotta set this path here to help rake distinguish rules when file is tested
67
+ redefine_global_constant('PROJECT_TEST_PREPROCESS_INCLUDES_PATH', 'project/build/preprocess/includes')
68
+
69
+ # reload rakefile with new global constants
70
+ setup()
71
+
72
+ # try all different paths and file extensions; we should be able to preprocess any kind of source file
73
+ preprocess_src1 = 'tests/a/test_thing.c'
74
+ preprocess1 = 'project/build/preprocess/files/test_thing.c'
75
+
76
+ # fake out rake so it won't look for the test files on disk and find they don't exist.
77
+ # by creating file tasks we're telling rake there's a means to create these files that don't exist (but we never use the mechanism).
78
+ @rake.define_task(Rake::FileTask, preprocess_src1)
79
+
80
+ # set up expectations
81
+ @file_finder.expects.find_test_or_source_or_header_file(preprocess1).returns(preprocess_src1)
82
+ @configurator.expects.project_use_deep_dependencies.returns(false)
83
+
84
+ # invoke the test preprocess creation rule under test
85
+ assert_raise(RuntimeError){ @rake[preprocess1].invoke }
86
+ end
87
+
88
+ should "handle alternate output file paths for preprocessed file output rule" do
89
+ # default values as set in test_helper
90
+ redefine_global_constant('PROJECT_TEST_PREPROCESS_FILES_PATH', 'demacroified/files')
91
+ # because rule matches on any file, gotta set this path here to help rake distinguish rules when file is tested
92
+ redefine_global_constant('PROJECT_TEST_PREPROCESS_INCLUDES_PATH', 'includes')
93
+
94
+ # reload rakefile with new global constants
95
+ setup()
96
+
97
+ preprocess_src1 = 'tests/a/test_thing.C'
98
+ preprocess1 = 'demacroified/files/test_thing.C'
99
+
100
+ # fake out rake so it won't look for the test files on disk and find they don't exist.
101
+ # by creating file tasks we're telling rake there's a means to create these files that don't exist (but we never use the mechanism).
102
+ @rake.define_task(Rake::FileTask, preprocess_src1)
103
+
104
+ # set up expectations
105
+ @file_finder.expects.find_test_or_source_or_header_file(preprocess1).returns(preprocess_src1)
106
+ @configurator.expects.project_use_deep_dependencies.returns(true)
107
+ @generator.expects.generate_preprocessed_file(preprocess_src1)
108
+
109
+ # invoke the test preprocess creation rule under test
110
+ @rake[preprocess1].invoke
111
+ end
112
+
113
+ ########################################
114
+ ####### Extract Shallow Includes #######
115
+ ########################################
116
+
117
+ should "recognize missing extracted includes files, find their source, and execute rake tasks from the rule for extracting file includes output" do
118
+ # default values as set in test_helper
119
+ redefine_global_constant('PROJECT_TEST_PREPROCESS_INCLUDES_PATH', 'project/build/preprocess/includes')
120
+ # because rule matches on any file, gotta set this path here to help rake distinguish rules when file is tested
121
+ redefine_global_constant('PROJECT_TEST_PREPROCESS_FILES_PATH', 'project/build/preprocess/files')
122
+
123
+ # reload rakefile with new global constants
124
+ setup()
125
+
126
+ # try all different paths and file extensions; we should be able to preprocess any kind of source file
127
+ includes_src1 = 'tests/a/test_thing.c'
128
+ includes_src2 = 'source/a_file.h'
129
+ includes_src3 = 'source/lib/include/API.H'
130
+ includes1 = 'project/build/preprocess/includes/test_thing.c'
131
+ includes2 = 'project/build/preprocess/includes/a_file.h'
132
+ includes3 = 'project/build/preprocess/includes/API.H'
133
+
134
+ # fake out rake so it won't look for the test files on disk and find they don't exist.
135
+ # by creating file tasks we're telling rake there's a means to create these files that don't exist (but we never use the mechanism).
136
+ @rake.define_task(Rake::FileTask, includes_src1)
137
+ @rake.define_task(Rake::FileTask, includes_src2)
138
+ @rake.define_task(Rake::FileTask, includes_src3)
139
+
140
+ # set up expectations
141
+ @file_finder.expects.find_test_or_source_or_header_file(includes1).returns(includes_src1)
142
+ @generator.expects.generate_shallow_includes_list(includes_src1)
143
+ @file_finder.expects.find_test_or_source_or_header_file(includes2).returns(includes_src2)
144
+ @generator.expects.generate_shallow_includes_list(includes_src2)
145
+ @file_finder.expects.find_test_or_source_or_header_file(includes3).returns(includes_src3)
146
+ @generator.expects.generate_shallow_includes_list(includes_src3)
147
+
148
+ # invoke the test includes creation rule under test
149
+ @rake[includes1].invoke
150
+ @rake[includes2].invoke
151
+ @rake[includes3].invoke
152
+ end
153
+
154
+ should "handle alternate output file paths for preprocessor incluedes file output rule" do
155
+ # default values as set in test_helper
156
+ redefine_global_constant('PROJECT_TEST_PREPROCESS_INCLUDES_PATH', 'include_stuff')
157
+ # because rule matches on any file, gotta set this path here to help rake distinguish rules when file is tested
158
+ redefine_global_constant('PROJECT_TEST_PREPROCESS_FILES_PATH', 'project/build/preprocess/files')
159
+
160
+ # reload rakefile with new global constants
161
+ setup()
162
+
163
+ includes_src1 = 'tests/a/test_thing.C'
164
+ includes1 = 'include_stuff/test_thing.C'
165
+
166
+ # fake out rake so it won't look for the test files on disk and find they don't exist.
167
+ # by creating file tasks we're telling rake there's a means to create these files that don't exist (but we never use the mechanism).
168
+ @rake.define_task(Rake::FileTask, includes_src1)
169
+
170
+ # set up expectations
171
+ @file_finder.expects.find_test_or_source_or_header_file(includes1).returns(includes_src1)
172
+ @generator.expects.generate_shallow_includes_list(includes_src1)
173
+
174
+ # invoke the test includes creation rule under test
175
+ @rake[includes1].invoke
176
+ end
177
+
178
+ end