ceedling 0.13.0 → 0.15.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (308) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +1 -1
  3. data/Gemfile.lock +18 -14
  4. data/README.md +6 -4
  5. data/assets/project_as_gem.yml +1 -1
  6. data/assets/rakefile_as_gem.rb +2 -0
  7. data/assets/rakefile_with_guts.rb +3 -1
  8. data/ceedling.gemspec +1 -0
  9. data/examples/blinky/rakefile.rb +2 -2
  10. data/examples/temp_sensor/rakefile.rb +1 -1
  11. data/examples/temp_sensor/src/TemperatureFilter.c +1 -2
  12. data/examples/temp_sensor/test/TestTemperatureCalculator.c +1 -1
  13. data/examples/temp_sensor/test/TestTemperatureFilter.c +12 -2
  14. data/lib/ceedling.rb +94 -22
  15. data/lib/{build_invoker_utils.rb → ceedling/build_invoker_utils.rb} +27 -27
  16. data/lib/{cacheinator.rb → ceedling/cacheinator.rb} +42 -42
  17. data/lib/{cacheinator_helper.rb → ceedling/cacheinator_helper.rb} +12 -12
  18. data/lib/{cmock_builder.rb → ceedling/cmock_builder.rb} +15 -15
  19. data/lib/{configurator.rb → ceedling/configurator.rb} +333 -329
  20. data/lib/{configurator_builder.rb → ceedling/configurator_builder.rb} +437 -437
  21. data/lib/{configurator_plugins.rb → ceedling/configurator_plugins.rb} +124 -124
  22. data/lib/{configurator_setup.rb → ceedling/configurator_setup.rb} +124 -124
  23. data/lib/{configurator_validator.rb → ceedling/configurator_validator.rb} +184 -184
  24. data/lib/{constants.rb → ceedling/constants.rb} +20 -17
  25. data/lib/{defaults.rb → ceedling/defaults.rb} +19 -18
  26. data/lib/{dependinator.rb → ceedling/dependinator.rb} +92 -92
  27. data/lib/{erb_wrapper.rb → ceedling/erb_wrapper.rb} +8 -8
  28. data/lib/{file_finder.rb → ceedling/file_finder.rb} +132 -132
  29. data/lib/{file_finder_helper.rb → ceedling/file_finder_helper.rb} +54 -54
  30. data/lib/{file_path_utils.rb → ceedling/file_path_utils.rb} +189 -189
  31. data/lib/{file_system_utils.rb → ceedling/file_system_utils.rb} +69 -69
  32. data/lib/{file_system_wrapper.rb → ceedling/file_system_wrapper.rb} +9 -9
  33. data/lib/{file_wrapper.rb → ceedling/file_wrapper.rb} +79 -79
  34. data/lib/{flaginator.rb → ceedling/flaginator.rb} +54 -54
  35. data/lib/{generator.rb → ceedling/generator.rb} +164 -164
  36. data/lib/{generator_helper.rb → ceedling/generator_helper.rb} +40 -40
  37. data/lib/{generator_test_results.rb → ceedling/generator_test_results.rb} +86 -89
  38. data/lib/{generator_test_results_sanity_checker.rb → ceedling/generator_test_results_sanity_checker.rb} +64 -62
  39. data/lib/{generator_test_runner.rb → ceedling/generator_test_runner.rb} +63 -63
  40. data/lib/{loginator.rb → ceedling/loginator.rb} +31 -31
  41. data/lib/{makefile.rb → ceedling/makefile.rb} +0 -0
  42. data/lib/{objects.yml → ceedling/objects.yml} +0 -0
  43. data/lib/{par_map.rb → ceedling/par_map.rb} +0 -0
  44. data/lib/{plugin.rb → ceedling/plugin.rb} +80 -80
  45. data/lib/{plugin_builder.rb → ceedling/plugin_builder.rb} +52 -52
  46. data/lib/{plugin_manager.rb → ceedling/plugin_manager.rb} +107 -107
  47. data/lib/{plugin_manager_helper.rb → ceedling/plugin_manager_helper.rb} +19 -19
  48. data/lib/{plugin_reportinator.rb → ceedling/plugin_reportinator.rb} +2 -2
  49. data/lib/{plugin_reportinator_helper.rb → ceedling/plugin_reportinator_helper.rb} +1 -1
  50. data/lib/{preprocessinator.rb → ceedling/preprocessinator.rb} +43 -43
  51. data/lib/{preprocessinator_extractor.rb → ceedling/preprocessinator_extractor.rb} +30 -30
  52. data/lib/{preprocessinator_file_handler.rb → ceedling/preprocessinator_file_handler.rb} +21 -21
  53. data/lib/{preprocessinator_helper.rb → ceedling/preprocessinator_helper.rb} +46 -46
  54. data/lib/ceedling/preprocessinator_includes_handler.rb +82 -0
  55. data/lib/{project_config_manager.rb → ceedling/project_config_manager.rb} +38 -38
  56. data/lib/{project_file_loader.rb → ceedling/project_file_loader.rb} +64 -64
  57. data/lib/{rake_utils.rb → ceedling/rake_utils.rb} +17 -17
  58. data/lib/{rake_wrapper.rb → ceedling/rake_wrapper.rb} +33 -33
  59. data/lib/{rakefile.rb → ceedling/rakefile.rb} +78 -74
  60. data/lib/{release_invoker.rb → ceedling/release_invoker.rb} +58 -58
  61. data/lib/{release_invoker_helper.rb → ceedling/release_invoker_helper.rb} +16 -16
  62. data/lib/{reportinator.rb → ceedling/reportinator.rb} +9 -9
  63. data/lib/{rules_cmock.rake → ceedling/rules_cmock.rake} +9 -9
  64. data/lib/{rules_preprocess.rake → ceedling/rules_preprocess.rake} +26 -26
  65. data/lib/{rules_release.rake → ceedling/rules_release.rake} +79 -79
  66. data/lib/{rules_release_deep_dependencies.rake → ceedling/rules_release_deep_dependencies.rake} +15 -15
  67. data/lib/{rules_tests.rake → ceedling/rules_tests.rake} +59 -59
  68. data/lib/{rules_tests_deep_dependencies.rake → ceedling/rules_tests_deep_dependencies.rake} +15 -15
  69. data/lib/{setupinator.rb → ceedling/setupinator.rb} +51 -51
  70. data/lib/{stream_wrapper.rb → ceedling/stream_wrapper.rb} +20 -20
  71. data/lib/{streaminator.rb → ceedling/streaminator.rb} +40 -41
  72. data/lib/{streaminator_helper.rb → ceedling/streaminator_helper.rb} +15 -15
  73. data/lib/{system_utils.rb → ceedling/system_utils.rb} +0 -0
  74. data/lib/{system_wrapper.rb → ceedling/system_wrapper.rb} +76 -76
  75. data/lib/{target_loader.rb → ceedling/target_loader.rb} +0 -0
  76. data/lib/{task_invoker.rb → ceedling/task_invoker.rb} +89 -89
  77. data/lib/{tasks_base.rake → ceedling/tasks_base.rake} +104 -104
  78. data/lib/{tasks_filesystem.rake → ceedling/tasks_filesystem.rake} +91 -91
  79. data/lib/{tasks_release.rake → ceedling/tasks_release.rake} +28 -28
  80. data/lib/{tasks_release_deep_dependencies.rake → ceedling/tasks_release_deep_dependencies.rake} +9 -9
  81. data/lib/{tasks_tests.rake → ceedling/tasks_tests.rake} +52 -52
  82. data/lib/{tasks_tests_deep_dependencies.rake → ceedling/tasks_tests_deep_dependencies.rake} +9 -9
  83. data/lib/{tasks_vendor.rake → ceedling/tasks_vendor.rake} +36 -36
  84. data/lib/{test_includes_extractor.rb → ceedling/test_includes_extractor.rb} +81 -81
  85. data/lib/{test_invoker.rb → ceedling/test_invoker.rb} +97 -97
  86. data/lib/{test_invoker_helper.rb → ceedling/test_invoker_helper.rb} +28 -28
  87. data/lib/{tool_executor.rb → ceedling/tool_executor.rb} +215 -212
  88. data/lib/{tool_executor_helper.rb → ceedling/tool_executor_helper.rb} +115 -115
  89. data/lib/{verbosinator.rb → ceedling/verbosinator.rb} +10 -10
  90. data/lib/ceedling/version.rb +1 -1
  91. data/lib/{yaml_wrapper.rb → ceedling/yaml_wrapper.rb} +17 -16
  92. data/license.txt +31 -0
  93. data/plugins/bullseye/lib/bullseye.rb +2 -2
  94. data/plugins/gcov/gcov.rb +2 -2
  95. data/plugins/module_generator/lib/module_generator.rb +4 -3
  96. data/plugins/stdout_ide_tests_report/lib/stdout_ide_tests_report.rb +8 -8
  97. data/plugins/stdout_pretty_tests_report/lib/stdout_pretty_tests_report.rb +3 -3
  98. data/plugins/teamcity_tests_report/config/teamcity_tests_report.yml +4 -0
  99. data/plugins/teamcity_tests_report/lib/teamcity_tests_report.rb +57 -0
  100. data/plugins/xml_tests_report/xml_tests_report.rb +4 -4
  101. data/release/version.info +1 -1
  102. data/spec/ceedling_spec.rb +154 -0
  103. data/spec/par_map_spec.rb +1 -1
  104. data/spec/preprocessinator_extractor_spec.rb +26 -27
  105. data/spec/preprocessinator_includes_handler_spec.rb +175 -0
  106. data/spec/spec_helper.rb +8 -27
  107. data/test_graveyard/integration/paths_test.rb +2 -2
  108. data/test_graveyard/unit/busted/configurator_builder_test.rb +2 -2
  109. data/test_graveyard/unit/busted/configurator_test.rb +1 -1
  110. data/test_graveyard/unit/busted/configurator_validator_test.rb +1 -1
  111. data/test_graveyard/unit/busted/dependinator_test.rb +1 -1
  112. data/test_graveyard/unit/busted/file_finder_helper_test.rb +1 -1
  113. data/test_graveyard/unit/busted/file_finder_test.rb +1 -1
  114. data/test_graveyard/unit/busted/file_path_utils_test.rb +1 -1
  115. data/test_graveyard/unit/busted/file_system_utils_test.rb +1 -1
  116. data/test_graveyard/unit/busted/generator_test.rb +1 -1
  117. data/test_graveyard/unit/busted/generator_test_results_test.rb +1 -1
  118. data/test_graveyard/unit/busted/generator_test_runner_test.rb +1 -1
  119. data/test_graveyard/unit/busted/preprocessinator_file_handler_test.rb +1 -1
  120. data/test_graveyard/unit/busted/preprocessinator_helper_test.rb +1 -1
  121. data/test_graveyard/unit/busted/preprocessinator_includes_handler_test.rb +1 -1
  122. data/test_graveyard/unit/busted/preprocessinator_test.rb +1 -1
  123. data/test_graveyard/unit/busted/project_file_loader_test.rb +1 -1
  124. data/test_graveyard/unit/busted/setupinator_test.rb +1 -1
  125. data/test_graveyard/unit/busted/streaminator_test.rb +2 -2
  126. data/test_graveyard/unit/busted/task_invoker_test.rb +1 -1
  127. data/test_graveyard/unit/busted/test_includes_extractor_test.rb +1 -1
  128. data/test_graveyard/unit/busted/test_invoker_helper_test.rb +1 -1
  129. data/test_graveyard/unit/busted/test_invoker_test.rb +1 -1
  130. data/test_graveyard/unit/busted/tool_executor_helper_test.rb +1 -1
  131. data/test_graveyard/unit/busted/tool_executor_test.rb +1 -1
  132. data/test_graveyard/unit/busted/verbosinator_test.rb +1 -1
  133. data/test_graveyard/unit/preprocessinator_extractor_test.rb +1 -1
  134. data/vendor/c_exception/Gemfile +4 -0
  135. data/vendor/c_exception/lib/CException.h +1 -1
  136. data/vendor/c_exception/test/TestException.c +25 -14
  137. data/vendor/c_exception/test/TestException_Runner.c +74 -57
  138. data/vendor/cmock/Gemfile +11 -0
  139. data/vendor/cmock/lib/cmock_generator.rb +13 -12
  140. data/vendor/cmock/lib/cmock_generator_plugin_ignore_arg.rb +44 -0
  141. data/vendor/cmock/lib/cmock_generator_plugin_return_thru_ptr.rb +74 -0
  142. data/vendor/cmock/lib/cmock_generator_utils.rb +67 -42
  143. data/vendor/cmock/src/cmock.c +20 -30
  144. data/vendor/cmock/src/cmock.h +1 -0
  145. data/vendor/cmock/src/cmock_internals.h +43 -0
  146. data/vendor/cmock/test/c/TestCMockC.c +79 -36
  147. data/vendor/cmock/test/c/TestCMockC_Runner.c +2 -0
  148. data/vendor/cmock/test/spec/cmock_file_writer_spec.rb +21 -1
  149. data/vendor/cmock/test/spec/cmock_generator_plugin_array_spec.rb +52 -0
  150. data/vendor/cmock/test/system/test_interactions/all_plugins_coexist.yml +2 -0
  151. data/vendor/cmock/test/system/test_interactions/return_thru_ptr_ignore_arg.yml +235 -0
  152. data/vendor/cmock/test/test_helper.rb +10 -5
  153. data/vendor/cmock/test/unit/cmock_generator_main_test.rb +38 -0
  154. data/vendor/cmock/test/unit/cmock_generator_plugin_ignore_arg_test.rb +116 -0
  155. data/vendor/cmock/test/unit/cmock_generator_plugin_return_thru_ptr_test.rb +134 -0
  156. data/vendor/cmock/test/unit/cmock_generator_utils_test.rb +58 -33
  157. data/vendor/cmock/vendor/c_exception/docs/CExceptionSummary.odt +0 -0
  158. data/vendor/cmock/vendor/c_exception/docs/CExceptionSummary.pdf +0 -0
  159. data/vendor/cmock/vendor/c_exception/docs/license.txt +30 -0
  160. data/vendor/cmock/vendor/c_exception/docs/readme.txt +236 -0
  161. data/vendor/cmock/vendor/c_exception/lib/CException.c +39 -0
  162. data/vendor/cmock/vendor/c_exception/lib/CException.h +70 -0
  163. data/vendor/cmock/vendor/c_exception/makefile +24 -0
  164. data/vendor/cmock/vendor/c_exception/rakefile.rb +41 -0
  165. data/vendor/cmock/vendor/c_exception/release/build.info +2 -0
  166. data/vendor/cmock/vendor/c_exception/release/version.info +2 -0
  167. data/vendor/cmock/vendor/c_exception/test/CExceptionConfig.h +27 -0
  168. data/vendor/cmock/vendor/c_exception/test/TestException.c +291 -0
  169. data/vendor/cmock/vendor/c_exception/test/TestException_Runner.c +62 -0
  170. data/vendor/cmock/vendor/unity/auto/colour_prompt.rb +94 -0
  171. data/vendor/cmock/vendor/unity/auto/colour_reporter.rb +39 -0
  172. data/vendor/cmock/vendor/unity/auto/generate_config.yml +36 -0
  173. data/vendor/cmock/vendor/unity/auto/generate_module.rb +202 -0
  174. data/vendor/cmock/vendor/unity/auto/generate_test_runner.rb +313 -0
  175. data/vendor/cmock/vendor/unity/auto/test_file_filter.rb +23 -0
  176. data/vendor/cmock/vendor/unity/auto/unity_test_summary.rb +139 -0
  177. data/vendor/cmock/vendor/unity/docs/Unity Summary.odt +0 -0
  178. data/vendor/cmock/vendor/unity/docs/Unity Summary.pdf +0 -0
  179. data/vendor/cmock/vendor/unity/docs/Unity Summary.txt +217 -0
  180. data/vendor/cmock/vendor/unity/docs/license.txt +31 -0
  181. data/vendor/cmock/vendor/unity/examples/helper/UnityHelper.c +10 -0
  182. data/vendor/cmock/vendor/unity/examples/helper/UnityHelper.h +12 -0
  183. data/vendor/cmock/vendor/unity/examples/makefile +40 -0
  184. data/vendor/cmock/vendor/unity/examples/rakefile.rb +32 -0
  185. data/vendor/cmock/vendor/unity/examples/rakefile_helper.rb +256 -0
  186. data/vendor/cmock/vendor/unity/examples/readme.txt +18 -0
  187. data/vendor/cmock/vendor/unity/examples/src/ProductionCode.c +24 -0
  188. data/vendor/cmock/vendor/unity/examples/src/ProductionCode.h +3 -0
  189. data/vendor/cmock/vendor/unity/examples/src/ProductionCode2.c +9 -0
  190. data/vendor/cmock/vendor/unity/examples/src/ProductionCode2.h +2 -0
  191. data/vendor/cmock/vendor/unity/examples/test/TestProductionCode.c +62 -0
  192. data/vendor/cmock/vendor/unity/examples/test/TestProductionCode2.c +31 -0
  193. data/vendor/cmock/vendor/unity/examples/test/no_ruby/TestProductionCode2_Runner.c +46 -0
  194. data/vendor/cmock/vendor/unity/examples/test/no_ruby/TestProductionCode_Runner.c +50 -0
  195. data/vendor/{unity → cmock/vendor/unity}/extras/fixture/build/MakefileWorker.mk +0 -0
  196. data/vendor/{unity → cmock/vendor/unity}/extras/fixture/build/filterGcov.sh +0 -0
  197. data/vendor/cmock/vendor/unity/extras/fixture/rakefile.rb +37 -0
  198. data/vendor/cmock/vendor/unity/extras/fixture/rakefile_helper.rb +178 -0
  199. data/vendor/cmock/vendor/unity/extras/fixture/readme.txt +9 -0
  200. data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture.c +381 -0
  201. data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture.h +81 -0
  202. data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture_internals.h +44 -0
  203. data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture_malloc_overrides.h +16 -0
  204. data/vendor/cmock/vendor/unity/extras/fixture/test/main/AllTests.c +21 -0
  205. data/vendor/cmock/vendor/unity/extras/fixture/test/testunity_fixture.c +39 -0
  206. data/vendor/cmock/vendor/unity/extras/fixture/test/unity_fixture_Test.c +321 -0
  207. data/vendor/cmock/vendor/unity/extras/fixture/test/unity_fixture_TestRunner.c +40 -0
  208. data/vendor/cmock/vendor/unity/extras/fixture/test/unity_output_Spy.c +56 -0
  209. data/vendor/cmock/vendor/unity/extras/fixture/test/unity_output_Spy.h +17 -0
  210. data/vendor/cmock/vendor/unity/makefile +35 -0
  211. data/vendor/cmock/vendor/unity/rakefile.rb +48 -0
  212. data/vendor/cmock/vendor/unity/rakefile_helper.rb +240 -0
  213. data/vendor/cmock/vendor/unity/release/build.info +2 -0
  214. data/vendor/cmock/vendor/unity/release/version.info +2 -0
  215. data/vendor/cmock/vendor/unity/src/unity.c +979 -0
  216. data/vendor/cmock/vendor/unity/src/unity.h +232 -0
  217. data/vendor/cmock/vendor/unity/src/unity_internals.h +424 -0
  218. data/vendor/cmock/vendor/unity/targets/gcc.yml +43 -0
  219. data/vendor/cmock/vendor/unity/targets/gcc_64.yml +44 -0
  220. data/vendor/cmock/vendor/unity/targets/hitech_picc18.yml +101 -0
  221. data/vendor/cmock/vendor/unity/targets/iar_arm_v4.yml +89 -0
  222. data/vendor/cmock/vendor/unity/targets/iar_arm_v5.yml +79 -0
  223. data/vendor/cmock/vendor/unity/targets/iar_arm_v5_3.yml +79 -0
  224. data/vendor/cmock/vendor/unity/targets/iar_armcortex_LM3S9B92_v5_4.yml +93 -0
  225. data/vendor/cmock/vendor/unity/targets/iar_cortexm3_v5.yml +83 -0
  226. data/vendor/cmock/vendor/unity/targets/iar_msp430.yml +94 -0
  227. data/vendor/cmock/vendor/unity/targets/iar_sh2a_v6.yml +85 -0
  228. data/vendor/cmock/vendor/unity/test/expectdata/testsample_cmd.c +54 -0
  229. data/vendor/cmock/vendor/unity/test/expectdata/testsample_def.c +50 -0
  230. data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_cmd.c +76 -0
  231. data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_def.c +72 -0
  232. data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_new1.c +85 -0
  233. data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_new2.c +85 -0
  234. data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_param.c +73 -0
  235. data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_run1.c +85 -0
  236. data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_run2.c +85 -0
  237. data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_yaml.c +86 -0
  238. data/vendor/cmock/vendor/unity/test/expectdata/testsample_new1.c +60 -0
  239. data/vendor/cmock/vendor/unity/test/expectdata/testsample_new2.c +63 -0
  240. data/vendor/cmock/vendor/unity/test/expectdata/testsample_param.c +51 -0
  241. data/vendor/cmock/vendor/unity/test/expectdata/testsample_run1.c +60 -0
  242. data/vendor/cmock/vendor/unity/test/expectdata/testsample_run2.c +63 -0
  243. data/vendor/cmock/vendor/unity/test/expectdata/testsample_yaml.c +64 -0
  244. data/vendor/cmock/vendor/unity/test/test_generate_test_runner.rb +94 -0
  245. data/vendor/cmock/vendor/unity/test/testdata/mocksample.c +51 -0
  246. data/vendor/cmock/vendor/unity/test/testdata/sample.yml +9 -0
  247. data/vendor/cmock/vendor/unity/test/testdata/testsample.c +51 -0
  248. data/vendor/cmock/vendor/unity/test/testparameterized.c +101 -0
  249. data/vendor/cmock/vendor/unity/test/testunity.c +2024 -0
  250. data/vendor/unity/Gemfile +4 -0
  251. data/vendor/unity/auto/generate_test_runner.rb +6 -3
  252. data/vendor/unity/examples/makefile +2 -2
  253. data/vendor/unity/examples/rakefile.rb +13 -2
  254. data/vendor/unity/extras/fixture/rakefile.rb +1 -1
  255. data/vendor/unity/extras/fixture/rakefile_helper.rb +4 -3
  256. data/vendor/unity/extras/fixture/src/unity_fixture.c +15 -12
  257. data/vendor/unity/extras/fixture/src/unity_fixture.h +5 -5
  258. data/vendor/unity/extras/fixture/src/unity_fixture_internals.h +1 -1
  259. data/vendor/unity/extras/fixture/test/unity_fixture_Test.c +6 -3
  260. data/vendor/unity/makefile +2 -2
  261. data/vendor/unity/src/unity.c +183 -16
  262. data/vendor/unity/src/unity.h +18 -5
  263. data/vendor/unity/src/unity_internals.h +57 -23
  264. data/vendor/unity/targets/gcc_64.yml +45 -0
  265. data/vendor/unity/test/testunity.c +436 -28
  266. metadata +200 -137
  267. data/ceedling-0.13.0.rc4.gem +0 -0
  268. data/ceedling.sublime-project +0 -8
  269. data/ceedling.sublime-workspace +0 -365
  270. data/lib/preprocessinator_includes_handler.rb +0 -55
  271. data/tags +0 -977
  272. data/vendor/cmock/vendor/hardmock/CHANGES +0 -78
  273. data/vendor/cmock/vendor/hardmock/LICENSE +0 -7
  274. data/vendor/cmock/vendor/hardmock/README +0 -70
  275. data/vendor/cmock/vendor/hardmock/Rakefile +0 -8
  276. data/vendor/cmock/vendor/hardmock/config/environment.rb +0 -12
  277. data/vendor/cmock/vendor/hardmock/lib/assert_error.rb +0 -23
  278. data/vendor/cmock/vendor/hardmock/lib/extend_test_unit.rb +0 -14
  279. data/vendor/cmock/vendor/hardmock/lib/hardmock.rb +0 -86
  280. data/vendor/cmock/vendor/hardmock/lib/hardmock/errors.rb +0 -22
  281. data/vendor/cmock/vendor/hardmock/lib/hardmock/expectation.rb +0 -229
  282. data/vendor/cmock/vendor/hardmock/lib/hardmock/expectation_builder.rb +0 -9
  283. data/vendor/cmock/vendor/hardmock/lib/hardmock/expector.rb +0 -26
  284. data/vendor/cmock/vendor/hardmock/lib/hardmock/method_cleanout.rb +0 -33
  285. data/vendor/cmock/vendor/hardmock/lib/hardmock/mock.rb +0 -180
  286. data/vendor/cmock/vendor/hardmock/lib/hardmock/mock_control.rb +0 -53
  287. data/vendor/cmock/vendor/hardmock/lib/hardmock/stubbing.rb +0 -210
  288. data/vendor/cmock/vendor/hardmock/lib/hardmock/trapper.rb +0 -31
  289. data/vendor/cmock/vendor/hardmock/lib/hardmock/utils.rb +0 -9
  290. data/vendor/cmock/vendor/hardmock/lib/test_unit_before_after.rb +0 -169
  291. data/vendor/cmock/vendor/hardmock/rake_tasks/rdoc.rake +0 -19
  292. data/vendor/cmock/vendor/hardmock/rake_tasks/rdoc_options.rb +0 -4
  293. data/vendor/cmock/vendor/hardmock/rake_tasks/test.rake +0 -22
  294. data/vendor/cmock/vendor/hardmock/test/functional/assert_error_test.rb +0 -52
  295. data/vendor/cmock/vendor/hardmock/test/functional/auto_verify_test.rb +0 -178
  296. data/vendor/cmock/vendor/hardmock/test/functional/direct_mock_usage_test.rb +0 -396
  297. data/vendor/cmock/vendor/hardmock/test/functional/hardmock_test.rb +0 -434
  298. data/vendor/cmock/vendor/hardmock/test/functional/stubbing_test.rb +0 -479
  299. data/vendor/cmock/vendor/hardmock/test/test_helper.rb +0 -43
  300. data/vendor/cmock/vendor/hardmock/test/unit/expectation_builder_test.rb +0 -19
  301. data/vendor/cmock/vendor/hardmock/test/unit/expectation_test.rb +0 -372
  302. data/vendor/cmock/vendor/hardmock/test/unit/expector_test.rb +0 -57
  303. data/vendor/cmock/vendor/hardmock/test/unit/method_cleanout_test.rb +0 -36
  304. data/vendor/cmock/vendor/hardmock/test/unit/mock_control_test.rb +0 -175
  305. data/vendor/cmock/vendor/hardmock/test/unit/mock_test.rb +0 -279
  306. data/vendor/cmock/vendor/hardmock/test/unit/test_unit_before_after_test.rb +0 -452
  307. data/vendor/cmock/vendor/hardmock/test/unit/trapper_test.rb +0 -62
  308. data/vendor/cmock/vendor/hardmock/test/unit/verify_error_test.rb +0 -40
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 93e5e75f4dbc6f24d4d149af4ec3486bd1a89c52
4
+ data.tar.gz: 1f242b5f415f91f82bda4455da047b8f33f96a35
5
+ SHA512:
6
+ metadata.gz: 001836b3654ddb94a70748db1da1fc00b385ece34409a2e43418fbcf061c37a7fe8741e8350b5196aef43019c5aff931ecdbb824f4e95658cf266bffd7fe435d
7
+ data.tar.gz: 8f67b9be15af0db6ed83fcc641d560efe79739f858b2060168257f9f650944b160947082852eae28874b60b2c5a741cd6eccc4cde53bb5992bffeb1b2381a7e6
data/Gemfile CHANGED
@@ -1,6 +1,6 @@
1
1
  source "http://rubygems.org/"
2
2
 
3
- gem "bundler", "~> 1.1.rc.7"
3
+ gem "bundler", ">= 1.3.5"
4
4
  gem "rake", ">= 0.9.2.2"
5
5
 
6
6
  gem "rspec"
data/Gemfile.lock CHANGED
@@ -2,27 +2,31 @@ GEM
2
2
  remote: http://rubygems.org/
3
3
  specs:
4
4
  constructor (2.0.0)
5
- diff-lcs (1.1.3)
5
+ diff-lcs (1.2.5)
6
6
  diy (1.1.2)
7
7
  constructor (>= 1.0.0)
8
- rake (0.9.2.2)
9
- require_all (1.2.1)
10
- rr (1.0.4)
11
- rspec (2.8.0)
12
- rspec-core (~> 2.8.0)
13
- rspec-expectations (~> 2.8.0)
14
- rspec-mocks (~> 2.8.0)
15
- rspec-core (2.8.0)
16
- rspec-expectations (2.8.0)
17
- diff-lcs (~> 1.1.2)
18
- rspec-mocks (2.8.0)
19
- thor (0.16.0)
8
+ rake (10.3.2)
9
+ require_all (1.3.2)
10
+ rr (1.1.2)
11
+ rspec (3.0.0)
12
+ rspec-core (~> 3.0.0)
13
+ rspec-expectations (~> 3.0.0)
14
+ rspec-mocks (~> 3.0.0)
15
+ rspec-core (3.0.2)
16
+ rspec-support (~> 3.0.0)
17
+ rspec-expectations (3.0.2)
18
+ diff-lcs (>= 1.2.0, < 2.0)
19
+ rspec-support (~> 3.0.0)
20
+ rspec-mocks (3.0.2)
21
+ rspec-support (~> 3.0.0)
22
+ rspec-support (3.0.2)
23
+ thor (0.19.1)
20
24
 
21
25
  PLATFORMS
22
26
  ruby
23
27
 
24
28
  DEPENDENCIES
25
- bundler (~> 1.1.rc.7)
29
+ bundler (>= 1.3.5)
26
30
  constructor
27
31
  diy
28
32
  rake (>= 0.9.2.2)
data/README.md CHANGED
@@ -6,8 +6,10 @@ to be used without having to worry about external dependencies.
6
6
 
7
7
  ceedling new [your new project name]
8
8
 
9
- Using Ceedling outside of a project as a gem (EXPERIMENTAL AND AWKWARD)
10
- =======================================================================
9
+ Using Ceedling outside of a project as a gem
10
+ ============================================
11
+
12
+ (Note: This is still somewhat experimental.)
11
13
 
12
14
  Ceedling can also be used as a gem. The following Rakefile is the
13
15
  bare minimum required in order to use Ceedling this way:
@@ -76,8 +78,8 @@ started:
76
78
  :plugins:
77
79
  :load_paths:
78
80
  # This is required to use builtin ceedling plugins
79
- - "#{builtin_ceedling_plugins_path}"
80
- # Uncomment this and create the directory in order to use your own
81
+ - "#{Ceedling.load_path}"
82
+ # Uncomment this and create the directory in order to use your own
81
83
  # custom ceedling plugins
82
84
  # - ceedling_plugins
83
85
  :enabled:
@@ -64,7 +64,7 @@
64
64
 
65
65
  :plugins:
66
66
  :load_paths:
67
- - "#{builtin_ceedling_plugins_path}"
67
+ - "#{Ceedling.load_path}"
68
68
  :enabled:
69
69
  - stdout_pretty_tests_report
70
70
  - module_generator
@@ -1 +1,3 @@
1
1
  require 'ceedling'
2
+
3
+ Ceedling.load_project
@@ -1,4 +1,6 @@
1
1
  PROJECT_CEEDLING_ROOT = "vendor/ceedling"
2
- load "#{PROJECT_CEEDLING_ROOT}/lib/rakefile.rb"
2
+ load "#{PROJECT_CEEDLING_ROOT}/lib/ceedling.rb"
3
+
4
+ Ceedling.load_project
3
5
 
4
6
  task :default => %w[ test:all release ]
data/ceedling.gemspec CHANGED
@@ -11,6 +11,7 @@ Gem::Specification.new do |s|
11
11
  s.homepage = "http://throwtheswitch.org/"
12
12
  s.summary = %q{Ceedling is a set of tools for the automation of builds and test running for C}
13
13
  s.description = %q{Ceedling provides a set of tools to deploy its guts in a folder or which can be required in a Rakefile}
14
+ s.licenses = ['MIT']
14
15
 
15
16
  s.rubyforge_project = "ceedling"
16
17
 
@@ -1,5 +1,5 @@
1
1
  PROJECT_CEEDLING_ROOT = "vendor/ceedling"
2
- load "#{PROJECT_CEEDLING_ROOT}/lib/rakefile.rb"
2
+ load "#{PROJECT_CEEDLING_ROOT}/lib/ceedling/rakefile.rb"
3
3
 
4
4
  task :default => %w[ test:all release ]
5
5
 
@@ -27,4 +27,4 @@ task :program => [:convert, :serial_port] do
27
27
  cmd = "avrdude -F -V -c arduino -p #{ENV['MCU']} -P #{ENV['SERIAL_PORT']} -b 115200 -U flash:w:#{hex_file}"
28
28
  puts cmd
29
29
  sh cmd
30
- end
30
+ end
@@ -1,4 +1,4 @@
1
1
  PROJECT_CEEDLING_ROOT = "vendor/ceedling"
2
- load "#{PROJECT_CEEDLING_ROOT}/lib/rakefile.rb"
2
+ load "#{PROJECT_CEEDLING_ROOT}/lib/ceedling/rakefile.rb"
3
3
 
4
4
  task :default => %w[ test:all release ]
@@ -27,8 +27,7 @@ void TemperatureFilter_ProcessInput(float temperature)
27
27
  {
28
28
  if (temperature == +INFINITY ||
29
29
  temperature == -INFINITY ||
30
- temperature == +NAN ||
31
- temperature == -NAN)
30
+ isnan(temperature))
32
31
  {
33
32
  initialized = FALSE;
34
33
  temperature = -INFINITY;
@@ -29,5 +29,5 @@ void testTemperatureCalculatorShouldCalculateTemperatureFromMillivolts(void)
29
29
 
30
30
  void testShouldReturnNegativeInfinityWhen_0_millivoltsInput(void)
31
31
  {
32
- TEST_ASSERT_FLOAT_WITHIN(0.0000001f, -INFINITY, TemperatureCalculator_Calculate(0));
32
+ TEST_ASSERT_FLOAT_IS_NEG_INF(TemperatureCalculator_Calculate(0));
33
33
  }
@@ -15,7 +15,7 @@ void tearDown(void)
15
15
  void testShouldInitializeTemeratureToInvalidValue(void)
16
16
  {
17
17
  TemperatureFilter_Init();
18
- TEST_ASSERT_FLOAT_WITHIN(0.0001f, -INFINITY, TemperatureFilter_GetTemperatureInCelcius());
18
+ TEST_ASSERT_FLOAT_IS_NEG_INF(TemperatureFilter_GetTemperatureInCelcius());
19
19
  }
20
20
 
21
21
  void testShouldInitializeTemperatureAfterCallToInit(void)
@@ -34,7 +34,17 @@ void setValueAndVerifyResponse(float input, float response)
34
34
  float actual;
35
35
  TemperatureFilter_ProcessInput(input);
36
36
  actual = TemperatureFilter_GetTemperatureInCelcius();
37
- TEST_ASSERT_FLOAT_WITHIN(0.0001f, response, actual);
37
+
38
+ if (input == +INFINITY ||
39
+ input == -INFINITY ||
40
+ isnan(input))
41
+ {
42
+ TEST_ASSERT_FLOAT_IS_NEG_INF(actual);
43
+ }
44
+ else
45
+ {
46
+ TEST_ASSERT_FLOAT_WITHIN(0.0001f, response, actual);
47
+ }
38
48
  }
39
49
 
40
50
  void testShouldWeightEachSubsequentValueBy25PercentAfterInitialValue(void)
data/lib/ceedling.rb CHANGED
@@ -1,27 +1,99 @@
1
- require 'rake'
1
+ ##
2
+ # This module defines the interface for interacting with and loading a project
3
+ # with Ceedling.
4
+ module Ceedling
5
+ ##
6
+ # Returns the location where the gem is installed.
7
+ # === Return
8
+ # _String_ - The location where the gem lives.
9
+ def self.location
10
+ File.join( File.dirname(__FILE__), '..')
11
+ end
2
12
 
3
- ERR_MSG = <<EOF
4
- I expected to see a project.yml file in the current directoy. Please create one
5
- by hand or by using the 'ceedling' shell command.
6
- EOF
13
+ ##
14
+ # Return the path to the "built-in" plugins.
15
+ # === Return
16
+ # _String_ - The path where the default plugins live.
17
+ def self.load_path
18
+ File.join( self.location, 'plugins')
19
+ end
7
20
 
8
- def ceedling_dir
9
- File.join(
10
- File.dirname(__FILE__),
11
- '..')
12
- end
21
+ ##
22
+ # Return the path to the Ceedling Rakefile
23
+ # === Return
24
+ # _String_
25
+ def self.rakefile
26
+ File.join( self.location, 'lib', 'ceedling', 'rakefile.rb' )
27
+ end
13
28
 
14
- def builtin_ceedling_plugins_path
15
- File.join(
16
- ceedling_dir,
17
- 'plugins')
18
- end
29
+ ##
30
+ # This method selects the project file that Ceedling will use by setting the
31
+ # CEEDLING_MAIN_PROJECT_FILE environment variable before loading the ceedling
32
+ # rakefile. A path supplied as an argument to this method will override the
33
+ # current value of the environment variable. If no path is supplied as an
34
+ # argument then the existing value of the environment variable is used. If
35
+ # the environment variable has not been set and no argument has been supplied
36
+ # then a default path of './project.yml' will be used.
37
+ #
38
+ # === Arguments
39
+ # +options+ _Hash_::
40
+ # A hash containing the options for ceedling. Currently the following
41
+ # options are supported:
42
+ # * +config+ - The path to the project YAML configuration file.
43
+ # * +root+ - The root of the project directory.
44
+ # * +prefix+ - A prefix to prepend to plugin names in order to determine the
45
+ # corresponding gem name.
46
+ # * +plugins+ - The list of ceedling plugins to load
47
+ def self.load_project(options = {})
48
+ # Make sure our path to the yaml file is setup
49
+ if options.has_key? :config
50
+ ENV['CEEDLING_MAIN_PROJECT_FILE'] = options[:config]
51
+ elsif ENV['CEEDLING_MAIN_PROJECT_FILE'].nil?
52
+ ENV['CEEDLING_MAIN_PROJECT_FILE'] = './project.yml'
53
+ end
54
+
55
+ # Register the plugins
56
+ if options.has_key? :plugins
57
+ options[:plugins].each do |plugin|
58
+ register_plugin( plugin, options[:prefix] )
59
+ end
60
+ end
61
+
62
+ # Define the root of the project if specified
63
+ Object.const_set('PROJECT_ROOT', options[:root]) if options.has_key? :root
19
64
 
20
- ceeling_lib_rakefile = File.join( ceedling_dir,
21
- 'lib',
22
- 'rakefile.rb')
23
- if File.exists? "./project.yml"
24
- load ceeling_lib_rakefile
25
- else
26
- $stderr.puts ERR_MSG
65
+ # Load ceedling
66
+ load "#{self.rakefile}"
67
+ end
68
+
69
+ ##
70
+ # Register a plugin for ceedling to use when a project is loaded. This method
71
+ # *must* be called prior to calling the _load_project_ method.
72
+ #
73
+ # This method is intended to be used for loading plugins distributed via the
74
+ # RubyGems mechanism. As such, the following gem structure is assumed for
75
+ # plugins.
76
+ #
77
+ # * The gem name must be prefixed with 'ceedling-' followed by the plugin
78
+ # name (ex. 'ceedling-bullseye')
79
+ #
80
+ # * The contents of the plugin must be isntalled into a subdirectory of
81
+ # the gem with the same name as the plugin (ex. 'bullseye/')
82
+ #
83
+ # === Arguments
84
+ # +name+ _String_:: The name of the plugin to load.
85
+ # +prefix+ _String_::
86
+ # (optional, default = nil) The prefix to use for the full gem name.
87
+ def self.register_plugin(name, prefix=nil)
88
+ # Figure out the full name of the gem and location
89
+ prefix ||= 'ceedling-'
90
+ gem_name = prefix + name
91
+ gem_dir = Gem::Specification.find_by_name(gem_name).gem_dir()
92
+
93
+ # Register the plugin with Ceedling
94
+ require 'ceedling/defaults'
95
+ DEFAULT_CEEDLING_CONFIG[:plugins][:enabled] << name
96
+ DEFAULT_CEEDLING_CONFIG[:plugins][:load_paths] << gem_dir
97
+ end
27
98
  end
99
+
@@ -1,27 +1,27 @@
1
- require 'constants'
2
-
3
-
4
- class BuildInvokerUtils
5
-
6
- constructor :configurator, :streaminator
7
-
8
- def process_exception(exception, context, test_build=true)
9
- if (exception.message =~ /Don't know how to build task '(.+)'/i)
10
- error_header = "ERROR: Rake could not find file referenced in source"
11
- error_header += " or test" if (test_build)
12
- error_header += ": '#{$1}'. Possible stale dependency."
13
-
14
- @streaminator.stderr_puts( error_header )
15
-
16
- if (@configurator.project_use_deep_dependencies)
17
- help_message = "Try fixing #include statements or adding missing file. Then run '#{REFRESH_TASK_ROOT}#{context.to_s}' task and try again."
18
- @streaminator.stderr_puts( help_message )
19
- end
20
-
21
- raise ''
22
- else
23
- raise exception
24
- end
25
- end
26
-
27
- end
1
+ require 'ceedling/constants'
2
+
3
+
4
+ class BuildInvokerUtils
5
+
6
+ constructor :configurator, :streaminator
7
+
8
+ def process_exception(exception, context, test_build=true)
9
+ if (exception.message =~ /Don't know how to build task '(.+)'/i)
10
+ error_header = "ERROR: Rake could not find file referenced in source"
11
+ error_header += " or test" if (test_build)
12
+ error_header += ": '#{$1}'. Possible stale dependency."
13
+
14
+ @streaminator.stderr_puts( error_header )
15
+
16
+ if (@configurator.project_use_deep_dependencies)
17
+ help_message = "Try fixing #include statements or adding missing file. Then run '#{REFRESH_TASK_ROOT}#{context.to_s}' task and try again."
18
+ @streaminator.stderr_puts( help_message )
19
+ end
20
+
21
+ raise ''
22
+ else
23
+ raise exception
24
+ end
25
+ end
26
+
27
+ end
@@ -1,42 +1,42 @@
1
-
2
- class Cacheinator
3
-
4
- constructor :cacheinator_helper, :file_path_utils, :file_wrapper, :yaml_wrapper
5
-
6
- def cache_test_config(hash)
7
- @yaml_wrapper.dump( @file_path_utils.form_test_build_cache_path( INPUT_CONFIGURATION_CACHE_FILE), hash )
8
- end
9
-
10
- def cache_release_config(hash)
11
- @yaml_wrapper.dump( @file_path_utils.form_release_build_cache_path( INPUT_CONFIGURATION_CACHE_FILE ), hash )
12
- end
13
-
14
-
15
- def diff_cached_test_file( filepath )
16
- cached_filepath = @file_path_utils.form_test_build_cache_path( filepath )
17
-
18
- if (@file_wrapper.exist?( cached_filepath ) and (!@file_wrapper.compare( filepath, cached_filepath )))
19
- @file_wrapper.cp(filepath, cached_filepath, {:preserve => false})
20
- return filepath
21
- elsif (!@file_wrapper.exist?( cached_filepath ))
22
- @file_wrapper.cp(filepath, cached_filepath, {:preserve => false})
23
- return filepath
24
- end
25
-
26
- return cached_filepath
27
- end
28
-
29
-
30
- def diff_cached_test_config?(hash)
31
- cached_filepath = @file_path_utils.form_test_build_cache_path(INPUT_CONFIGURATION_CACHE_FILE)
32
-
33
- return @cacheinator_helper.diff_cached_config?( cached_filepath, hash )
34
- end
35
-
36
- def diff_cached_release_config?(hash)
37
- cached_filepath = @file_path_utils.form_release_build_cache_path(INPUT_CONFIGURATION_CACHE_FILE)
38
-
39
- return @cacheinator_helper.diff_cached_config?( cached_filepath, hash )
40
- end
41
-
42
- end
1
+
2
+ class Cacheinator
3
+
4
+ constructor :cacheinator_helper, :file_path_utils, :file_wrapper, :yaml_wrapper
5
+
6
+ def cache_test_config(hash)
7
+ @yaml_wrapper.dump( @file_path_utils.form_test_build_cache_path( INPUT_CONFIGURATION_CACHE_FILE), hash )
8
+ end
9
+
10
+ def cache_release_config(hash)
11
+ @yaml_wrapper.dump( @file_path_utils.form_release_build_cache_path( INPUT_CONFIGURATION_CACHE_FILE ), hash )
12
+ end
13
+
14
+
15
+ def diff_cached_test_file( filepath )
16
+ cached_filepath = @file_path_utils.form_test_build_cache_path( filepath )
17
+
18
+ if (@file_wrapper.exist?( cached_filepath ) and (!@file_wrapper.compare( filepath, cached_filepath )))
19
+ @file_wrapper.cp(filepath, cached_filepath, {:preserve => false})
20
+ return filepath
21
+ elsif (!@file_wrapper.exist?( cached_filepath ))
22
+ @file_wrapper.cp(filepath, cached_filepath, {:preserve => false})
23
+ return filepath
24
+ end
25
+
26
+ return cached_filepath
27
+ end
28
+
29
+
30
+ def diff_cached_test_config?(hash)
31
+ cached_filepath = @file_path_utils.form_test_build_cache_path(INPUT_CONFIGURATION_CACHE_FILE)
32
+
33
+ return @cacheinator_helper.diff_cached_config?( cached_filepath, hash )
34
+ end
35
+
36
+ def diff_cached_release_config?(hash)
37
+ cached_filepath = @file_path_utils.form_release_build_cache_path(INPUT_CONFIGURATION_CACHE_FILE)
38
+
39
+ return @cacheinator_helper.diff_cached_config?( cached_filepath, hash )
40
+ end
41
+
42
+ end