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,31 +0,0 @@
1
- require 'test/unit/assertions'
2
- require 'hardmock/errors'
3
-
4
- module Hardmock
5
- class Trapper #:nodoc:
6
- include Hardmock::MethodCleanout
7
-
8
- def initialize(mock,mock_control,expectation_builder)
9
- @mock = mock
10
- @mock_control = mock_control
11
- @expectation_builder = expectation_builder
12
- end
13
-
14
- def method_missing(mname, *args)
15
- if block_given?
16
- raise ExpectationError.new("Don't pass blocks when using 'trap' (setting exepectations for '#{mname}')")
17
- end
18
-
19
- the_block = lambda { |target_block| target_block }
20
- expectation = @expectation_builder.build_expectation(
21
- :mock => @mock,
22
- :method => mname,
23
- :arguments => args,
24
- :suppress_arguments_to_block => true,
25
- :block => the_block)
26
-
27
- @mock_control.add_expectation expectation
28
- expectation
29
- end
30
- end
31
- end
@@ -1,9 +0,0 @@
1
-
2
- module Hardmock
3
- module Utils #:nodoc:
4
- def format_method_call_string(mock,mname,args)
5
- arg_string = args.map { |a| a.inspect }.join(', ')
6
- call_text = "#{mock._name}.#{mname}(#{arg_string})"
7
- end
8
- end
9
- end
@@ -1,169 +0,0 @@
1
- require 'test/unit'
2
- require 'test/unit/testcase'
3
- require 'test/unit/assertions'
4
-
5
- module Test #:nodoc:#
6
- module Unit #:nodoc:#
7
-
8
- # == TestCase Modifications
9
- #
10
- # Monkey-patch to provide a formal mechanism for appending actions to be executed after teardown.
11
- # Use after_teardown to define one or more actions to be executed after teardown for ALL tests.
12
- #
13
- # COMING SOON?
14
- # * (maybe?) Hooks for before_teardown, after_setup, on_error
15
- # * (maybe?) Options for positional control, eg, after_teardown :before_other_actions
16
- # * (maybe?) Provide tagging/filtering so action execution can be controlled specifically?
17
- #
18
- # == Usage
19
- #
20
- # Invoke TestCase.after_teardown with optional parameter, which will be invoked with a reference
21
- # to the test instance that has just been torn down.
22
- #
23
- # Example:
24
- #
25
- # Test::Unit::TestCase.after_teardown do |test|
26
- # test.verify_mocks
27
- # end
28
- #
29
- # == Justification
30
- #
31
- # There are a number of tools and libraries that play fast-n-loose with setup and teardown by
32
- # wrapping them, and by overriding method_added as a means of upholding special setup/teardown
33
- # behavior, usually by re-wrapping newly defined user-level setup/teardown methods.
34
- # mocha and active_record/fixtures (and previously, hardmock) will fight for this
35
- # territory with often unpredictable results.
36
- #
37
- # We wouldn't have to battle if Test::Unit provided a formal pre- and post- hook mechanism.
38
- #
39
- class TestCase
40
-
41
- class << self
42
-
43
- # Define an action to be run after teardown. Subsequent calls result in
44
- # multiple actions. The block will be given a reference to the test
45
- # being executed.
46
- #
47
- # Example:
48
- #
49
- # Test::Unit::TestCase.after_teardown do |test|
50
- # test.verify_mocks
51
- # end
52
- def after_teardown(&block)
53
- post_teardown_actions << block
54
- end
55
-
56
- # Used internally. Access the list of post teardown actions for to be
57
- # used by all tests.
58
- def post_teardown_actions
59
- @@post_teardown_actions ||= []
60
- end
61
-
62
- # Define an action to be run before setup. Subsequent calls result in
63
- # multiple actions, EACH BEING PREPENDED TO THE PREVIOUS.
64
- # The block will be given a reference to the test being executed.
65
- #
66
- # Example:
67
- #
68
- # Test::Unit::TestCase.before_setup do |test|
69
- # test.prepare_hardmock_control
70
- # end
71
- def before_setup(&block)
72
- pre_setup_actions.unshift block
73
- end
74
-
75
- # Used internally. Access the list of post teardown actions for to be
76
- # used by all tests.
77
- def pre_setup_actions
78
- @@pre_setup_actions ||= []
79
- end
80
- end
81
-
82
- # OVERRIDE: This is a reimplementation of the default "run", updated to
83
- # execute actions after teardown.
84
- def run(result)
85
- yield(STARTED, name)
86
- @_result = result
87
- begin
88
- execute_pre_setup_actions(self)
89
- setup
90
- __send__(@method_name)
91
- rescue Test::Unit::AssertionFailedError => e
92
- add_failure(e.message, auxiliary_backtrace_filter(e.backtrace))
93
- rescue Exception
94
- raise if should_passthru_exception($!) # See implementation; this is for pre-1.8.6 compat
95
- add_error($!)
96
- ensure
97
- begin
98
- teardown
99
- rescue Test::Unit::AssertionFailedError => e
100
- add_failure(e.message, auxiliary_backtrace_filter(e.backtrace))
101
- rescue Exception
102
- raise if should_passthru_exception($!) # See implementation; this is for pre-1.8.6 compat
103
- add_error($!)
104
- ensure
105
- execute_post_teardown_actions(self)
106
- end
107
- end
108
- result.add_run
109
- yield(FINISHED, name)
110
- end
111
-
112
- private
113
-
114
- # Run through the after_teardown actions, treating failures and errors
115
- # in the same way that "run" does: they are reported, and the remaining
116
- # actions are executed.
117
- def execute_post_teardown_actions(test_instance)
118
- self.class.post_teardown_actions.each do |action|
119
- begin
120
- action.call test_instance
121
- rescue Test::Unit::AssertionFailedError => e
122
- add_failure(e.message, auxiliary_backtrace_filter(e.backtrace))
123
- rescue Exception
124
- raise if should_passthru_exception($!)
125
- add_error($!)
126
- end
127
- end
128
- end
129
-
130
- # Run through the before_setup actions.
131
- # Failures or errors cause execution to stop.
132
- def execute_pre_setup_actions(test_instance)
133
- self.class.pre_setup_actions.each do |action|
134
- # begin
135
- action.call test_instance
136
- # rescue Test::Unit::AssertionFailedError => e
137
- # add_failure(e.message, auxiliary_backtrace_filter(e.backtrace))
138
- # rescue Exception
139
- # raise if should_passthru_exception($!)
140
- # add_error($!)
141
- # end
142
- end
143
- end
144
-
145
- # Make sure that this extension doesn't show up in failure backtraces
146
- def auxiliary_backtrace_filter(trace)
147
- trace.reject { |x| x =~ /test_unit_before_after/ }
148
- end
149
-
150
- # Is the given error of the type that we allow to fly out (rather than catching it)?
151
- def should_passthru_exception(ex)
152
- return passthrough_exception_types.include?($!.class)
153
- end
154
-
155
- # Provide a list of exception types that are to be allowed to explode out.
156
- # Pre-ruby-1.8.6 doesn't use this functionality, so the PASSTHROUGH_EXCEPTIONS
157
- # constant won't be defined. This methods defends against that and returns
158
- # an empty list instead.
159
- def passthrough_exception_types
160
- begin
161
- return PASSTHROUGH_EXCEPTIONS
162
- rescue NameError
163
- # older versions of test/unit do not have PASSTHROUGH_EXCEPTIONS constant
164
- return []
165
- end
166
- end
167
- end
168
- end
169
- end
@@ -1,19 +0,0 @@
1
- require 'rake/rdoctask'
2
- require File.expand_path(File.dirname(__FILE__) + "/rdoc_options.rb")
3
-
4
- namespace :doc do
5
-
6
- desc "Generate RDoc documentation"
7
- Rake::RDocTask.new { |rdoc|
8
- rdoc.rdoc_dir = 'doc'
9
- rdoc.title = "Hardmock: Strict expectation-based mock object library "
10
- add_rdoc_options(rdoc.options)
11
- rdoc.rdoc_files.include('lib/**/*.rb', 'README','CHANGES','LICENSE')
12
- }
13
-
14
- task :show => [ 'doc:rerdoc' ] do
15
- sh "open doc/index.html"
16
- end
17
-
18
- end
19
-
@@ -1,4 +0,0 @@
1
-
2
- def add_rdoc_options(options)
3
- options << '--line-numbers' << '--inline-source' << '--main' << 'README' << '--title' << 'Hardmock'
4
- end
@@ -1,22 +0,0 @@
1
- require 'rake/testtask'
2
-
3
- namespace :test do
4
-
5
- desc "Run unit tests"
6
- Rake::TestTask.new("units") { |t|
7
- t.libs << "test"
8
- t.pattern = 'test/unit/*_test.rb'
9
- t.verbose = true
10
- }
11
-
12
- desc "Run functional tests"
13
- Rake::TestTask.new("functional") { |t|
14
- t.libs << "test"
15
- t.pattern = 'test/functional/*_test.rb'
16
- t.verbose = true
17
- }
18
-
19
- desc "Run all the tests"
20
- task :all => [ 'test:units', 'test:functional' ]
21
-
22
- end
@@ -1,52 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + "/../test_helper")
2
- require 'assert_error'
3
-
4
- class AssertErrorTest < Test::Unit::TestCase
5
-
6
- it "specfies an error type and message that should be raised" do
7
- assert_error RuntimeError, "Too funky" do
8
- raise RuntimeError.new("Too funky")
9
- end
10
- end
11
-
12
- it "flunks if the error message is wrong" do
13
- err = assert_raise Test::Unit::AssertionFailedError do
14
- assert_error RuntimeError, "not good" do
15
- raise RuntimeError.new("Too funky")
16
- end
17
- end
18
- assert_match(/not good/i, err.message)
19
- assert_match(/too funky/i, err.message)
20
- end
21
-
22
- it "flunks if the error type is wrong" do
23
- err = assert_raise Test::Unit::AssertionFailedError do
24
- assert_error StandardError, "Too funky" do
25
- raise RuntimeError.new("Too funky")
26
- end
27
- end
28
- assert_match(/StandardError/i, err.message)
29
- assert_match(/RuntimeError/i, err.message)
30
- end
31
-
32
- it "can match error message text using a series of Regexps" do
33
- assert_error StandardError, /too/i, /funky/i do
34
- raise StandardError.new("Too funky")
35
- end
36
- end
37
-
38
- it "flunks if the error message doesn't match all the Regexps" do
39
- err = assert_raise Test::Unit::AssertionFailedError do
40
- assert_error StandardError, /way/i, /too/i, /funky/i do
41
- raise StandardError.new("Too funky")
42
- end
43
- end
44
- assert_match(/way/i, err.message)
45
- end
46
-
47
- it "can operate without any message specification" do
48
- assert_error StandardError do
49
- raise StandardError.new("ooof")
50
- end
51
- end
52
- end
@@ -1,178 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + "/../test_helper")
2
- require 'fileutils'
3
-
4
- class AutoVerifyTest < Test::Unit::TestCase
5
-
6
- def setup
7
- @expect_unmet_expectations = true
8
- end
9
-
10
- def teardown
11
- remove_temp_test_file
12
- end
13
-
14
- #
15
- # TESTS
16
- #
17
-
18
- it "auto-verifies all mocks in teardown" do
19
- write_and_execute_test
20
- end
21
-
22
- it "auto-verifies even if user defines own teardown" do
23
- @teardown_code =<<-EOM
24
- def teardown
25
- # just in the way
26
- end
27
- EOM
28
- write_and_execute_test
29
- end
30
-
31
- should "not obscure normal failures when verification fails" do
32
- @test_code =<<-EOM
33
- def test_setup_doomed_expectation
34
- create_mock :automobile
35
- @automobile.expects.start
36
- flunk "natural failure"
37
- end
38
- EOM
39
- @expect_failures = 1
40
- write_and_execute_test
41
- end
42
-
43
- should "not skip user-defined teardown when verification fails" do
44
- @teardown_code =<<-EOM
45
- def teardown
46
- puts "User teardown"
47
- end
48
- EOM
49
- write_and_execute_test
50
- assert_output_contains(/User teardown/)
51
- end
52
-
53
- it "is quiet when verification is ok" do
54
- @test_code =<<-EOM
55
- def test_ok
56
- create_mock :automobile
57
- @automobile.expects.start
58
- @automobile.start
59
- end
60
- EOM
61
- @teardown_code =<<-EOM
62
- def teardown
63
- puts "User teardown"
64
- end
65
- EOM
66
- @expect_unmet_expectations = false
67
- @expect_failures = 0
68
- @expect_errors = 0
69
- write_and_execute_test
70
- assert_output_contains(/User teardown/)
71
- end
72
-
73
- should "auto-verify even if user teardown explodes" do
74
- @teardown_code =<<-EOM
75
- def teardown
76
- raise "self destruct"
77
- end
78
- EOM
79
- @expect_errors = 2
80
- write_and_execute_test
81
- assert_output_contains(/self destruct/)
82
- end
83
-
84
- it "plays nice with inherited teardown methods" do
85
- @full_code ||=<<-EOTEST
86
- require File.expand_path(File.dirname(__FILE__) + "/../test_helper")
87
- require 'hardmock'
88
- class Test::Unit::TestCase
89
- def teardown
90
- puts "Test helper teardown"
91
- end
92
- end
93
- class DummyTest < Test::Unit::TestCase
94
- def test_prepare_to_die
95
- create_mock :automobile
96
- @automobile.expects.start
97
- end
98
- end
99
- EOTEST
100
- write_and_execute_test
101
- assert_output_contains(/Test helper teardown/)
102
- end
103
-
104
- #
105
- # HELPERS
106
- #
107
-
108
- def temp_test_file
109
- File.expand_path(File.dirname(__FILE__) + "/tear_down_verification_test.rb")
110
- end
111
-
112
- def run_test(tbody)
113
- File.open(temp_test_file,"w") { |f| f.print(tbody) }
114
- @test_output = `ruby #{temp_test_file} 2>&1`
115
- end
116
-
117
- def formatted_test_output
118
- if @test_output
119
- @test_output.split(/\n/).map { |line| "> #{line}" }.join("\n")
120
- else
121
- "(NO TEST OUTPUT!)"
122
- end
123
- end
124
-
125
- def remove_temp_test_file
126
- FileUtils::rm_f temp_test_file
127
- end
128
-
129
- def assert_results(h)
130
- if @test_output !~ /#{h[:tests]} tests, [0-9]+ assertions, #{h[:failures]} failures, #{h[:errors]} errors/
131
- flunk "Test results didn't match #{h.inspect}:\n#{formatted_test_output}"
132
- end
133
- end
134
-
135
- def assert_output_contains(*patterns)
136
- patterns.each do |pattern|
137
- if @test_output !~ pattern
138
- flunk "Test output didn't match #{pattern.inspect}:\n#{formatted_test_output}"
139
- end
140
- end
141
- end
142
-
143
- def assert_output_doesnt_contain(*patterns)
144
- patterns.each do |pattern|
145
- assert @test_output !~ pattern, "Output shouldn't match #{pattern.inspect} but it does."
146
- end
147
- end
148
-
149
- def write_and_execute_test
150
- @test_code ||=<<-EOM
151
- def test_setup_doomed_expectation
152
- create_mock :automobile
153
- @automobile.expects.start
154
- end
155
- EOM
156
- @full_code ||=<<-EOTEST
157
- require File.expand_path(File.dirname(__FILE__) + "/../test_helper")
158
- require 'hardmock'
159
- class DummyTest < Test::Unit::TestCase
160
- #{@teardown_code}
161
- #{@test_code}
162
- end
163
- EOTEST
164
- run_test @full_code
165
-
166
- if @expect_unmet_expectations
167
- assert_output_contains(/unmet expectations/i, /automobile/, /start/)
168
- else
169
- assert_output_doesnt_contain(/unmet expectations/i, /automobile/, /start/)
170
- end
171
-
172
- @expect_tests ||= 1
173
- @expect_failures ||= 0
174
- @expect_errors ||= 1
175
- assert_results :tests => @expect_tests, :failures => @expect_failures, :errors => @expect_errors
176
- end
177
-
178
- end