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,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
+