ceedling 0.13.0 → 0.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (308) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +1 -1
  3. data/Gemfile.lock +18 -14
  4. data/README.md +6 -4
  5. data/assets/project_as_gem.yml +1 -1
  6. data/assets/rakefile_as_gem.rb +2 -0
  7. data/assets/rakefile_with_guts.rb +3 -1
  8. data/ceedling.gemspec +1 -0
  9. data/examples/blinky/rakefile.rb +2 -2
  10. data/examples/temp_sensor/rakefile.rb +1 -1
  11. data/examples/temp_sensor/src/TemperatureFilter.c +1 -2
  12. data/examples/temp_sensor/test/TestTemperatureCalculator.c +1 -1
  13. data/examples/temp_sensor/test/TestTemperatureFilter.c +12 -2
  14. data/lib/ceedling.rb +94 -22
  15. data/lib/{build_invoker_utils.rb → ceedling/build_invoker_utils.rb} +27 -27
  16. data/lib/{cacheinator.rb → ceedling/cacheinator.rb} +42 -42
  17. data/lib/{cacheinator_helper.rb → ceedling/cacheinator_helper.rb} +12 -12
  18. data/lib/{cmock_builder.rb → ceedling/cmock_builder.rb} +15 -15
  19. data/lib/{configurator.rb → ceedling/configurator.rb} +333 -329
  20. data/lib/{configurator_builder.rb → ceedling/configurator_builder.rb} +437 -437
  21. data/lib/{configurator_plugins.rb → ceedling/configurator_plugins.rb} +124 -124
  22. data/lib/{configurator_setup.rb → ceedling/configurator_setup.rb} +124 -124
  23. data/lib/{configurator_validator.rb → ceedling/configurator_validator.rb} +184 -184
  24. data/lib/{constants.rb → ceedling/constants.rb} +20 -17
  25. data/lib/{defaults.rb → ceedling/defaults.rb} +19 -18
  26. data/lib/{dependinator.rb → ceedling/dependinator.rb} +92 -92
  27. data/lib/{erb_wrapper.rb → ceedling/erb_wrapper.rb} +8 -8
  28. data/lib/{file_finder.rb → ceedling/file_finder.rb} +132 -132
  29. data/lib/{file_finder_helper.rb → ceedling/file_finder_helper.rb} +54 -54
  30. data/lib/{file_path_utils.rb → ceedling/file_path_utils.rb} +189 -189
  31. data/lib/{file_system_utils.rb → ceedling/file_system_utils.rb} +69 -69
  32. data/lib/{file_system_wrapper.rb → ceedling/file_system_wrapper.rb} +9 -9
  33. data/lib/{file_wrapper.rb → ceedling/file_wrapper.rb} +79 -79
  34. data/lib/{flaginator.rb → ceedling/flaginator.rb} +54 -54
  35. data/lib/{generator.rb → ceedling/generator.rb} +164 -164
  36. data/lib/{generator_helper.rb → ceedling/generator_helper.rb} +40 -40
  37. data/lib/{generator_test_results.rb → ceedling/generator_test_results.rb} +86 -89
  38. data/lib/{generator_test_results_sanity_checker.rb → ceedling/generator_test_results_sanity_checker.rb} +64 -62
  39. data/lib/{generator_test_runner.rb → ceedling/generator_test_runner.rb} +63 -63
  40. data/lib/{loginator.rb → ceedling/loginator.rb} +31 -31
  41. data/lib/{makefile.rb → ceedling/makefile.rb} +0 -0
  42. data/lib/{objects.yml → ceedling/objects.yml} +0 -0
  43. data/lib/{par_map.rb → ceedling/par_map.rb} +0 -0
  44. data/lib/{plugin.rb → ceedling/plugin.rb} +80 -80
  45. data/lib/{plugin_builder.rb → ceedling/plugin_builder.rb} +52 -52
  46. data/lib/{plugin_manager.rb → ceedling/plugin_manager.rb} +107 -107
  47. data/lib/{plugin_manager_helper.rb → ceedling/plugin_manager_helper.rb} +19 -19
  48. data/lib/{plugin_reportinator.rb → ceedling/plugin_reportinator.rb} +2 -2
  49. data/lib/{plugin_reportinator_helper.rb → ceedling/plugin_reportinator_helper.rb} +1 -1
  50. data/lib/{preprocessinator.rb → ceedling/preprocessinator.rb} +43 -43
  51. data/lib/{preprocessinator_extractor.rb → ceedling/preprocessinator_extractor.rb} +30 -30
  52. data/lib/{preprocessinator_file_handler.rb → ceedling/preprocessinator_file_handler.rb} +21 -21
  53. data/lib/{preprocessinator_helper.rb → ceedling/preprocessinator_helper.rb} +46 -46
  54. data/lib/ceedling/preprocessinator_includes_handler.rb +82 -0
  55. data/lib/{project_config_manager.rb → ceedling/project_config_manager.rb} +38 -38
  56. data/lib/{project_file_loader.rb → ceedling/project_file_loader.rb} +64 -64
  57. data/lib/{rake_utils.rb → ceedling/rake_utils.rb} +17 -17
  58. data/lib/{rake_wrapper.rb → ceedling/rake_wrapper.rb} +33 -33
  59. data/lib/{rakefile.rb → ceedling/rakefile.rb} +78 -74
  60. data/lib/{release_invoker.rb → ceedling/release_invoker.rb} +58 -58
  61. data/lib/{release_invoker_helper.rb → ceedling/release_invoker_helper.rb} +16 -16
  62. data/lib/{reportinator.rb → ceedling/reportinator.rb} +9 -9
  63. data/lib/{rules_cmock.rake → ceedling/rules_cmock.rake} +9 -9
  64. data/lib/{rules_preprocess.rake → ceedling/rules_preprocess.rake} +26 -26
  65. data/lib/{rules_release.rake → ceedling/rules_release.rake} +79 -79
  66. data/lib/{rules_release_deep_dependencies.rake → ceedling/rules_release_deep_dependencies.rake} +15 -15
  67. data/lib/{rules_tests.rake → ceedling/rules_tests.rake} +59 -59
  68. data/lib/{rules_tests_deep_dependencies.rake → ceedling/rules_tests_deep_dependencies.rake} +15 -15
  69. data/lib/{setupinator.rb → ceedling/setupinator.rb} +51 -51
  70. data/lib/{stream_wrapper.rb → ceedling/stream_wrapper.rb} +20 -20
  71. data/lib/{streaminator.rb → ceedling/streaminator.rb} +40 -41
  72. data/lib/{streaminator_helper.rb → ceedling/streaminator_helper.rb} +15 -15
  73. data/lib/{system_utils.rb → ceedling/system_utils.rb} +0 -0
  74. data/lib/{system_wrapper.rb → ceedling/system_wrapper.rb} +76 -76
  75. data/lib/{target_loader.rb → ceedling/target_loader.rb} +0 -0
  76. data/lib/{task_invoker.rb → ceedling/task_invoker.rb} +89 -89
  77. data/lib/{tasks_base.rake → ceedling/tasks_base.rake} +104 -104
  78. data/lib/{tasks_filesystem.rake → ceedling/tasks_filesystem.rake} +91 -91
  79. data/lib/{tasks_release.rake → ceedling/tasks_release.rake} +28 -28
  80. data/lib/{tasks_release_deep_dependencies.rake → ceedling/tasks_release_deep_dependencies.rake} +9 -9
  81. data/lib/{tasks_tests.rake → ceedling/tasks_tests.rake} +52 -52
  82. data/lib/{tasks_tests_deep_dependencies.rake → ceedling/tasks_tests_deep_dependencies.rake} +9 -9
  83. data/lib/{tasks_vendor.rake → ceedling/tasks_vendor.rake} +36 -36
  84. data/lib/{test_includes_extractor.rb → ceedling/test_includes_extractor.rb} +81 -81
  85. data/lib/{test_invoker.rb → ceedling/test_invoker.rb} +97 -97
  86. data/lib/{test_invoker_helper.rb → ceedling/test_invoker_helper.rb} +28 -28
  87. data/lib/{tool_executor.rb → ceedling/tool_executor.rb} +215 -212
  88. data/lib/{tool_executor_helper.rb → ceedling/tool_executor_helper.rb} +115 -115
  89. data/lib/{verbosinator.rb → ceedling/verbosinator.rb} +10 -10
  90. data/lib/ceedling/version.rb +1 -1
  91. data/lib/{yaml_wrapper.rb → ceedling/yaml_wrapper.rb} +17 -16
  92. data/license.txt +31 -0
  93. data/plugins/bullseye/lib/bullseye.rb +2 -2
  94. data/plugins/gcov/gcov.rb +2 -2
  95. data/plugins/module_generator/lib/module_generator.rb +4 -3
  96. data/plugins/stdout_ide_tests_report/lib/stdout_ide_tests_report.rb +8 -8
  97. data/plugins/stdout_pretty_tests_report/lib/stdout_pretty_tests_report.rb +3 -3
  98. data/plugins/teamcity_tests_report/config/teamcity_tests_report.yml +4 -0
  99. data/plugins/teamcity_tests_report/lib/teamcity_tests_report.rb +57 -0
  100. data/plugins/xml_tests_report/xml_tests_report.rb +4 -4
  101. data/release/version.info +1 -1
  102. data/spec/ceedling_spec.rb +154 -0
  103. data/spec/par_map_spec.rb +1 -1
  104. data/spec/preprocessinator_extractor_spec.rb +26 -27
  105. data/spec/preprocessinator_includes_handler_spec.rb +175 -0
  106. data/spec/spec_helper.rb +8 -27
  107. data/test_graveyard/integration/paths_test.rb +2 -2
  108. data/test_graveyard/unit/busted/configurator_builder_test.rb +2 -2
  109. data/test_graveyard/unit/busted/configurator_test.rb +1 -1
  110. data/test_graveyard/unit/busted/configurator_validator_test.rb +1 -1
  111. data/test_graveyard/unit/busted/dependinator_test.rb +1 -1
  112. data/test_graveyard/unit/busted/file_finder_helper_test.rb +1 -1
  113. data/test_graveyard/unit/busted/file_finder_test.rb +1 -1
  114. data/test_graveyard/unit/busted/file_path_utils_test.rb +1 -1
  115. data/test_graveyard/unit/busted/file_system_utils_test.rb +1 -1
  116. data/test_graveyard/unit/busted/generator_test.rb +1 -1
  117. data/test_graveyard/unit/busted/generator_test_results_test.rb +1 -1
  118. data/test_graveyard/unit/busted/generator_test_runner_test.rb +1 -1
  119. data/test_graveyard/unit/busted/preprocessinator_file_handler_test.rb +1 -1
  120. data/test_graveyard/unit/busted/preprocessinator_helper_test.rb +1 -1
  121. data/test_graveyard/unit/busted/preprocessinator_includes_handler_test.rb +1 -1
  122. data/test_graveyard/unit/busted/preprocessinator_test.rb +1 -1
  123. data/test_graveyard/unit/busted/project_file_loader_test.rb +1 -1
  124. data/test_graveyard/unit/busted/setupinator_test.rb +1 -1
  125. data/test_graveyard/unit/busted/streaminator_test.rb +2 -2
  126. data/test_graveyard/unit/busted/task_invoker_test.rb +1 -1
  127. data/test_graveyard/unit/busted/test_includes_extractor_test.rb +1 -1
  128. data/test_graveyard/unit/busted/test_invoker_helper_test.rb +1 -1
  129. data/test_graveyard/unit/busted/test_invoker_test.rb +1 -1
  130. data/test_graveyard/unit/busted/tool_executor_helper_test.rb +1 -1
  131. data/test_graveyard/unit/busted/tool_executor_test.rb +1 -1
  132. data/test_graveyard/unit/busted/verbosinator_test.rb +1 -1
  133. data/test_graveyard/unit/preprocessinator_extractor_test.rb +1 -1
  134. data/vendor/c_exception/Gemfile +4 -0
  135. data/vendor/c_exception/lib/CException.h +1 -1
  136. data/vendor/c_exception/test/TestException.c +25 -14
  137. data/vendor/c_exception/test/TestException_Runner.c +74 -57
  138. data/vendor/cmock/Gemfile +11 -0
  139. data/vendor/cmock/lib/cmock_generator.rb +13 -12
  140. data/vendor/cmock/lib/cmock_generator_plugin_ignore_arg.rb +44 -0
  141. data/vendor/cmock/lib/cmock_generator_plugin_return_thru_ptr.rb +74 -0
  142. data/vendor/cmock/lib/cmock_generator_utils.rb +67 -42
  143. data/vendor/cmock/src/cmock.c +20 -30
  144. data/vendor/cmock/src/cmock.h +1 -0
  145. data/vendor/cmock/src/cmock_internals.h +43 -0
  146. data/vendor/cmock/test/c/TestCMockC.c +79 -36
  147. data/vendor/cmock/test/c/TestCMockC_Runner.c +2 -0
  148. data/vendor/cmock/test/spec/cmock_file_writer_spec.rb +21 -1
  149. data/vendor/cmock/test/spec/cmock_generator_plugin_array_spec.rb +52 -0
  150. data/vendor/cmock/test/system/test_interactions/all_plugins_coexist.yml +2 -0
  151. data/vendor/cmock/test/system/test_interactions/return_thru_ptr_ignore_arg.yml +235 -0
  152. data/vendor/cmock/test/test_helper.rb +10 -5
  153. data/vendor/cmock/test/unit/cmock_generator_main_test.rb +38 -0
  154. data/vendor/cmock/test/unit/cmock_generator_plugin_ignore_arg_test.rb +116 -0
  155. data/vendor/cmock/test/unit/cmock_generator_plugin_return_thru_ptr_test.rb +134 -0
  156. data/vendor/cmock/test/unit/cmock_generator_utils_test.rb +58 -33
  157. data/vendor/cmock/vendor/c_exception/docs/CExceptionSummary.odt +0 -0
  158. data/vendor/cmock/vendor/c_exception/docs/CExceptionSummary.pdf +0 -0
  159. data/vendor/cmock/vendor/c_exception/docs/license.txt +30 -0
  160. data/vendor/cmock/vendor/c_exception/docs/readme.txt +236 -0
  161. data/vendor/cmock/vendor/c_exception/lib/CException.c +39 -0
  162. data/vendor/cmock/vendor/c_exception/lib/CException.h +70 -0
  163. data/vendor/cmock/vendor/c_exception/makefile +24 -0
  164. data/vendor/cmock/vendor/c_exception/rakefile.rb +41 -0
  165. data/vendor/cmock/vendor/c_exception/release/build.info +2 -0
  166. data/vendor/cmock/vendor/c_exception/release/version.info +2 -0
  167. data/vendor/cmock/vendor/c_exception/test/CExceptionConfig.h +27 -0
  168. data/vendor/cmock/vendor/c_exception/test/TestException.c +291 -0
  169. data/vendor/cmock/vendor/c_exception/test/TestException_Runner.c +62 -0
  170. data/vendor/cmock/vendor/unity/auto/colour_prompt.rb +94 -0
  171. data/vendor/cmock/vendor/unity/auto/colour_reporter.rb +39 -0
  172. data/vendor/cmock/vendor/unity/auto/generate_config.yml +36 -0
  173. data/vendor/cmock/vendor/unity/auto/generate_module.rb +202 -0
  174. data/vendor/cmock/vendor/unity/auto/generate_test_runner.rb +313 -0
  175. data/vendor/cmock/vendor/unity/auto/test_file_filter.rb +23 -0
  176. data/vendor/cmock/vendor/unity/auto/unity_test_summary.rb +139 -0
  177. data/vendor/cmock/vendor/unity/docs/Unity Summary.odt +0 -0
  178. data/vendor/cmock/vendor/unity/docs/Unity Summary.pdf +0 -0
  179. data/vendor/cmock/vendor/unity/docs/Unity Summary.txt +217 -0
  180. data/vendor/cmock/vendor/unity/docs/license.txt +31 -0
  181. data/vendor/cmock/vendor/unity/examples/helper/UnityHelper.c +10 -0
  182. data/vendor/cmock/vendor/unity/examples/helper/UnityHelper.h +12 -0
  183. data/vendor/cmock/vendor/unity/examples/makefile +40 -0
  184. data/vendor/cmock/vendor/unity/examples/rakefile.rb +32 -0
  185. data/vendor/cmock/vendor/unity/examples/rakefile_helper.rb +256 -0
  186. data/vendor/cmock/vendor/unity/examples/readme.txt +18 -0
  187. data/vendor/cmock/vendor/unity/examples/src/ProductionCode.c +24 -0
  188. data/vendor/cmock/vendor/unity/examples/src/ProductionCode.h +3 -0
  189. data/vendor/cmock/vendor/unity/examples/src/ProductionCode2.c +9 -0
  190. data/vendor/cmock/vendor/unity/examples/src/ProductionCode2.h +2 -0
  191. data/vendor/cmock/vendor/unity/examples/test/TestProductionCode.c +62 -0
  192. data/vendor/cmock/vendor/unity/examples/test/TestProductionCode2.c +31 -0
  193. data/vendor/cmock/vendor/unity/examples/test/no_ruby/TestProductionCode2_Runner.c +46 -0
  194. data/vendor/cmock/vendor/unity/examples/test/no_ruby/TestProductionCode_Runner.c +50 -0
  195. data/vendor/{unity → cmock/vendor/unity}/extras/fixture/build/MakefileWorker.mk +0 -0
  196. data/vendor/{unity → cmock/vendor/unity}/extras/fixture/build/filterGcov.sh +0 -0
  197. data/vendor/cmock/vendor/unity/extras/fixture/rakefile.rb +37 -0
  198. data/vendor/cmock/vendor/unity/extras/fixture/rakefile_helper.rb +178 -0
  199. data/vendor/cmock/vendor/unity/extras/fixture/readme.txt +9 -0
  200. data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture.c +381 -0
  201. data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture.h +81 -0
  202. data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture_internals.h +44 -0
  203. data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture_malloc_overrides.h +16 -0
  204. data/vendor/cmock/vendor/unity/extras/fixture/test/main/AllTests.c +21 -0
  205. data/vendor/cmock/vendor/unity/extras/fixture/test/testunity_fixture.c +39 -0
  206. data/vendor/cmock/vendor/unity/extras/fixture/test/unity_fixture_Test.c +321 -0
  207. data/vendor/cmock/vendor/unity/extras/fixture/test/unity_fixture_TestRunner.c +40 -0
  208. data/vendor/cmock/vendor/unity/extras/fixture/test/unity_output_Spy.c +56 -0
  209. data/vendor/cmock/vendor/unity/extras/fixture/test/unity_output_Spy.h +17 -0
  210. data/vendor/cmock/vendor/unity/makefile +35 -0
  211. data/vendor/cmock/vendor/unity/rakefile.rb +48 -0
  212. data/vendor/cmock/vendor/unity/rakefile_helper.rb +240 -0
  213. data/vendor/cmock/vendor/unity/release/build.info +2 -0
  214. data/vendor/cmock/vendor/unity/release/version.info +2 -0
  215. data/vendor/cmock/vendor/unity/src/unity.c +979 -0
  216. data/vendor/cmock/vendor/unity/src/unity.h +232 -0
  217. data/vendor/cmock/vendor/unity/src/unity_internals.h +424 -0
  218. data/vendor/cmock/vendor/unity/targets/gcc.yml +43 -0
  219. data/vendor/cmock/vendor/unity/targets/gcc_64.yml +44 -0
  220. data/vendor/cmock/vendor/unity/targets/hitech_picc18.yml +101 -0
  221. data/vendor/cmock/vendor/unity/targets/iar_arm_v4.yml +89 -0
  222. data/vendor/cmock/vendor/unity/targets/iar_arm_v5.yml +79 -0
  223. data/vendor/cmock/vendor/unity/targets/iar_arm_v5_3.yml +79 -0
  224. data/vendor/cmock/vendor/unity/targets/iar_armcortex_LM3S9B92_v5_4.yml +93 -0
  225. data/vendor/cmock/vendor/unity/targets/iar_cortexm3_v5.yml +83 -0
  226. data/vendor/cmock/vendor/unity/targets/iar_msp430.yml +94 -0
  227. data/vendor/cmock/vendor/unity/targets/iar_sh2a_v6.yml +85 -0
  228. data/vendor/cmock/vendor/unity/test/expectdata/testsample_cmd.c +54 -0
  229. data/vendor/cmock/vendor/unity/test/expectdata/testsample_def.c +50 -0
  230. data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_cmd.c +76 -0
  231. data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_def.c +72 -0
  232. data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_new1.c +85 -0
  233. data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_new2.c +85 -0
  234. data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_param.c +73 -0
  235. data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_run1.c +85 -0
  236. data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_run2.c +85 -0
  237. data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_yaml.c +86 -0
  238. data/vendor/cmock/vendor/unity/test/expectdata/testsample_new1.c +60 -0
  239. data/vendor/cmock/vendor/unity/test/expectdata/testsample_new2.c +63 -0
  240. data/vendor/cmock/vendor/unity/test/expectdata/testsample_param.c +51 -0
  241. data/vendor/cmock/vendor/unity/test/expectdata/testsample_run1.c +60 -0
  242. data/vendor/cmock/vendor/unity/test/expectdata/testsample_run2.c +63 -0
  243. data/vendor/cmock/vendor/unity/test/expectdata/testsample_yaml.c +64 -0
  244. data/vendor/cmock/vendor/unity/test/test_generate_test_runner.rb +94 -0
  245. data/vendor/cmock/vendor/unity/test/testdata/mocksample.c +51 -0
  246. data/vendor/cmock/vendor/unity/test/testdata/sample.yml +9 -0
  247. data/vendor/cmock/vendor/unity/test/testdata/testsample.c +51 -0
  248. data/vendor/cmock/vendor/unity/test/testparameterized.c +101 -0
  249. data/vendor/cmock/vendor/unity/test/testunity.c +2024 -0
  250. data/vendor/unity/Gemfile +4 -0
  251. data/vendor/unity/auto/generate_test_runner.rb +6 -3
  252. data/vendor/unity/examples/makefile +2 -2
  253. data/vendor/unity/examples/rakefile.rb +13 -2
  254. data/vendor/unity/extras/fixture/rakefile.rb +1 -1
  255. data/vendor/unity/extras/fixture/rakefile_helper.rb +4 -3
  256. data/vendor/unity/extras/fixture/src/unity_fixture.c +15 -12
  257. data/vendor/unity/extras/fixture/src/unity_fixture.h +5 -5
  258. data/vendor/unity/extras/fixture/src/unity_fixture_internals.h +1 -1
  259. data/vendor/unity/extras/fixture/test/unity_fixture_Test.c +6 -3
  260. data/vendor/unity/makefile +2 -2
  261. data/vendor/unity/src/unity.c +183 -16
  262. data/vendor/unity/src/unity.h +18 -5
  263. data/vendor/unity/src/unity_internals.h +57 -23
  264. data/vendor/unity/targets/gcc_64.yml +45 -0
  265. data/vendor/unity/test/testunity.c +436 -28
  266. metadata +200 -137
  267. data/ceedling-0.13.0.rc4.gem +0 -0
  268. data/ceedling.sublime-project +0 -8
  269. data/ceedling.sublime-workspace +0 -365
  270. data/lib/preprocessinator_includes_handler.rb +0 -55
  271. data/tags +0 -977
  272. data/vendor/cmock/vendor/hardmock/CHANGES +0 -78
  273. data/vendor/cmock/vendor/hardmock/LICENSE +0 -7
  274. data/vendor/cmock/vendor/hardmock/README +0 -70
  275. data/vendor/cmock/vendor/hardmock/Rakefile +0 -8
  276. data/vendor/cmock/vendor/hardmock/config/environment.rb +0 -12
  277. data/vendor/cmock/vendor/hardmock/lib/assert_error.rb +0 -23
  278. data/vendor/cmock/vendor/hardmock/lib/extend_test_unit.rb +0 -14
  279. data/vendor/cmock/vendor/hardmock/lib/hardmock.rb +0 -86
  280. data/vendor/cmock/vendor/hardmock/lib/hardmock/errors.rb +0 -22
  281. data/vendor/cmock/vendor/hardmock/lib/hardmock/expectation.rb +0 -229
  282. data/vendor/cmock/vendor/hardmock/lib/hardmock/expectation_builder.rb +0 -9
  283. data/vendor/cmock/vendor/hardmock/lib/hardmock/expector.rb +0 -26
  284. data/vendor/cmock/vendor/hardmock/lib/hardmock/method_cleanout.rb +0 -33
  285. data/vendor/cmock/vendor/hardmock/lib/hardmock/mock.rb +0 -180
  286. data/vendor/cmock/vendor/hardmock/lib/hardmock/mock_control.rb +0 -53
  287. data/vendor/cmock/vendor/hardmock/lib/hardmock/stubbing.rb +0 -210
  288. data/vendor/cmock/vendor/hardmock/lib/hardmock/trapper.rb +0 -31
  289. data/vendor/cmock/vendor/hardmock/lib/hardmock/utils.rb +0 -9
  290. data/vendor/cmock/vendor/hardmock/lib/test_unit_before_after.rb +0 -169
  291. data/vendor/cmock/vendor/hardmock/rake_tasks/rdoc.rake +0 -19
  292. data/vendor/cmock/vendor/hardmock/rake_tasks/rdoc_options.rb +0 -4
  293. data/vendor/cmock/vendor/hardmock/rake_tasks/test.rake +0 -22
  294. data/vendor/cmock/vendor/hardmock/test/functional/assert_error_test.rb +0 -52
  295. data/vendor/cmock/vendor/hardmock/test/functional/auto_verify_test.rb +0 -178
  296. data/vendor/cmock/vendor/hardmock/test/functional/direct_mock_usage_test.rb +0 -396
  297. data/vendor/cmock/vendor/hardmock/test/functional/hardmock_test.rb +0 -434
  298. data/vendor/cmock/vendor/hardmock/test/functional/stubbing_test.rb +0 -479
  299. data/vendor/cmock/vendor/hardmock/test/test_helper.rb +0 -43
  300. data/vendor/cmock/vendor/hardmock/test/unit/expectation_builder_test.rb +0 -19
  301. data/vendor/cmock/vendor/hardmock/test/unit/expectation_test.rb +0 -372
  302. data/vendor/cmock/vendor/hardmock/test/unit/expector_test.rb +0 -57
  303. data/vendor/cmock/vendor/hardmock/test/unit/method_cleanout_test.rb +0 -36
  304. data/vendor/cmock/vendor/hardmock/test/unit/mock_control_test.rb +0 -175
  305. data/vendor/cmock/vendor/hardmock/test/unit/mock_test.rb +0 -279
  306. data/vendor/cmock/vendor/hardmock/test/unit/test_unit_before_after_test.rb +0 -452
  307. data/vendor/cmock/vendor/hardmock/test/unit/trapper_test.rb +0 -62
  308. data/vendor/cmock/vendor/hardmock/test/unit/verify_error_test.rb +0 -40
@@ -1,28 +1,28 @@
1
-
2
- class TestInvokerHelper
3
-
4
- constructor :configurator, :task_invoker, :test_includes_extractor, :file_finder, :file_path_utils, :file_wrapper
5
-
6
- def clean_results(results, options)
7
- @file_wrapper.rm_f( results[:fail] )
8
- @file_wrapper.rm_f( results[:pass] ) if (options[:force_run])
9
- end
10
-
11
- def process_deep_dependencies(files)
12
- return if (not @configurator.project_use_deep_dependencies)
13
-
14
- dependencies_list = @file_path_utils.form_test_dependencies_filelist( files )
15
- @task_invoker.invoke_test_dependencies_files( dependencies_list )
16
- yield( dependencies_list ) if block_given?
17
- end
18
-
19
- def extract_sources(test)
20
- sources = []
21
- includes = @test_includes_extractor.lookup_includes_list(test)
22
-
23
- includes.each { |include| sources << @file_finder.find_compilation_input_file(include, :ignore) }
24
-
25
- return sources.compact
26
- end
27
-
28
- end
1
+
2
+ class TestInvokerHelper
3
+
4
+ constructor :configurator, :task_invoker, :test_includes_extractor, :file_finder, :file_path_utils, :file_wrapper
5
+
6
+ def clean_results(results, options)
7
+ @file_wrapper.rm_f( results[:fail] )
8
+ @file_wrapper.rm_f( results[:pass] ) if (options[:force_run])
9
+ end
10
+
11
+ def process_deep_dependencies(files)
12
+ return if (not @configurator.project_use_deep_dependencies)
13
+
14
+ dependencies_list = @file_path_utils.form_test_dependencies_filelist( files )
15
+ @task_invoker.invoke_test_dependencies_files( dependencies_list )
16
+ yield( dependencies_list ) if block_given?
17
+ end
18
+
19
+ def extract_sources(test)
20
+ sources = []
21
+ includes = @test_includes_extractor.lookup_includes_list(test)
22
+
23
+ includes.each { |include| sources << @file_finder.find_compilation_input_file(include, :ignore) }
24
+
25
+ return sources.compact
26
+ end
27
+
28
+ end
@@ -1,212 +1,215 @@
1
- require 'constants'
2
-
3
- class ShellExecutionException < RuntimeError
4
- attr_reader :shell_result
5
- def initialize(shell_result)
6
- @shell_result = shell_result
7
- end
8
- end
9
-
10
- class ToolExecutor
11
-
12
- constructor :configurator, :tool_executor_helper, :streaminator, :system_wrapper
13
-
14
- def setup
15
- @tool_name = ''
16
- @executable = ''
17
- end
18
-
19
- # build up a command line from yaml provided config
20
- def build_command_line(tool_config, *args)
21
- @tool_name = tool_config[:name]
22
- @executable = tool_config[:executable]
23
-
24
- command = {}
25
-
26
- # basic premise is to iterate top to bottom through arguments using '$' as
27
- # a string replacement indicator to expand globals or inline yaml arrays
28
- # into command line arguments via substitution strings
29
- command[:line] = [
30
- @tool_executor_helper.osify_path_separators( expandify_element(@executable, *args) ),
31
- build_arguments(tool_config[:arguments], *args),
32
- ].join(' ').strip
33
-
34
- command[:options] = {
35
- :stderr_redirect => @tool_executor_helper.stderr_redirection(tool_config, @configurator.project_logging),
36
- :background_exec => tool_config[:background_exec]
37
- }
38
-
39
- return command
40
- end
41
-
42
-
43
- # shell out, execute command, and return response
44
- def exec(command, options={}, args=[])
45
- options[:boom] = true if (options[:boom].nil?)
46
- options[:stderr_redirect] = StdErrRedirect::NONE if (options[:stderr_redirect].nil?)
47
- options[:background_exec] = BackgroundExec::NONE if (options[:background_exec].nil?)
48
-
49
- # build command line
50
- command_line = [
51
- @tool_executor_helper.background_exec_cmdline_prepend( options ),
52
- command.strip,
53
- args,
54
- @tool_executor_helper.stderr_redirect_cmdline_append( options ),
55
- @tool_executor_helper.background_exec_cmdline_append( options ),
56
- ].flatten.compact.join(' ')
57
-
58
- shell_result = {}
59
-
60
- # depending on background exec option, we shell out differently
61
- if (options[:background_exec] != BackgroundExec::NONE)
62
- shell_result = @system_wrapper.shell_system( command_line )
63
- else
64
- shell_result = @system_wrapper.shell_backticks( command_line )
65
- end
66
-
67
- @tool_executor_helper.print_happy_results( command_line, shell_result, options[:boom] )
68
- @tool_executor_helper.print_error_results( command_line, shell_result, options[:boom] )
69
-
70
- # go boom if exit code isn't 0 (but in some cases we don't want a non-0 exit code to raise)
71
- raise ShellExecutionException.new(shell_result) if ((shell_result[:exit_code] != 0) and options[:boom])
72
-
73
- return shell_result
74
- end
75
-
76
-
77
- private #############################
78
-
79
-
80
- def build_arguments(config, *args)
81
- build_string = ''
82
-
83
- return nil if (config.nil?)
84
-
85
- # iterate through each argument
86
-
87
- # the yaml blob array needs to be flattened so that yaml substitution
88
- # is handled correctly, since it creates a nested array when an anchor is
89
- # dereferenced
90
- config.flatten.each do |element|
91
- argument = ''
92
-
93
- case(element)
94
- # if we find a simple string then look for string replacement operators
95
- # and expand with the parameters in this method's argument list
96
- when String then argument = expandify_element(element, *args)
97
- # if we find a hash, then we grab the key as a substitution string and expand the
98
- # hash's value(s) within that substitution string
99
- when Hash then argument = dehashify_argument_elements(element)
100
- end
101
-
102
- build_string.concat("#{argument} ") if (argument.length > 0)
103
- end
104
-
105
- build_string.strip!
106
- return build_string if (build_string.length > 0)
107
- return nil
108
- end
109
-
110
-
111
- # handle simple text string argument & argument array string replacement operators
112
- def expandify_element(element, *args)
113
- match = //
114
- to_process = nil
115
- args_index = 0
116
-
117
- # handle ${#} input replacement
118
- if (element =~ TOOL_EXECUTOR_ARGUMENT_REPLACEMENT_PATTERN)
119
- args_index = ($2.to_i - 1)
120
-
121
- if (args.nil? or args[args_index].nil?)
122
- @streaminator.stderr_puts("ERROR: Tool '#{@tool_name}' expected valid argument data to accompany replacement operator #{$1}.", Verbosity::ERRORS)
123
- raise
124
- end
125
-
126
- match = /#{Regexp.escape($1)}/
127
- to_process = args[args_index]
128
- end
129
-
130
- # simple string argument: replace escaped '\$' and strip
131
- element.sub!(/\\\$/, '$')
132
- element.strip!
133
-
134
- # handle inline ruby execution
135
- if (element =~ RUBY_EVAL_REPLACEMENT_PATTERN)
136
- element.replace(eval($1))
137
- end
138
-
139
- build_string = ''
140
-
141
- # handle array or anything else passed into method to be expanded in place of replacement operators
142
- case (to_process)
143
- when Array then to_process.each {|value| build_string.concat( "#{element.sub(match, value.to_s)} " ) } if (to_process.size > 0)
144
- else build_string.concat( element.sub(match, to_process.to_s) )
145
- end
146
-
147
- # handle inline ruby string substitution
148
- if (build_string =~ RUBY_STRING_REPLACEMENT_PATTERN)
149
- build_string.replace(@system_wrapper.module_eval(build_string))
150
- end
151
-
152
- return build_string.strip
153
- end
154
-
155
-
156
- # handle argument hash: keys are substitution strings, values are data to be expanded within substitution strings
157
- def dehashify_argument_elements(hash)
158
- build_string = ''
159
- elements = []
160
-
161
- # grab the substitution string (hash key)
162
- substitution = hash.keys[0].to_s
163
- # grab the string(s) to squirt into the substitution string (hash value)
164
- expand = hash[hash.keys[0]]
165
-
166
- if (expand.nil?)
167
- @streaminator.stderr_puts("ERROR: Tool '#{@tool_name}' could not expand nil elements for substitution string '#{substitution}'.", Verbosity::ERRORS)
168
- raise
169
- end
170
-
171
- # array-ify expansion input if only a single string
172
- expansion = ((expand.class == String) ? [expand] : expand)
173
-
174
- expansion.each do |item|
175
- # code eval substitution
176
- if (item =~ RUBY_EVAL_REPLACEMENT_PATTERN)
177
- elements << eval($1)
178
- # string eval substitution
179
- elsif (item =~ RUBY_STRING_REPLACEMENT_PATTERN)
180
- elements << @system_wrapper.module_eval(item)
181
- # global constants
182
- elsif (@system_wrapper.constants_include?(item))
183
- const = Object.const_get(item)
184
- if (const.nil?)
185
- @streaminator.stderr_puts("ERROR: Tool '#{@tool_name}' found constant '#{item}' to be nil.", Verbosity::ERRORS)
186
- raise
187
- else
188
- elements << const
189
- end
190
- elsif (item.class == Array)
191
- elements << item
192
- elsif (item.class == String)
193
- @streaminator.stderr_puts("ERROR: Tool '#{@tool_name}' cannot expand nonexistent value '#{item}' for substitution string '#{substitution}'.", Verbosity::ERRORS)
194
- raise
195
- else
196
- @streaminator.stderr_puts("ERROR: Tool '#{@tool_name}' cannot expand value having type '#{item.class}' for substitution string '#{substitution}'.", Verbosity::ERRORS)
197
- raise
198
- end
199
- end
200
-
201
- # expand elements (whether string or array) into substitution string & replace escaped '\$'
202
- elements.flatten!
203
- elements.each do |element|
204
- build_string.concat( substitution.sub(/([^\\]*)\$/, "\\1#{element}") ) # don't replace escaped '\$' but allow us to replace just a lonesome '$'
205
- build_string.gsub!(/\\\$/, '$')
206
- build_string.concat(' ')
207
- end
208
-
209
- return build_string.strip
210
- end
211
-
212
- end
1
+ require 'ceedling/constants'
2
+
3
+ class ShellExecutionException < RuntimeError
4
+ attr_reader :shell_result
5
+ def initialize(shell_result)
6
+ @shell_result = shell_result
7
+ end
8
+ end
9
+
10
+ class ToolExecutor
11
+
12
+ constructor :configurator, :tool_executor_helper, :streaminator, :system_wrapper
13
+
14
+ def setup
15
+ @tool_name = ''
16
+ @executable = ''
17
+ end
18
+
19
+ # build up a command line from yaml provided config
20
+ def build_command_line(tool_config, *args)
21
+ @tool_name = tool_config[:name]
22
+ @executable = tool_config[:executable]
23
+
24
+ command = {}
25
+
26
+ # basic premise is to iterate top to bottom through arguments using '$' as
27
+ # a string replacement indicator to expand globals or inline yaml arrays
28
+ # into command line arguments via substitution strings
29
+ # executable must be quoted if it includes spaces (common on windows)
30
+ executable = @tool_executor_helper.osify_path_separators( expandify_element(@executable, *args) )
31
+ executable = "\"#{executable}\"" if executable.include?(' ')
32
+ command[:line] = [
33
+ executable,
34
+ build_arguments(tool_config[:arguments], *args),
35
+ ].join(' ').strip
36
+
37
+ command[:options] = {
38
+ :stderr_redirect => @tool_executor_helper.stderr_redirection(tool_config, @configurator.project_logging),
39
+ :background_exec => tool_config[:background_exec]
40
+ }
41
+
42
+ return command
43
+ end
44
+
45
+
46
+ # shell out, execute command, and return response
47
+ def exec(command, options={}, args=[])
48
+ options[:boom] = true if (options[:boom].nil?)
49
+ options[:stderr_redirect] = StdErrRedirect::NONE if (options[:stderr_redirect].nil?)
50
+ options[:background_exec] = BackgroundExec::NONE if (options[:background_exec].nil?)
51
+
52
+ # build command line
53
+ command_line = [
54
+ @tool_executor_helper.background_exec_cmdline_prepend( options ),
55
+ command.strip,
56
+ args,
57
+ @tool_executor_helper.stderr_redirect_cmdline_append( options ),
58
+ @tool_executor_helper.background_exec_cmdline_append( options ),
59
+ ].flatten.compact.join(' ')
60
+
61
+ shell_result = {}
62
+
63
+ # depending on background exec option, we shell out differently
64
+ if (options[:background_exec] != BackgroundExec::NONE)
65
+ shell_result = @system_wrapper.shell_system( command_line )
66
+ else
67
+ shell_result = @system_wrapper.shell_backticks( command_line )
68
+ end
69
+
70
+ @tool_executor_helper.print_happy_results( command_line, shell_result, options[:boom] )
71
+ @tool_executor_helper.print_error_results( command_line, shell_result, options[:boom] )
72
+
73
+ # go boom if exit code isn't 0 (but in some cases we don't want a non-0 exit code to raise)
74
+ raise ShellExecutionException.new(shell_result) if ((shell_result[:exit_code] != 0) and options[:boom])
75
+
76
+ return shell_result
77
+ end
78
+
79
+
80
+ private #############################
81
+
82
+
83
+ def build_arguments(config, *args)
84
+ build_string = ''
85
+
86
+ return nil if (config.nil?)
87
+
88
+ # iterate through each argument
89
+
90
+ # the yaml blob array needs to be flattened so that yaml substitution
91
+ # is handled correctly, since it creates a nested array when an anchor is
92
+ # dereferenced
93
+ config.flatten.each do |element|
94
+ argument = ''
95
+
96
+ case(element)
97
+ # if we find a simple string then look for string replacement operators
98
+ # and expand with the parameters in this method's argument list
99
+ when String then argument = expandify_element(element, *args)
100
+ # if we find a hash, then we grab the key as a substitution string and expand the
101
+ # hash's value(s) within that substitution string
102
+ when Hash then argument = dehashify_argument_elements(element)
103
+ end
104
+
105
+ build_string.concat("#{argument} ") if (argument.length > 0)
106
+ end
107
+
108
+ build_string.strip!
109
+ return build_string if (build_string.length > 0)
110
+ return nil
111
+ end
112
+
113
+
114
+ # handle simple text string argument & argument array string replacement operators
115
+ def expandify_element(element, *args)
116
+ match = //
117
+ to_process = nil
118
+ args_index = 0
119
+
120
+ # handle ${#} input replacement
121
+ if (element =~ TOOL_EXECUTOR_ARGUMENT_REPLACEMENT_PATTERN)
122
+ args_index = ($2.to_i - 1)
123
+
124
+ if (args.nil? or args[args_index].nil?)
125
+ @streaminator.stderr_puts("ERROR: Tool '#{@tool_name}' expected valid argument data to accompany replacement operator #{$1}.", Verbosity::ERRORS)
126
+ raise
127
+ end
128
+
129
+ match = /#{Regexp.escape($1)}/
130
+ to_process = args[args_index]
131
+ end
132
+
133
+ # simple string argument: replace escaped '\$' and strip
134
+ element.sub!(/\\\$/, '$')
135
+ element.strip!
136
+
137
+ # handle inline ruby execution
138
+ if (element =~ RUBY_EVAL_REPLACEMENT_PATTERN)
139
+ element.replace(eval($1))
140
+ end
141
+
142
+ build_string = ''
143
+
144
+ # handle array or anything else passed into method to be expanded in place of replacement operators
145
+ case (to_process)
146
+ when Array then to_process.each {|value| build_string.concat( "#{element.sub(match, value.to_s)} " ) } if (to_process.size > 0)
147
+ else build_string.concat( element.sub(match, to_process.to_s) )
148
+ end
149
+
150
+ # handle inline ruby string substitution
151
+ if (build_string =~ RUBY_STRING_REPLACEMENT_PATTERN)
152
+ build_string.replace(@system_wrapper.module_eval(build_string))
153
+ end
154
+
155
+ return build_string.strip
156
+ end
157
+
158
+
159
+ # handle argument hash: keys are substitution strings, values are data to be expanded within substitution strings
160
+ def dehashify_argument_elements(hash)
161
+ build_string = ''
162
+ elements = []
163
+
164
+ # grab the substitution string (hash key)
165
+ substitution = hash.keys[0].to_s
166
+ # grab the string(s) to squirt into the substitution string (hash value)
167
+ expand = hash[hash.keys[0]]
168
+
169
+ if (expand.nil?)
170
+ @streaminator.stderr_puts("ERROR: Tool '#{@tool_name}' could not expand nil elements for substitution string '#{substitution}'.", Verbosity::ERRORS)
171
+ raise
172
+ end
173
+
174
+ # array-ify expansion input if only a single string
175
+ expansion = ((expand.class == String) ? [expand] : expand)
176
+
177
+ expansion.each do |item|
178
+ # code eval substitution
179
+ if (item =~ RUBY_EVAL_REPLACEMENT_PATTERN)
180
+ elements << eval($1)
181
+ # string eval substitution
182
+ elsif (item =~ RUBY_STRING_REPLACEMENT_PATTERN)
183
+ elements << @system_wrapper.module_eval(item)
184
+ # global constants
185
+ elsif (@system_wrapper.constants_include?(item))
186
+ const = Object.const_get(item)
187
+ if (const.nil?)
188
+ @streaminator.stderr_puts("ERROR: Tool '#{@tool_name}' found constant '#{item}' to be nil.", Verbosity::ERRORS)
189
+ raise
190
+ else
191
+ elements << const
192
+ end
193
+ elsif (item.class == Array)
194
+ elements << item
195
+ elsif (item.class == String)
196
+ @streaminator.stderr_puts("ERROR: Tool '#{@tool_name}' cannot expand nonexistent value '#{item}' for substitution string '#{substitution}'.", Verbosity::ERRORS)
197
+ raise
198
+ else
199
+ @streaminator.stderr_puts("ERROR: Tool '#{@tool_name}' cannot expand value having type '#{item.class}' for substitution string '#{substitution}'.", Verbosity::ERRORS)
200
+ raise
201
+ end
202
+ end
203
+
204
+ # expand elements (whether string or array) into substitution string & replace escaped '\$'
205
+ elements.flatten!
206
+ elements.each do |element|
207
+ build_string.concat( substitution.sub(/([^\\]*)\$/, "\\1#{element}") ) # don't replace escaped '\$' but allow us to replace just a lonesome '$'
208
+ build_string.gsub!(/\\\$/, '$')
209
+ build_string.concat(' ')
210
+ end
211
+
212
+ return build_string.strip
213
+ end
214
+
215
+ end