ceedling 0.13.0 → 0.15.0

Sign up to get free protection for your applications and to get access to all the features.
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,5 +1,5 @@
1
- require 'plugin'
2
- require 'constants'
1
+ require 'ceedling/plugin'
2
+ require 'ceedling/constants'
3
3
 
4
4
  class XmlTestsReport < Plugin
5
5
 
@@ -57,7 +57,7 @@ class XmlTestsReport < Plugin
57
57
  result[:collection].each do |item|
58
58
  filename = File.join( result[:source][:path], result[:source][:file] )
59
59
 
60
- stream.puts "\t\t<FailedTest id=\"#{@test_counter}\">"
60
+ stream.puts "\t\t<FailedTest id=\"#{@test_counter}\"/>"
61
61
  stream.puts "\t\t\t<Name>#{filename}::#{item[:test]}</Name>"
62
62
  stream.puts "\t\t\t<FailureType>Assertion</FailureType>"
63
63
  stream.puts "\t\t\t<Location>"
@@ -107,4 +107,4 @@ class XmlTestsReport < Plugin
107
107
  stream.puts "</TestRun>"
108
108
  end
109
109
 
110
- end
110
+ end
data/release/version.info CHANGED
@@ -1 +1 @@
1
- 0.10
1
+ 0.15
@@ -0,0 +1,154 @@
1
+ require 'spec_helper'
2
+ require 'ceedling'
3
+
4
+ describe 'Ceedling' do
5
+ context 'location' do
6
+ it 'should return the location of the ceedling gem directory' do
7
+ # create test state/variables
8
+ ceedling_path = File.join(File.dirname(__FILE__), '..').gsub('spec','lib')
9
+ # mocks/stubs/expected calls
10
+ # execute method
11
+ location = Ceedling.location
12
+ # validate results
13
+ location.should == ceedling_path
14
+ end
15
+ end
16
+
17
+ context 'load_path' do
18
+ it 'should return the location of the plugins directory' do
19
+ # create test state/variables
20
+ load_path = File.join(File.dirname(__FILE__), '..').gsub('spec','lib')
21
+ load_path = File.join( load_path, 'plugins' )
22
+ # mocks/stubs/expected calls
23
+ # execute method
24
+ location = Ceedling.load_path
25
+ # validate results
26
+ location.should == load_path
27
+ end
28
+ end
29
+
30
+ context 'rakefile' do
31
+ it 'should return the location of the ceedling rakefile' do
32
+ # create test state/variables
33
+ rakefile_path = File.join(File.dirname(__FILE__), '..').gsub('spec','lib')
34
+ rakefile_path = File.join( rakefile_path, 'lib', 'ceedling', 'rakefile.rb' )
35
+ # mocks/stubs/expected calls
36
+ # execute method
37
+ location = Ceedling.rakefile
38
+ # validate results
39
+ location.should == rakefile_path
40
+ end
41
+ end
42
+
43
+ context 'load_project' do
44
+ it 'should load the project with the default yaml file' do
45
+ # create test state/variables
46
+ ENV.delete('CEEDLING_MAIN_PROJECT_FILE')
47
+ rakefile_path = File.join(File.dirname(__FILE__), '..').gsub('spec','lib')
48
+ rakefile_path = File.join( rakefile_path, 'lib', 'ceedling', 'rakefile.rb' )
49
+ # mocks/stubs/expected calls
50
+ Ceedling.should_receive(:load).with(rakefile_path)
51
+ # execute method
52
+ Ceedling.load_project
53
+ # validate results
54
+ ENV['CEEDLING_MAIN_PROJECT_FILE'].should == './project.yml'
55
+ end
56
+
57
+ it 'should load the project with the specified yaml file' do
58
+ # create test state/variables
59
+ ENV.delete('CEEDLING_MAIN_PROJECT_FILE')
60
+ rakefile_path = File.join(File.dirname(__FILE__), '..').gsub('spec','lib')
61
+ rakefile_path = File.join( rakefile_path, 'lib', 'ceedling', 'rakefile.rb' )
62
+ # mocks/stubs/expected calls
63
+ Ceedling.should_receive(:load).with(rakefile_path)
64
+ # execute method
65
+ Ceedling.load_project(config: './foo.yml')
66
+ # validate results
67
+ ENV['CEEDLING_MAIN_PROJECT_FILE'].should == './foo.yml'
68
+ end
69
+
70
+ it 'should load the project with the yaml file specified by the existing environment variable' do
71
+ # create test state/variables
72
+ ENV['CEEDLING_MAIN_PROJECT_FILE'] = './bar.yml'
73
+ rakefile_path = File.join(File.dirname(__FILE__), '..').gsub('spec','lib')
74
+ rakefile_path = File.join( rakefile_path, 'lib', 'ceedling', 'rakefile.rb' )
75
+ # mocks/stubs/expected calls
76
+ Ceedling.should_receive(:load).with(rakefile_path)
77
+ # execute method
78
+ Ceedling.load_project
79
+ # validate results
80
+ ENV['CEEDLING_MAIN_PROJECT_FILE'].should == './bar.yml'
81
+ end
82
+
83
+ it 'should load the project with the specified plugins enabled' do
84
+ # create test state/variables
85
+ DEFAULT_CEEDLING_CONFIG[:plugins][:enabled].clear()
86
+ DEFAULT_CEEDLING_CONFIG[:plugins][:load_paths].clear()
87
+ spec_double = double('spec-double')
88
+ rakefile_path = File.join(File.dirname(__FILE__), '..').gsub('spec','lib')
89
+ rakefile_path = File.join( rakefile_path, 'lib', 'ceedling', 'rakefile.rb' )
90
+ # mocks/stubs/expected calls
91
+ Gem::Specification.should_receive(:find_by_name).with('ceedling-foo').and_return(spec_double)
92
+ spec_double.should_receive(:gem_dir).and_return('dummy/path')
93
+ Ceedling.should_receive(:require).with('ceedling/defaults')
94
+ Ceedling.should_receive(:load).with(rakefile_path)
95
+ # execute method
96
+ Ceedling.load_project( config: './foo.yml',
97
+ plugins: ['foo'])
98
+ # validate results
99
+ ENV['CEEDLING_MAIN_PROJECT_FILE'].should == './foo.yml'
100
+ end
101
+
102
+ it 'should set the project root if the root key is provided' do
103
+ # create test state/variables
104
+ Object.send(:remove_const, :PROJECT_ROOT)
105
+ DEFAULT_CEEDLING_CONFIG[:plugins][:enabled].clear()
106
+ DEFAULT_CEEDLING_CONFIG[:plugins][:load_paths].clear()
107
+ rakefile_path = File.join(File.dirname(__FILE__), '..').gsub('spec','lib')
108
+ rakefile_path = File.join( rakefile_path, 'lib', 'ceedling', 'rakefile.rb' )
109
+ # mocks/stubs/expected calls
110
+ Ceedling.should_receive(:load).with(rakefile_path)
111
+ # execute method
112
+ Ceedling.load_project( config: './foo.yml',
113
+ root: './')
114
+ # validate results
115
+ ENV['CEEDLING_MAIN_PROJECT_FILE'].should == './foo.yml'
116
+ PROJECT_ROOT.should == './'
117
+ end
118
+ end
119
+
120
+ context 'register_plugin' do
121
+ it 'should register a plugin' do
122
+ # create test state/variables
123
+ DEFAULT_CEEDLING_CONFIG[:plugins][:enabled].clear()
124
+ DEFAULT_CEEDLING_CONFIG[:plugins][:load_paths].clear()
125
+ spec_double = double('spec-double')
126
+ # mocks/stubs/expected calls
127
+ Gem::Specification.should_receive(:find_by_name).with('ceedling-foo').and_return(spec_double)
128
+ spec_double.should_receive(:gem_dir).and_return('dummy/path')
129
+ Ceedling.should_receive(:require).with('ceedling/defaults')
130
+ # execute method
131
+ Ceedling.register_plugin('foo')
132
+ # validate results
133
+ DEFAULT_CEEDLING_CONFIG[:plugins][:enabled].should == ["foo"]
134
+ DEFAULT_CEEDLING_CONFIG[:plugins][:load_paths].should == ["dummy/path"]
135
+ end
136
+
137
+ it 'should register a plugin with an alternative prefix' do
138
+ # create test state/variables
139
+ DEFAULT_CEEDLING_CONFIG[:plugins][:enabled].clear()
140
+ DEFAULT_CEEDLING_CONFIG[:plugins][:load_paths].clear()
141
+ spec_double = double('spec-double')
142
+ # mocks/stubs/expected calls
143
+ Gem::Specification.should_receive(:find_by_name).with('prefix-foo').and_return(spec_double)
144
+ spec_double.should_receive(:gem_dir).and_return('dummy/path')
145
+ Ceedling.should_receive(:require).with('ceedling/defaults')
146
+ # execute method
147
+ Ceedling.register_plugin('foo','prefix-')
148
+ # validate results
149
+ DEFAULT_CEEDLING_CONFIG[:plugins][:enabled].should == ["foo"]
150
+ DEFAULT_CEEDLING_CONFIG[:plugins][:load_paths].should == ["dummy/path"]
151
+ end
152
+ end
153
+ end
154
+
data/spec/par_map_spec.rb CHANGED
@@ -1,4 +1,4 @@
1
- require "par_map"
1
+ require 'ceedling/par_map'
2
2
 
3
3
  def short_task_should(n)
4
4
  done_count = 0
@@ -1,39 +1,38 @@
1
1
  # derived from test_graveyard/unit/preprocessinator_extractor_test.rb
2
2
 
3
3
  require 'spec_helper'
4
+ require 'ceedling/preprocessinator_extractor'
4
5
 
5
6
  describe PreprocessinatorExtractor do
6
- describe "#extract_base_file_from_preprocessed_expansion" do
7
+ context "#extract_base_file_from_preprocessed_expansion" do
7
8
  it "should extract text from the original file and keep #pragma statements" do
8
9
  file_path = "path/to/WANT.c"
9
- input_str = <<-EOS
10
- # 1 "some/file/we/do/not/care/about.c" 5
11
- #pragma shit
12
- some_text_we_do_not_want();
13
- # 1 "some/file/we/DO/WANT.c" 99999
14
- some_text_we_do_not_want();
15
- #pragma want
16
- some_awesome_text_we_want_so_hard();
17
- holy_crepes_more_awesome_text();
18
- # oh darn
19
- # 1 "some/useless/file.c" 9
20
- a set of junk
21
- more junk
22
- # 1 "holy/shoot/yes/WANT.c" 10
23
- some_additional_awesome_want_text();
24
- EOS
25
- input_str = input_str.left_margin.rstrip
10
+ input_str = [
11
+ '# 1 "some/file/we/do/not/care/about.c" 5',
12
+ '#pragma shit',
13
+ 'some_text_we_do_not_want();',
14
+ '# 1 "some/file/we/DO/WANT.c" 99999',
15
+ 'some_text_we_do_not_want();',
16
+ '#pragma want',
17
+ 'some_awesome_text_we_want_so_hard();',
18
+ 'holy_crepes_more_awesome_text();',
19
+ '# oh darn',
20
+ '# 1 "some/useless/file.c" 9',
21
+ 'a set of junk',
22
+ 'more junk',
23
+ '# 1 "holy/shoot/yes/WANT.c" 10',
24
+ 'some_additional_awesome_want_text();',
25
+ ]
26
26
 
27
- expect_str = <<-EOS
28
- some_text_we_do_not_want();
29
- #pragma want
30
- some_awesome_text_we_want_so_hard();
31
- holy_crepes_more_awesome_text();
32
- some_additional_awesome_want_text();
33
- EOS
34
- expect_str = expect_str.left_margin.rstrip.split("\n")
27
+ expect_str = [
28
+ 'some_text_we_do_not_want();',
29
+ '#pragma want',
30
+ 'some_awesome_text_we_want_so_hard();',
31
+ 'holy_crepes_more_awesome_text();',
32
+ 'some_additional_awesome_want_text();',
33
+ ]
35
34
 
36
- stub(File).readlines(file_path) { input_str.split("\n") }
35
+ File.should_receive(:readlines).with(file_path).and_return( input_str )
37
36
 
38
37
  subject.extract_base_file_from_preprocessed_expansion(file_path).should == expect_str
39
38
  end
@@ -0,0 +1,175 @@
1
+ require 'spec_helper'
2
+ require 'ceedling/preprocessinator_includes_handler'
3
+
4
+ describe PreprocessinatorIncludesHandler do
5
+ before :each do
6
+ @configurator = double('configurator')
7
+ @tool_executor = double('tool_executor')
8
+ @task_invoker = double('task_invoker')
9
+ @file_path_utils = double('file_path_utils')
10
+ @yaml_wrapper = double('yaml_wrapper')
11
+ @file_wrapper = double('file_wrapper')
12
+ end
13
+
14
+ subject do
15
+ PreprocessinatorIncludesHandler.new(
16
+ :configurator => @configurator,
17
+ :tool_executor => @tool_executor,
18
+ :task_invoker => @task_invoker,
19
+ :file_path_utils => @file_path_utils,
20
+ :yaml_wrapper => @yaml_wrapper,
21
+ :file_wrapper => @file_wrapper,
22
+ )
23
+ end
24
+
25
+ context 'invoke_shallow_includes_list' do
26
+ it 'should invoke the rake task which will build included files' do
27
+ # create test state/variables
28
+ # mocks/stubs/expected calls
29
+ inc_list_double = double('inc-list-double')
30
+ @file_path_utils.should_receive(:form_preprocessed_includes_list_filepath).with('some_source_file.c').and_return(inc_list_double)
31
+ @task_invoker.should_receive(:invoke_test_shallow_include_lists).with( [inc_list_double] )
32
+ # execute method
33
+ subject.invoke_shallow_includes_list('some_source_file.c')
34
+ # validate results
35
+ end
36
+ end
37
+
38
+ context 'form_shallow_dependencies_rule' do
39
+ it 'should return an annotated dependency rule generated by the preprocessor' do
40
+ # create test state/variables
41
+ # mocks/stubs/expected calls
42
+ @file_path_utils.should_receive(:form_temp_path).with('some_source_file.c','_').and_return('_some_source_file.c')
43
+ contents_double = double('contents-double')
44
+ @file_wrapper.should_receive(:read).with('some_source_file.c').and_return(contents_double)
45
+ contents_double.should_receive(:gsub!).with(/^\s*#include\s+[\"<]\s*(\S+)\s*[\">]/, "#include \"\\1\"\n#include \"@@@@\\1\"")
46
+ @file_wrapper.should_receive(:write).with('_some_source_file.c', contents_double)
47
+ @configurator.should_receive(:tools_test_includes_preprocessor).and_return('cpp')
48
+ command_double = double('command-double')
49
+ @tool_executor.should_receive(:build_command_line).with('cpp', '_some_source_file.c').and_return(command_double)
50
+ command_double.should_receive(:[]).with(:line).and_return('cpp')
51
+ command_double.should_receive(:[]).with(:options).and_return(['arg1','arg2'])
52
+ output_double = double('output-double')
53
+ @tool_executor.should_receive(:exec).with('cpp',['arg1','arg2']).and_return(output_double)
54
+ output_double.should_receive(:[]).with(:output).and_return('make-rule')
55
+ # execute method
56
+ results = subject.form_shallow_dependencies_rule('some_source_file.c')
57
+ # validate results
58
+ results.should == 'make-rule'
59
+ end
60
+ end
61
+
62
+ context 'extract_shallow_includes' do
63
+ it 'should return the list of direct dependencies for the given test file' do
64
+ # create test state/variables
65
+ # mocks/stubs/expected calls
66
+ @configurator.should_receive(:extension_header).and_return('.h')
67
+ # execute method
68
+ results = subject.extract_shallow_includes(%q{
69
+ _test_DUMMY.o: Build/temp/_test_DUMMY.c \
70
+ source/some_header1.h \
71
+ source/some_lib/some_header2.h \
72
+ source/some_other_lib/some_header2.h \
73
+ @@@@some_header1.h \
74
+ @@@@some_lib/some_header2.h
75
+ @@@@some_other_lib/some_header2.h
76
+ })
77
+ # validate results
78
+ results.should == ['some_header1.h',
79
+ 'some_lib/some_header2.h',
80
+ 'some_other_lib/some_header2.h']
81
+ end
82
+
83
+ it 'should return the list of direct dependencies for the given test file' do
84
+ # create test state/variables
85
+ # mocks/stubs/expected calls
86
+ @configurator.should_receive(:extension_header).and_return('.h')
87
+ # execute method
88
+ results = subject.extract_shallow_includes(%q{
89
+ _test_DUMMY.o: Build/temp/_test_DUMMY.c \
90
+ source/some_header1.h \
91
+ source/some_lib/some_header2.h \
92
+ source/some_other_lib/some_header2.h \
93
+ @@@@some_header1.h \
94
+ @@@@some_lib/some_header2.h
95
+ @@@@some_other_lib/some_header2.h
96
+ })
97
+ # validate results
98
+ results.should == ['some_header1.h',
99
+ 'some_lib/some_header2.h',
100
+ 'some_other_lib/some_header2.h']
101
+ end
102
+
103
+ it 'should correctly handle path separators' do
104
+ # create test state/variables
105
+ # mocks/stubs/expected calls
106
+ @configurator.should_receive(:extension_header).and_return('.h')
107
+ # execute method
108
+ results = subject.extract_shallow_includes(%q{
109
+ _test_DUMMY.o: Build/temp/_test_DUMMY.c \
110
+ source\some_header1.h \
111
+ source\some_lib\some_header2.h \
112
+ source\some_lib1\some_lib\some_header2.h \
113
+ source\some_other_lib\some_header2.h \
114
+ @@@@some_header1.h \
115
+ @@@@some_lib/some_header2.h
116
+ @@@@some_lib1/some_lib/some_header2.h
117
+ @@@@some_other_lib/some_header2.h
118
+ })
119
+ # validate results
120
+ results.should == ['some_header1.h',
121
+ 'some_lib/some_header2.h',
122
+ 'some_lib1/some_lib/some_header2.h',
123
+ 'some_other_lib/some_header2.h']
124
+ end
125
+
126
+ it 'exclude annotated headers with no matching "real" header' do
127
+ # create test state/variables
128
+ # mocks/stubs/expected calls
129
+ @configurator.should_receive(:extension_header).and_return('.h')
130
+ # execute method
131
+ results = subject.extract_shallow_includes(%q{
132
+ _test_DUMMY.o: Build/temp/_test_DUMMY.c \
133
+ source/some_header1.h \
134
+ @@@@some_header1.h \
135
+ @@@@some_lib/some_header2.h
136
+ })
137
+ # validate results
138
+ results.should == ['some_header1.h']
139
+ end
140
+
141
+ it 'should correctly filter secondary dependencies' do
142
+ # create test state/variables
143
+ # mocks/stubs/expected calls
144
+ @configurator.should_receive(:extension_header).and_return('.h')
145
+ # execute method
146
+ results = subject.extract_shallow_includes(%q{
147
+ _test_DUMMY.o: Build/temp/_test_DUMMY.c \
148
+ source\some_header1.h \
149
+ source\some_lib\some_header2.h \
150
+ source\some_lib1\some_lib\some_header2.h \
151
+ source\some_other_lib\some_header2.h \
152
+ source\some_other_lib\another.h \
153
+ @@@@some_header1.h \
154
+ @@@@some_lib/some_header2.h \
155
+ @@@@lib/some_header2.h \
156
+ @@@@some_other_lib/some_header2.h
157
+ })
158
+ # validate results
159
+ results.should == ['some_header1.h',
160
+ 'some_lib/some_header2.h',
161
+ 'some_other_lib/some_header2.h']
162
+ end
163
+ end
164
+
165
+ context 'invoke_shallow_includes_list' do
166
+ it 'should invoke the rake task which will build included files' do
167
+ # create test state/variables
168
+ # mocks/stubs/expected calls
169
+ @yaml_wrapper.should_receive(:dump).with('some_source_file.c', [])
170
+ # execute method
171
+ subject.write_shallow_includes_list('some_source_file.c', [])
172
+ # validate results
173
+ end
174
+ end
175
+ end
data/spec/spec_helper.rb CHANGED
@@ -1,9 +1,9 @@
1
1
  require 'require_all'
2
2
  require 'constructor'
3
3
 
4
- RSpec.configure do |configuration|
5
- configuration.mock_with :rr
6
- end
4
+ #RSpec.configure do |configuration|
5
+ # configuration.mock_with :rr
6
+ #end
7
7
 
8
8
  here = File.dirname(__FILE__)
9
9
 
@@ -20,27 +20,8 @@ support_dir = File.join(File.dirname(__FILE__), 'support')
20
20
  # # ceedling_files = File.join(File.dirname(__FILE__), '../lib/**/*.rb')
21
21
  # # require_all Dir.glob(ceedling_files)
22
22
 
23
- require 'preprocessinator_extractor'
24
- require 'configurator_builder'
25
- require 'configurator'
26
-
27
- class String
28
- def left_margin(indentation_level = 0)
29
- indent = " " * indentation_level
30
-
31
- data_start_at_col = self.lines.map do |l|
32
- white_space = l.match(/(^\s*)\S/)
33
-
34
- if white_space
35
- white_space[1].length
36
- end
37
- end.compact.min
38
-
39
- self.lines.map do |l|
40
- rel = l[data_start_at_col..-1]
41
- if rel
42
- indent + rel
43
- end
44
- end.compact.join
45
- end
46
- end
23
+ require 'ceedling/preprocessinator_extractor'
24
+ require 'ceedling/configurator_builder'
25
+ require 'ceedling/configurator'
26
+
27
+