ceedling 0.13.0.rc1 → 0.13.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (426) hide show
  1. data/Gemfile.lock +32 -0
  2. data/README.md +8 -8
  3. data/assets/example_file.c +5 -0
  4. data/assets/example_file.h +6 -0
  5. data/assets/project_as_gem.yml +71 -0
  6. data/assets/{project.yml → project_with_guts.yml} +2 -0
  7. data/assets/rakefile_as_gem.rb +1 -0
  8. data/assets/{rakefile.rb → rakefile_with_guts.rb} +0 -0
  9. data/assets/test_example_file.c +13 -0
  10. data/bin/ceedling +55 -31
  11. data/ceedling-0.13.0.rc4.gem +0 -0
  12. data/ceedling.gemspec +13 -12
  13. data/ceedling.sublime-project +8 -0
  14. data/ceedling.sublime-workspace +365 -0
  15. data/examples/temp_sensor/project.yml +3 -4
  16. data/lib/ceedling.rb +13 -4
  17. data/lib/ceedling/version.rb +3 -3
  18. data/lib/project_file_loader.rb +1 -1
  19. data/lib/rakefile.rb +14 -1
  20. data/lib/target_loader.rb +38 -0
  21. data/plugins/bullseye/{template.erb → assets/template.erb} +0 -0
  22. data/plugins/bullseye/{defaults.yml → config/defaults.yml} +0 -0
  23. data/plugins/bullseye/{bullseye.rb → lib/bullseye.rb} +9 -10
  24. data/spec/spec_system_helper.rb +192 -0
  25. data/spec/system/deployment_spec.rb +116 -0
  26. data/tags +977 -0
  27. data/vendor/c_exception/docs/CExceptionSummary.odt +0 -0
  28. data/vendor/c_exception/docs/CExceptionSummary.pdf +0 -0
  29. data/vendor/c_exception/docs/license.txt +30 -0
  30. data/vendor/c_exception/docs/readme.txt +242 -0
  31. data/vendor/c_exception/makefile +24 -0
  32. data/vendor/c_exception/rakefile.rb +41 -0
  33. data/vendor/c_exception/test/CExceptionConfig.h +44 -0
  34. data/vendor/c_exception/test/TestException.c +328 -0
  35. data/vendor/c_exception/test/TestException_Runner.c +57 -0
  36. data/vendor/c_exception/vendor/unity/auto/colour_prompt.rb +94 -0
  37. data/vendor/c_exception/vendor/unity/auto/colour_reporter.rb +39 -0
  38. data/vendor/c_exception/vendor/unity/auto/generate_config.yml +36 -0
  39. data/vendor/c_exception/vendor/unity/auto/generate_module.rb +202 -0
  40. data/vendor/c_exception/vendor/unity/auto/generate_test_runner.rb +313 -0
  41. data/vendor/c_exception/vendor/unity/auto/test_file_filter.rb +23 -0
  42. data/vendor/c_exception/vendor/unity/auto/unity_test_summary.rb +139 -0
  43. data/vendor/c_exception/vendor/unity/docs/Unity Summary.odt +0 -0
  44. data/vendor/c_exception/vendor/unity/docs/Unity Summary.pdf +0 -0
  45. data/vendor/c_exception/vendor/unity/docs/Unity Summary.txt +217 -0
  46. data/vendor/c_exception/vendor/unity/docs/license.txt +31 -0
  47. data/vendor/c_exception/vendor/unity/examples/helper/UnityHelper.c +10 -0
  48. data/vendor/c_exception/vendor/unity/examples/helper/UnityHelper.h +12 -0
  49. data/vendor/c_exception/vendor/unity/examples/makefile +40 -0
  50. data/vendor/c_exception/vendor/unity/examples/rakefile.rb +32 -0
  51. data/vendor/c_exception/vendor/unity/examples/rakefile_helper.rb +256 -0
  52. data/vendor/c_exception/vendor/unity/examples/readme.txt +18 -0
  53. data/vendor/c_exception/vendor/unity/examples/src/ProductionCode.c +24 -0
  54. data/vendor/c_exception/vendor/unity/examples/src/ProductionCode.h +3 -0
  55. data/vendor/c_exception/vendor/unity/examples/src/ProductionCode2.c +9 -0
  56. data/vendor/c_exception/vendor/unity/examples/src/ProductionCode2.h +2 -0
  57. data/vendor/c_exception/vendor/unity/examples/test/TestProductionCode.c +62 -0
  58. data/vendor/c_exception/vendor/unity/examples/test/TestProductionCode2.c +31 -0
  59. data/vendor/c_exception/vendor/unity/examples/test/no_ruby/TestProductionCode2_Runner.c +46 -0
  60. data/vendor/c_exception/vendor/unity/examples/test/no_ruby/TestProductionCode_Runner.c +50 -0
  61. data/vendor/c_exception/vendor/unity/extras/fixture/build/MakefileWorker.mk +331 -0
  62. data/vendor/c_exception/vendor/unity/extras/fixture/build/filterGcov.sh +61 -0
  63. data/vendor/c_exception/vendor/unity/extras/fixture/rakefile.rb +37 -0
  64. data/vendor/c_exception/vendor/unity/extras/fixture/rakefile_helper.rb +178 -0
  65. data/vendor/c_exception/vendor/unity/extras/fixture/readme.txt +9 -0
  66. data/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture.c +381 -0
  67. data/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture.h +81 -0
  68. data/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture_internals.h +44 -0
  69. data/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture_malloc_overrides.h +16 -0
  70. data/vendor/c_exception/vendor/unity/extras/fixture/test/main/AllTests.c +21 -0
  71. data/vendor/c_exception/vendor/unity/extras/fixture/test/testunity_fixture.c +39 -0
  72. data/vendor/c_exception/vendor/unity/extras/fixture/test/unity_fixture_Test.c +321 -0
  73. data/vendor/c_exception/vendor/unity/extras/fixture/test/unity_fixture_TestRunner.c +40 -0
  74. data/vendor/c_exception/vendor/unity/extras/fixture/test/unity_output_Spy.c +56 -0
  75. data/vendor/c_exception/vendor/unity/extras/fixture/test/unity_output_Spy.h +17 -0
  76. data/vendor/c_exception/vendor/unity/makefile +35 -0
  77. data/vendor/c_exception/vendor/unity/rakefile.rb +59 -0
  78. data/vendor/c_exception/vendor/unity/rakefile_helper.rb +240 -0
  79. data/vendor/c_exception/vendor/unity/release/build.info +2 -0
  80. data/vendor/c_exception/vendor/unity/release/version.info +2 -0
  81. data/vendor/c_exception/vendor/unity/src/unity.c +979 -0
  82. data/vendor/c_exception/vendor/unity/src/unity.h +232 -0
  83. data/vendor/c_exception/vendor/unity/src/unity_internals.h +424 -0
  84. data/vendor/c_exception/vendor/unity/targets/gcc.yml +43 -0
  85. data/vendor/c_exception/vendor/unity/targets/gcc_64.yml +44 -0
  86. data/vendor/c_exception/vendor/unity/targets/hitech_picc18.yml +101 -0
  87. data/vendor/c_exception/vendor/unity/targets/iar_arm_v4.yml +89 -0
  88. data/vendor/c_exception/vendor/unity/targets/iar_arm_v5.yml +79 -0
  89. data/vendor/c_exception/vendor/unity/targets/iar_arm_v5_3.yml +79 -0
  90. data/vendor/c_exception/vendor/unity/targets/iar_armcortex_LM3S9B92_v5_4.yml +93 -0
  91. data/vendor/c_exception/vendor/unity/targets/iar_cortexm3_v5.yml +83 -0
  92. data/vendor/c_exception/vendor/unity/targets/iar_msp430.yml +94 -0
  93. data/vendor/c_exception/vendor/unity/targets/iar_sh2a_v6.yml +85 -0
  94. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_cmd.c +54 -0
  95. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_def.c +50 -0
  96. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_cmd.c +76 -0
  97. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_def.c +72 -0
  98. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_new1.c +85 -0
  99. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_new2.c +85 -0
  100. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_param.c +73 -0
  101. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_run1.c +85 -0
  102. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_run2.c +85 -0
  103. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_yaml.c +86 -0
  104. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_new1.c +60 -0
  105. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_new2.c +63 -0
  106. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_param.c +51 -0
  107. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_run1.c +60 -0
  108. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_run2.c +63 -0
  109. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_yaml.c +64 -0
  110. data/vendor/c_exception/vendor/unity/test/test_generate_test_runner.rb +94 -0
  111. data/vendor/c_exception/vendor/unity/test/testdata/mocksample.c +51 -0
  112. data/vendor/c_exception/vendor/unity/test/testdata/sample.yml +9 -0
  113. data/vendor/c_exception/vendor/unity/test/testdata/testsample.c +51 -0
  114. data/vendor/c_exception/vendor/unity/test/testparameterized.c +101 -0
  115. data/vendor/c_exception/vendor/unity/test/testunity.c +2024 -0
  116. data/vendor/cmock/docs/CMock Summary.odt +0 -0
  117. data/vendor/cmock/docs/CMock Summary.pdf +0 -0
  118. data/vendor/cmock/docs/CMock_Summary.md +356 -0
  119. data/vendor/cmock/docs/license.txt +31 -0
  120. data/vendor/cmock/examples/gcc.yml +43 -0
  121. data/vendor/cmock/examples/iar_v4.yml +91 -0
  122. data/vendor/cmock/examples/iar_v5.yml +80 -0
  123. data/vendor/cmock/examples/rakefile.rb +32 -0
  124. data/vendor/cmock/examples/rakefile_helper.rb +270 -0
  125. data/vendor/cmock/examples/src/AT91SAM7X256.h +2556 -0
  126. data/vendor/cmock/examples/src/AdcConductor.c +42 -0
  127. data/vendor/cmock/examples/src/AdcConductor.h +11 -0
  128. data/vendor/cmock/examples/src/AdcHardware.c +27 -0
  129. data/vendor/cmock/examples/src/AdcHardware.h +9 -0
  130. data/vendor/cmock/examples/src/AdcHardwareConfigurator.c +18 -0
  131. data/vendor/cmock/examples/src/AdcHardwareConfigurator.h +10 -0
  132. data/vendor/cmock/examples/src/AdcModel.c +33 -0
  133. data/vendor/cmock/examples/src/AdcModel.h +13 -0
  134. data/vendor/cmock/examples/src/AdcTemperatureSensor.c +51 -0
  135. data/vendor/cmock/examples/src/AdcTemperatureSensor.h +10 -0
  136. data/vendor/cmock/examples/src/Executor.c +25 -0
  137. data/vendor/cmock/examples/src/Executor.h +9 -0
  138. data/vendor/cmock/examples/src/IntrinsicsWrapper.c +18 -0
  139. data/vendor/cmock/examples/src/IntrinsicsWrapper.h +7 -0
  140. data/vendor/cmock/examples/src/Main.c +46 -0
  141. data/vendor/cmock/examples/src/Main.h +7 -0
  142. data/vendor/cmock/examples/src/Model.c +10 -0
  143. data/vendor/cmock/examples/src/Model.h +8 -0
  144. data/vendor/cmock/examples/src/ModelConfig.h +7 -0
  145. data/vendor/cmock/examples/src/TaskScheduler.c +72 -0
  146. data/vendor/cmock/examples/src/TaskScheduler.h +11 -0
  147. data/vendor/cmock/examples/src/TemperatureCalculator.c +27 -0
  148. data/vendor/cmock/examples/src/TemperatureCalculator.h +6 -0
  149. data/vendor/cmock/examples/src/TemperatureFilter.c +39 -0
  150. data/vendor/cmock/examples/src/TemperatureFilter.h +10 -0
  151. data/vendor/cmock/examples/src/TimerConductor.c +15 -0
  152. data/vendor/cmock/examples/src/TimerConductor.h +9 -0
  153. data/vendor/cmock/examples/src/TimerConfigurator.c +51 -0
  154. data/vendor/cmock/examples/src/TimerConfigurator.h +15 -0
  155. data/vendor/cmock/examples/src/TimerHardware.c +15 -0
  156. data/vendor/cmock/examples/src/TimerHardware.h +8 -0
  157. data/vendor/cmock/examples/src/TimerInterruptConfigurator.c +55 -0
  158. data/vendor/cmock/examples/src/TimerInterruptConfigurator.h +13 -0
  159. data/vendor/cmock/examples/src/TimerInterruptHandler.c +25 -0
  160. data/vendor/cmock/examples/src/TimerInterruptHandler.h +10 -0
  161. data/vendor/cmock/examples/src/TimerModel.c +9 -0
  162. data/vendor/cmock/examples/src/TimerModel.h +8 -0
  163. data/vendor/cmock/examples/src/Types.h +103 -0
  164. data/vendor/cmock/examples/src/UsartBaudRateRegisterCalculator.c +18 -0
  165. data/vendor/cmock/examples/src/UsartBaudRateRegisterCalculator.h +6 -0
  166. data/vendor/cmock/examples/src/UsartConductor.c +21 -0
  167. data/vendor/cmock/examples/src/UsartConductor.h +7 -0
  168. data/vendor/cmock/examples/src/UsartConfigurator.c +39 -0
  169. data/vendor/cmock/examples/src/UsartConfigurator.h +13 -0
  170. data/vendor/cmock/examples/src/UsartHardware.c +22 -0
  171. data/vendor/cmock/examples/src/UsartHardware.h +9 -0
  172. data/vendor/cmock/examples/src/UsartModel.c +34 -0
  173. data/vendor/cmock/examples/src/UsartModel.h +10 -0
  174. data/vendor/cmock/examples/src/UsartPutChar.c +16 -0
  175. data/vendor/cmock/examples/src/UsartPutChar.h +8 -0
  176. data/vendor/cmock/examples/src/UsartTransmitBufferStatus.c +7 -0
  177. data/vendor/cmock/examples/src/UsartTransmitBufferStatus.h +8 -0
  178. data/vendor/cmock/examples/test/TestAdcConductor.c +121 -0
  179. data/vendor/cmock/examples/test/TestAdcHardware.c +44 -0
  180. data/vendor/cmock/examples/test/TestAdcHardwareConfigurator.c +43 -0
  181. data/vendor/cmock/examples/test/TestAdcModel.c +33 -0
  182. data/vendor/cmock/examples/test/TestAdcTemperatureSensor.c +47 -0
  183. data/vendor/cmock/examples/test/TestExecutor.c +36 -0
  184. data/vendor/cmock/examples/test/TestMain.c +24 -0
  185. data/vendor/cmock/examples/test/TestModel.c +20 -0
  186. data/vendor/cmock/examples/test/TestTaskScheduler.c +104 -0
  187. data/vendor/cmock/examples/test/TestTemperatureCalculator.c +33 -0
  188. data/vendor/cmock/examples/test/TestTemperatureFilter.c +69 -0
  189. data/vendor/cmock/examples/test/TestTimerConductor.c +32 -0
  190. data/vendor/cmock/examples/test/TestTimerConfigurator.c +112 -0
  191. data/vendor/cmock/examples/test/TestTimerHardware.c +26 -0
  192. data/vendor/cmock/examples/test/TestTimerInterruptConfigurator.c +78 -0
  193. data/vendor/cmock/examples/test/TestTimerInterruptHandler.c +66 -0
  194. data/vendor/cmock/examples/test/TestTimerModel.c +18 -0
  195. data/vendor/cmock/examples/test/TestUsartBaudRateRegisterCalculator.c +21 -0
  196. data/vendor/cmock/examples/test/TestUsartConductor.c +40 -0
  197. data/vendor/cmock/examples/test/TestUsartConfigurator.c +77 -0
  198. data/vendor/cmock/examples/test/TestUsartHardware.c +37 -0
  199. data/vendor/cmock/examples/test/TestUsartModel.c +40 -0
  200. data/vendor/cmock/examples/test/TestUsartPutChar.c +43 -0
  201. data/vendor/cmock/examples/test/TestUsartTransmitBufferStatus.c +22 -0
  202. data/vendor/cmock/iar/iar_v4/Resource/SAM7_FLASH.mac +71 -0
  203. data/vendor/cmock/iar/iar_v4/Resource/SAM7_RAM.mac +94 -0
  204. data/vendor/cmock/iar/iar_v4/Resource/SAM7_SIM.mac +67 -0
  205. data/vendor/cmock/iar/iar_v4/Resource/at91SAM7X256_FLASH.xcl +185 -0
  206. data/vendor/cmock/iar/iar_v4/Resource/at91SAM7X256_RAM.xcl +185 -0
  207. data/vendor/cmock/iar/iar_v4/Resource/ioat91sam7x256.ddf +2259 -0
  208. data/vendor/cmock/iar/iar_v4/cmock_demo.dep +3691 -0
  209. data/vendor/cmock/iar/iar_v4/cmock_demo.ewd +1696 -0
  210. data/vendor/cmock/iar/iar_v4/cmock_demo.ewp +2581 -0
  211. data/vendor/cmock/iar/iar_v4/cmock_demo.eww +10 -0
  212. data/vendor/cmock/iar/iar_v4/incIAR/AT91SAM7X-EK.h +61 -0
  213. data/vendor/cmock/iar/iar_v4/incIAR/AT91SAM7X256.inc +2314 -0
  214. data/vendor/cmock/iar/iar_v4/incIAR/AT91SAM7X256.rdf +4704 -0
  215. data/vendor/cmock/iar/iar_v4/incIAR/AT91SAM7X256.tcl +3407 -0
  216. data/vendor/cmock/iar/iar_v4/incIAR/AT91SAM7X256_inc.h +2268 -0
  217. data/vendor/cmock/iar/iar_v4/incIAR/ioat91sam7x256.h +4380 -0
  218. data/vendor/cmock/iar/iar_v4/incIAR/lib_AT91SAM7X256.h +4211 -0
  219. data/vendor/cmock/iar/iar_v4/settings/cmock_demo.cspy.bat +32 -0
  220. data/vendor/cmock/iar/iar_v4/settings/cmock_demo.dbgdt +86 -0
  221. data/vendor/cmock/iar/iar_v4/settings/cmock_demo.dni +42 -0
  222. data/vendor/cmock/iar/iar_v4/settings/cmock_demo.wsdt +76 -0
  223. data/vendor/cmock/iar/iar_v4/srcIAR/Cstartup.s79 +266 -0
  224. data/vendor/cmock/iar/iar_v4/srcIAR/Cstartup_SAM7.c +98 -0
  225. data/vendor/cmock/iar/iar_v5/Resource/SAM7_FLASH.mac +71 -0
  226. data/vendor/cmock/iar/iar_v5/Resource/SAM7_RAM.mac +94 -0
  227. data/vendor/cmock/iar/iar_v5/Resource/SAM7_SIM.mac +67 -0
  228. data/vendor/cmock/iar/iar_v5/Resource/at91SAM7X256_FLASH.icf +43 -0
  229. data/vendor/cmock/iar/iar_v5/Resource/at91SAM7X256_RAM.icf +42 -0
  230. data/vendor/cmock/iar/iar_v5/cmock_demo.dep +4204 -0
  231. data/vendor/cmock/iar/iar_v5/cmock_demo.ewd +1906 -0
  232. data/vendor/cmock/iar/iar_v5/cmock_demo.ewp +2426 -0
  233. data/vendor/cmock/iar/iar_v5/cmock_demo.eww +26 -0
  234. data/vendor/cmock/iar/iar_v5/incIAR/AT91SAM7X-EK.h +61 -0
  235. data/vendor/cmock/iar/iar_v5/incIAR/AT91SAM7X256_inc.h +2268 -0
  236. data/vendor/cmock/iar/iar_v5/incIAR/lib_AT91SAM7X256.h +4211 -0
  237. data/vendor/cmock/iar/iar_v5/incIAR/project.h +30 -0
  238. data/vendor/cmock/iar/iar_v5/settings/BasicInterrupt_SAM7X.cspy.bat +33 -0
  239. data/vendor/cmock/iar/iar_v5/settings/BasicInterrupt_SAM7X.dbgdt +5 -0
  240. data/vendor/cmock/iar/iar_v5/settings/BasicInterrupt_SAM7X.dni +18 -0
  241. data/vendor/cmock/iar/iar_v5/settings/BasicInterrupt_SAM7X.wsdt +74 -0
  242. data/vendor/cmock/iar/iar_v5/settings/BasicInterrupt_SAM7X_FLASH_Debug.jlink +12 -0
  243. data/vendor/cmock/iar/iar_v5/settings/cmock_demo.cspy.bat +33 -0
  244. data/vendor/cmock/iar/iar_v5/settings/cmock_demo.dbgdt +85 -0
  245. data/vendor/cmock/iar/iar_v5/settings/cmock_demo.dni +44 -0
  246. data/vendor/cmock/iar/iar_v5/settings/cmock_demo.wsdt +73 -0
  247. data/vendor/cmock/iar/iar_v5/settings/cmock_demo_Binary.jlink +12 -0
  248. data/vendor/cmock/iar/iar_v5/settings/cmock_demo_FLASH_Debug.jlink +12 -0
  249. data/vendor/cmock/iar/iar_v5/settings/cmock_demo_RAM_Debug.jlink +12 -0
  250. data/vendor/cmock/iar/iar_v5/srcIAR/Cstartup.s +299 -0
  251. data/vendor/cmock/iar/iar_v5/srcIAR/Cstartup_SAM7.c +98 -0
  252. data/vendor/cmock/rakefile.rb +111 -0
  253. data/vendor/cmock/rakefile_helper.rb +381 -0
  254. data/vendor/cmock/targets/gcc.yml +53 -0
  255. data/vendor/cmock/targets/iar_arm_v4.yml +108 -0
  256. data/vendor/cmock/targets/iar_arm_v5.yml +93 -0
  257. data/vendor/cmock/test/c/TestCMockC.c +280 -0
  258. data/vendor/cmock/test/c/TestCMockC.yml +12 -0
  259. data/vendor/cmock/test/c/TestCMockCDynamic.c +186 -0
  260. data/vendor/cmock/test/c/TestCMockCDynamic.yml +12 -0
  261. data/vendor/cmock/test/c/TestCMockCDynamic_Runner.c +35 -0
  262. data/vendor/cmock/test/c/TestCMockC_Runner.c +37 -0
  263. data/vendor/cmock/test/spec/cmock_file_writer_spec.rb +25 -0
  264. data/vendor/cmock/test/spec/spec_helper.rb +12 -0
  265. data/vendor/cmock/test/system/systest_generator.rb +178 -0
  266. data/vendor/cmock/test/system/test_compilation/callingconv.h +11 -0
  267. data/vendor/cmock/test/system/test_compilation/config.yml +9 -0
  268. data/vendor/cmock/test/system/test_compilation/const.h +15 -0
  269. data/vendor/cmock/test/system/test_compilation/osek.h +275 -0
  270. data/vendor/cmock/test/system/test_compilation/parsing.h +47 -0
  271. data/vendor/cmock/test/system/test_interactions/all_plugins_but_other_limits.yml +341 -0
  272. data/vendor/cmock/test/system/test_interactions/all_plugins_coexist.yml +382 -0
  273. data/vendor/cmock/test/system/test_interactions/array_and_pointer_handling.yml +382 -0
  274. data/vendor/cmock/test/system/test_interactions/basic_expect_and_return.yml +123 -0
  275. data/vendor/cmock/test/system/test_interactions/const_primitives_handling.yml +87 -0
  276. data/vendor/cmock/test/system/test_interactions/enforce_strict_ordering.yml +247 -0
  277. data/vendor/cmock/test/system/test_interactions/expect_and_return_custom_types.yml +108 -0
  278. data/vendor/cmock/test/system/test_interactions/expect_and_return_treat_as.yml +173 -0
  279. data/vendor/cmock/test/system/test_interactions/expect_and_throw.yml +170 -0
  280. data/vendor/cmock/test/system/test_interactions/fancy_pointer_handling.yml +208 -0
  281. data/vendor/cmock/test/system/test_interactions/function_pointer_handling.yml +82 -0
  282. data/vendor/cmock/test/system/test_interactions/ignore_and_return.yml +153 -0
  283. data/vendor/cmock/test/system/test_interactions/newer_standards_stuff1.yml +52 -0
  284. data/vendor/cmock/test/system/test_interactions/nonstandard_parsed_stuff_1.yml +91 -0
  285. data/vendor/cmock/test/system/test_interactions/nonstandard_parsed_stuff_2.yml +59 -0
  286. data/vendor/cmock/test/system/test_interactions/parsing_challenges.yml +222 -0
  287. data/vendor/cmock/test/system/test_interactions/struct_union_enum_expect_and_return.yml +277 -0
  288. data/vendor/cmock/test/system/test_interactions/stubs_with_callbacks.yml +221 -0
  289. data/vendor/cmock/test/system/test_interactions/unity_64bit_support.yml +77 -0
  290. data/vendor/cmock/test/system/test_interactions/unity_ignores.yml +139 -0
  291. data/vendor/cmock/test/test_helper.rb +44 -0
  292. data/vendor/cmock/test/unit/cmock_config_test.rb +121 -0
  293. data/vendor/cmock/test/unit/cmock_config_test.yml +5 -0
  294. data/vendor/cmock/test/unit/cmock_file_writer_test.rb +30 -0
  295. data/vendor/cmock/test/unit/cmock_generator_main_test.rb +413 -0
  296. data/vendor/cmock/test/unit/cmock_generator_plugin_array_test.rb +114 -0
  297. data/vendor/cmock/test/unit/cmock_generator_plugin_callback_test.rb +190 -0
  298. data/vendor/cmock/test/unit/cmock_generator_plugin_cexception_test.rb +94 -0
  299. data/vendor/cmock/test/unit/cmock_generator_plugin_expect_test.rb +206 -0
  300. data/vendor/cmock/test/unit/cmock_generator_plugin_ignore_test.rb +168 -0
  301. data/vendor/cmock/test/unit/cmock_generator_utils_test.rb +291 -0
  302. data/vendor/cmock/test/unit/cmock_header_parser_test.rb +1247 -0
  303. data/vendor/cmock/test/unit/cmock_plugin_manager_test.rb +85 -0
  304. data/vendor/cmock/test/unit/cmock_unityhelper_parser_test.rb +223 -0
  305. data/vendor/cmock/vendor/behaviors/Manifest.txt +9 -0
  306. data/vendor/cmock/vendor/behaviors/Rakefile +19 -0
  307. data/vendor/cmock/vendor/behaviors/lib/behaviors.rb +76 -0
  308. data/vendor/cmock/vendor/behaviors/lib/behaviors/reporttask.rb +158 -0
  309. data/vendor/cmock/vendor/behaviors/test/behaviors_tasks_test.rb +73 -0
  310. data/vendor/cmock/vendor/behaviors/test/behaviors_test.rb +50 -0
  311. data/vendor/cmock/vendor/behaviors/test/tasks_test/Rakefile +19 -0
  312. data/vendor/cmock/vendor/behaviors/test/tasks_test/lib/user.rb +2 -0
  313. data/vendor/cmock/vendor/behaviors/test/tasks_test/test/user_test.rb +17 -0
  314. data/vendor/cmock/vendor/hardmock/CHANGES +78 -0
  315. data/vendor/cmock/vendor/hardmock/LICENSE +7 -0
  316. data/vendor/cmock/vendor/hardmock/README +70 -0
  317. data/vendor/cmock/vendor/hardmock/Rakefile +8 -0
  318. data/vendor/cmock/vendor/hardmock/config/environment.rb +12 -0
  319. data/vendor/cmock/vendor/hardmock/lib/assert_error.rb +23 -0
  320. data/vendor/cmock/vendor/hardmock/lib/extend_test_unit.rb +14 -0
  321. data/vendor/cmock/vendor/hardmock/lib/hardmock.rb +86 -0
  322. data/vendor/cmock/vendor/hardmock/lib/hardmock/errors.rb +22 -0
  323. data/vendor/cmock/vendor/hardmock/lib/hardmock/expectation.rb +229 -0
  324. data/vendor/cmock/vendor/hardmock/lib/hardmock/expectation_builder.rb +9 -0
  325. data/vendor/cmock/vendor/hardmock/lib/hardmock/expector.rb +26 -0
  326. data/vendor/cmock/vendor/hardmock/lib/hardmock/method_cleanout.rb +33 -0
  327. data/vendor/cmock/vendor/hardmock/lib/hardmock/mock.rb +180 -0
  328. data/vendor/cmock/vendor/hardmock/lib/hardmock/mock_control.rb +53 -0
  329. data/vendor/cmock/vendor/hardmock/lib/hardmock/stubbing.rb +210 -0
  330. data/vendor/cmock/vendor/hardmock/lib/hardmock/trapper.rb +31 -0
  331. data/vendor/cmock/vendor/hardmock/lib/hardmock/utils.rb +9 -0
  332. data/vendor/cmock/vendor/hardmock/lib/test_unit_before_after.rb +169 -0
  333. data/vendor/cmock/vendor/hardmock/rake_tasks/rdoc.rake +19 -0
  334. data/vendor/cmock/vendor/hardmock/rake_tasks/rdoc_options.rb +4 -0
  335. data/vendor/cmock/vendor/hardmock/rake_tasks/test.rake +22 -0
  336. data/vendor/cmock/vendor/hardmock/test/functional/assert_error_test.rb +52 -0
  337. data/vendor/cmock/vendor/hardmock/test/functional/auto_verify_test.rb +178 -0
  338. data/vendor/cmock/vendor/hardmock/test/functional/direct_mock_usage_test.rb +396 -0
  339. data/vendor/cmock/vendor/hardmock/test/functional/hardmock_test.rb +434 -0
  340. data/vendor/cmock/vendor/hardmock/test/functional/stubbing_test.rb +479 -0
  341. data/vendor/cmock/vendor/hardmock/test/test_helper.rb +43 -0
  342. data/vendor/cmock/vendor/hardmock/test/unit/expectation_builder_test.rb +19 -0
  343. data/vendor/cmock/vendor/hardmock/test/unit/expectation_test.rb +372 -0
  344. data/vendor/cmock/vendor/hardmock/test/unit/expector_test.rb +57 -0
  345. data/vendor/cmock/vendor/hardmock/test/unit/method_cleanout_test.rb +36 -0
  346. data/vendor/cmock/vendor/hardmock/test/unit/mock_control_test.rb +175 -0
  347. data/vendor/cmock/vendor/hardmock/test/unit/mock_test.rb +279 -0
  348. data/vendor/cmock/vendor/hardmock/test/unit/test_unit_before_after_test.rb +452 -0
  349. data/vendor/cmock/vendor/hardmock/test/unit/trapper_test.rb +62 -0
  350. data/vendor/cmock/vendor/hardmock/test/unit/verify_error_test.rb +40 -0
  351. data/vendor/unity/auto/generate_config.yml +36 -0
  352. data/vendor/unity/auto/unity_test_summary.rb +2 -2
  353. data/vendor/unity/docs/Unity Summary.odt +0 -0
  354. data/vendor/unity/docs/Unity Summary.pdf +0 -0
  355. data/vendor/unity/docs/Unity Summary.txt +216 -0
  356. data/vendor/unity/docs/license.txt +31 -0
  357. data/vendor/unity/examples/helper/UnityHelper.c +10 -0
  358. data/vendor/unity/examples/helper/UnityHelper.h +12 -0
  359. data/vendor/unity/examples/makefile +40 -0
  360. data/vendor/unity/examples/rakefile.rb +32 -0
  361. data/vendor/unity/examples/rakefile_helper.rb +256 -0
  362. data/vendor/unity/examples/readme.txt +18 -0
  363. data/vendor/unity/examples/src/ProductionCode.c +24 -0
  364. data/vendor/unity/examples/src/ProductionCode.h +3 -0
  365. data/vendor/unity/examples/src/ProductionCode2.c +9 -0
  366. data/vendor/unity/examples/src/ProductionCode2.h +2 -0
  367. data/vendor/unity/examples/test/TestProductionCode.c +62 -0
  368. data/vendor/unity/examples/test/TestProductionCode2.c +31 -0
  369. data/vendor/unity/examples/test/no_ruby/TestProductionCode2_Runner.c +46 -0
  370. data/vendor/unity/examples/test/no_ruby/TestProductionCode_Runner.c +50 -0
  371. data/vendor/unity/extras/fixture/build/MakefileWorker.mk +331 -0
  372. data/vendor/unity/extras/fixture/build/filterGcov.sh +61 -0
  373. data/vendor/unity/extras/fixture/rakefile.rb +37 -0
  374. data/vendor/unity/extras/fixture/rakefile_helper.rb +178 -0
  375. data/vendor/unity/extras/fixture/readme.txt +9 -0
  376. data/vendor/unity/extras/fixture/src/unity_fixture.c +381 -0
  377. data/vendor/unity/extras/fixture/src/unity_fixture.h +81 -0
  378. data/vendor/unity/extras/fixture/src/unity_fixture_internals.h +44 -0
  379. data/vendor/unity/extras/fixture/src/unity_fixture_malloc_overrides.h +16 -0
  380. data/vendor/unity/extras/fixture/test/main/AllTests.c +21 -0
  381. data/vendor/unity/extras/fixture/test/testunity_fixture.c +39 -0
  382. data/vendor/unity/extras/fixture/test/unity_fixture_Test.c +321 -0
  383. data/vendor/unity/extras/fixture/test/unity_fixture_TestRunner.c +40 -0
  384. data/vendor/unity/extras/fixture/test/unity_output_Spy.c +56 -0
  385. data/vendor/unity/extras/fixture/test/unity_output_Spy.h +17 -0
  386. data/vendor/unity/makefile +35 -0
  387. data/vendor/unity/rakefile.rb +59 -0
  388. data/vendor/unity/rakefile_helper.rb +240 -0
  389. data/vendor/unity/release/version.info +1 -1
  390. data/vendor/unity/src/unity.c +1 -1
  391. data/vendor/unity/src/unity_internals.h +5 -5
  392. data/vendor/unity/targets/gcc_32.yml +44 -0
  393. data/vendor/unity/targets/hitech_picc18.yml +101 -0
  394. data/vendor/unity/targets/iar_arm_v4.yml +89 -0
  395. data/vendor/unity/targets/iar_arm_v5.yml +79 -0
  396. data/vendor/unity/targets/iar_arm_v5_3.yml +79 -0
  397. data/vendor/unity/targets/iar_armcortex_LM3S9B92_v5_4.yml +93 -0
  398. data/vendor/unity/targets/iar_cortexm3_v5.yml +83 -0
  399. data/vendor/unity/targets/iar_msp430.yml +94 -0
  400. data/vendor/unity/targets/iar_sh2a_v6.yml +85 -0
  401. data/vendor/unity/test/expectdata/testsample_cmd.c +54 -0
  402. data/vendor/unity/test/expectdata/testsample_def.c +50 -0
  403. data/vendor/unity/test/expectdata/testsample_mock_cmd.c +76 -0
  404. data/vendor/unity/test/expectdata/testsample_mock_def.c +72 -0
  405. data/vendor/unity/test/expectdata/testsample_mock_new1.c +85 -0
  406. data/vendor/unity/test/expectdata/testsample_mock_new2.c +85 -0
  407. data/vendor/unity/test/expectdata/testsample_mock_param.c +73 -0
  408. data/vendor/unity/test/expectdata/testsample_mock_run1.c +85 -0
  409. data/vendor/unity/test/expectdata/testsample_mock_run2.c +85 -0
  410. data/vendor/unity/test/expectdata/testsample_mock_yaml.c +86 -0
  411. data/vendor/unity/test/expectdata/testsample_new1.c +60 -0
  412. data/vendor/unity/test/expectdata/testsample_new2.c +63 -0
  413. data/vendor/unity/test/expectdata/testsample_param.c +51 -0
  414. data/vendor/unity/test/expectdata/testsample_run1.c +60 -0
  415. data/vendor/unity/test/expectdata/testsample_run2.c +63 -0
  416. data/vendor/unity/test/expectdata/testsample_yaml.c +64 -0
  417. data/vendor/unity/test/test_generate_test_runner.rb +94 -0
  418. data/vendor/unity/test/testdata/mocksample.c +51 -0
  419. data/vendor/unity/test/testdata/sample.yml +9 -0
  420. data/vendor/unity/test/testdata/testsample.c +51 -0
  421. data/vendor/unity/test/testparameterized.c +101 -0
  422. data/vendor/unity/test/testunity.c +2559 -0
  423. metadata +464 -53
  424. data/.gitignore +0 -6
  425. data/.gitmodules +0 -9
  426. data/.rspec +0 -1
Binary file
Binary file
@@ -0,0 +1,356 @@
1
+ [All code is copyright © 2007-2010 Cmock Project
2
+ by Mike Karlesky, Mark VanderVoord, and Greg Williams.
3
+
4
+ This Documentation Is Released Under a Creative Commons 3.0
5
+ Attribution Share-Alike License]
6
+
7
+
8
+ What the What?
9
+ ==============
10
+
11
+ CMock is a nice little tool which takes your header files and creates
12
+ a Mock interface for it so that you can more easily Unit test modules
13
+ that touch other modules. For each function prototype in your
14
+ header, like this one:
15
+
16
+ int DoesSomething(int a, int b);
17
+
18
+
19
+ ...you get an automatically generated DoesSomething function
20
+ that you can link to instead of your real DoesSomething function.
21
+ By using this Mocked version, you can then verify that it receives
22
+ the data you want, and make it return whatever data you desire,
23
+ make it throw errors when you want, and more... Create these for
24
+ everything your latest real module touches, and you're suddenly
25
+ in a position of power: You can control and verify every detail
26
+ of your latest creation.
27
+
28
+ To make that easier, CMock also gives you a bunch of functions
29
+ like the ones below, so you can tell that generated DoesSomething
30
+ function how to behave for each test:
31
+
32
+ void DoesSomething_ExpectAndReturn(int a, int b, int toReturn);
33
+ void DoesSomething_ExpectAndThrow(int a, int b, EXCEPTION_T error);
34
+ void DoesSomething_StubWithCallback(CMOCK_DoesSomething_CALLBACK YourCallback);
35
+ void DoesSomething_IgnoreAndReturn(int toReturn);
36
+
37
+
38
+ You can pile a bunch of these back to back, and it remembers what
39
+ you wanted to pass when, like so:
40
+
41
+ test_CallsDoesSomething_ShouldDoJustThat(void)
42
+ {
43
+ DoesSomething_ExpectAndReturn(1,2,3);
44
+ DoesSomething_ExpectAndReturn(4,5,6);
45
+ DoesSomething_ExpectAndThrow(7,8, STATUS_ERROR_OOPS);
46
+
47
+ CallsDoesSomething( );
48
+ }
49
+
50
+
51
+ This test will call CallsDoesSomething, which is the function
52
+ we are testing. We are expecting that function to call DoesSomething
53
+ three times. The first time, we check to make sure it's called
54
+ as DoesSomething(1, 2) and we'll magically return a 3. The second
55
+ time we check for DoesSomething(4, 5) and we'll return a 6. The
56
+ third time we verify DoesSomething(7, 8) and we'll throw an error
57
+ instead of returning anything. If CallsDoesSomething gets
58
+ any of this wrong, it fails the test. It will fail if you didn't
59
+ call DoesSomething enough, or too much, or with the wrong arguments,
60
+ or in the wrong order.
61
+
62
+ CMock is based on Unity, which it uses for all internal testing.
63
+ It uses Ruby to do all the main work (versions 1.8.6 through 1.9.2).
64
+
65
+
66
+ Generated Mock Module Summary
67
+ =============================
68
+
69
+ In addition to the mocks themselves, CMock will generate the
70
+ following functions for use in your tests. The expect functions
71
+ are always generated. The other functions are only generated
72
+ if those plugins are enabled:
73
+
74
+
75
+ Expect:
76
+ -------
77
+
78
+ Your basic staple Expects which will be used for most of your day
79
+ to day CMock work.
80
+
81
+ * `void func(void)` => `void func_Expect(void)`
82
+ * `void func(params)` => `void func_Expect(expected_params)`
83
+ * `retval func(void)` => `void func_ExpectAndReturn(retval_to_return)`
84
+ * `retval func(params)` => `void func_ExpectAndReturn(expected_params, retval_to_return)`
85
+
86
+
87
+ Array:
88
+ ------
89
+
90
+ An ExpectWithArray will check as many elements as you specify.
91
+ If you specify zero elements, it will check just the pointer if
92
+ `:smart` mode is configured or fail if `:compare_data` is set.
93
+
94
+ * `void func(void)` => (nothing. In fact, an additional function is only generated if the params list contains pointers)
95
+ * `void func(ptr * param, other)` => `void func_ExpectWithArray(ptr* param, int param_depth, other)`
96
+ * `retval func(void)` => (nothing. In fact, an additional function is only generated if the params list contains pointers)
97
+ * `retval func(other, ptr* param)` => `void func_ExpectWithArrayAndReturn(other, ptr* param, int param_depth, retval_to_return)`
98
+
99
+
100
+ Callback:
101
+ ---------
102
+
103
+ As soon as you stub a callback in a test, it will call the callback
104
+ whenever the mock is encountered and return the retval returned
105
+ from the callback (if any) instead of performing the usual expect
106
+ checks. It can be configured to check the arguments first (like
107
+ expects) or just jump directly to the callback.
108
+
109
+ * `void func(void)` => `void func_StubWithCallback(CMOCK_func_CALLBACK callback)`
110
+ where `CMOCK_func_CALLBACK` looks like: `void func(int NumCalls)`
111
+ * `void func(params)` => `void func_StubWithCallback(CMOCK_func_CALLBACK callback)`
112
+ where `CMOCK_func_CALLBACK` looks like: `void func(params, int NumCalls)`
113
+ * `retval func(void)` => `void func_StubWithCallback(CMOCK_func_CALLBACK callback)`
114
+ where `CMOCK_func_CALLBACK` looks like: `retval func(int NumCalls)`
115
+ * `retval func(params)` => `void func_StubWithCallback(CMOCK_func_CALLBACK callback)`
116
+ where `CMOCK_func_CALLBACK` looks like: `retval func(params, int NumCalls)`
117
+
118
+
119
+ Cexception:
120
+ -----------
121
+
122
+ If you are using Cexception for error handling, you can use this
123
+ to throw errors from inside mocks. Like Expects, it remembers
124
+ which call was supposed to throw the error, and it still checks
125
+ parameters.
126
+
127
+ * `void func(void)` => `void func_ExpectAndThrow(value_to_throw)`
128
+ * `void func(params)` => `void func_ExpectAndThrow(expected_params, value_to_throw)`
129
+ * `retval func(void)` => `void func_ExpectAndThrow(value_to_throw)`
130
+ * `retval func(params)` => `void func_ExpectAndThrow(expected_params, value_to_throw)`
131
+
132
+
133
+ Ignore:
134
+ -------
135
+
136
+ This plugin supports two modes. You can use it to force CMock to
137
+ ignore calls to specific functions or to just ignore the arguments
138
+ passed to those functions. Either way you can specify multiple
139
+ returns or a single value to always return, whichever you prefer.
140
+
141
+ * `void func(void)` => `void func_Ignore(void)`
142
+ * `void func(params)` => `void func_Ignore(void)`
143
+ * `retval func(void)` => `void func_IgnoreAndReturn(retval_to_return)`
144
+ * `retval func(params)` => `void func_IgnoreAndReturn(retval_to_return)`
145
+
146
+
147
+ Running CMock
148
+ =============
149
+
150
+ CMock is a Ruby script and class. You can therefore use it directly
151
+ from the command line, or include it in your own scripts or rakefiles.
152
+
153
+ Mocking from the Command Line
154
+ -----------------------------
155
+
156
+ After unpacking CMock, you will find CMock.rb in the 'lib' directory.
157
+ This is the file that you want to run. It takes a list of header files
158
+ to be mocked, as well as an optional yaml file for a more detailed
159
+ configuration (see config options below).
160
+
161
+ For example, this will create three mocks using the configuration
162
+ specified in MyConfig.yml:
163
+
164
+ ruby cmock.rb -oMyConfig.yml super.h duper.h awesome.h
165
+
166
+ And this will create two mocks using the default configuration:
167
+
168
+ ruby cmock.rb ../mocking/stuff/is/fun.h ../try/it/yourself.h
169
+
170
+ Mocking From Scripts or Rake
171
+ ----------------------------
172
+
173
+ CMock can be used directly from your own scripts or from a rakefile.
174
+ Start by including cmock.rb, then create an instance of CMock.
175
+ When you create your instance, you may initialize it in one of
176
+ three ways.
177
+
178
+ You may specify nothing, allowing it to run with default settings:
179
+
180
+ cmock = CMock.new
181
+
182
+ You may specify a YAML file containing the configuration options
183
+ you desire:
184
+
185
+ cmock = CMock.new('../MyConfig.yml')
186
+
187
+ You may specify the options explicitly:
188
+
189
+ cmock = Cmock.new(:plugins => [:cexception, :ignore], :mock_path => 'my/mocks/')
190
+
191
+ Config Options:
192
+
193
+ The following configuration options can be specified in the
194
+ yaml file or directly when instantiating.
195
+
196
+ Passed as Ruby, they look like this:
197
+
198
+ { :attributes => [“__funky”, “__intrinsic”], :when_ptr => :compare }
199
+
200
+ Defined in the yaml file, they look more like this:
201
+
202
+ :cmock:
203
+ :attributes:
204
+ - __funky
205
+ - __intrinsic
206
+ :when_ptr: :compare
207
+
208
+
209
+ * `:attributes`:
210
+ These are attributes that CMock should ignore for you for testing
211
+ purposes. Custom compiler extensions and externs are handy things to
212
+ put here.
213
+
214
+ * `:callback_after_arg_check`:
215
+ Tell `:callback` plugin to do the normal argument checking before it
216
+ calls the callback function. This defaults to false, where the
217
+ callback function is called instead of the argument verification.
218
+
219
+ * `:callback_include_count`:
220
+ Tell `:callback` plugin to include an extra parameter to specify the
221
+ number of times the callback has been called. If set to false, the
222
+ callback has the same interface as the mocked function. This can be
223
+ handy when you're wanting to use callback as a stub.
224
+
225
+ * `:cexception_include`:
226
+ Tell `:cexception` plugin where to find CException.h... only need to
227
+ define if it's not in your build path already.
228
+
229
+ * `:enforce_strict_ordering`:
230
+ CMock always enforces the order that you call a particular function,
231
+ so if you expect GrabNabber(int size) to be called three times, it
232
+ will verify that the sizes are in the order you specified. You might
233
+ also want to make sure that all different functions are called in a
234
+ particular order. If so, set this to true.
235
+
236
+ * `:framework`:
237
+ Currently the only option is `:unity.` Eventually if we support other
238
+ unity test frameworks (or if you write one for us), they'll get added
239
+ here.
240
+
241
+ * `:ignore`:
242
+ Tell `:ignore` plugin to ignore `:args_only` or `:args_and_calls`
243
+ (default) where it doesn't even care how many times the mock was
244
+ called
245
+
246
+ * `:includes`:
247
+ An array of additional include files which should be added to the
248
+ mocks. Useful for global types and definitions used in your project.
249
+ There are more specific versions if you care WHERE in the mock files
250
+ the includes get placed. You can define any or all of
251
+ `:includes_h_pre_orig_header,` `:includes_h_post_orig_header, `
252
+ `:includes_c_pre_header,` `:includes_c_post_header
253
+
254
+ * `:memcmp_if_unknown`:
255
+ This is true by default. When true, CMock will just do a memory
256
+ comparison of types that it doesn't recognize (not standard types, not
257
+ in `:treat_as,` and not in a unity helper). If you instead want it to
258
+ throw an error, just set this to false.
259
+
260
+ * `:mock_path`:
261
+ The directory where you would like the mock files generated to be
262
+ placed.
263
+
264
+ * `:mock_prefix`:
265
+ The prefix to append to your mock files. Defaults to “Mock”, so a file
266
+ “USART.h” will get a mock called “MockUSART.c”
267
+
268
+ * `:plugins`:
269
+ An array of which plugins to enable. 'expect' is always active. Also
270
+ available currently are `:ignore,` `:array,` `:cexception,` and
271
+ `:callback:
272
+
273
+ * `:treat_as`:
274
+ The `:treat_as` list is a shortcut for when you have created typedefs
275
+ of standard types. Why create a custom unity helper for UINT16 when
276
+ the unity function TEST_ASSERT_EQUAL_HEX16 will work just perfectly?
277
+ Just add 'UINT16' => 'HEX16' to your list (actually, don't. We already
278
+ did that one for you). Maybe you have a type that is a pointer to an
279
+ array of unsigned characters? No problem, just add 'UINT8_T*' =>
280
+ 'HEX8*'
281
+
282
+ * `:treat_as_void`:
283
+ We've seen "fun" legacy systems typedef 'void' with a custom type,
284
+ like MY_VOID. Add any instances of those to this list to help CMock
285
+ understand how to deal with your code.
286
+
287
+ * `:treat_externs`:
288
+ Set to `:include` to mock externed functions or `:exclude` to ignore
289
+ them (the default).
290
+
291
+ * `:unity_helper_path`:
292
+ If you have created a header with your own extensions to unity to
293
+ handle your own types, you can set this argument to that path. CMock
294
+ will then automagically pull in your helpers and use them. The only
295
+ trick is that you make sure you follow the naming convention:
296
+ UNITY_TEST_ASSERT_EQUAL_YourType
297
+
298
+ * `:verbosity`:
299
+ 0 for errors only. 1 for errors and warnings. 2 for normal. 3 for
300
+ verbose
301
+
302
+ * `:when_no_prototypes`:
303
+ When you give CMock a header file and ask it to create a mock out of
304
+ it, it usually contains function prototypes (otherwise what was the
305
+ point?). You can control what happens when this isn't true. You can
306
+ set this to `:warn,` `:ignore,` or `:error
307
+
308
+ * `:when_ptr`:
309
+ You can customize how CMock deals with pointers (c strings result in
310
+ string comparisons... we're talking about other pointers here). Your
311
+ options are `:compare_ptr` to just verify the pointers are the same,
312
+ `:compare_data` or `:smart` to verify that the data is the same.
313
+ `:compare_data` and `:smart` behaviors will change slightly based on
314
+ if you have the array plugin enabled. By default, they compare a
315
+ single element of what is being pointed to. So if you have a pointer
316
+ to a struct called ORGAN_T, it will compare one ORGAN_T (whatever that
317
+ is).
318
+
319
+
320
+ Compiled Options:
321
+ -----------------
322
+
323
+ A number of #defines also exist for customizing the cmock experience.
324
+
325
+ CMOCK_MEM_STATIC or CMOCK_MEM_DYNAMIC
326
+
327
+ Define one of these to determine if you want to dynamically add
328
+ memory during tests as required from the heap. If static, you
329
+ can control the total footprint of Cmock. If dynamic, you will
330
+ need to make sure you make some heap space available for Cmock.
331
+
332
+ CMOCK_MEM_SIZE
333
+
334
+ In static mode this is the total amount of memory you are allocating
335
+ to Cmock. In Dynamic mode this is the size of each chunk allocated
336
+ at once (larger numbers grab more memory but require less mallocs).
337
+
338
+ CMOCK_MEM_ALIGN
339
+
340
+ The way to align your data to. Not everything is as flexible as
341
+ a PC, as most embedded designers know. This defaults to 2, meaning
342
+ align to the closest 2^2 -> 4 bytes (32 bits). You can turn off alignment
343
+ by setting 0, force alignment to the closest uint16 with 1 or even
344
+ to the closest uint64 with 3.
345
+
346
+ CMOCK_MEM_PTR_AS_INT
347
+
348
+ This is used internally to hold pointers... it needs to be big
349
+ enough. On most processors a pointer is the same as an unsigned
350
+ long... but maybe that's not true for yours?
351
+
352
+ CMOCK_MEM_INDEX_TYPE
353
+
354
+ This needs to be something big enough to point anywhere in Cmock's
355
+ memory space... usually it's an unsigned int.
356
+
@@ -0,0 +1,31 @@
1
+ Copyright (c) 2007 Mike Karlesky, Mark VanderVoord, Greg Williams
2
+
3
+ Permission is hereby granted, free of charge, to any person
4
+ obtaining a copy of this software and associated documentation
5
+ files (the "Software"), to deal in the Software without
6
+ restriction, including without limitation the rights to use,
7
+ copy, modify, merge, publish, distribute, sublicense, and/or sell
8
+ copies of the Software, and to permit persons to whom the
9
+ Software is furnished to do so, subject to the following
10
+ conditions:
11
+
12
+ The above copyright notice and this permission notice shall be
13
+ included in all copies or substantial portions of the Software.
14
+
15
+ The end-user documentation included with the redistribution, if
16
+ any, must include the following acknowledgment: "This product
17
+ includes software developed for the CMock Project, by Mike Karlesky,
18
+ Mark VanderVoord, and Greg Williams and other contributors", in
19
+ the same place and form as other third-party acknowledgments.
20
+ Alternately, this acknowledgment may appear in the software
21
+ itself, in the same form and location as other such third-party
22
+ acknowledgments.
23
+
24
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
25
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
26
+ OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
27
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
28
+ HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
29
+ WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
30
+ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
31
+ OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,43 @@
1
+ compiler:
2
+ path: gcc
3
+ source_path: 'src/'
4
+ unit_tests_path: &unit_tests_path 'test/'
5
+ build_path: &build_path 'build/'
6
+ options:
7
+ - -c
8
+ includes:
9
+ prefix: '-I'
10
+ items:
11
+ - 'src/'
12
+ - '../src/'
13
+ - '../vendor/unity/src/'
14
+ - '../vendor/unity/examples/helper/'
15
+ - 'mocks/'
16
+ - *unit_tests_path
17
+ defines:
18
+ prefix: '-D'
19
+ items:
20
+ - __monitor
21
+ object_files:
22
+ prefix: '-o'
23
+ extension: '.o'
24
+ destination: *build_path
25
+ linker:
26
+ path: gcc
27
+ options:
28
+ - -lm
29
+ includes:
30
+ prefix: '-I'
31
+ object_files:
32
+ path: *build_path
33
+ extension: '.o'
34
+ bin_files:
35
+ prefix: '-o'
36
+ extension: '.exe'
37
+ destination: *build_path
38
+ :cmock:
39
+ :plugins: []
40
+ :includes:
41
+ - Types.h
42
+
43
+ colour: true
@@ -0,0 +1,91 @@
1
+ tools_root: &tools_root 'C:\Program Files\IAR Systems\Embedded Workbench 4.0 Kickstart\'
2
+ compiler:
3
+ path: [*tools_root, 'arm\bin\iccarm.exe']
4
+ source_path: 'src\'
5
+ unit_tests_path: &unit_tests_path 'test\'
6
+ build_path: &build_path 'build\'
7
+ options:
8
+ - --dlib_config
9
+ - [*tools_root, 'arm\lib\dl4tptinl8n.h']
10
+ - -z3
11
+ - --no_cse
12
+ - --no_unroll
13
+ - --no_inline
14
+ - --no_code_motion
15
+ - --no_tbaa
16
+ - --no_clustering
17
+ - --no_scheduling
18
+ - --debug
19
+ - --cpu_mode thumb
20
+ - --endian little
21
+ - --cpu ARM7TDMI
22
+ - --stack_align 4
23
+ - --interwork
24
+ - -e
25
+ - --silent
26
+ - --warnings_are_errors
27
+ - --fpu None
28
+ - --diag_suppress Pa050
29
+ includes:
30
+ prefix: '-I'
31
+ items:
32
+ - 'src/'
33
+ - '../src/'
34
+ - '../vendor/unity/src/'
35
+ - '../vendor/unity/examples/helper/'
36
+ - 'mocks/'
37
+ - [*tools_root, 'arm\inc\']
38
+ - *unit_tests_path
39
+ defines:
40
+ prefix: '-D'
41
+ items:
42
+ object_files:
43
+ prefix: '-o'
44
+ extension: '.r79'
45
+ destination: *build_path
46
+ linker:
47
+ path: [*tools_root, 'common\bin\xlink.exe']
48
+ options:
49
+ - -rt
50
+ - [*tools_root, 'arm\lib\dl4tptinl8n.r79']
51
+ - -D_L_EXTMEM_START=0
52
+ - -D_L_EXTMEM_SIZE=0
53
+ - -D_L_HEAP_SIZE=120
54
+ - -D_L_STACK_SIZE=32
55
+ - -e_small_write=_formatted_write
56
+ - -s
57
+ - __program_start
58
+ - -f
59
+ - [*tools_root, '\arm\config\lnkarm.xcl']
60
+ includes:
61
+ prefix: '-I'
62
+ items:
63
+ - [*tools_root, 'arm\config\']
64
+ - [*tools_root, 'arm\lib\']
65
+ object_files:
66
+ path: *build_path
67
+ extension: '.r79'
68
+ bin_files:
69
+ prefix: '-o'
70
+ extension: '.d79'
71
+ destination: *build_path
72
+ simulator:
73
+ path: [*tools_root, 'common\bin\CSpyBat.exe']
74
+ pre_support:
75
+ - --silent
76
+ - [*tools_root, 'arm\bin\armproc.dll']
77
+ - [*tools_root, 'arm\bin\armsim.dll']
78
+ post_support:
79
+ - --plugin
80
+ - [*tools_root, 'arm\bin\armbat.dll']
81
+ - --backend
82
+ - -B
83
+ - -p
84
+ - [*tools_root, 'arm\config\ioat91sam7X256.ddf']
85
+ - -d
86
+ - sim
87
+ :cmock:
88
+ :plugins: []
89
+ :includes:
90
+ - Types.h
91
+