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,40 +1,40 @@
1
- require 'constants'
2
-
3
-
4
- class GeneratorHelper
5
-
6
- constructor :streaminator
7
-
8
-
9
- def test_results_error_handler(executable, shell_result)
10
- notice = ''
11
- error = false
12
-
13
- if (shell_result[:output].nil? or shell_result[:output].strip.empty?)
14
- error = true
15
- # mirror style of generic tool_executor failure output
16
- notice = "\n" +
17
- "ERROR: Test executable \"#{File.basename(executable)}\" failed.\n" +
18
- "> Produced no output to $stdout.\n"
19
- elsif ((shell_result[:output] =~ TEST_STDOUT_STATISTICS_PATTERN).nil?)
20
- error = true
21
- # mirror style of generic tool_executor failure output
22
- notice = "\n" +
23
- "ERROR: Test executable \"#{File.basename(executable)}\" failed.\n" +
24
- "> Produced no final test result counts in $stdout:\n" +
25
- "#{shell_result[:output].strip}\n"
26
- end
27
-
28
- if (error)
29
- # since we told the tool executor to ignore the exit code, handle it explicitly here
30
- notice += "> And exited with status: [#{shell_result[:exit_code]}] (count of failed tests).\n" if (shell_result[:exit_code] != nil)
31
- notice += "> And then likely crashed.\n" if (shell_result[:exit_code] == nil)
32
-
33
- notice += "> This is often a symptom of a bad memory access in source or test code.\n\n"
34
-
35
- @streaminator.stderr_puts(notice, Verbosity::COMPLAIN)
36
- raise
37
- end
38
- end
39
-
40
- end
1
+ require 'ceedling/constants'
2
+
3
+
4
+ class GeneratorHelper
5
+
6
+ constructor :streaminator
7
+
8
+
9
+ def test_results_error_handler(executable, shell_result)
10
+ notice = ''
11
+ error = false
12
+
13
+ if (shell_result[:output].nil? or shell_result[:output].strip.empty?)
14
+ error = true
15
+ # mirror style of generic tool_executor failure output
16
+ notice = "\n" +
17
+ "ERROR: Test executable \"#{File.basename(executable)}\" failed.\n" +
18
+ "> Produced no output to $stdout.\n"
19
+ elsif ((shell_result[:output] =~ TEST_STDOUT_STATISTICS_PATTERN).nil?)
20
+ error = true
21
+ # mirror style of generic tool_executor failure output
22
+ notice = "\n" +
23
+ "ERROR: Test executable \"#{File.basename(executable)}\" failed.\n" +
24
+ "> Produced no final test result counts in $stdout:\n" +
25
+ "#{shell_result[:output].strip}\n"
26
+ end
27
+
28
+ if (error)
29
+ # since we told the tool executor to ignore the exit code, handle it explicitly here
30
+ notice += "> And exited with status: [#{shell_result[:exit_code]}] (count of failed tests).\n" if (shell_result[:exit_code] != nil)
31
+ notice += "> And then likely crashed.\n" if (shell_result[:exit_code] == nil)
32
+
33
+ notice += "> This is often a symptom of a bad memory access in source or test code.\n\n"
34
+
35
+ @streaminator.stderr_puts(notice, Verbosity::COMPLAIN)
36
+ raise
37
+ end
38
+ end
39
+
40
+ end
@@ -1,89 +1,86 @@
1
- require 'rubygems'
2
- require 'rake' # for .ext()
3
- require 'constants'
4
-
5
-
6
- class GeneratorTestResults
7
-
8
- constructor :configurator, :generator_test_results_sanity_checker, :yaml_wrapper
9
-
10
- def process_and_write_results(unity_shell_result, results_file, test_file)
11
- output_file = results_file
12
-
13
- results = get_results_structure
14
-
15
- results[:source][:path] = File.dirname(test_file)
16
- results[:source][:file] = File.basename(test_file)
17
-
18
- # process test statistics
19
- if (unity_shell_result[:output] =~ TEST_STDOUT_STATISTICS_PATTERN)
20
- results[:counts][:total] = $1.to_i
21
- results[:counts][:failed] = $2.to_i
22
- results[:counts][:ignored] = $3.to_i
23
- results[:counts][:passed] = (results[:counts][:total] - results[:counts][:failed] - results[:counts][:ignored])
24
- end
25
-
26
- # remove test statistics lines
27
- output_string = unity_shell_result[:output].sub(TEST_STDOUT_STATISTICS_PATTERN, '')
28
-
29
- # bust up the output into individual lines
30
- raw_unity_lines = output_string.split(/\n|\r\n/)
31
-
32
- raw_unity_lines.each do |line|
33
- # process unity output
34
- case line
35
- when /(:IGNORE)/
36
- elements = extract_line_elements(line, results[:source][:file])
37
- results[:ignores] << elements[0]
38
- results[:stdout] << elements[1] if (!elements[1].nil?)
39
- when /(:PASS$)/
40
- elements = extract_line_elements(line, results[:source][:file])
41
- results[:successes] << elements[0]
42
- results[:stdout] << elements[1] if (!elements[1].nil?)
43
- when /(:FAIL)/
44
- elements = extract_line_elements(line, results[:source][:file])
45
- results[:failures] << elements[0]
46
- results[:stdout] << elements[1] if (!elements[1].nil?)
47
- else # collect up all other
48
- results[:stdout] << line.chomp
49
- end
50
- end
51
-
52
- @generator_test_results_sanity_checker.verify(results, unity_shell_result[:exit_code])
53
-
54
- output_file = results_file.ext(@configurator.extension_testfail) if (results[:counts][:failed] > 0)
55
-
56
- @yaml_wrapper.dump(output_file, results)
57
-
58
- return { :result_file => output_file, :result => results }
59
- end
60
-
61
- private
62
-
63
- def get_results_structure
64
- return {
65
- :source => {:path => '', :file => ''},
66
- :successes => [],
67
- :failures => [],
68
- :ignores => [],
69
- :counts => {:total => 0, :passed => 0, :failed => 0, :ignored => 0},
70
- :stdout => [],
71
- }
72
- end
73
-
74
- def extract_line_elements(line, filename)
75
- # handle anything preceding filename in line as extra output to be collected
76
- stdout = nil
77
- stdout_regex = /(.+)#{Regexp.escape(filename)}.+/i
78
-
79
- if (line =~ stdout_regex)
80
- stdout = $1.clone
81
- line.sub!(/#{Regexp.escape(stdout)}/, '')
82
- end
83
-
84
- # collect up test results minus and extra output
85
- elements = (line.strip.split(':'))[1..-1]
86
- return {:test => elements[1], :line => elements[0].to_i, :message => (elements[3..-1].join(':')).strip}, stdout
87
- end
88
-
89
- end
1
+ require 'rubygems'
2
+ require 'rake' # for .ext()
3
+ require 'ceedling/constants'
4
+
5
+
6
+ class GeneratorTestResults
7
+
8
+ constructor :configurator, :generator_test_results_sanity_checker, :yaml_wrapper
9
+
10
+ def process_and_write_results(unity_shell_result, results_file, test_file)
11
+ output_file = results_file
12
+
13
+ results = get_results_structure
14
+
15
+ results[:source][:path] = File.dirname(test_file)
16
+ results[:source][:file] = File.basename(test_file)
17
+
18
+ # process test statistics
19
+ if (unity_shell_result[:output] =~ TEST_STDOUT_STATISTICS_PATTERN)
20
+ results[:counts][:total] = $1.to_i
21
+ results[:counts][:failed] = $2.to_i
22
+ results[:counts][:ignored] = $3.to_i
23
+ results[:counts][:passed] = (results[:counts][:total] - results[:counts][:failed] - results[:counts][:ignored])
24
+ end
25
+
26
+ # remove test statistics lines
27
+ output_string = unity_shell_result[:output].sub(TEST_STDOUT_STATISTICS_PATTERN, '')
28
+
29
+ output_string.lines do |line|
30
+ # process unity output
31
+ case line
32
+ when /(:IGNORE)/
33
+ elements = extract_line_elements(line, results[:source][:file])
34
+ results[:ignores] << elements[0]
35
+ results[:stdout] << elements[1] if (!elements[1].nil?)
36
+ when /(:PASS$)/
37
+ elements = extract_line_elements(line, results[:source][:file])
38
+ results[:successes] << elements[0]
39
+ results[:stdout] << elements[1] if (!elements[1].nil?)
40
+ when /(:FAIL)/
41
+ elements = extract_line_elements(line, results[:source][:file])
42
+ results[:failures] << elements[0]
43
+ results[:stdout] << elements[1] if (!elements[1].nil?)
44
+ else # collect up all other
45
+ results[:stdout] << line.chomp
46
+ end
47
+ end
48
+
49
+ @generator_test_results_sanity_checker.verify(results, unity_shell_result[:exit_code])
50
+
51
+ output_file = results_file.ext(@configurator.extension_testfail) if (results[:counts][:failed] > 0)
52
+
53
+ @yaml_wrapper.dump(output_file, results)
54
+
55
+ return { :result_file => output_file, :result => results }
56
+ end
57
+
58
+ private
59
+
60
+ def get_results_structure
61
+ return {
62
+ :source => {:path => '', :file => ''},
63
+ :successes => [],
64
+ :failures => [],
65
+ :ignores => [],
66
+ :counts => {:total => 0, :passed => 0, :failed => 0, :ignored => 0},
67
+ :stdout => [],
68
+ }
69
+ end
70
+
71
+ def extract_line_elements(line, filename)
72
+ # handle anything preceding filename in line as extra output to be collected
73
+ stdout = nil
74
+ stdout_regex = /(.+)#{Regexp.escape(filename)}.+/i
75
+
76
+ if (line =~ stdout_regex)
77
+ stdout = $1.clone
78
+ line.sub!(/#{Regexp.escape(stdout)}/, '')
79
+ end
80
+
81
+ # collect up test results minus and extra output
82
+ elements = (line.strip.split(':'))[1..-1]
83
+ return {:test => elements[1], :line => elements[0].to_i, :message => (elements[3..-1].join(':')).strip}, stdout
84
+ end
85
+
86
+ end
@@ -1,62 +1,64 @@
1
- require 'constants'
2
- require 'rubygems'
3
- require 'rake' # for ext() method
4
-
5
-
6
- class GeneratorTestResultsSanityChecker
7
-
8
- constructor :configurator, :streaminator
9
-
10
- def verify(results, unity_exit_code)
11
-
12
- # do no sanity checking if it's disabled
13
- return if (@configurator.sanity_checks == TestResultsSanityChecks::NONE)
14
-
15
- ceedling_ignores_count = results[:ignores].size
16
- ceedling_failures_count = results[:failures].size
17
- ceedling_tests_summation = (ceedling_ignores_count + ceedling_failures_count + results[:successes].size)
18
-
19
- # Exit code handling is not a sanity check that can always be performed because
20
- # command line simulators may or may not pass through Unity's exit code
21
- if (@configurator.sanity_checks >= TestResultsSanityChecks::THOROUGH)
22
- # many platforms limit exit codes to a maximum of 255
23
- if ((ceedling_failures_count != unity_exit_code) and (unity_exit_code < 255))
24
- sanity_check_warning(results[:source][:file], "Unity's exit code (#{unity_exit_code}) does not match Ceedling's summation of failed test cases (#{ceedling_failures_count}).")
25
- end
26
-
27
- if ((ceedling_failures_count < 255) and (unity_exit_code == 255))
28
- sanity_check_warning(results[:source][:file], "Ceedling's summation of failed test cases (#{ceedling_failures_count}) is less than Unity's exit code (255 or more).")
29
- end
30
- end
31
-
32
- if (ceedling_ignores_count != results[:counts][:ignored])
33
- sanity_check_warning(results[:source][:file], "Unity's final ignore count (#{results[:counts][:ignored]}) does not match Ceedling's summation of ignored test cases (#{ceedling_ignores_count}).")
34
- end
35
-
36
- if (ceedling_failures_count != results[:counts][:failed])
37
- sanity_check_warning(results[:source][:file], "Unity's final fail count (#{results[:counts][:failed]}) does not match Ceedling's summation of failed test cases (#{ceedling_failures_count}).")
38
- end
39
-
40
- if (ceedling_tests_summation != results[:counts][:total])
41
- sanity_check_warning(results[:source][:file], "Unity's final test count (#{results[:counts][:total]}) does not match Ceedling's summation of all test cases (#{ceedling_tests_summation}).")
42
- end
43
-
44
- end
45
-
46
- private
47
-
48
- def sanity_check_warning(file, message)
49
- notice = "\n" +
50
- "ERROR: Internal sanity check for test fixture '#{file.ext(@configurator.extension_executable)}' finds that #{message}\n" +
51
- " Possible causes:\n" +
52
- " 1. Your test + source dereferenced a null pointer.\n" +
53
- " 2. Your test + source indexed past the end of a buffer.\n" +
54
- " 3. Your test + source committed a memory access violation.\n" +
55
- " 4. Your test fixture produced an exit code of 0 despite execution ending prematurely.\n" +
56
- " Sanity check failures of test results are usually a symptom of interrupted test execution.\n\n"
57
-
58
- @streaminator.stderr_puts( notice )
59
- raise
60
- end
61
-
62
- end
1
+ require 'rubygems'
2
+ require 'rake' # for ext() method
3
+ require 'ceedling/constants'
4
+
5
+
6
+ class GeneratorTestResultsSanityChecker
7
+
8
+ constructor :configurator, :streaminator
9
+
10
+ def verify(results, unity_exit_code)
11
+
12
+ # do no sanity checking if it's disabled
13
+ return if (@configurator.sanity_checks == TestResultsSanityChecks::NONE)
14
+
15
+ ceedling_ignores_count = results[:ignores].size
16
+ ceedling_failures_count = results[:failures].size
17
+ ceedling_tests_summation = (ceedling_ignores_count + ceedling_failures_count + results[:successes].size)
18
+
19
+ # Exit code handling is not a sanity check that can always be performed because
20
+ # command line simulators may or may not pass through Unity's exit code
21
+ if (@configurator.sanity_checks >= TestResultsSanityChecks::THOROUGH)
22
+ # many platforms limit exit codes to a maximum of 255
23
+ if ((ceedling_failures_count != unity_exit_code) and (unity_exit_code < 255))
24
+ sanity_check_warning(results[:source][:file], "Unity's exit code (#{unity_exit_code}) does not match Ceedling's summation of failed test cases (#{ceedling_failures_count}).")
25
+ end
26
+
27
+ if ((ceedling_failures_count < 255) and (unity_exit_code == 255))
28
+ sanity_check_warning(results[:source][:file], "Ceedling's summation of failed test cases (#{ceedling_failures_count}) is less than Unity's exit code (255 or more).")
29
+ end
30
+ end
31
+
32
+ if (ceedling_ignores_count != results[:counts][:ignored])
33
+ sanity_check_warning(results[:source][:file], "Unity's final ignore count (#{results[:counts][:ignored]}) does not match Ceedling's summation of ignored test cases (#{ceedling_ignores_count}).")
34
+ end
35
+
36
+ if (ceedling_failures_count != results[:counts][:failed])
37
+ sanity_check_warning(results[:source][:file], "Unity's final fail count (#{results[:counts][:failed]}) does not match Ceedling's summation of failed test cases (#{ceedling_failures_count}).")
38
+ end
39
+
40
+ if (ceedling_tests_summation != results[:counts][:total])
41
+ sanity_check_warning(results[:source][:file], "Unity's final test count (#{results[:counts][:total]}) does not match Ceedling's summation of all test cases (#{ceedling_tests_summation}).")
42
+ end
43
+
44
+ end
45
+
46
+ private
47
+
48
+ def sanity_check_warning(file, message)
49
+ unless defined?(CEEDLING_IGNORE_SANITY_CHECK)
50
+ notice = "\n" +
51
+ "ERROR: Internal sanity check for test fixture '#{file.ext(@configurator.extension_executable)}' finds that #{message}\n" +
52
+ " Possible causes:\n" +
53
+ " 1. Your test + source dereferenced a null pointer.\n" +
54
+ " 2. Your test + source indexed past the end of a buffer.\n" +
55
+ " 3. Your test + source committed a memory access violation.\n" +
56
+ " 4. Your test fixture produced an exit code of 0 despite execution ending prematurely.\n" +
57
+ " Sanity check failures of test results are usually a symptom of interrupted test execution.\n\n"
58
+
59
+ @streaminator.stderr_puts( notice )
60
+ raise
61
+ end
62
+ end
63
+
64
+ end
@@ -1,63 +1,63 @@
1
-
2
- class GeneratorTestRunner
3
-
4
- constructor :configurator, :file_path_utils, :file_wrapper
5
-
6
- def find_test_cases(test_file)
7
- tests = []
8
- tests_and_line_numbers = []
9
- lines = []
10
-
11
- # if we don't have preprocessor assistance, do some basic preprocessing of our own
12
- if (not @configurator.project_use_test_preprocessor)
13
- source = @file_wrapper.read(test_file)
14
-
15
- # remove line comments
16
- source = source.gsub(/\/\/.*$/, '')
17
- # remove block comments
18
- source = source.gsub(/\/\*.*?\*\//m, '')
19
-
20
- # treat preprocessor directives as a logical line
21
- lines = source.split(/(^\s*\#.*$) | (;|\{|\}) /x) # match ;, {, and } as end of lines
22
- # otherwise, read the preprocessed file raw
23
- else
24
- lines = @file_wrapper.read( @file_path_utils.form_preprocessed_file_filepath(test_file) ).split(/;|\{|\}/)
25
- end
26
-
27
- # step 1. find test functions in (possibly preprocessed) file
28
- # (note that lines are not broken up at end of lines)
29
- lines.each do |line|
30
- if (line =~ /^\s*void\s+((T|t)est.*)\s*\(\s*(void)?\s*\)/m)
31
- tests << ($1.strip)
32
- end
33
- end
34
-
35
- # step 2. associate test functions with line numbers in (non-preprocessed) original file
36
- # (note that this time we must scan file contents broken up by end of lines)
37
- raw_lines = @file_wrapper.read(test_file).split("\n")
38
- raw_index = 0
39
-
40
- tests.each do |test|
41
- raw_lines[raw_index..-1].each_with_index do |line, index|
42
- # test function might be declared across lines; look for it by its name followed
43
- # by a few tell-tale signs
44
- if (line =~ /#{test}\s*($|\(|\()/)
45
- raw_index += (index + 1)
46
- tests_and_line_numbers << {:test => test, :line_number => raw_index}
47
- break
48
- end
49
- end
50
- end
51
-
52
- return tests_and_line_numbers
53
- end
54
-
55
- def generate(module_name, runner_filepath, test_cases, mock_list)
56
- require 'generate_test_runner.rb'
57
- @test_runner_generator ||= UnityTestRunnerGenerator.new( @configurator.get_runner_config )
58
- @test_runner_generator.generate( module_name,
59
- runner_filepath,
60
- test_cases,
61
- mock_list)
62
- end
63
- end
1
+
2
+ class GeneratorTestRunner
3
+
4
+ constructor :configurator, :file_path_utils, :file_wrapper
5
+
6
+ def find_test_cases(test_file)
7
+ tests = []
8
+ tests_and_line_numbers = []
9
+ lines = []
10
+
11
+ # if we don't have preprocessor assistance, do some basic preprocessing of our own
12
+ if (not @configurator.project_use_test_preprocessor)
13
+ source = @file_wrapper.read(test_file)
14
+
15
+ # remove line comments
16
+ source = source.gsub(/\/\/.*$/, '')
17
+ # remove block comments
18
+ source = source.gsub(/\/\*.*?\*\//m, '')
19
+
20
+ # treat preprocessor directives as a logical line
21
+ lines = source.split(/(^\s*\#.*$) | (;|\{|\}) /x) # match ;, {, and } as end of lines
22
+ # otherwise, read the preprocessed file raw
23
+ else
24
+ lines = @file_wrapper.read( @file_path_utils.form_preprocessed_file_filepath(test_file) ).split(/;|\{|\}/)
25
+ end
26
+
27
+ # step 1. find test functions in (possibly preprocessed) file
28
+ # (note that lines are not broken up at end of lines)
29
+ lines.each do |line|
30
+ if (line =~ /^\s*void\s+((T|t)est.*)\s*\(\s*(void)?\s*\)/m)
31
+ tests << ($1.strip)
32
+ end
33
+ end
34
+
35
+ # step 2. associate test functions with line numbers in (non-preprocessed) original file
36
+ # (note that this time we must scan file contents broken up by end of lines)
37
+ raw_lines = @file_wrapper.read(test_file).split("\n")
38
+ raw_index = 0
39
+
40
+ tests.each do |test|
41
+ raw_lines[raw_index..-1].each_with_index do |line, index|
42
+ # test function might be declared across lines; look for it by its name followed
43
+ # by a few tell-tale signs
44
+ if (line =~ /#{test}\s*($|\(|\()/)
45
+ raw_index += (index + 1)
46
+ tests_and_line_numbers << {:test => test, :line_number => raw_index}
47
+ break
48
+ end
49
+ end
50
+ end
51
+
52
+ return tests_and_line_numbers
53
+ end
54
+
55
+ def generate(module_name, runner_filepath, test_cases, mock_list)
56
+ require 'generate_test_runner.rb'
57
+ @test_runner_generator ||= UnityTestRunnerGenerator.new( @configurator.get_runner_config )
58
+ @test_runner_generator.generate( module_name,
59
+ runner_filepath,
60
+ test_cases,
61
+ mock_list)
62
+ end
63
+ end