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