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,479 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + "/../test_helper")
2
- require 'hardmock'
3
- require 'assert_error'
4
-
5
- class StubbingTest < Test::Unit::TestCase
6
-
7
- #
8
- # TESTS
9
- #
10
-
11
- it "stubs a class method (and un-stubs after reset_stubs)" do
12
- assert_equal "stones and gravel", Concrete.pour
13
- assert_equal "glug glug", Jug.pour
14
-
15
- Concrete.stubs!(:pour).returns("dust and plaster")
16
-
17
- 3.times do
18
- assert_equal "dust and plaster", Concrete.pour
19
- end
20
-
21
- assert_equal "glug glug", Jug.pour, "Jug's 'pour' method broken"
22
- assert_equal "stones and gravel", Concrete._hardmock_original_pour, "Original 'pour' method not aliased"
23
-
24
- assert_equal "For roads", Concrete.describe, "'describe' method broken"
25
-
26
- reset_stubs
27
-
28
- assert_equal "stones and gravel", Concrete.pour, "'pour' method not restored"
29
- assert_equal "For roads", Concrete.describe, "'describe' method broken after verify"
30
-
31
- end
32
-
33
- it "stubs several class methods" do
34
- Concrete.stubs!(:pour).returns("sludge")
35
- Concrete.stubs!(:describe).returns("awful")
36
- Jug.stubs!(:pour).returns("milk")
37
-
38
- assert_equal "sludge", Concrete.pour
39
- assert_equal "awful", Concrete.describe
40
- assert_equal "milk", Jug.pour
41
-
42
- reset_stubs
43
-
44
- assert_equal "stones and gravel", Concrete.pour
45
- assert_equal "For roads", Concrete.describe
46
- assert_equal "glug glug", Jug.pour
47
- end
48
-
49
- it "stubs instance methods" do
50
- slab = Concrete.new
51
- assert_equal "bonk", slab.hit
52
-
53
- slab.stubs!(:hit).returns("slap")
54
- assert_equal "slap", slab.hit, "'hit' not stubbed"
55
-
56
- reset_stubs
57
-
58
- assert_equal "bonk", slab.hit, "'hit' not restored"
59
- end
60
-
61
- it "stubs instance methods without breaking class methods or other instances" do
62
- slab = Concrete.new
63
- scrape = Concrete.new
64
- assert_equal "an instance", slab.describe
65
- assert_equal "an instance", scrape.describe
66
- assert_equal "For roads", Concrete.describe
67
-
68
- slab.stubs!(:describe).returns("new instance describe")
69
- assert_equal "new instance describe", slab.describe, "'describe' on instance not stubbed"
70
- assert_equal "an instance", scrape.describe, "'describe' on 'scrape' instance broken"
71
- assert_equal "For roads", Concrete.describe, "'describe' class method broken"
72
-
73
- reset_stubs
74
-
75
- assert_equal "an instance", slab.describe, "'describe' instance method not restored"
76
- assert_equal "an instance", scrape.describe, "'describe' on 'scrape' instance broken after restore"
77
- assert_equal "For roads", Concrete.describe, "'describe' class method broken after restore"
78
- end
79
-
80
- should "allow stubbing of nonexistant class methods" do
81
- Concrete.stubs!(:funky).returns('juice')
82
- assert_equal 'juice', Concrete.funky
83
- end
84
-
85
- should "allow stubbing of nonexistant instance methods" do
86
- chunk = Concrete.new
87
- chunk.stubs!(:shark).returns('bite')
88
- assert_equal 'bite', chunk.shark
89
- end
90
-
91
- should "allow re-stubbing" do
92
- Concrete.stubs!(:pour).returns("one")
93
- assert_equal "one", Concrete.pour
94
-
95
- Concrete.stubs!(:pour).raises("hell")
96
- assert_error RuntimeError, /hell/ do
97
- Concrete.pour
98
- end
99
-
100
- Concrete.stubs!(:pour).returns("two")
101
- assert_equal "two", Concrete.pour
102
-
103
- reset_stubs
104
-
105
- assert_equal "stones and gravel", Concrete.pour
106
- end
107
-
108
- it "does nothing with a runtime block when simply stubbing" do
109
- slab = Concrete.new
110
- slab.stubs!(:hit) do |nothing|
111
- raise "BOOOMM!"
112
- end
113
- slab.hit
114
- reset_stubs
115
- end
116
-
117
- it "can raise errors from a stubbed method" do
118
- Concrete.stubs!(:pour).raises(StandardError.new("no!"))
119
- assert_error StandardError, /no!/ do
120
- Concrete.pour
121
- end
122
- end
123
-
124
- it "provides string syntax for convenient raising of RuntimeErrors" do
125
- Concrete.stubs!(:pour).raises("never!")
126
- assert_error RuntimeError, /never!/ do
127
- Concrete.pour
128
- end
129
- end
130
-
131
-
132
- #
133
- # Per-method mocking on classes or instances
134
- #
135
-
136
- it "mocks specific methods on existing classes, and returns the class method to normal after verification" do
137
-
138
- assert_equal "stones and gravel", Concrete.pour, "Concrete.pour is already messed up"
139
-
140
- Concrete.expects!(:pour).returns("ALIGATORS")
141
- assert_equal "ALIGATORS", Concrete.pour
142
-
143
- verify_mocks
144
- assert_equal "stones and gravel", Concrete.pour, "Concrete.pour not restored"
145
- end
146
-
147
- it "flunks if expected class method is not invoked" do
148
-
149
- Concrete.expects!(:pour).returns("ALIGATORS")
150
- assert_error(Hardmock::VerifyError, /Concrete.pour/, /unmet expectations/i) do
151
- verify_mocks
152
- end
153
- clear_expectations
154
- end
155
-
156
- it "supports all normal mock functionality for class methods" do
157
-
158
- Concrete.expects!(:pour, "two tons").returns("mice")
159
- Concrete.expects!(:pour, "three tons").returns("cats")
160
- Concrete.expects!(:pour, "four tons").raises("Can't do it")
161
- Concrete.expects!(:pour) do |some, args|
162
- "==#{some}+#{args}=="
163
- end
164
-
165
- assert_equal "mice", Concrete.pour("two tons")
166
- assert_equal "cats", Concrete.pour("three tons")
167
- assert_error(RuntimeError, /Can't do it/) do
168
- Concrete.pour("four tons")
169
- end
170
- assert_equal "==first+second==", Concrete.pour("first","second")
171
- end
172
-
173
-
174
- it "enforces inter-mock ordering when mocking class methods" do
175
- create_mocks :truck, :foreman
176
-
177
- @truck.expects.backup
178
- Concrete.expects!(:pour, "something")
179
- @foreman.expects.shout
180
-
181
- @truck.backup
182
- assert_error Hardmock::ExpectationError, /wrong/i, /expected call/i, /Concrete.pour/ do
183
- @foreman.shout
184
- end
185
- assert_error Hardmock::VerifyError, /unmet expectations/i, /foreman.shout/ do
186
- verify_mocks
187
- end
188
- clear_expectations
189
- end
190
-
191
- should "allow mocking non-existant class methods" do
192
- Concrete.expects!(:something).returns("else")
193
- assert_equal "else", Concrete.something
194
- end
195
-
196
- it "mocks specific methods on existing instances, then restore them after verify" do
197
-
198
- slab = Concrete.new
199
- assert_equal "bonk", slab.hit
200
-
201
- slab.expects!(:hit).returns("slap")
202
- assert_equal "slap", slab.hit, "'hit' not stubbed"
203
-
204
- verify_mocks
205
- assert_equal "bonk", slab.hit, "'hit' not restored"
206
- end
207
-
208
- it "flunks if expected instance method is not invoked" do
209
-
210
- slab = Concrete.new
211
- slab.expects!(:hit)
212
-
213
- assert_error Hardmock::VerifyError, /unmet expectations/i, /Concrete.hit/ do
214
- verify_mocks
215
- end
216
- clear_expectations
217
- end
218
-
219
- it "supports all normal mock functionality for instance methods" do
220
-
221
- slab = Concrete.new
222
-
223
- slab.expects!(:hit, "soft").returns("hey")
224
- slab.expects!(:hit, "hard").returns("OOF")
225
- slab.expects!(:hit).raises("stoppit")
226
- slab.expects!(:hit) do |some, args|
227
- "==#{some}+#{args}=="
228
- end
229
-
230
- assert_equal "hey", slab.hit("soft")
231
- assert_equal "OOF", slab.hit("hard")
232
- assert_error(RuntimeError, /stoppit/) do
233
- slab.hit
234
- end
235
- assert_equal "==first+second==", slab.hit("first","second")
236
-
237
- end
238
-
239
- it "enforces inter-mock ordering when mocking instance methods" do
240
- create_mocks :truck, :foreman
241
- slab1 = Concrete.new
242
- slab2 = Concrete.new
243
-
244
- @truck.expects.backup
245
- slab1.expects!(:hit)
246
- @foreman.expects.shout
247
- slab2.expects!(:hit)
248
- @foreman.expects.whatever
249
-
250
- @truck.backup
251
- slab1.hit
252
- @foreman.shout
253
- assert_error Hardmock::ExpectationError, /wrong/i, /expected call/i, /Concrete.hit/ do
254
- @foreman.whatever
255
- end
256
- assert_error Hardmock::VerifyError, /unmet expectations/i, /foreman.whatever/ do
257
- verify_mocks
258
- end
259
- clear_expectations
260
- end
261
-
262
- should "allow mocking non-existant instance methods" do
263
- slab = Concrete.new
264
- slab.expects!(:wholly).returns('happy')
265
- assert_equal 'happy', slab.wholly
266
- end
267
-
268
- should "support concrete expectations that deal with runtime blocks" do
269
-
270
- Concrete.expects!(:pour, "a lot") do |how_much, block|
271
- assert_equal "a lot", how_much, "Wrong how_much arg"
272
- assert_not_nil block, "nil runtime block"
273
- assert_equal "the block value", block.call, "Wrong runtime block value"
274
- end
275
-
276
- Concrete.pour("a lot") do
277
- "the block value"
278
- end
279
-
280
- end
281
-
282
- it "can stub methods on mock objects" do
283
- create_mock :horse
284
- @horse.stubs!(:speak).returns("silence")
285
- @horse.stubs!(:hello).returns("nothing")
286
- @horse.expects(:canter).returns("clip clop")
287
-
288
- assert_equal "silence", @horse.speak
289
- assert_equal "clip clop", @horse.canter
290
- assert_equal "silence", @horse.speak
291
- assert_equal "silence", @horse.speak
292
- assert_equal "nothing", @horse.hello
293
- assert_equal "nothing", @horse.hello
294
-
295
- verify_mocks
296
- reset_stubs
297
- end
298
-
299
- it "can stub the new method and return values" do
300
- Concrete.stubs!(:new).returns("this value")
301
- assert_equal "this value", Concrete.new, "did not properly stub new class method"
302
- reset_stubs
303
- end
304
-
305
- it "can mock the new method and return values" do
306
- Concrete.expects!(:new).with("foo").returns("hello")
307
- Concrete.expects!(:new).with("bar").returns("world")
308
-
309
- assert_equal "hello", Concrete.new("foo"), "did not properly mock out new class method"
310
- assert_equal "world", Concrete.new("bar"), "did not properly mock out new class method"
311
-
312
- verify_mocks
313
- reset_stubs
314
- end
315
-
316
- it "can mock several different class methods at once" do
317
- sim_code = lambda do |input|
318
- record = Multitool.find_record(input)
319
- report = Multitool.generate_report(record)
320
- Multitool.format_output(report)
321
- end
322
-
323
- @identifier = "the id"
324
- @record = "the record"
325
- @report = "the report"
326
- @output = "the output"
327
-
328
- Multitool.expects!(:find_record).with(@identifier).returns(@record)
329
- Multitool.expects!(:generate_report).with(@record).returns(@report)
330
- Multitool.expects!(:format_output).with(@report).returns(@output)
331
-
332
- result = sim_code.call(@identifier)
333
- assert_equal @output, result, "Wrong output"
334
- end
335
-
336
- it "can handle a mix of different and repeat class method mock calls" do
337
- prep = lambda {
338
- Multitool.expects!(:find_record).with("A").returns("1")
339
- Multitool.expects!(:generate_report).with("1")
340
- Multitool.expects!(:find_record).with("B").returns("2")
341
- Multitool.expects!(:generate_report).with("2")
342
- }
343
-
344
- prep[]
345
- Multitool.generate_report(Multitool.find_record("A"))
346
- Multitool.generate_report(Multitool.find_record("B"))
347
-
348
- prep[]
349
- Multitool.generate_report(Multitool.find_record("A"))
350
- assert_error Hardmock::ExpectationError, /Wrong arguments/, /find_record\("B"\)/, /find_record\("C"\)/ do
351
- Multitool.generate_report(Multitool.find_record("C"))
352
- end
353
- clear_expectations
354
- end
355
-
356
- it "can mock several concrete instance methods at once" do
357
- inst = OtherMultitool.new
358
- sim_code = lambda do |input|
359
- record = inst.find_record(input)
360
- report = inst.generate_report(record)
361
- inst.format_output(report)
362
- end
363
-
364
- @identifier = "the id"
365
- @record = "the record"
366
- @report = "the report"
367
- @output = "the output"
368
-
369
- inst.expects!(:find_record).with(@identifier).returns(@record)
370
- inst.expects!(:generate_report).with(@record).returns(@report)
371
- inst.expects!(:format_output).with(@report).returns(@output)
372
-
373
- result = sim_code.call(@identifier)
374
- assert_equal @output, result, "Wrong output"
375
- end
376
-
377
- it "verifies all concrete expects! from several different expectations" do
378
- Multitool.expects!(:find_record)
379
- Multitool.expects!(:generate_report)
380
- Multitool.expects!(:format_output)
381
-
382
- Multitool.find_record
383
- Multitool.generate_report
384
-
385
- assert_error Hardmock::VerifyError, /unmet expectations/i, /format_output/i do
386
- verify_mocks
387
- end
388
- end
389
-
390
- it "will not allow expects! to be used on a mock object" do
391
- create_mock :cow
392
- assert_error Hardmock::StubbingError, /expects!/, /mock/i, /something/ do
393
- @cow.expects!(:something)
394
- end
395
- end
396
-
397
- it "does not allow stubbing on nil objects" do
398
- [ nil, @this_is_nil ].each do |nil_obj|
399
- assert_error Hardmock::StubbingError, /cannot/i, /nil/i, /intentionally/ do
400
- nil_obj.stubs!(:wont_work)
401
- end
402
- end
403
- end
404
-
405
- it "does not allow concrete method mocking on nil objects" do
406
- [ nil, @this_is_nil ].each do |nil_obj|
407
- assert_error Hardmock::StubbingError, /cannot/i, /nil/i, /intentionally/ do
408
- nil_obj.expects!(:wont_work)
409
- end
410
- end
411
- end
412
-
413
- it "provides an alternate method for stubbing on nil objects" do
414
- @this_is_nil.intentionally_stubs!(:bogus).returns('output')
415
- assert_equal 'output', @this_is_nil.bogus
416
- end
417
-
418
- it "provides an alternate method for mocking concreate methods on nil objects" do
419
- @this_is_nil.intentionally_expects!(:bogus).returns('output')
420
- assert_error Hardmock::VerifyError, /unmet expectations/i, /NilClass.bogus/ do
421
- verify_mocks
422
- end
423
- end
424
-
425
- #
426
- # HELPERS
427
- #
428
-
429
- class Concrete
430
- def initialize; end
431
- def self.pour
432
- "stones and gravel"
433
- end
434
-
435
- def self.describe
436
- "For roads"
437
- end
438
-
439
- def hit
440
- "bonk"
441
- end
442
-
443
- def describe
444
- "an instance"
445
- end
446
- end
447
-
448
- class Jug
449
- def self.pour
450
- "glug glug"
451
- end
452
- end
453
-
454
- class Multitool
455
- def self.find_record(*a)
456
- raise "The real Multitool.find_record was called with #{a.inspect}"
457
- end
458
- def self.generate_report(*a)
459
- raise "The real Multitool.generate_report was called with #{a.inspect}"
460
- end
461
- def self.format_output(*a)
462
- raise "The real Multitool.format_output was called with #{a.inspect}"
463
- end
464
- end
465
-
466
- class OtherMultitool
467
- def find_record(*a)
468
- raise "The real OtherMultitool#find_record was called with #{a.inspect}"
469
- end
470
- def generate_report(*a)
471
- raise "The real OtherMultitool#generate_report was called with #{a.inspect}"
472
- end
473
- def format_output(*a)
474
- raise "The real OtherMultitool#format_output was called with #{a.inspect}"
475
- end
476
- end
477
-
478
- end
479
-