ceedling 0.30.0 → 0.31.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 (733) hide show
  1. checksums.yaml +5 -5
  2. data/Gemfile +1 -0
  3. data/Gemfile.lock +4 -2
  4. data/README.md +9 -6
  5. data/assets/auto_link_deep_dependencies/src/a.c +7 -0
  6. data/assets/auto_link_deep_dependencies/src/b.c +7 -0
  7. data/assets/auto_link_deep_dependencies/src/c.c +8 -0
  8. data/assets/auto_link_deep_dependencies/src/internal_inc/a.h +6 -0
  9. data/assets/auto_link_deep_dependencies/src/internal_inc/b.h +6 -0
  10. data/assets/auto_link_deep_dependencies/src/internal_inc/c.h +6 -0
  11. data/assets/auto_link_deep_dependencies/src/internal_inc/never_compiled.h +6 -0
  12. data/assets/auto_link_deep_dependencies/src/never_compiled.c +6 -0
  13. data/assets/auto_link_deep_dependencies/test/test_a.c +11 -0
  14. data/assets/auto_link_deep_dependencies/test/test_b.c +11 -0
  15. data/assets/auto_link_deep_dependencies/test/test_c.c +11 -0
  16. data/assets/test_example_file_unity_printf.c +12 -0
  17. data/assets/test_example_with_parameterized_tests.c +19 -0
  18. data/assets/tests_with_defines/src/adc_hardware.c +11 -0
  19. data/assets/tests_with_defines/src/adc_hardware.h +6 -0
  20. data/assets/tests_with_defines/src/adc_hardware_configurator.c +11 -0
  21. data/assets/tests_with_defines/src/adc_hardware_configurator.h +10 -0
  22. data/assets/tests_with_defines/test/test_adc_hardware.c +21 -0
  23. data/assets/tests_with_defines/test/test_adc_hardware_special.c +21 -0
  24. data/bin/ceedling +0 -1
  25. data/ceedling.gemspec +5 -4
  26. data/ceedling.sublime-project +28 -0
  27. data/ceedling.sublime-workspace +452 -0
  28. data/config/test_environment.rb +0 -1
  29. data/docs/CeedlingPacket.md +59 -6
  30. data/examples/blinky/project.yml +3 -1
  31. data/examples/blinky/rakefile.rb +1 -2
  32. data/examples/temp_sensor/build/test/cache/AdcConductor.h +20 -0
  33. data/examples/temp_sensor/build/test/cache/AdcHardware.h +16 -0
  34. data/examples/temp_sensor/build/test/cache/AdcHardwareConfigurator.h +14 -0
  35. data/examples/temp_sensor/build/test/cache/AdcModel.h +20 -0
  36. data/examples/temp_sensor/build/test/cache/AdcTemperatureSensor.h +14 -0
  37. data/examples/temp_sensor/build/test/cache/Executor.h +12 -0
  38. data/examples/temp_sensor/build/test/cache/IntrinsicsWrapper.h +9 -0
  39. data/examples/temp_sensor/build/test/cache/Model.h +10 -0
  40. data/examples/temp_sensor/build/test/cache/TaskScheduler.h +16 -0
  41. data/examples/temp_sensor/build/test/cache/TemperatureCalculator.h +10 -0
  42. data/examples/temp_sensor/build/test/cache/TemperatureFilter.h +14 -0
  43. data/examples/temp_sensor/build/test/cache/TestAdcConductor.c +169 -0
  44. data/examples/temp_sensor/build/test/cache/TestAdcHardware.c +82 -0
  45. data/examples/temp_sensor/build/test/cache/TestAdcModel.c +59 -0
  46. data/examples/temp_sensor/build/test/cache/TestExecutor.c +63 -0
  47. data/examples/temp_sensor/build/test/cache/TestMain.c +43 -0
  48. data/examples/temp_sensor/build/test/cache/TestModel.c +34 -0
  49. data/examples/temp_sensor/build/test/cache/TestTaskScheduler.c +204 -0
  50. data/examples/temp_sensor/build/test/cache/TestTemperatureCalculator.c +70 -0
  51. data/examples/temp_sensor/build/test/cache/TestTemperatureFilter.c +154 -0
  52. data/examples/temp_sensor/build/test/cache/TestTimerConductor.c +57 -0
  53. data/examples/temp_sensor/build/test/cache/TestTimerHardware.c +47 -0
  54. data/examples/temp_sensor/build/test/cache/TestTimerModel.c +31 -0
  55. data/examples/temp_sensor/build/test/cache/TestUsartBaudRateRegisterCalculator.c +38 -0
  56. data/examples/temp_sensor/build/test/cache/TestUsartConductor.c +73 -0
  57. data/examples/temp_sensor/build/test/cache/TestUsartHardware.c +66 -0
  58. data/examples/temp_sensor/build/test/cache/TestUsartModel.c +73 -0
  59. data/examples/temp_sensor/build/test/cache/TimerConductor.h +12 -0
  60. data/examples/temp_sensor/build/test/cache/TimerConfigurator.h +24 -0
  61. data/examples/temp_sensor/build/test/cache/TimerHardware.h +10 -0
  62. data/examples/temp_sensor/build/test/cache/TimerInterruptHandler.h +14 -0
  63. data/examples/temp_sensor/build/test/cache/TimerModel.h +10 -0
  64. data/examples/temp_sensor/build/test/cache/UsartBaudRateRegisterCalculator.h +10 -0
  65. data/examples/temp_sensor/build/test/cache/UsartConductor.h +9 -0
  66. data/examples/temp_sensor/build/test/cache/UsartConfigurator.h +20 -0
  67. data/examples/temp_sensor/build/test/cache/UsartHardware.h +12 -0
  68. data/examples/temp_sensor/build/test/cache/UsartModel.h +14 -0
  69. data/examples/temp_sensor/build/test/cache/UsartPutChar.h +10 -0
  70. data/examples/temp_sensor/build/test/cache/defines_dependency.yml +77 -0
  71. data/examples/temp_sensor/build/test/cache/input.yml +310 -0
  72. data/examples/temp_sensor/build/test/dependencies/AdcConductor.d +2 -0
  73. data/examples/temp_sensor/build/test/dependencies/AdcHardware.d +3 -0
  74. data/examples/temp_sensor/build/test/dependencies/AdcModel.d +3 -0
  75. data/examples/temp_sensor/build/test/dependencies/Executor.d +3 -0
  76. data/examples/temp_sensor/build/test/dependencies/Main.d +11 -0
  77. data/examples/temp_sensor/build/test/dependencies/MockAdcConductor.d +6 -0
  78. data/examples/temp_sensor/build/test/dependencies/MockAdcHardware.d +6 -0
  79. data/examples/temp_sensor/build/test/dependencies/MockAdcHardwareConfigurator.d +8 -0
  80. data/examples/temp_sensor/build/test/dependencies/MockAdcModel.d +6 -0
  81. data/examples/temp_sensor/build/test/dependencies/MockAdcTemperatureSensor.d +8 -0
  82. data/examples/temp_sensor/build/test/dependencies/MockExecutor.d +6 -0
  83. data/examples/temp_sensor/build/test/dependencies/MockIntrinsicsWrapper.d +7 -0
  84. data/examples/temp_sensor/build/test/dependencies/MockModel.d +6 -0
  85. data/examples/temp_sensor/build/test/dependencies/MockTaskScheduler.d +7 -0
  86. data/examples/temp_sensor/build/test/dependencies/MockTemperatureCalculator.d +8 -0
  87. data/examples/temp_sensor/build/test/dependencies/MockTemperatureFilter.d +8 -0
  88. data/examples/temp_sensor/build/test/dependencies/MockTimerConductor.d +7 -0
  89. data/examples/temp_sensor/build/test/dependencies/MockTimerConfigurator.d +8 -0
  90. data/examples/temp_sensor/build/test/dependencies/MockTimerHardware.d +7 -0
  91. data/examples/temp_sensor/build/test/dependencies/MockTimerInterruptHandler.d +8 -0
  92. data/examples/temp_sensor/build/test/dependencies/MockTimerModel.d +6 -0
  93. data/examples/temp_sensor/build/test/dependencies/MockUsartBaudRateRegisterCalculator.d +8 -0
  94. data/examples/temp_sensor/build/test/dependencies/MockUsartConductor.d +7 -0
  95. data/examples/temp_sensor/build/test/dependencies/MockUsartConfigurator.d +8 -0
  96. data/examples/temp_sensor/build/test/dependencies/MockUsartHardware.d +7 -0
  97. data/examples/temp_sensor/build/test/dependencies/MockUsartModel.d +6 -0
  98. data/examples/temp_sensor/build/test/dependencies/MockUsartPutChar.d +6 -0
  99. data/examples/temp_sensor/build/test/dependencies/Model.d +2 -0
  100. data/examples/temp_sensor/build/test/dependencies/TaskScheduler.d +2 -0
  101. data/examples/temp_sensor/build/test/dependencies/TemperatureCalculator.d +2 -0
  102. data/examples/temp_sensor/build/test/dependencies/TemperatureFilter.d +2 -0
  103. data/examples/temp_sensor/build/test/dependencies/TestAdcConductor.d +6 -0
  104. data/examples/temp_sensor/build/test/dependencies/TestAdcConductor_runner.d +8 -0
  105. data/examples/temp_sensor/build/test/dependencies/TestAdcHardware.d +7 -0
  106. data/examples/temp_sensor/build/test/dependencies/TestAdcHardware_runner.d +9 -0
  107. data/examples/temp_sensor/build/test/dependencies/TestAdcModel.d +7 -0
  108. data/examples/temp_sensor/build/test/dependencies/TestAdcModel_runner.d +10 -0
  109. data/examples/temp_sensor/build/test/dependencies/TestExecutor.d +8 -0
  110. data/examples/temp_sensor/build/test/dependencies/TestExecutor_runner.d +11 -0
  111. data/examples/temp_sensor/build/test/dependencies/TestMain.d +4 -0
  112. data/examples/temp_sensor/build/test/dependencies/TestMain_runner.d +6 -0
  113. data/examples/temp_sensor/build/test/dependencies/TestModel.d +6 -0
  114. data/examples/temp_sensor/build/test/dependencies/TestModel_runner.d +8 -0
  115. data/examples/temp_sensor/build/test/dependencies/TestTaskScheduler.d +4 -0
  116. data/examples/temp_sensor/build/test/dependencies/TestTaskScheduler_runner.d +4 -0
  117. data/examples/temp_sensor/build/test/dependencies/TestTemperatureCalculator.d +5 -0
  118. data/examples/temp_sensor/build/test/dependencies/TestTemperatureCalculator_runner.d +4 -0
  119. data/examples/temp_sensor/build/test/dependencies/TestTemperatureFilter.d +4 -0
  120. data/examples/temp_sensor/build/test/dependencies/TestTemperatureFilter_runner.d +4 -0
  121. data/examples/temp_sensor/build/test/dependencies/TestTimerConductor.d +7 -0
  122. data/examples/temp_sensor/build/test/dependencies/TestTimerConductor_runner.d +10 -0
  123. data/examples/temp_sensor/build/test/dependencies/TestTimerHardware.d +5 -0
  124. data/examples/temp_sensor/build/test/dependencies/TestTimerHardware_runner.d +8 -0
  125. data/examples/temp_sensor/build/test/dependencies/TestTimerModel.d +5 -0
  126. data/examples/temp_sensor/build/test/dependencies/TestTimerModel_runner.d +7 -0
  127. data/examples/temp_sensor/build/test/dependencies/TestUsartBaudRateRegisterCalculator.d +5 -0
  128. data/examples/temp_sensor/build/test/dependencies/TestUsartBaudRateRegisterCalculator_runner.d +4 -0
  129. data/examples/temp_sensor/build/test/dependencies/TestUsartConductor.d +7 -0
  130. data/examples/temp_sensor/build/test/dependencies/TestUsartConductor_runner.d +9 -0
  131. data/examples/temp_sensor/build/test/dependencies/TestUsartHardware.d +6 -0
  132. data/examples/temp_sensor/build/test/dependencies/TestUsartHardware_runner.d +8 -0
  133. data/examples/temp_sensor/build/test/dependencies/TestUsartModel.d +7 -0
  134. data/examples/temp_sensor/build/test/dependencies/TestUsartModel_runner.d +9 -0
  135. data/examples/temp_sensor/build/test/dependencies/TimerConductor.d +3 -0
  136. data/examples/temp_sensor/build/test/dependencies/TimerHardware.d +2 -0
  137. data/examples/temp_sensor/build/test/dependencies/TimerModel.d +2 -0
  138. data/examples/temp_sensor/build/test/dependencies/UnityHelper.d +4 -0
  139. data/examples/temp_sensor/build/test/dependencies/UsartBaudRateRegisterCalculator.d +3 -0
  140. data/examples/temp_sensor/build/test/dependencies/UsartConductor.d +3 -0
  141. data/examples/temp_sensor/build/test/dependencies/UsartHardware.d +2 -0
  142. data/examples/temp_sensor/build/test/dependencies/UsartModel.d +3 -0
  143. data/examples/temp_sensor/build/test/dependencies/cmock.d +6 -0
  144. data/examples/temp_sensor/build/test/dependencies/unity.d +4 -0
  145. data/examples/temp_sensor/build/test/mocks/MockAdcConductor.c +391 -0
  146. data/examples/temp_sensor/build/test/mocks/MockAdcConductor.h +64 -0
  147. data/examples/temp_sensor/build/test/mocks/MockAdcHardware.c +313 -0
  148. data/examples/temp_sensor/build/test/mocks/MockAdcHardware.h +58 -0
  149. data/examples/temp_sensor/build/test/mocks/MockAdcHardwareConfigurator.c +218 -0
  150. data/examples/temp_sensor/build/test/mocks/MockAdcHardwareConfigurator.h +52 -0
  151. data/examples/temp_sensor/build/test/mocks/MockAdcModel.c +453 -0
  152. data/examples/temp_sensor/build/test/mocks/MockAdcModel.h +64 -0
  153. data/examples/temp_sensor/build/test/mocks/MockAdcTemperatureSensor.c +252 -0
  154. data/examples/temp_sensor/build/test/mocks/MockAdcTemperatureSensor.h +52 -0
  155. data/examples/temp_sensor/build/test/mocks/MockExecutor.c +174 -0
  156. data/examples/temp_sensor/build/test/mocks/MockExecutor.h +46 -0
  157. data/examples/temp_sensor/build/test/mocks/MockIntrinsicsWrapper.c +157 -0
  158. data/examples/temp_sensor/build/test/mocks/MockIntrinsicsWrapper.h +46 -0
  159. data/examples/temp_sensor/build/test/mocks/MockModel.c +96 -0
  160. data/examples/temp_sensor/build/test/mocks/MockModel.h +40 -0
  161. data/examples/temp_sensor/build/test/mocks/MockTaskScheduler.c +326 -0
  162. data/examples/temp_sensor/build/test/mocks/MockTaskScheduler.h +58 -0
  163. data/examples/temp_sensor/build/test/mocks/MockTemperatureCalculator.c +126 -0
  164. data/examples/temp_sensor/build/test/mocks/MockTemperatureCalculator.h +40 -0
  165. data/examples/temp_sensor/build/test/mocks/MockTemperatureFilter.c +248 -0
  166. data/examples/temp_sensor/build/test/mocks/MockTemperatureFilter.h +52 -0
  167. data/examples/temp_sensor/build/test/mocks/MockTimerConductor.c +157 -0
  168. data/examples/temp_sensor/build/test/mocks/MockTimerConductor.h +46 -0
  169. data/examples/temp_sensor/build/test/mocks/MockTimerConfigurator.c +523 -0
  170. data/examples/temp_sensor/build/test/mocks/MockTimerConfigurator.h +82 -0
  171. data/examples/temp_sensor/build/test/mocks/MockTimerHardware.c +96 -0
  172. data/examples/temp_sensor/build/test/mocks/MockTimerHardware.h +40 -0
  173. data/examples/temp_sensor/build/test/mocks/MockTimerInterruptHandler.c +248 -0
  174. data/examples/temp_sensor/build/test/mocks/MockTimerInterruptHandler.h +52 -0
  175. data/examples/temp_sensor/build/test/mocks/MockTimerModel.c +109 -0
  176. data/examples/temp_sensor/build/test/mocks/MockTimerModel.h +40 -0
  177. data/examples/temp_sensor/build/test/mocks/MockUsartBaudRateRegisterCalculator.c +133 -0
  178. data/examples/temp_sensor/build/test/mocks/MockUsartBaudRateRegisterCalculator.h +40 -0
  179. data/examples/temp_sensor/build/test/mocks/MockUsartConductor.c +157 -0
  180. data/examples/temp_sensor/build/test/mocks/MockUsartConductor.h +46 -0
  181. data/examples/temp_sensor/build/test/mocks/MockUsartConfigurator.c +414 -0
  182. data/examples/temp_sensor/build/test/mocks/MockUsartConfigurator.h +70 -0
  183. data/examples/temp_sensor/build/test/mocks/MockUsartHardware.c +183 -0
  184. data/examples/temp_sensor/build/test/mocks/MockUsartHardware.h +46 -0
  185. data/examples/temp_sensor/build/test/mocks/MockUsartModel.c +269 -0
  186. data/examples/temp_sensor/build/test/mocks/MockUsartModel.h +52 -0
  187. data/examples/temp_sensor/build/test/mocks/MockUsartPutChar.c +109 -0
  188. data/examples/temp_sensor/build/test/mocks/MockUsartPutChar.h +40 -0
  189. data/examples/temp_sensor/build/test/out/TestAdcConductor.out +0 -0
  190. data/examples/temp_sensor/build/test/out/TestAdcHardware.out +0 -0
  191. data/examples/temp_sensor/build/test/out/TestAdcModel.out +0 -0
  192. data/examples/temp_sensor/build/test/out/TestExecutor.out +0 -0
  193. data/examples/temp_sensor/build/test/out/TestMain.out +0 -0
  194. data/examples/temp_sensor/build/test/out/TestModel.out +0 -0
  195. data/examples/temp_sensor/build/test/out/TestTaskScheduler.out +0 -0
  196. data/examples/temp_sensor/build/test/out/TestTemperatureCalculator.out +0 -0
  197. data/examples/temp_sensor/build/test/out/TestTemperatureFilter.out +0 -0
  198. data/examples/temp_sensor/build/test/out/TestTimerConductor.out +0 -0
  199. data/examples/temp_sensor/build/test/out/TestTimerHardware.out +0 -0
  200. data/examples/temp_sensor/build/test/out/TestTimerModel.out +0 -0
  201. data/examples/temp_sensor/build/test/out/TestUsartBaudRateRegisterCalculator.out +0 -0
  202. data/examples/temp_sensor/build/test/out/TestUsartConductor.out +0 -0
  203. data/examples/temp_sensor/build/test/out/TestUsartHardware.out +0 -0
  204. data/examples/temp_sensor/build/test/out/TestUsartModel.out +0 -0
  205. data/examples/temp_sensor/build/test/out/c/AdcConductor.o +0 -0
  206. data/examples/temp_sensor/build/test/out/c/AdcHardware.o +0 -0
  207. data/examples/temp_sensor/build/test/out/c/AdcModel.o +0 -0
  208. data/examples/temp_sensor/build/test/out/c/Executor.o +0 -0
  209. data/examples/temp_sensor/build/test/out/c/Main.o +0 -0
  210. data/examples/temp_sensor/build/test/out/c/MockAdcConductor.o +0 -0
  211. data/examples/temp_sensor/build/test/out/c/MockAdcHardware.o +0 -0
  212. data/examples/temp_sensor/build/test/out/c/MockAdcHardwareConfigurator.o +0 -0
  213. data/examples/temp_sensor/build/test/out/c/MockAdcModel.o +0 -0
  214. data/examples/temp_sensor/build/test/out/c/MockAdcTemperatureSensor.o +0 -0
  215. data/examples/temp_sensor/build/test/out/c/MockExecutor.o +0 -0
  216. data/examples/temp_sensor/build/test/out/c/MockIntrinsicsWrapper.o +0 -0
  217. data/examples/temp_sensor/build/test/out/c/MockModel.o +0 -0
  218. data/examples/temp_sensor/build/test/out/c/MockTaskScheduler.o +0 -0
  219. data/examples/temp_sensor/build/test/out/c/MockTemperatureCalculator.o +0 -0
  220. data/examples/temp_sensor/build/test/out/c/MockTemperatureFilter.o +0 -0
  221. data/examples/temp_sensor/build/test/out/c/MockTimerConductor.o +0 -0
  222. data/examples/temp_sensor/build/test/out/c/MockTimerConfigurator.o +0 -0
  223. data/examples/temp_sensor/build/test/out/c/MockTimerHardware.o +0 -0
  224. data/examples/temp_sensor/build/test/out/c/MockTimerInterruptHandler.o +0 -0
  225. data/examples/temp_sensor/build/test/out/c/MockTimerModel.o +0 -0
  226. data/examples/temp_sensor/build/test/out/c/MockUsartBaudRateRegisterCalculator.o +0 -0
  227. data/examples/temp_sensor/build/test/out/c/MockUsartConductor.o +0 -0
  228. data/examples/temp_sensor/build/test/out/c/MockUsartConfigurator.o +0 -0
  229. data/examples/temp_sensor/build/test/out/c/MockUsartHardware.o +0 -0
  230. data/examples/temp_sensor/build/test/out/c/MockUsartModel.o +0 -0
  231. data/examples/temp_sensor/build/test/out/c/MockUsartPutChar.o +0 -0
  232. data/examples/temp_sensor/build/test/out/c/Model.o +0 -0
  233. data/examples/temp_sensor/build/test/out/c/TaskScheduler.o +0 -0
  234. data/examples/temp_sensor/build/test/out/c/TemperatureCalculator.o +0 -0
  235. data/examples/temp_sensor/build/test/out/c/TemperatureFilter.o +0 -0
  236. data/examples/temp_sensor/build/test/out/c/TestAdcConductor.o +0 -0
  237. data/examples/temp_sensor/build/test/out/c/TestAdcConductor_runner.o +0 -0
  238. data/examples/temp_sensor/build/test/out/c/TestAdcHardware.o +0 -0
  239. data/examples/temp_sensor/build/test/out/c/TestAdcHardware_runner.o +0 -0
  240. data/examples/temp_sensor/build/test/out/c/TestAdcModel.o +0 -0
  241. data/examples/temp_sensor/build/test/out/c/TestAdcModel_runner.o +0 -0
  242. data/examples/temp_sensor/build/test/out/c/TestExecutor.o +0 -0
  243. data/examples/temp_sensor/build/test/out/c/TestExecutor_runner.o +0 -0
  244. data/examples/temp_sensor/build/test/out/c/TestMain.o +0 -0
  245. data/examples/temp_sensor/build/test/out/c/TestMain_runner.o +0 -0
  246. data/examples/temp_sensor/build/test/out/c/TestModel.o +0 -0
  247. data/examples/temp_sensor/build/test/out/c/TestModel_runner.o +0 -0
  248. data/examples/temp_sensor/build/test/out/c/TestTaskScheduler.o +0 -0
  249. data/examples/temp_sensor/build/test/out/c/TestTaskScheduler_runner.o +0 -0
  250. data/examples/temp_sensor/build/test/out/c/TestTemperatureCalculator.o +0 -0
  251. data/examples/temp_sensor/build/test/out/c/TestTemperatureCalculator_runner.o +0 -0
  252. data/examples/temp_sensor/build/test/out/c/TestTemperatureFilter.o +0 -0
  253. data/examples/temp_sensor/build/test/out/c/TestTemperatureFilter_runner.o +0 -0
  254. data/examples/temp_sensor/build/test/out/c/TestTimerConductor.o +0 -0
  255. data/examples/temp_sensor/build/test/out/c/TestTimerConductor_runner.o +0 -0
  256. data/examples/temp_sensor/build/test/out/c/TestTimerHardware.o +0 -0
  257. data/examples/temp_sensor/build/test/out/c/TestTimerHardware_runner.o +0 -0
  258. data/examples/temp_sensor/build/test/out/c/TestTimerModel.o +0 -0
  259. data/examples/temp_sensor/build/test/out/c/TestTimerModel_runner.o +0 -0
  260. data/examples/temp_sensor/build/test/out/c/TestUsartBaudRateRegisterCalculator.o +0 -0
  261. data/examples/temp_sensor/build/test/out/c/TestUsartBaudRateRegisterCalculator_runner.o +0 -0
  262. data/examples/temp_sensor/build/test/out/c/TestUsartConductor.o +0 -0
  263. data/examples/temp_sensor/build/test/out/c/TestUsartConductor_runner.o +0 -0
  264. data/examples/temp_sensor/build/test/out/c/TestUsartHardware.o +0 -0
  265. data/examples/temp_sensor/build/test/out/c/TestUsartHardware_runner.o +0 -0
  266. data/examples/temp_sensor/build/test/out/c/TestUsartModel.o +0 -0
  267. data/examples/temp_sensor/build/test/out/c/TestUsartModel_runner.o +0 -0
  268. data/examples/temp_sensor/build/test/out/c/TimerConductor.o +0 -0
  269. data/examples/temp_sensor/build/test/out/c/TimerHardware.o +0 -0
  270. data/examples/temp_sensor/build/test/out/c/TimerModel.o +0 -0
  271. data/examples/temp_sensor/build/test/out/c/UnityHelper.o +0 -0
  272. data/examples/temp_sensor/build/test/out/c/UsartBaudRateRegisterCalculator.o +0 -0
  273. data/examples/temp_sensor/build/test/out/c/UsartConductor.o +0 -0
  274. data/examples/temp_sensor/build/test/out/c/UsartHardware.o +0 -0
  275. data/examples/temp_sensor/build/test/out/c/UsartModel.o +0 -0
  276. data/examples/temp_sensor/build/test/out/c/cmock.o +0 -0
  277. data/examples/temp_sensor/build/test/out/c/unity.o +0 -0
  278. data/examples/temp_sensor/build/test/preprocess/files/AdcConductor.h +20 -0
  279. data/examples/temp_sensor/build/test/preprocess/files/AdcHardware.h +16 -0
  280. data/examples/temp_sensor/build/test/preprocess/files/AdcHardwareConfigurator.h +14 -0
  281. data/examples/temp_sensor/build/test/preprocess/files/AdcModel.h +20 -0
  282. data/examples/temp_sensor/build/test/preprocess/files/AdcTemperatureSensor.h +14 -0
  283. data/examples/temp_sensor/build/test/preprocess/files/Executor.h +12 -0
  284. data/examples/temp_sensor/build/test/preprocess/files/IntrinsicsWrapper.h +9 -0
  285. data/examples/temp_sensor/build/test/preprocess/files/Model.h +10 -0
  286. data/examples/temp_sensor/build/test/preprocess/files/TaskScheduler.h +16 -0
  287. data/examples/temp_sensor/build/test/preprocess/files/TemperatureCalculator.h +10 -0
  288. data/examples/temp_sensor/build/test/preprocess/files/TemperatureFilter.h +14 -0
  289. data/examples/temp_sensor/build/test/preprocess/files/TestAdcConductor.c +169 -0
  290. data/examples/temp_sensor/build/test/preprocess/files/TestAdcHardware.c +82 -0
  291. data/examples/temp_sensor/build/test/preprocess/files/TestAdcModel.c +59 -0
  292. data/examples/temp_sensor/build/test/preprocess/files/TestExecutor.c +63 -0
  293. data/examples/temp_sensor/build/test/preprocess/files/TestMain.c +43 -0
  294. data/examples/temp_sensor/build/test/preprocess/files/TestModel.c +34 -0
  295. data/examples/temp_sensor/build/test/preprocess/files/TestTaskScheduler.c +204 -0
  296. data/examples/temp_sensor/build/test/preprocess/files/TestTemperatureCalculator.c +70 -0
  297. data/examples/temp_sensor/build/test/preprocess/files/TestTemperatureFilter.c +154 -0
  298. data/examples/temp_sensor/build/test/preprocess/files/TestTimerConductor.c +57 -0
  299. data/examples/temp_sensor/build/test/preprocess/files/TestTimerHardware.c +47 -0
  300. data/examples/temp_sensor/build/test/preprocess/files/TestTimerModel.c +31 -0
  301. data/examples/temp_sensor/build/test/preprocess/files/TestUsartBaudRateRegisterCalculator.c +38 -0
  302. data/examples/temp_sensor/build/test/preprocess/files/TestUsartConductor.c +73 -0
  303. data/examples/temp_sensor/build/test/preprocess/files/TestUsartHardware.c +66 -0
  304. data/examples/temp_sensor/build/test/preprocess/files/TestUsartModel.c +73 -0
  305. data/examples/temp_sensor/build/test/preprocess/files/TimerConductor.h +12 -0
  306. data/examples/temp_sensor/build/test/preprocess/files/TimerConfigurator.h +24 -0
  307. data/examples/temp_sensor/build/test/preprocess/files/TimerHardware.h +10 -0
  308. data/examples/temp_sensor/build/test/preprocess/files/TimerInterruptHandler.h +14 -0
  309. data/examples/temp_sensor/build/test/preprocess/files/TimerModel.h +10 -0
  310. data/examples/temp_sensor/build/test/preprocess/files/UsartBaudRateRegisterCalculator.h +10 -0
  311. data/examples/temp_sensor/build/test/preprocess/files/UsartConductor.h +9 -0
  312. data/examples/temp_sensor/build/test/preprocess/files/UsartConfigurator.h +20 -0
  313. data/examples/temp_sensor/build/test/preprocess/files/UsartHardware.h +12 -0
  314. data/examples/temp_sensor/build/test/preprocess/files/UsartModel.h +14 -0
  315. data/examples/temp_sensor/build/test/preprocess/files/UsartPutChar.h +10 -0
  316. data/examples/temp_sensor/build/test/preprocess/includes/AdcConductor.h +2 -0
  317. data/examples/temp_sensor/build/test/preprocess/includes/AdcHardware.h +2 -0
  318. data/examples/temp_sensor/build/test/preprocess/includes/AdcHardwareConfigurator.h +2 -0
  319. data/examples/temp_sensor/build/test/preprocess/includes/AdcModel.h +2 -0
  320. data/examples/temp_sensor/build/test/preprocess/includes/AdcTemperatureSensor.h +2 -0
  321. data/examples/temp_sensor/build/test/preprocess/includes/Executor.h +2 -0
  322. data/examples/temp_sensor/build/test/preprocess/includes/IntrinsicsWrapper.h +1 -0
  323. data/examples/temp_sensor/build/test/preprocess/includes/Model.h +2 -0
  324. data/examples/temp_sensor/build/test/preprocess/includes/TaskScheduler.h +2 -0
  325. data/examples/temp_sensor/build/test/preprocess/includes/TemperatureCalculator.h +2 -0
  326. data/examples/temp_sensor/build/test/preprocess/includes/TemperatureFilter.h +2 -0
  327. data/examples/temp_sensor/build/test/preprocess/includes/TestAdcConductor.c +7 -0
  328. data/examples/temp_sensor/build/test/preprocess/includes/TestAdcHardware.c +6 -0
  329. data/examples/temp_sensor/build/test/preprocess/includes/TestAdcModel.c +7 -0
  330. data/examples/temp_sensor/build/test/preprocess/includes/TestExecutor.c +9 -0
  331. data/examples/temp_sensor/build/test/preprocess/includes/TestMain.c +5 -0
  332. data/examples/temp_sensor/build/test/preprocess/includes/TestModel.c +6 -0
  333. data/examples/temp_sensor/build/test/preprocess/includes/TestTaskScheduler.c +4 -0
  334. data/examples/temp_sensor/build/test/preprocess/includes/TestTemperatureCalculator.c +4 -0
  335. data/examples/temp_sensor/build/test/preprocess/includes/TestTemperatureFilter.c +4 -0
  336. data/examples/temp_sensor/build/test/preprocess/includes/TestTimerConductor.c +7 -0
  337. data/examples/temp_sensor/build/test/preprocess/includes/TestTimerHardware.c +5 -0
  338. data/examples/temp_sensor/build/test/preprocess/includes/TestTimerModel.c +5 -0
  339. data/examples/temp_sensor/build/test/preprocess/includes/TestUsartBaudRateRegisterCalculator.c +4 -0
  340. data/examples/temp_sensor/build/test/preprocess/includes/TestUsartConductor.c +7 -0
  341. data/examples/temp_sensor/build/test/preprocess/includes/TestUsartHardware.c +6 -0
  342. data/examples/temp_sensor/build/test/preprocess/includes/TestUsartModel.c +7 -0
  343. data/examples/temp_sensor/build/test/preprocess/includes/TimerConductor.h +2 -0
  344. data/examples/temp_sensor/build/test/preprocess/includes/TimerConfigurator.h +2 -0
  345. data/examples/temp_sensor/build/test/preprocess/includes/TimerHardware.h +2 -0
  346. data/examples/temp_sensor/build/test/preprocess/includes/TimerInterruptHandler.h +2 -0
  347. data/examples/temp_sensor/build/test/preprocess/includes/TimerModel.h +2 -0
  348. data/examples/temp_sensor/build/test/preprocess/includes/UsartBaudRateRegisterCalculator.h +2 -0
  349. data/examples/temp_sensor/build/test/preprocess/includes/UsartConductor.h +1 -0
  350. data/examples/temp_sensor/build/test/preprocess/includes/UsartConfigurator.h +2 -0
  351. data/examples/temp_sensor/build/test/preprocess/includes/UsartHardware.h +2 -0
  352. data/examples/temp_sensor/build/test/preprocess/includes/UsartModel.h +2 -0
  353. data/examples/temp_sensor/build/test/preprocess/includes/UsartPutChar.h +2 -0
  354. data/examples/temp_sensor/build/test/results/TestAdcConductor.pass +46 -0
  355. data/examples/temp_sensor/build/test/results/TestAdcHardware.pass +30 -0
  356. data/examples/temp_sensor/build/test/results/TestAdcModel.pass +26 -0
  357. data/examples/temp_sensor/build/test/results/TestExecutor.pass +22 -0
  358. data/examples/temp_sensor/build/test/results/TestMain.pass +18 -0
  359. data/examples/temp_sensor/build/test/results/TestModel.pass +18 -0
  360. data/examples/temp_sensor/build/test/results/TestTaskScheduler.pass +46 -0
  361. data/examples/temp_sensor/build/test/results/TestTemperatureCalculator.pass +22 -0
  362. data/examples/temp_sensor/build/test/results/TestTemperatureFilter.pass +30 -0
  363. data/examples/temp_sensor/build/test/results/TestTimerConductor.pass +22 -0
  364. data/examples/temp_sensor/build/test/results/TestTimerHardware.pass +18 -0
  365. data/examples/temp_sensor/build/test/results/TestTimerModel.pass +18 -0
  366. data/examples/temp_sensor/build/test/results/TestUsartBaudRateRegisterCalculator.pass +18 -0
  367. data/examples/temp_sensor/build/test/results/TestUsartConductor.pass +26 -0
  368. data/examples/temp_sensor/build/test/results/TestUsartHardware.pass +22 -0
  369. data/examples/temp_sensor/build/test/results/TestUsartModel.pass +30 -0
  370. data/examples/temp_sensor/build/test/runners/TestAdcConductor_runner.c +105 -0
  371. data/examples/temp_sensor/build/test/runners/TestAdcHardware_runner.c +97 -0
  372. data/examples/temp_sensor/build/test/runners/TestAdcModel_runner.c +99 -0
  373. data/examples/temp_sensor/build/test/runners/TestExecutor_runner.c +105 -0
  374. data/examples/temp_sensor/build/test/runners/TestMain_runner.c +87 -0
  375. data/examples/temp_sensor/build/test/runners/TestModel_runner.c +91 -0
  376. data/examples/temp_sensor/build/test/runners/TestTaskScheduler_runner.c +95 -0
  377. data/examples/temp_sensor/build/test/runners/TestTemperatureCalculator_runner.c +83 -0
  378. data/examples/temp_sensor/build/test/runners/TestTemperatureFilter_runner.c +87 -0
  379. data/examples/temp_sensor/build/test/runners/TestTimerConductor_runner.c +97 -0
  380. data/examples/temp_sensor/build/test/runners/TestTimerHardware_runner.c +87 -0
  381. data/examples/temp_sensor/build/test/runners/TestTimerModel_runner.c +87 -0
  382. data/examples/temp_sensor/build/test/runners/TestUsartBaudRateRegisterCalculator_runner.c +81 -0
  383. data/examples/temp_sensor/build/test/runners/TestUsartConductor_runner.c +99 -0
  384. data/examples/temp_sensor/build/test/runners/TestUsartHardware_runner.c +93 -0
  385. data/examples/temp_sensor/build/test/runners/TestUsartModel_runner.c +97 -0
  386. data/examples/temp_sensor/project.yml +3 -1
  387. data/lib/ceedling/configurator.rb +6 -1
  388. data/lib/ceedling/configurator_builder.rb +18 -6
  389. data/lib/ceedling/configurator_setup.rb +1 -0
  390. data/lib/ceedling/constants.rb +1 -1
  391. data/lib/ceedling/defaults.rb +23 -0
  392. data/lib/ceedling/objects.yml +2 -0
  393. data/lib/ceedling/preprocessinator.rb +17 -8
  394. data/lib/ceedling/preprocessinator_extractor.rb +23 -0
  395. data/lib/ceedling/preprocessinator_file_handler.rb +13 -0
  396. data/lib/ceedling/preprocessinator_includes_handler.rb +61 -53
  397. data/lib/ceedling/project_config_manager.rb +2 -2
  398. data/lib/ceedling/rakefile.rb +0 -1
  399. data/lib/ceedling/rules_tests.rake +1 -1
  400. data/lib/ceedling/setupinator.rb +1 -1
  401. data/lib/ceedling/tasks_tests.rake +8 -6
  402. data/lib/ceedling/test_invoker.rb +1 -0
  403. data/lib/ceedling/version.rb +1 -1
  404. data/out.fail +24 -0
  405. data/plugins/bullseye/bullseye.rake +5 -5
  406. data/plugins/dependencies/README.md +1 -1
  407. data/plugins/dependencies/dependencies.rake +3 -0
  408. data/plugins/dependencies/lib/dependencies.rb +9 -3
  409. data/plugins/gcov/README.md +21 -0
  410. data/plugins/gcov/config/defaults.yml +4 -0
  411. data/plugins/gcov/gcov.rake +5 -5
  412. data/plugins/gcov/lib/gcov.rb +8 -5
  413. data/plugins/gcov/lib/gcovr_reportinator.rb +2 -2
  414. data/plugins/gcov/lib/reportgenerator_reportinator.rb +45 -3
  415. data/spec/gcov/gcov_deployment_spec.rb +1 -0
  416. data/spec/gcov/gcov_test_cases_spec.rb +71 -2
  417. data/spec/preprocessinator_extractor_spec.rb +36 -0
  418. data/spec/preprocessinator_includes_handler_spec.rb +70 -19
  419. data/spec/spec_helper.rb +0 -1
  420. data/spec/spec_system_helper.rb +119 -79
  421. data/spec/system/deployment_spec.rb +30 -0
  422. data/vendor/c_exception/README.md +4 -6
  423. data/vendor/c_exception/docs/CException.md +2 -2
  424. data/vendor/c_exception/lib/CException.h +1 -1
  425. data/vendor/c_exception/lib/meson.build +2 -2
  426. data/vendor/c_exception/meson.build +2 -36
  427. data/vendor/cmock/README.md +9 -4
  428. data/vendor/cmock/docs/CMock_Summary.md +26 -1
  429. data/vendor/cmock/lib/cmock.rb +16 -9
  430. data/vendor/cmock/lib/cmock_config.rb +1 -0
  431. data/vendor/cmock/lib/cmock_generator.rb +27 -9
  432. data/vendor/cmock/lib/cmock_generator_plugin_cexception.rb +1 -0
  433. data/vendor/cmock/lib/cmock_generator_plugin_ignore_stateless.rb +85 -0
  434. data/vendor/cmock/lib/cmock_generator_plugin_return_thru_ptr.rb +4 -4
  435. data/vendor/cmock/lib/cmock_generator_utils.rb +6 -3
  436. data/vendor/cmock/lib/cmock_header_parser.rb +40 -14
  437. data/vendor/cmock/meson.build +1 -37
  438. data/vendor/cmock/src/cmock.h +13 -7
  439. data/vendor/cmock/src/meson.build +1 -1
  440. data/vendor/cmock/test/system/test_interactions/ignore_and_return_stateless.yml +325 -0
  441. data/vendor/cmock/test/unit/cmock_generator_main_test.rb +3 -0
  442. data/vendor/cmock/test/unit/cmock_generator_plugin_cexception_test.rb +12 -0
  443. data/vendor/cmock/test/unit/cmock_generator_plugin_ignore_stateless_test.rb +116 -0
  444. data/vendor/cmock/test/unit/cmock_generator_plugin_return_thru_ptr_test.rb +4 -4
  445. data/vendor/cmock/test/unit/cmock_generator_utils_test.rb +14 -9
  446. data/vendor/cmock/test/unit/cmock_header_parser_test.rb +129 -3
  447. data/vendor/cmock/test/unit/cmock_plugin_manager_test.rb +2 -1
  448. data/vendor/cmock/vendor/c_exception/README.md +4 -6
  449. data/vendor/cmock/vendor/c_exception/docs/CException.md +2 -2
  450. data/vendor/cmock/vendor/c_exception/lib/CException.h +1 -1
  451. data/vendor/cmock/vendor/c_exception/lib/meson.build +2 -2
  452. data/vendor/cmock/vendor/c_exception/meson.build +2 -36
  453. data/vendor/cmock/vendor/unity/CMakeLists.txt +32 -6
  454. data/vendor/cmock/vendor/unity/LICENSE.txt +1 -1
  455. data/vendor/cmock/vendor/unity/README.md +13 -4
  456. data/vendor/cmock/vendor/unity/auto/generate_module.rb +11 -10
  457. data/vendor/cmock/vendor/unity/auto/generate_test_runner.rb +2 -2
  458. data/vendor/cmock/vendor/unity/auto/run_test.erb +1 -1
  459. data/vendor/cmock/vendor/unity/meson.build +1 -35
  460. data/vendor/cmock/vendor/unity/src/meson.build +1 -1
  461. data/vendor/cmock/vendor/unity/src/unity.c +5 -4
  462. data/vendor/cmock/vendor/unity/src/unity.h +6 -6
  463. data/vendor/cmock/vendor/unity/src/unity_internals.h +15 -6
  464. data/vendor/cmock/vendor/unity/test/Makefile +1 -0
  465. data/vendor/cmock/vendor/unity/test/rakefile_helper.rb +2 -2
  466. data/vendor/unity/CMakeLists.txt +32 -6
  467. data/vendor/unity/LICENSE.txt +1 -1
  468. data/vendor/unity/README.md +13 -4
  469. data/vendor/unity/auto/generate_module.rb +11 -10
  470. data/vendor/unity/auto/generate_test_runner.rb +2 -2
  471. data/vendor/unity/auto/run_test.erb +1 -1
  472. data/vendor/unity/meson.build +1 -35
  473. data/vendor/unity/src/meson.build +1 -1
  474. data/vendor/unity/src/unity.c +5 -4
  475. data/vendor/unity/src/unity.h +6 -6
  476. data/vendor/unity/src/unity_internals.h +15 -6
  477. data/vendor/unity/test/Makefile +1 -0
  478. data/vendor/unity/test/rakefile_helper.rb +2 -2
  479. metadata +409 -271
  480. data/assets/project_with_guts_gcov_abortonuncovered.yml +0 -93
  481. data/examples/temp_sensor/rakefile.rb +0 -6
  482. data/vendor/c_exception/vendor/unity/README.md +0 -220
  483. data/vendor/c_exception/vendor/unity/auto/colour_prompt.rb +0 -118
  484. data/vendor/c_exception/vendor/unity/auto/colour_reporter.rb +0 -39
  485. data/vendor/c_exception/vendor/unity/auto/generate_config.yml +0 -36
  486. data/vendor/c_exception/vendor/unity/auto/generate_module.rb +0 -308
  487. data/vendor/c_exception/vendor/unity/auto/generate_test_runner.rb +0 -437
  488. data/vendor/c_exception/vendor/unity/auto/parse_output.rb +0 -220
  489. data/vendor/c_exception/vendor/unity/auto/stylize_as_junit.rb +0 -252
  490. data/vendor/c_exception/vendor/unity/auto/test_file_filter.rb +0 -25
  491. data/vendor/c_exception/vendor/unity/auto/type_sanitizer.rb +0 -6
  492. data/vendor/c_exception/vendor/unity/auto/unity_test_summary.py +0 -139
  493. data/vendor/c_exception/vendor/unity/auto/unity_test_summary.rb +0 -136
  494. data/vendor/c_exception/vendor/unity/auto/unity_to_junit.py +0 -146
  495. data/vendor/c_exception/vendor/unity/docs/ThrowTheSwitchCodingStandard.md +0 -207
  496. data/vendor/c_exception/vendor/unity/docs/UnityAssertionsCheatSheetSuitableforPrintingandPossiblyFraming.pdf +0 -0
  497. data/vendor/c_exception/vendor/unity/docs/UnityAssertionsReference.md +0 -716
  498. data/vendor/c_exception/vendor/unity/docs/UnityConfigurationGuide.md +0 -398
  499. data/vendor/c_exception/vendor/unity/docs/UnityGettingStartedGuide.md +0 -191
  500. data/vendor/c_exception/vendor/unity/docs/UnityHelperScriptsGuide.md +0 -242
  501. data/vendor/c_exception/vendor/unity/docs/license.txt +0 -21
  502. data/vendor/c_exception/vendor/unity/examples/example_1/makefile +0 -71
  503. data/vendor/c_exception/vendor/unity/examples/example_1/readme.txt +0 -5
  504. data/vendor/c_exception/vendor/unity/examples/example_1/src/ProductionCode.c +0 -24
  505. data/vendor/c_exception/vendor/unity/examples/example_1/src/ProductionCode.h +0 -3
  506. data/vendor/c_exception/vendor/unity/examples/example_1/src/ProductionCode2.c +0 -11
  507. data/vendor/c_exception/vendor/unity/examples/example_1/src/ProductionCode2.h +0 -2
  508. data/vendor/c_exception/vendor/unity/examples/example_1/test/TestProductionCode.c +0 -62
  509. data/vendor/c_exception/vendor/unity/examples/example_1/test/TestProductionCode2.c +0 -31
  510. data/vendor/c_exception/vendor/unity/examples/example_1/test/test_runners/TestProductionCode2_Runner.c +0 -53
  511. data/vendor/c_exception/vendor/unity/examples/example_1/test/test_runners/TestProductionCode_Runner.c +0 -57
  512. data/vendor/c_exception/vendor/unity/examples/example_2/makefile +0 -70
  513. data/vendor/c_exception/vendor/unity/examples/example_2/readme.txt +0 -5
  514. data/vendor/c_exception/vendor/unity/examples/example_2/src/ProductionCode.c +0 -24
  515. data/vendor/c_exception/vendor/unity/examples/example_2/src/ProductionCode.h +0 -3
  516. data/vendor/c_exception/vendor/unity/examples/example_2/src/ProductionCode2.c +0 -11
  517. data/vendor/c_exception/vendor/unity/examples/example_2/src/ProductionCode2.h +0 -2
  518. data/vendor/c_exception/vendor/unity/examples/example_2/test/TestProductionCode.c +0 -64
  519. data/vendor/c_exception/vendor/unity/examples/example_2/test/TestProductionCode2.c +0 -33
  520. data/vendor/c_exception/vendor/unity/examples/example_2/test/test_runners/TestProductionCode2_Runner.c +0 -9
  521. data/vendor/c_exception/vendor/unity/examples/example_2/test/test_runners/TestProductionCode_Runner.c +0 -11
  522. data/vendor/c_exception/vendor/unity/examples/example_2/test/test_runners/all_tests.c +0 -12
  523. data/vendor/c_exception/vendor/unity/examples/example_3/helper/UnityHelper.c +0 -10
  524. data/vendor/c_exception/vendor/unity/examples/example_3/helper/UnityHelper.h +0 -12
  525. data/vendor/c_exception/vendor/unity/examples/example_3/rakefile.rb +0 -43
  526. data/vendor/c_exception/vendor/unity/examples/example_3/rakefile_helper.rb +0 -249
  527. data/vendor/c_exception/vendor/unity/examples/example_3/readme.txt +0 -13
  528. data/vendor/c_exception/vendor/unity/examples/example_3/src/ProductionCode.c +0 -24
  529. data/vendor/c_exception/vendor/unity/examples/example_3/src/ProductionCode.h +0 -3
  530. data/vendor/c_exception/vendor/unity/examples/example_3/src/ProductionCode2.c +0 -11
  531. data/vendor/c_exception/vendor/unity/examples/example_3/src/ProductionCode2.h +0 -2
  532. data/vendor/c_exception/vendor/unity/examples/example_3/target_gcc_32.yml +0 -46
  533. data/vendor/c_exception/vendor/unity/examples/example_3/test/TestProductionCode.c +0 -62
  534. data/vendor/c_exception/vendor/unity/examples/example_3/test/TestProductionCode2.c +0 -31
  535. data/vendor/c_exception/vendor/unity/examples/unity_config.h +0 -237
  536. data/vendor/c_exception/vendor/unity/extras/eclipse/error_parsers.txt +0 -26
  537. data/vendor/c_exception/vendor/unity/extras/fixture/rakefile.rb +0 -48
  538. data/vendor/c_exception/vendor/unity/extras/fixture/rakefile_helper.rb +0 -178
  539. data/vendor/c_exception/vendor/unity/extras/fixture/readme.txt +0 -9
  540. data/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture.c +0 -432
  541. data/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture.h +0 -83
  542. data/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture_internals.h +0 -51
  543. data/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture_malloc_overrides.h +0 -47
  544. data/vendor/c_exception/vendor/unity/extras/fixture/test/Makefile +0 -74
  545. data/vendor/c_exception/vendor/unity/extras/fixture/test/main/AllTests.c +0 -22
  546. data/vendor/c_exception/vendor/unity/extras/fixture/test/template_fixture_tests.c +0 -39
  547. data/vendor/c_exception/vendor/unity/extras/fixture/test/unity_fixture_Test.c +0 -543
  548. data/vendor/c_exception/vendor/unity/extras/fixture/test/unity_fixture_TestRunner.c +0 -57
  549. data/vendor/c_exception/vendor/unity/extras/fixture/test/unity_output_Spy.c +0 -57
  550. data/vendor/c_exception/vendor/unity/extras/fixture/test/unity_output_Spy.h +0 -17
  551. data/vendor/c_exception/vendor/unity/release/build.info +0 -2
  552. data/vendor/c_exception/vendor/unity/release/version.info +0 -2
  553. data/vendor/c_exception/vendor/unity/src/unity.c +0 -1517
  554. data/vendor/c_exception/vendor/unity/src/unity.h +0 -339
  555. data/vendor/c_exception/vendor/unity/src/unity_internals.h +0 -784
  556. data/vendor/c_exception/vendor/unity/test/Makefile +0 -63
  557. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_cmd.c +0 -61
  558. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_def.c +0 -57
  559. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_head1.c +0 -55
  560. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_head1.h +0 -15
  561. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_cmd.c +0 -80
  562. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_def.c +0 -76
  563. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_head1.c +0 -75
  564. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_head1.h +0 -13
  565. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_new1.c +0 -89
  566. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_new2.c +0 -89
  567. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_param.c +0 -77
  568. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_run1.c +0 -89
  569. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_run2.c +0 -89
  570. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_yaml.c +0 -90
  571. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_new1.c +0 -67
  572. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_new2.c +0 -70
  573. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_param.c +0 -58
  574. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_run1.c +0 -67
  575. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_run2.c +0 -70
  576. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_yaml.c +0 -71
  577. data/vendor/c_exception/vendor/unity/test/rakefile +0 -125
  578. data/vendor/c_exception/vendor/unity/test/rakefile_helper.rb +0 -260
  579. data/vendor/c_exception/vendor/unity/test/spec/generate_module_existing_file_spec.rb +0 -158
  580. data/vendor/c_exception/vendor/unity/test/targets/clang_file.yml +0 -78
  581. data/vendor/c_exception/vendor/unity/test/targets/clang_strict.yml +0 -78
  582. data/vendor/c_exception/vendor/unity/test/targets/gcc_32.yml +0 -49
  583. data/vendor/c_exception/vendor/unity/test/targets/gcc_64.yml +0 -50
  584. data/vendor/c_exception/vendor/unity/test/targets/gcc_auto_limits.yml +0 -47
  585. data/vendor/c_exception/vendor/unity/test/targets/gcc_auto_stdint.yml +0 -59
  586. data/vendor/c_exception/vendor/unity/test/targets/gcc_manual_math.yml +0 -47
  587. data/vendor/c_exception/vendor/unity/test/targets/hitech_picc18.yml +0 -101
  588. data/vendor/c_exception/vendor/unity/test/targets/iar_arm_v4.yml +0 -90
  589. data/vendor/c_exception/vendor/unity/test/targets/iar_arm_v5.yml +0 -80
  590. data/vendor/c_exception/vendor/unity/test/targets/iar_arm_v5_3.yml +0 -80
  591. data/vendor/c_exception/vendor/unity/test/targets/iar_armcortex_LM3S9B92_v5_4.yml +0 -94
  592. data/vendor/c_exception/vendor/unity/test/targets/iar_cortexm3_v5.yml +0 -84
  593. data/vendor/c_exception/vendor/unity/test/targets/iar_msp430.yml +0 -95
  594. data/vendor/c_exception/vendor/unity/test/targets/iar_sh2a_v6.yml +0 -86
  595. data/vendor/c_exception/vendor/unity/test/testdata/CException.h +0 -11
  596. data/vendor/c_exception/vendor/unity/test/testdata/Defs.h +0 -8
  597. data/vendor/c_exception/vendor/unity/test/testdata/cmock.h +0 -14
  598. data/vendor/c_exception/vendor/unity/test/testdata/mockMock.h +0 -13
  599. data/vendor/c_exception/vendor/unity/test/testdata/testRunnerGenerator.c +0 -183
  600. data/vendor/c_exception/vendor/unity/test/testdata/testRunnerGeneratorSmall.c +0 -67
  601. data/vendor/c_exception/vendor/unity/test/testdata/testRunnerGeneratorWithMocks.c +0 -192
  602. data/vendor/c_exception/vendor/unity/test/tests/test_generate_test_runner.rb +0 -1252
  603. data/vendor/c_exception/vendor/unity/test/tests/testparameterized.c +0 -110
  604. data/vendor/c_exception/vendor/unity/test/tests/testunity.c +0 -4993
  605. data/vendor/cmock/vendor/c_exception/vendor/unity/README.md +0 -220
  606. data/vendor/cmock/vendor/c_exception/vendor/unity/auto/colour_prompt.rb +0 -118
  607. data/vendor/cmock/vendor/c_exception/vendor/unity/auto/colour_reporter.rb +0 -39
  608. data/vendor/cmock/vendor/c_exception/vendor/unity/auto/generate_config.yml +0 -36
  609. data/vendor/cmock/vendor/c_exception/vendor/unity/auto/generate_module.rb +0 -308
  610. data/vendor/cmock/vendor/c_exception/vendor/unity/auto/generate_test_runner.rb +0 -437
  611. data/vendor/cmock/vendor/c_exception/vendor/unity/auto/parse_output.rb +0 -220
  612. data/vendor/cmock/vendor/c_exception/vendor/unity/auto/stylize_as_junit.rb +0 -252
  613. data/vendor/cmock/vendor/c_exception/vendor/unity/auto/test_file_filter.rb +0 -25
  614. data/vendor/cmock/vendor/c_exception/vendor/unity/auto/type_sanitizer.rb +0 -6
  615. data/vendor/cmock/vendor/c_exception/vendor/unity/auto/unity_test_summary.py +0 -139
  616. data/vendor/cmock/vendor/c_exception/vendor/unity/auto/unity_test_summary.rb +0 -136
  617. data/vendor/cmock/vendor/c_exception/vendor/unity/auto/unity_to_junit.py +0 -146
  618. data/vendor/cmock/vendor/c_exception/vendor/unity/docs/ThrowTheSwitchCodingStandard.md +0 -207
  619. data/vendor/cmock/vendor/c_exception/vendor/unity/docs/UnityAssertionsCheatSheetSuitableforPrintingandPossiblyFraming.pdf +0 -0
  620. data/vendor/cmock/vendor/c_exception/vendor/unity/docs/UnityAssertionsReference.md +0 -716
  621. data/vendor/cmock/vendor/c_exception/vendor/unity/docs/UnityConfigurationGuide.md +0 -398
  622. data/vendor/cmock/vendor/c_exception/vendor/unity/docs/UnityGettingStartedGuide.md +0 -191
  623. data/vendor/cmock/vendor/c_exception/vendor/unity/docs/UnityHelperScriptsGuide.md +0 -242
  624. data/vendor/cmock/vendor/c_exception/vendor/unity/docs/license.txt +0 -21
  625. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_1/makefile +0 -71
  626. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_1/readme.txt +0 -5
  627. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_1/src/ProductionCode.c +0 -24
  628. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_1/src/ProductionCode.h +0 -3
  629. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_1/src/ProductionCode2.c +0 -11
  630. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_1/src/ProductionCode2.h +0 -2
  631. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_1/test/TestProductionCode.c +0 -62
  632. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_1/test/TestProductionCode2.c +0 -31
  633. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_1/test/test_runners/TestProductionCode2_Runner.c +0 -53
  634. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_1/test/test_runners/TestProductionCode_Runner.c +0 -57
  635. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_2/makefile +0 -70
  636. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_2/readme.txt +0 -5
  637. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_2/src/ProductionCode.c +0 -24
  638. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_2/src/ProductionCode.h +0 -3
  639. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_2/src/ProductionCode2.c +0 -11
  640. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_2/src/ProductionCode2.h +0 -2
  641. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_2/test/TestProductionCode.c +0 -64
  642. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_2/test/TestProductionCode2.c +0 -33
  643. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_2/test/test_runners/TestProductionCode2_Runner.c +0 -9
  644. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_2/test/test_runners/TestProductionCode_Runner.c +0 -11
  645. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_2/test/test_runners/all_tests.c +0 -12
  646. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_3/helper/UnityHelper.c +0 -10
  647. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_3/helper/UnityHelper.h +0 -12
  648. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_3/rakefile.rb +0 -43
  649. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_3/rakefile_helper.rb +0 -249
  650. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_3/readme.txt +0 -13
  651. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_3/src/ProductionCode.c +0 -24
  652. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_3/src/ProductionCode.h +0 -3
  653. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_3/src/ProductionCode2.c +0 -11
  654. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_3/src/ProductionCode2.h +0 -2
  655. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_3/target_gcc_32.yml +0 -46
  656. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_3/test/TestProductionCode.c +0 -62
  657. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_3/test/TestProductionCode2.c +0 -31
  658. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/unity_config.h +0 -237
  659. data/vendor/cmock/vendor/c_exception/vendor/unity/extras/eclipse/error_parsers.txt +0 -26
  660. data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/rakefile.rb +0 -48
  661. data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/rakefile_helper.rb +0 -178
  662. data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/readme.txt +0 -9
  663. data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture.c +0 -432
  664. data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture.h +0 -83
  665. data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture_internals.h +0 -51
  666. data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture_malloc_overrides.h +0 -47
  667. data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/test/Makefile +0 -74
  668. data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/test/main/AllTests.c +0 -22
  669. data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/test/template_fixture_tests.c +0 -39
  670. data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/test/unity_fixture_Test.c +0 -543
  671. data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/test/unity_fixture_TestRunner.c +0 -57
  672. data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/test/unity_output_Spy.c +0 -57
  673. data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/test/unity_output_Spy.h +0 -17
  674. data/vendor/cmock/vendor/c_exception/vendor/unity/release/build.info +0 -2
  675. data/vendor/cmock/vendor/c_exception/vendor/unity/release/version.info +0 -2
  676. data/vendor/cmock/vendor/c_exception/vendor/unity/src/unity.c +0 -1517
  677. data/vendor/cmock/vendor/c_exception/vendor/unity/src/unity.h +0 -339
  678. data/vendor/cmock/vendor/c_exception/vendor/unity/src/unity_internals.h +0 -784
  679. data/vendor/cmock/vendor/c_exception/vendor/unity/test/Makefile +0 -63
  680. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_cmd.c +0 -61
  681. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_def.c +0 -57
  682. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_head1.c +0 -55
  683. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_head1.h +0 -15
  684. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_cmd.c +0 -80
  685. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_def.c +0 -76
  686. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_head1.c +0 -75
  687. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_head1.h +0 -13
  688. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_new1.c +0 -89
  689. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_new2.c +0 -89
  690. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_param.c +0 -77
  691. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_run1.c +0 -89
  692. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_run2.c +0 -89
  693. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_yaml.c +0 -90
  694. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_new1.c +0 -67
  695. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_new2.c +0 -70
  696. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_param.c +0 -58
  697. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_run1.c +0 -67
  698. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_run2.c +0 -70
  699. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_yaml.c +0 -71
  700. data/vendor/cmock/vendor/c_exception/vendor/unity/test/rakefile +0 -125
  701. data/vendor/cmock/vendor/c_exception/vendor/unity/test/rakefile_helper.rb +0 -260
  702. data/vendor/cmock/vendor/c_exception/vendor/unity/test/spec/generate_module_existing_file_spec.rb +0 -158
  703. data/vendor/cmock/vendor/c_exception/vendor/unity/test/targets/clang_file.yml +0 -78
  704. data/vendor/cmock/vendor/c_exception/vendor/unity/test/targets/clang_strict.yml +0 -78
  705. data/vendor/cmock/vendor/c_exception/vendor/unity/test/targets/gcc_32.yml +0 -49
  706. data/vendor/cmock/vendor/c_exception/vendor/unity/test/targets/gcc_64.yml +0 -50
  707. data/vendor/cmock/vendor/c_exception/vendor/unity/test/targets/gcc_auto_limits.yml +0 -47
  708. data/vendor/cmock/vendor/c_exception/vendor/unity/test/targets/gcc_auto_stdint.yml +0 -59
  709. data/vendor/cmock/vendor/c_exception/vendor/unity/test/targets/gcc_manual_math.yml +0 -47
  710. data/vendor/cmock/vendor/c_exception/vendor/unity/test/targets/hitech_picc18.yml +0 -101
  711. data/vendor/cmock/vendor/c_exception/vendor/unity/test/targets/iar_arm_v4.yml +0 -90
  712. data/vendor/cmock/vendor/c_exception/vendor/unity/test/targets/iar_arm_v5.yml +0 -80
  713. data/vendor/cmock/vendor/c_exception/vendor/unity/test/targets/iar_arm_v5_3.yml +0 -80
  714. data/vendor/cmock/vendor/c_exception/vendor/unity/test/targets/iar_armcortex_LM3S9B92_v5_4.yml +0 -94
  715. data/vendor/cmock/vendor/c_exception/vendor/unity/test/targets/iar_cortexm3_v5.yml +0 -84
  716. data/vendor/cmock/vendor/c_exception/vendor/unity/test/targets/iar_msp430.yml +0 -95
  717. data/vendor/cmock/vendor/c_exception/vendor/unity/test/targets/iar_sh2a_v6.yml +0 -86
  718. data/vendor/cmock/vendor/c_exception/vendor/unity/test/testdata/CException.h +0 -11
  719. data/vendor/cmock/vendor/c_exception/vendor/unity/test/testdata/Defs.h +0 -8
  720. data/vendor/cmock/vendor/c_exception/vendor/unity/test/testdata/cmock.h +0 -14
  721. data/vendor/cmock/vendor/c_exception/vendor/unity/test/testdata/mockMock.h +0 -13
  722. data/vendor/cmock/vendor/c_exception/vendor/unity/test/testdata/testRunnerGenerator.c +0 -183
  723. data/vendor/cmock/vendor/c_exception/vendor/unity/test/testdata/testRunnerGeneratorSmall.c +0 -67
  724. data/vendor/cmock/vendor/c_exception/vendor/unity/test/testdata/testRunnerGeneratorWithMocks.c +0 -192
  725. data/vendor/cmock/vendor/c_exception/vendor/unity/test/tests/test_generate_test_runner.rb +0 -1252
  726. data/vendor/cmock/vendor/c_exception/vendor/unity/test/tests/testparameterized.c +0 -110
  727. data/vendor/cmock/vendor/c_exception/vendor/unity/test/tests/testunity.c +0 -4993
  728. data/vendor/deep_merge/MIT-LICENSE +0 -20
  729. data/vendor/deep_merge/README +0 -94
  730. data/vendor/deep_merge/Rakefile +0 -28
  731. data/vendor/deep_merge/lib/deep_merge.rb +0 -211
  732. data/vendor/deep_merge/pkg/deep_merge-0.1.0.gem +0 -0
  733. data/vendor/deep_merge/test/test_deep_merge.rb +0 -553
@@ -1,36 +0,0 @@
1
- #this is a sample configuration file for generate_module
2
- #you would use it by calling generate_module with the -ygenerate_config.yml option
3
- #files like this are useful for customizing generate_module to your environment
4
- :generate_module:
5
- :defaults:
6
- #these defaults are used in place of any missing options at the command line
7
- :path_src: ../src/
8
- :path_inc: ../src/
9
- :path_tst: ../test/
10
- :update_svn: true
11
- :includes:
12
- #use [] for no additional includes, otherwise list the includes on separate lines
13
- :src:
14
- - Defs.h
15
- - Board.h
16
- :inc: []
17
- :tst:
18
- - Defs.h
19
- - Board.h
20
- - Exception.h
21
- :boilerplates:
22
- #these are inserted at the top of generated files.
23
- #just comment out or remove if not desired.
24
- #use %1$s where you would like the file name to appear (path/extension not included)
25
- :src: |
26
- //-------------------------------------------
27
- // %1$s.c
28
- //-------------------------------------------
29
- :inc: |
30
- //-------------------------------------------
31
- // %1$s.h
32
- //-------------------------------------------
33
- :tst: |
34
- //-------------------------------------------
35
- // Test%1$s.c : Units tests for %1$s.c
36
- //-------------------------------------------
@@ -1,308 +0,0 @@
1
- # ==========================================
2
- # Unity Project - A Test Framework for C
3
- # Copyright (c) 2007 Mike Karlesky, Mark VanderVoord, Greg Williams
4
- # [Released under MIT License. Please refer to license.txt for details]
5
- # ==========================================
6
-
7
- # This script creates all the files with start code necessary for a new module.
8
- # A simple module only requires a source file, header file, and test file.
9
- # Triad modules require a source, header, and test file for each triad type (like model, conductor, and hardware).
10
-
11
- require 'rubygems'
12
- require 'fileutils'
13
- require 'pathname'
14
-
15
- # TEMPLATE_TST
16
- TEMPLATE_TST ||= '#include "unity.h"
17
- %2$s#include "%1$s.h"
18
-
19
- void setUp(void)
20
- {
21
- }
22
-
23
- void tearDown(void)
24
- {
25
- }
26
-
27
- void test_%1$s_NeedToImplement(void)
28
- {
29
- TEST_IGNORE_MESSAGE("Need to Implement %1$s");
30
- }
31
- '.freeze
32
-
33
- # TEMPLATE_SRC
34
- TEMPLATE_SRC ||= '%2$s#include "%1$s.h"
35
- '.freeze
36
-
37
- # TEMPLATE_INC
38
- TEMPLATE_INC ||= '#ifndef _%3$s_H
39
- #define _%3$s_H
40
- %2$s
41
-
42
- #endif // _%3$s_H
43
- '.freeze
44
-
45
- class UnityModuleGenerator
46
- ############################
47
- def initialize(options = nil)
48
- here = File.expand_path(File.dirname(__FILE__)) + '/'
49
-
50
- @options = UnityModuleGenerator.default_options
51
- case options
52
- when NilClass then @options
53
- when String then @options.merge!(UnityModuleGenerator.grab_config(options))
54
- when Hash then @options.merge!(options)
55
- else raise 'If you specify arguments, it should be a filename or a hash of options'
56
- end
57
-
58
- # Create default file paths if none were provided
59
- @options[:path_src] = here + '../src/' if @options[:path_src].nil?
60
- @options[:path_inc] = @options[:path_src] if @options[:path_inc].nil?
61
- @options[:path_tst] = here + '../test/' if @options[:path_tst].nil?
62
- @options[:path_src] += '/' unless @options[:path_src][-1] == 47
63
- @options[:path_inc] += '/' unless @options[:path_inc][-1] == 47
64
- @options[:path_tst] += '/' unless @options[:path_tst][-1] == 47
65
-
66
- # Built in patterns
67
- @patterns = {
68
- 'src' => {
69
- '' => { inc: [] }
70
- },
71
- 'test' => {
72
- '' => { inc: [] }
73
- },
74
- 'dh' => {
75
- 'Driver' => { inc: [create_filename('%1$s', 'Hardware.h')] },
76
- 'Hardware' => { inc: [] }
77
- },
78
- 'dih' => {
79
- 'Driver' => { inc: [create_filename('%1$s', 'Hardware.h'), create_filename('%1$s', 'Interrupt.h')] },
80
- 'Interrupt' => { inc: [create_filename('%1$s', 'Hardware.h')] },
81
- 'Hardware' => { inc: [] }
82
- },
83
- 'mch' => {
84
- 'Model' => { inc: [] },
85
- 'Conductor' => { inc: [create_filename('%1$s', 'Model.h'), create_filename('%1$s', 'Hardware.h')] },
86
- 'Hardware' => { inc: [] }
87
- },
88
- 'mvp' => {
89
- 'Model' => { inc: [] },
90
- 'Presenter' => { inc: [create_filename('%1$s', 'Model.h'), create_filename('%1$s', 'View.h')] },
91
- 'View' => { inc: [] }
92
- }
93
- }
94
- end
95
-
96
- ############################
97
- def self.default_options
98
- {
99
- pattern: 'src',
100
- includes: {
101
- src: [],
102
- inc: [],
103
- tst: []
104
- },
105
- update_svn: false,
106
- boilerplates: {},
107
- test_prefix: 'Test',
108
- mock_prefix: 'Mock'
109
- }
110
- end
111
-
112
- ############################
113
- def self.grab_config(config_file)
114
- options = default_options
115
- unless config_file.nil? || config_file.empty?
116
- require 'yaml'
117
- yaml_guts = YAML.load_file(config_file)
118
- options.merge!(yaml_guts[:unity] || yaml_guts[:cmock])
119
- raise "No :unity or :cmock section found in #{config_file}" unless options
120
- end
121
- options
122
- end
123
-
124
- ############################
125
- def files_to_operate_on(module_name, pattern = nil)
126
- # strip any leading path information from the module name and save for later
127
- subfolder = File.dirname(module_name)
128
- module_name = File.basename(module_name)
129
-
130
- # create triad definition
131
- prefix = @options[:test_prefix] || 'Test'
132
- triad = [{ ext: '.c', path: @options[:path_src], prefix: '', template: TEMPLATE_SRC, inc: :src, boilerplate: @options[:boilerplates][:src] },
133
- { ext: '.h', path: @options[:path_inc], prefix: '', template: TEMPLATE_INC, inc: :inc, boilerplate: @options[:boilerplates][:inc] },
134
- { ext: '.c', path: @options[:path_tst], prefix: prefix, template: TEMPLATE_TST, inc: :tst, boilerplate: @options[:boilerplates][:tst] }]
135
-
136
- # prepare the pattern for use
137
- pattern = (pattern || @options[:pattern] || 'src').downcase
138
- patterns = @patterns[pattern]
139
- raise "ERROR: The design pattern '#{pattern}' specified isn't one that I recognize!" if patterns.nil?
140
-
141
- # single file patterns (currently just 'test') can reject the other parts of the triad
142
- triad.select! { |v| v[:inc] == :tst } if pattern == 'test'
143
-
144
- # Assemble the path/names of the files we need to work with.
145
- files = []
146
- triad.each do |cfg|
147
- patterns.each_pair do |pattern_file, pattern_traits|
148
- submodule_name = create_filename(module_name, pattern_file)
149
- filename = cfg[:prefix] + submodule_name + cfg[:ext]
150
- files << {
151
- path: (Pathname.new("#{cfg[:path]}#{subfolder}") + filename).cleanpath,
152
- name: submodule_name,
153
- template: cfg[:template],
154
- boilerplate: cfg[:boilerplate],
155
- includes: case (cfg[:inc])
156
- when :src then (@options[:includes][:src] || []) | (pattern_traits[:inc].map { |f| format(f, module_name) })
157
- when :inc then (@options[:includes][:inc] || [])
158
- when :tst then (@options[:includes][:tst] || []) | (pattern_traits[:inc].map { |f| format("#{@options[:mock_prefix]}#{f}", module_name) })
159
- end
160
- }
161
- end
162
- end
163
-
164
- files
165
- end
166
-
167
- ############################
168
- def create_filename(part1, part2 = '')
169
- if part2.empty?
170
- case (@options[:naming])
171
- when 'bumpy' then part1
172
- when 'camel' then part1
173
- when 'snake' then part1.downcase
174
- when 'caps' then part1.upcase
175
- else part1.downcase
176
- end
177
- else
178
- case (@options[:naming])
179
- when 'bumpy' then part1 + part2
180
- when 'camel' then part1 + part2
181
- when 'snake' then part1.downcase + '_' + part2.downcase
182
- when 'caps' then part1.upcase + '_' + part2.upcase
183
- else part1.downcase + '_' + part2.downcase
184
- end
185
- end
186
- end
187
-
188
- ############################
189
- def generate(module_name, pattern = nil)
190
- files = files_to_operate_on(module_name, pattern)
191
-
192
- # Abort if all of the module files already exist
193
- all_files_exist = true
194
- files.each do |file|
195
- all_files_exist = false unless File.exist?(file[:path])
196
- end
197
- raise "ERROR: File #{files[0][:name]} already exists. Exiting." if all_files_exist
198
-
199
- # Create Source Modules
200
- files.each_with_index do |file, _i|
201
- # If this file already exists, don't overwrite it.
202
- if File.exist?(file[:path])
203
- puts "File #{file[:path]} already exists!"
204
- next
205
- end
206
- # Create the path first if necessary.
207
- FileUtils.mkdir_p(File.dirname(file[:path]), verbose: false)
208
- File.open(file[:path], 'w') do |f|
209
- f.write("#{file[:boilerplate]}\n" % [file[:name]]) unless file[:boilerplate].nil?
210
- f.write(file[:template] % [file[:name],
211
- file[:includes].map { |ff| "#include \"#{ff}\"\n" }.join,
212
- file[:name].upcase])
213
- end
214
- if @options[:update_svn]
215
- `svn add \"#{file[:path]}\"`
216
- if $!.exitstatus.zero?
217
- puts "File #{file[:path]} created and added to source control"
218
- else
219
- puts "File #{file[:path]} created but FAILED adding to source control!"
220
- end
221
- else
222
- puts "File #{file[:path]} created"
223
- end
224
- end
225
- puts 'Generate Complete'
226
- end
227
-
228
- ############################
229
- def destroy(module_name, pattern = nil)
230
- files_to_operate_on(module_name, pattern).each do |filespec|
231
- file = filespec[:path]
232
- if File.exist?(file)
233
- if @options[:update_svn]
234
- `svn delete \"#{file}\" --force`
235
- puts "File #{file} deleted and removed from source control"
236
- else
237
- FileUtils.remove(file)
238
- puts "File #{file} deleted"
239
- end
240
- else
241
- puts "File #{file} does not exist so cannot be removed."
242
- end
243
- end
244
- puts 'Destroy Complete'
245
- end
246
- end
247
-
248
- ############################
249
- # Handle As Command Line If Called That Way
250
- if $0 == __FILE__
251
- destroy = false
252
- options = {}
253
- module_name = nil
254
-
255
- # Parse the command line parameters.
256
- ARGV.each do |arg|
257
- case arg
258
- when /^-d/ then destroy = true
259
- when /^-u/ then options[:update_svn] = true
260
- when /^-p\"?(\w+)\"?/ then options[:pattern] = Regexp.last_match(1)
261
- when /^-s\"?(.+)\"?/ then options[:path_src] = Regexp.last_match(1)
262
- when /^-i\"?(.+)\"?/ then options[:path_inc] = Regexp.last_match(1)
263
- when /^-t\"?(.+)\"?/ then options[:path_tst] = Regexp.last_match(1)
264
- when /^-n\"?(.+)\"?/ then options[:naming] = Regexp.last_match(1)
265
- when /^-y\"?(.+)\"?/ then options = UnityModuleGenerator.grab_config(Regexp.last_match(1))
266
- when /^(\w+)/
267
- raise "ERROR: You can't have more than one Module name specified!" unless module_name.nil?
268
- module_name = arg
269
- when /^-(h|-help)/
270
- ARGV = [].freeze
271
- else
272
- raise "ERROR: Unknown option specified '#{arg}'"
273
- end
274
- end
275
-
276
- unless ARGV[0]
277
- puts ["\nGENERATE MODULE\n-------- ------",
278
- "\nUsage: ruby generate_module [options] module_name",
279
- " -i\"include\" sets the path to output headers to 'include' (DEFAULT ../src)",
280
- " -s\"../src\" sets the path to output source to '../src' (DEFAULT ../src)",
281
- " -t\"C:/test\" sets the path to output source to 'C:/test' (DEFAULT ../test)",
282
- ' -p"MCH" sets the output pattern to MCH.',
283
- ' dh - driver hardware.',
284
- ' dih - driver interrupt hardware.',
285
- ' mch - model conductor hardware.',
286
- ' mvp - model view presenter.',
287
- ' src - just a source module, header and test. (DEFAULT)',
288
- ' test - just a test file.',
289
- ' -d destroy module instead of creating it.',
290
- ' -n"camel" sets the file naming convention.',
291
- ' bumpy - BumpyCaseFilenames.',
292
- ' camel - camelCaseFilenames.',
293
- ' snake - snake_case_filenames. (DEFAULT)',
294
- ' caps - CAPS_CASE_FILENAMES.',
295
- ' -u update subversion too (requires subversion command line)',
296
- ' -y"my.yml" selects a different yaml config file for module generation',
297
- ''].join("\n")
298
- exit
299
- end
300
-
301
- raise 'ERROR: You must have a Module name specified! (use option -h for help)' if module_name.nil?
302
- if destroy
303
- UnityModuleGenerator.new(options).destroy(module_name)
304
- else
305
- UnityModuleGenerator.new(options).generate(module_name)
306
- end
307
-
308
- end
@@ -1,437 +0,0 @@
1
- # ==========================================
2
- # Unity Project - A Test Framework for C
3
- # Copyright (c) 2007 Mike Karlesky, Mark VanderVoord, Greg Williams
4
- # [Released under MIT License. Please refer to license.txt for details]
5
- # ==========================================
6
-
7
- File.expand_path(File.join(File.dirname(__FILE__), 'colour_prompt'))
8
-
9
- class UnityTestRunnerGenerator
10
- def initialize(options = nil)
11
- @options = UnityTestRunnerGenerator.default_options
12
- case options
13
- when NilClass then @options
14
- when String then @options.merge!(UnityTestRunnerGenerator.grab_config(options))
15
- when Hash then @options.merge!(options)
16
- else raise 'If you specify arguments, it should be a filename or a hash of options'
17
- end
18
- require "#{File.expand_path(File.dirname(__FILE__))}/type_sanitizer"
19
- end
20
-
21
- def self.default_options
22
- {
23
- includes: [],
24
- defines: [],
25
- plugins: [],
26
- framework: :unity,
27
- test_prefix: 'test|spec|should',
28
- mock_prefix: 'Mock',
29
- setup_name: 'setUp',
30
- teardown_name: 'tearDown',
31
- main_name: 'main', # set to :auto to automatically generate each time
32
- main_export_decl: '',
33
- cmdline_args: false,
34
- use_param_tests: false
35
- }
36
- end
37
-
38
- def self.grab_config(config_file)
39
- options = default_options
40
- unless config_file.nil? || config_file.empty?
41
- require 'yaml'
42
- yaml_guts = YAML.load_file(config_file)
43
- options.merge!(yaml_guts[:unity] || yaml_guts[:cmock])
44
- raise "No :unity or :cmock section found in #{config_file}" unless options
45
- end
46
- options
47
- end
48
-
49
- def run(input_file, output_file, options = nil)
50
- @options.merge!(options) unless options.nil?
51
-
52
- # pull required data from source file
53
- source = File.read(input_file)
54
- source = source.force_encoding('ISO-8859-1').encode('utf-8', replace: nil)
55
- tests = find_tests(source)
56
- headers = find_includes(source)
57
- testfile_includes = (headers[:local] + headers[:system])
58
- used_mocks = find_mocks(testfile_includes)
59
- testfile_includes = (testfile_includes - used_mocks)
60
- testfile_includes.delete_if { |inc| inc =~ /(unity|cmock)/ }
61
-
62
- # build runner file
63
- generate(input_file, output_file, tests, used_mocks, testfile_includes)
64
-
65
- # determine which files were used to return them
66
- all_files_used = [input_file, output_file]
67
- all_files_used += testfile_includes.map { |filename| filename + '.c' } unless testfile_includes.empty?
68
- all_files_used += @options[:includes] unless @options[:includes].empty?
69
- all_files_used += headers[:linkonly] unless headers[:linkonly].empty?
70
- all_files_used.uniq
71
- end
72
-
73
- def generate(input_file, output_file, tests, used_mocks, testfile_includes)
74
- File.open(output_file, 'w') do |output|
75
- create_header(output, used_mocks, testfile_includes)
76
- create_externs(output, tests, used_mocks)
77
- create_mock_management(output, used_mocks)
78
- create_suite_setup(output)
79
- create_suite_teardown(output)
80
- create_reset(output, used_mocks)
81
- create_main(output, input_file, tests, used_mocks)
82
- end
83
-
84
- return unless @options[:header_file] && !@options[:header_file].empty?
85
-
86
- File.open(@options[:header_file], 'w') do |output|
87
- create_h_file(output, @options[:header_file], tests, testfile_includes, used_mocks)
88
- end
89
- end
90
-
91
- def find_tests(source)
92
- tests_and_line_numbers = []
93
-
94
- source_scrubbed = source.clone
95
- source_scrubbed = source_scrubbed.gsub(/"[^"\n]*"/, '') # remove things in strings
96
- source_scrubbed = source_scrubbed.gsub(/\/\/.*$/, '') # remove line comments
97
- source_scrubbed = source_scrubbed.gsub(/\/\*.*?\*\//m, '') # remove block comments
98
- lines = source_scrubbed.split(/(^\s*\#.*$) # Treat preprocessor directives as a logical line
99
- | (;|\{|\}) /x) # Match ;, {, and } as end of lines
100
-
101
- lines.each_with_index do |line, _index|
102
- # find tests
103
- next unless line =~ /^((?:\s*TEST_CASE\s*\(.*?\)\s*)*)\s*void\s+((?:#{@options[:test_prefix]}).*)\s*\(\s*(.*)\s*\)/
104
- arguments = Regexp.last_match(1)
105
- name = Regexp.last_match(2)
106
- call = Regexp.last_match(3)
107
- params = Regexp.last_match(4)
108
- args = nil
109
- if @options[:use_param_tests] && !arguments.empty?
110
- args = []
111
- arguments.scan(/\s*TEST_CASE\s*\((.*)\)\s*$/) { |a| args << a[0] }
112
- end
113
- tests_and_line_numbers << { test: name, args: args, call: call, params: params, line_number: 0 }
114
- end
115
- tests_and_line_numbers.uniq! { |v| v[:test] }
116
-
117
- # determine line numbers and create tests to run
118
- source_lines = source.split("\n")
119
- source_index = 0
120
- tests_and_line_numbers.size.times do |i|
121
- source_lines[source_index..-1].each_with_index do |line, index|
122
- next unless line =~ /#{tests_and_line_numbers[i][:test]}/
123
- source_index += index
124
- tests_and_line_numbers[i][:line_number] = source_index + 1
125
- break
126
- end
127
- end
128
-
129
- tests_and_line_numbers
130
- end
131
-
132
- def find_includes(source)
133
- # remove comments (block and line, in three steps to ensure correct precedence)
134
- source.gsub!(/\/\/(?:.+\/\*|\*(?:$|[^\/])).*$/, '') # remove line comments that comment out the start of blocks
135
- source.gsub!(/\/\*.*?\*\//m, '') # remove block comments
136
- source.gsub!(/\/\/.*$/, '') # remove line comments (all that remain)
137
-
138
- # parse out includes
139
- includes = {
140
- local: source.scan(/^\s*#include\s+\"\s*(.+)\.[hH]\s*\"/).flatten,
141
- system: source.scan(/^\s*#include\s+<\s*(.+)\s*>/).flatten.map { |inc| "<#{inc}>" },
142
- linkonly: source.scan(/^TEST_FILE\(\s*\"\s*(.+)\.[cC]\w*\s*\"/).flatten
143
- }
144
- includes
145
- end
146
-
147
- def find_mocks(includes)
148
- mock_headers = []
149
- includes.each do |include_path|
150
- include_file = File.basename(include_path)
151
- mock_headers << include_path if include_file =~ /^#{@options[:mock_prefix]}/i
152
- end
153
- mock_headers
154
- end
155
-
156
- def create_header(output, mocks, testfile_includes = [])
157
- output.puts('/* AUTOGENERATED FILE. DO NOT EDIT. */')
158
- create_runtest(output, mocks)
159
- output.puts("\n/*=======Automagically Detected Files To Include=====*/")
160
- output.puts("#include \"#{@options[:framework]}.h\"")
161
- output.puts('#include "cmock.h"') unless mocks.empty?
162
- output.puts('#include <setjmp.h>')
163
- output.puts('#include <stdio.h>')
164
- if @options[:defines] && !@options[:defines].empty?
165
- @options[:defines].each { |d| output.puts("#define #{d}") }
166
- end
167
- if @options[:header_file] && !@options[:header_file].empty?
168
- output.puts("#include \"#{File.basename(@options[:header_file])}\"")
169
- else
170
- @options[:includes].flatten.uniq.compact.each do |inc|
171
- output.puts("#include #{inc.include?('<') ? inc : "\"#{inc.gsub('.h', '')}.h\""}")
172
- end
173
- testfile_includes.each do |inc|
174
- output.puts("#include #{inc.include?('<') ? inc : "\"#{inc.gsub('.h', '')}.h\""}")
175
- end
176
- end
177
- mocks.each do |mock|
178
- output.puts("#include \"#{mock.gsub('.h', '')}.h\"")
179
- end
180
- output.puts('#include "CException.h"') if @options[:plugins].include?(:cexception)
181
-
182
- return unless @options[:enforce_strict_ordering]
183
-
184
- output.puts('')
185
- output.puts('int GlobalExpectCount;')
186
- output.puts('int GlobalVerifyOrder;')
187
- output.puts('char* GlobalOrderError;')
188
- end
189
-
190
- def create_externs(output, tests, _mocks)
191
- output.puts("\n/*=======External Functions This Runner Calls=====*/")
192
- output.puts("extern void #{@options[:setup_name]}(void);")
193
- output.puts("extern void #{@options[:teardown_name]}(void);")
194
- tests.each do |test|
195
- output.puts("extern void #{test[:test]}(#{test[:call] || 'void'});")
196
- end
197
- output.puts('')
198
- end
199
-
200
- def create_mock_management(output, mock_headers)
201
- return if mock_headers.empty?
202
-
203
- output.puts("\n/*=======Mock Management=====*/")
204
- output.puts('static void CMock_Init(void)')
205
- output.puts('{')
206
-
207
- if @options[:enforce_strict_ordering]
208
- output.puts(' GlobalExpectCount = 0;')
209
- output.puts(' GlobalVerifyOrder = 0;')
210
- output.puts(' GlobalOrderError = NULL;')
211
- end
212
-
213
- mocks = mock_headers.map { |mock| File.basename(mock) }
214
- mocks.each do |mock|
215
- mock_clean = TypeSanitizer.sanitize_c_identifier(mock)
216
- output.puts(" #{mock_clean}_Init();")
217
- end
218
- output.puts("}\n")
219
-
220
- output.puts('static void CMock_Verify(void)')
221
- output.puts('{')
222
- mocks.each do |mock|
223
- mock_clean = TypeSanitizer.sanitize_c_identifier(mock)
224
- output.puts(" #{mock_clean}_Verify();")
225
- end
226
- output.puts("}\n")
227
-
228
- output.puts('static void CMock_Destroy(void)')
229
- output.puts('{')
230
- mocks.each do |mock|
231
- mock_clean = TypeSanitizer.sanitize_c_identifier(mock)
232
- output.puts(" #{mock_clean}_Destroy();")
233
- end
234
- output.puts("}\n")
235
- end
236
-
237
- def create_suite_setup(output)
238
- return if @options[:suite_setup].nil?
239
-
240
- output.puts("\n/*=======Suite Setup=====*/")
241
- output.puts('static void suite_setup(void)')
242
- output.puts('{')
243
- output.puts(@options[:suite_setup])
244
- output.puts('}')
245
- end
246
-
247
- def create_suite_teardown(output)
248
- return if @options[:suite_teardown].nil?
249
-
250
- output.puts("\n/*=======Suite Teardown=====*/")
251
- output.puts('static int suite_teardown(int num_failures)')
252
- output.puts('{')
253
- output.puts(@options[:suite_teardown])
254
- output.puts('}')
255
- end
256
-
257
- def create_runtest(output, used_mocks)
258
- cexception = @options[:plugins].include? :cexception
259
- va_args1 = @options[:use_param_tests] ? ', ...' : ''
260
- va_args2 = @options[:use_param_tests] ? '__VA_ARGS__' : ''
261
- output.puts("\n/*=======Test Runner Used To Run Each Test Below=====*/")
262
- output.puts('#define RUN_TEST_NO_ARGS') if @options[:use_param_tests]
263
- output.puts("#define RUN_TEST(TestFunc, TestLineNum#{va_args1}) \\")
264
- output.puts('{ \\')
265
- output.puts(" Unity.CurrentTestName = #TestFunc#{va_args2.empty? ? '' : " \"(\" ##{va_args2} \")\""}; \\")
266
- output.puts(' Unity.CurrentTestLineNumber = TestLineNum; \\')
267
- output.puts(' if (UnityTestMatches()) { \\') if @options[:cmdline_args]
268
- output.puts(' Unity.NumberOfTests++; \\')
269
- output.puts(' CMock_Init(); \\') unless used_mocks.empty?
270
- output.puts(' UNITY_CLR_DETAILS(); \\') unless used_mocks.empty?
271
- output.puts(' if (TEST_PROTECT()) \\')
272
- output.puts(' { \\')
273
- output.puts(' CEXCEPTION_T e; \\') if cexception
274
- output.puts(' Try { \\') if cexception
275
- output.puts(" #{@options[:setup_name]}(); \\")
276
- output.puts(" TestFunc(#{va_args2}); \\")
277
- output.puts(' } Catch(e) { TEST_ASSERT_EQUAL_HEX32_MESSAGE(CEXCEPTION_NONE, e, "Unhandled Exception!"); } \\') if cexception
278
- output.puts(' } \\')
279
- output.puts(' if (TEST_PROTECT()) \\')
280
- output.puts(' { \\')
281
- output.puts(" #{@options[:teardown_name]}(); \\")
282
- output.puts(' CMock_Verify(); \\') unless used_mocks.empty?
283
- output.puts(' } \\')
284
- output.puts(' CMock_Destroy(); \\') unless used_mocks.empty?
285
- output.puts(' UnityConcludeTest(); \\')
286
- output.puts(' } \\') if @options[:cmdline_args]
287
- output.puts("}\n")
288
- end
289
-
290
- def create_reset(output, used_mocks)
291
- output.puts("\n/*=======Test Reset Option=====*/")
292
- output.puts('void resetTest(void);')
293
- output.puts('void resetTest(void)')
294
- output.puts('{')
295
- output.puts(' CMock_Verify();') unless used_mocks.empty?
296
- output.puts(' CMock_Destroy();') unless used_mocks.empty?
297
- output.puts(" #{@options[:teardown_name]}();")
298
- output.puts(' CMock_Init();') unless used_mocks.empty?
299
- output.puts(" #{@options[:setup_name]}();")
300
- output.puts('}')
301
- end
302
-
303
- def create_main(output, filename, tests, used_mocks)
304
- output.puts("\n\n/*=======MAIN=====*/")
305
- main_name = @options[:main_name].to_sym == :auto ? "main_#{filename.gsub('.c', '')}" : (@options[:main_name]).to_s
306
- if @options[:cmdline_args]
307
- if main_name != 'main'
308
- output.puts("#{@options[:main_export_decl]} int #{main_name}(int argc, char** argv);")
309
- end
310
- output.puts("#{@options[:main_export_decl]} int #{main_name}(int argc, char** argv)")
311
- output.puts('{')
312
- output.puts(' int parse_status = UnityParseOptions(argc, argv);')
313
- output.puts(' if (parse_status != 0)')
314
- output.puts(' {')
315
- output.puts(' if (parse_status < 0)')
316
- output.puts(' {')
317
- output.puts(" UnityPrint(\"#{filename.gsub('.c', '')}.\");")
318
- output.puts(' UNITY_PRINT_EOL();')
319
- if @options[:use_param_tests]
320
- tests.each do |test|
321
- if test[:args].nil? || test[:args].empty?
322
- output.puts(" UnityPrint(\" #{test[:test]}(RUN_TEST_NO_ARGS)\");")
323
- output.puts(' UNITY_PRINT_EOL();')
324
- else
325
- test[:args].each do |args|
326
- output.puts(" UnityPrint(\" #{test[:test]}(#{args})\");")
327
- output.puts(' UNITY_PRINT_EOL();')
328
- end
329
- end
330
- end
331
- else
332
- tests.each { |test| output.puts(" UnityPrint(\" #{test[:test]}\");\n UNITY_PRINT_EOL();") }
333
- end
334
- output.puts(' return 0;')
335
- output.puts(' }')
336
- output.puts(' return parse_status;')
337
- output.puts(' }')
338
- else
339
- if main_name != 'main'
340
- output.puts("#{@options[:main_export_decl]} int #{main_name}(void);")
341
- end
342
- output.puts("int #{main_name}(void)")
343
- output.puts('{')
344
- end
345
- output.puts(' suite_setup();') unless @options[:suite_setup].nil?
346
- output.puts(" UnityBegin(\"#{filename.gsub(/\\/, '\\\\\\')}\");")
347
- if @options[:use_param_tests]
348
- tests.each do |test|
349
- if test[:args].nil? || test[:args].empty?
350
- output.puts(" RUN_TEST(#{test[:test]}, #{test[:line_number]}, RUN_TEST_NO_ARGS);")
351
- else
352
- test[:args].each { |args| output.puts(" RUN_TEST(#{test[:test]}, #{test[:line_number]}, #{args});") }
353
- end
354
- end
355
- else
356
- tests.each { |test| output.puts(" RUN_TEST(#{test[:test]}, #{test[:line_number]});") }
357
- end
358
- output.puts
359
- output.puts(' CMock_Guts_MemFreeFinal();') unless used_mocks.empty?
360
- output.puts(" return #{@options[:suite_teardown].nil? ? '' : 'suite_teardown'}(UnityEnd());")
361
- output.puts('}')
362
- end
363
-
364
- def create_h_file(output, filename, tests, testfile_includes, used_mocks)
365
- filename = File.basename(filename).gsub(/[-\/\\\.\,\s]/, '_').upcase
366
- output.puts('/* AUTOGENERATED FILE. DO NOT EDIT. */')
367
- output.puts("#ifndef _#{filename}")
368
- output.puts("#define _#{filename}\n\n")
369
- output.puts("#include \"#{@options[:framework]}.h\"")
370
- output.puts('#include "cmock.h"') unless used_mocks.empty?
371
- @options[:includes].flatten.uniq.compact.each do |inc|
372
- output.puts("#include #{inc.include?('<') ? inc : "\"#{inc.gsub('.h', '')}.h\""}")
373
- end
374
- testfile_includes.each do |inc|
375
- output.puts("#include #{inc.include?('<') ? inc : "\"#{inc.gsub('.h', '')}.h\""}")
376
- end
377
- output.puts "\n"
378
- tests.each do |test|
379
- if test[:params].nil? || test[:params].empty?
380
- output.puts("void #{test[:test]}(void);")
381
- else
382
- output.puts("void #{test[:test]}(#{test[:params]});")
383
- end
384
- end
385
- output.puts("#endif\n\n")
386
- end
387
- end
388
-
389
- if $0 == __FILE__
390
- options = { includes: [] }
391
-
392
- # parse out all the options first (these will all be removed as we go)
393
- ARGV.reject! do |arg|
394
- case arg
395
- when '-cexception'
396
- options[:plugins] = [:cexception]
397
- true
398
- when /\.*\.ya?ml/
399
- options = UnityTestRunnerGenerator.grab_config(arg)
400
- true
401
- when /--(\w+)=\"?(.*)\"?/
402
- options[Regexp.last_match(1).to_sym] = Regexp.last_match(2)
403
- true
404
- when /\.*\.h/
405
- options[:includes] << arg
406
- true
407
- else false
408
- end
409
- end
410
-
411
- # make sure there is at least one parameter left (the input file)
412
- unless ARGV[0]
413
- puts ["\nusage: ruby #{__FILE__} (files) (options) input_test_file (output)",
414
- "\n input_test_file - this is the C file you want to create a runner for",
415
- ' output - this is the name of the runner file to generate',
416
- ' defaults to (input_test_file)_Runner',
417
- ' files:',
418
- ' *.yml / *.yaml - loads configuration from here in :unity or :cmock',
419
- ' *.h - header files are added as #includes in runner',
420
- ' options:',
421
- ' -cexception - include cexception support',
422
- ' --setup_name="" - redefine setUp func name to something else',
423
- ' --teardown_name="" - redefine tearDown func name to something else',
424
- ' --main_name="" - redefine main func name to something else',
425
- ' --test_prefix="" - redefine test prefix from default test|spec|should',
426
- ' --suite_setup="" - code to execute for setup of entire suite',
427
- ' --suite_teardown="" - code to execute for teardown of entire suite',
428
- ' --use_param_tests=1 - enable parameterized tests (disabled by default)',
429
- ' --header_file="" - path/name of test header file to generate too'].join("\n")
430
- exit 1
431
- end
432
-
433
- # create the default test runner name if not specified
434
- ARGV[1] = ARGV[0].gsub('.c', '_Runner.c') unless ARGV[1]
435
-
436
- UnityTestRunnerGenerator.new(options).run(ARGV[0], ARGV[1])
437
- end