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
@@ -174,6 +174,23 @@ handle the call to a function.
174
174
  * `retval func(void)` => `void func_StopIgnore(void)`
175
175
  * `retval func(params)` => `void func_StopIgnore(void)`
176
176
 
177
+ IgnoreStateless:
178
+ ----------------
179
+
180
+ This plugin is similar to the Ignore plugin, but the IgnoreAndReturn functions are
181
+ stateless. So the Ignored function will always return the last specified return value
182
+ and does not queue the return values as the IgnoreAndReturn of the default plugin will.
183
+
184
+ To stop ignoring a function you can call StopIgnore or simply overwrite the Ignore
185
+ (resp. IgnoreAndReturn) with an Expect (resp. ExpectAndReturn). Note that calling
186
+ Ignore (resp IgnoreAndReturn) will clear your previous called Expect
187
+ (resp. ExpectAndReturn), so they are not restored after StopIgnore is called.
188
+
189
+ You can use this plugin by using `:ignore_stateless` instead of `:ignore` in your
190
+ CMock configuration file.
191
+
192
+ The generated functions are the same as **Ignore** and **StopIgnore** above.
193
+
177
194
  Ignore Arg:
178
195
  ------------
179
196
 
@@ -440,6 +457,7 @@ from the defaults. We've tried to specify what the defaults are below.
440
457
  available currently:
441
458
 
442
459
  * `:ignore`
460
+ * `:ignore_stateless`
443
461
  * `:ignore_arg`
444
462
  * `:expect_any_args`
445
463
  * `:array`
@@ -457,7 +475,14 @@ from the defaults. We've tried to specify what the defaults are below.
457
475
  to prevent a function `functionName` from being mocked. By default, it
458
476
  is ignoring all gcc attribute extensions.
459
477
 
460
- * default: ['(?:__attribute__\s*\(+.*?\)+)']
478
+ * default: `['(?:__attribute__\s*\(+.*?\)+)']`
479
+
480
+ * `:exclude_setjmp_h`:
481
+ Some embedded systems don't have <setjmp.h> available. Setting this to true
482
+ removes references to this header file and the ability to use cexception.
483
+
484
+ * default: false
485
+
461
486
 
462
487
  * `:subdir`:
463
488
  This is a relative subdirectory for your mocks. Set this to e.g. "sys" in
@@ -18,16 +18,18 @@ class CMock
18
18
  cm_config = CMockConfig.new(options)
19
19
  cm_unityhelper = CMockUnityHelperParser.new(cm_config)
20
20
  cm_writer = CMockFileWriter.new(cm_config)
21
- cm_gen_utils = CMockGeneratorUtils.new(cm_config, :unity_helper => cm_unityhelper)
21
+ cm_gen_utils = CMockGeneratorUtils.new(cm_config,
22
+ :unity_helper => cm_unityhelper)
22
23
  cm_gen_plugins = CMockPluginManager.new(cm_config, cm_gen_utils)
23
24
  @cm_parser = CMockHeaderParser.new(cm_config)
24
- @cm_generator = CMockGenerator.new(cm_config, cm_writer, cm_gen_utils, cm_gen_plugins)
25
+ @cm_generator = CMockGenerator.new(cm_config, cm_writer, cm_gen_utils,
26
+ cm_gen_plugins)
25
27
  @silent = (cm_config.verbosity < 2)
26
28
  end
27
29
 
28
- def setup_mocks(files)
30
+ def setup_mocks(files, folder = nil)
29
31
  [files].flatten.each do |src|
30
- generate_mock src
32
+ generate_mock(src, folder)
31
33
  end
32
34
  end
33
35
 
@@ -39,11 +41,11 @@ class CMock
39
41
 
40
42
  private ###############################
41
43
 
42
- def generate_mock(src)
44
+ def generate_mock(src, folder)
43
45
  name = File.basename(src, '.*')
44
46
  ext = File.extname(src)
45
47
  puts "Creating mock for #{name}..." unless @silent
46
- @cm_generator.create_mock(name, @cm_parser.parse(name, File.read(src)), ext)
48
+ @cm_generator.create_mock(name, @cm_parser.parse(name, File.read(src)), ext, folder)
47
49
  end
48
50
 
49
51
  def generate_skeleton(src)
@@ -85,12 +87,17 @@ if $0 == __FILE__
85
87
  options = {}
86
88
  filelist = []
87
89
  ARGV.each do |arg|
88
- if arg =~ /^-o\"?([a-zA-Z0-9._\\\/:\s]+)\"?/
90
+ if arg =~ /^-o\"?([a-zA-Z0-9@._\\\/:\s]+)\"?/
89
91
  options.merge! CMockConfig.load_config_file_from_yaml(arg.gsub(/^-o/, ''))
90
92
  elsif arg == '--skeleton'
91
93
  options[:skeleton] = true
92
- elsif arg =~ /^--([a-zA-Z0-9._\\\/:\s]+)=\"?([a-zA-Z0-9._\-\\\/:\s\;]+)\"?/
93
- options = option_maker(options, Regexp.last_match(1), Regexp.last_match(2))
94
+ elsif arg =~ /^--strippables=\"?(.*)\"?/
95
+ # --strippables are dealt with separately since the user is allowed to
96
+ # enter any valid regular expression as argument
97
+ options = option_maker(options, 'strippables', Regexp.last_match(1))
98
+ elsif arg =~ /^--([a-zA-Z0-9._\\\/:\s]+)=\"?([a-zA-Z0-9._\-\\\/:\s\;]*)\"?/x
99
+ options = option_maker(options, Regexp.last_match(1),
100
+ Regexp.last_match(2))
94
101
  else
95
102
  filelist << arg
96
103
  end
@@ -41,6 +41,7 @@ class CMockConfig
41
41
  :array_size_type => [],
42
42
  :array_size_name => 'size|len',
43
43
  :skeleton => false,
44
+ :exclude_setjmp_h => false,
44
45
 
45
46
  # Format to look for inline functions.
46
47
  # This is a combination of "static" and "inline" keywords ("static inline", "inline static", "inline", "static")
@@ -19,8 +19,10 @@ class CMockGenerator
19
19
  @ordered = @config.enforce_strict_ordering
20
20
  @framework = @config.framework.to_s
21
21
  @fail_on_unexpected_calls = @config.fail_on_unexpected_calls
22
+ @exclude_setjmp_h = @config.exclude_setjmp_h
22
23
 
23
24
  @subdir = @config.subdir
25
+ @folder = nil
24
26
 
25
27
  @includes_h_pre_orig_header = (@config.includes || @config.includes_h_pre_orig_header || []).map { |h| h =~ /</ ? h : "\"#{h}\"" }
26
28
  @includes_h_post_orig_header = (@config.includes_h_post_orig_header || []).map { |h| h =~ /</ ? h : "\"#{h}\"" }
@@ -44,12 +46,24 @@ class CMockGenerator
44
46
  end
45
47
  end
46
48
 
47
- def create_mock(module_name, parsed_stuff, module_ext = nil)
49
+ def create_mock(module_name, parsed_stuff, module_ext = nil, folder = nil)
48
50
  @module_name = module_name
49
51
  @module_ext = module_ext || '.h'
50
52
  @mock_name = @prefix + @module_name + @suffix
51
53
  @clean_mock_name = TypeSanitizer.sanitize_c_identifier(@mock_name)
54
+
55
+ @folder = if folder && @subdir
56
+ File.join(@subdir, folder)
57
+ elsif @subdir
58
+ @subdir
59
+ else
60
+ folder
61
+ end
62
+ # adds a trailing slash to the folder output
63
+ @folder = File.join(@folder, '') if @folder
64
+
52
65
  create_mock_subdir
66
+
53
67
  create_mock_header_file(parsed_stuff)
54
68
  create_mock_source_file(parsed_stuff)
55
69
  end
@@ -62,7 +76,7 @@ class CMockGenerator
62
76
  private if $ThisIsOnlyATest.nil? ##############################
63
77
 
64
78
  def create_mock_subdir
65
- @file_writer.create_subdir(@subdir)
79
+ @file_writer.create_subdir(@folder)
66
80
  end
67
81
 
68
82
  def create_using_statement(file, function)
@@ -71,12 +85,12 @@ class CMockGenerator
71
85
 
72
86
  def create_mock_header_file(parsed_stuff)
73
87
  if @include_inline == :include
74
- @file_writer.create_file(@module_name + (@module_ext || '.h'), @subdir) do |file, _filename|
88
+ @file_writer.create_file(@module_name + (@module_ext || '.h'), @folder) do |file, _filename|
75
89
  file << parsed_stuff[:normalized_source]
76
90
  end
77
91
  end
78
92
 
79
- @file_writer.create_file(@mock_name + (@module_ext || '.h'), @subdir) do |file, filename|
93
+ @file_writer.create_file(@mock_name + (@module_ext || '.h'), @folder) do |file, filename|
80
94
  create_mock_header_header(file, filename)
81
95
  create_mock_header_service_call_declarations(file)
82
96
  create_typedefs(file, parsed_stuff[:typedefs])
@@ -89,7 +103,7 @@ class CMockGenerator
89
103
  end
90
104
 
91
105
  def create_mock_source_file(parsed_stuff)
92
- @file_writer.create_file(@mock_name + '.c', @subdir) do |file, filename|
106
+ @file_writer.create_file(@mock_name + '.c', @folder) do |file, filename|
93
107
  create_source_header_section(file, filename, parsed_stuff[:functions])
94
108
  create_instance_structure(file, parsed_stuff[:functions])
95
109
  create_extern_declarations(file)
@@ -116,7 +130,7 @@ class CMockGenerator
116
130
 
117
131
  def create_mock_header_header(file, _filename)
118
132
  define_name = @clean_mock_name.upcase
119
- orig_filename = (@subdir ? @subdir + '/' : '') + @module_name + (@module_ext || '.h')
133
+ orig_filename = (@folder || '') + @module_name + (@module_ext || '.h')
120
134
  file << "/* AUTOGENERATED FILE. DO NOT EDIT. */\n"
121
135
  file << "#ifndef _#{define_name}_H\n"
122
136
  file << "#define _#{define_name}_H\n\n"
@@ -165,11 +179,13 @@ class CMockGenerator
165
179
  end
166
180
 
167
181
  def create_source_header_section(file, filename, functions)
168
- header_file = (@subdir ? @subdir + '/' : '') + filename.gsub('.c', (@module_ext || '.h'))
182
+ header_file = (@folder || '') + filename.gsub('.c', (@module_ext || '.h'))
169
183
  file << "/* AUTOGENERATED FILE. DO NOT EDIT. */\n" unless functions.empty?
170
184
  file << "#include <string.h>\n"
171
185
  file << "#include <stdlib.h>\n"
172
- file << "#include <setjmp.h>\n"
186
+ unless @exclude_setjmp_h
187
+ file << "#include <setjmp.h>\n"
188
+ end
173
189
  file << "#include \"cmock.h\"\n"
174
190
  @includes_c_pre_header.each { |inc| file << "#include #{inc}\n" }
175
191
  file << "#include \"#{header_file}\"\n"
@@ -205,7 +221,9 @@ class CMockGenerator
205
221
  end
206
222
 
207
223
  def create_extern_declarations(file)
208
- file << "extern jmp_buf AbortFrame;\n"
224
+ unless @exclude_setjmp_h
225
+ file << "extern jmp_buf AbortFrame;\n"
226
+ end
209
227
  if @ordered
210
228
  file << "extern int GlobalExpectCount;\n"
211
229
  file << "extern int GlobalVerifyOrder;\n"
@@ -12,6 +12,7 @@ class CMockGeneratorPluginCexception
12
12
  @config = config
13
13
  @utils = utils
14
14
  @priority = 7
15
+ raise 'Error: cexception is not supported without setjmp support' if @config.exclude_setjmp_h
15
16
  end
16
17
 
17
18
  def include_files
@@ -0,0 +1,85 @@
1
+ # ==========================================
2
+ # CMock Project - Automatic Mock Generation 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
+ class CMockGeneratorPluginIgnoreStateless
8
+ attr_reader :priority
9
+ attr_reader :config, :utils
10
+
11
+ def initialize(config, utils)
12
+ @config = config
13
+ @utils = utils
14
+ @priority = 2
15
+ end
16
+
17
+ def instance_structure(function)
18
+ if function[:return][:void?]
19
+ " char #{function[:name]}_IgnoreBool;\n"
20
+ else
21
+ " char #{function[:name]}_IgnoreBool;\n #{function[:return][:type]} #{function[:name]}_FinalReturn;\n"
22
+ end
23
+ end
24
+
25
+ def mock_function_declarations(function)
26
+ lines = if function[:return][:void?]
27
+ "#define #{function[:name]}_Ignore() #{function[:name]}_CMockIgnore()\n" \
28
+ "void #{function[:name]}_CMockIgnore(void);\n"
29
+ else
30
+ "#define #{function[:name]}_IgnoreAndReturn(cmock_retval) #{function[:name]}_CMockIgnoreAndReturn(cmock_retval)\n" \
31
+ "void #{function[:name]}_CMockIgnoreAndReturn(#{function[:return][:str]});\n"
32
+ end
33
+
34
+ # Add stop ignore function. it does not matter if there are any args
35
+ lines << "#define #{function[:name]}_StopIgnore() #{function[:name]}_CMockStopIgnore()\n" \
36
+ "void #{function[:name]}_CMockStopIgnore(void);\n"
37
+ lines
38
+ end
39
+
40
+ def mock_implementation_precheck(function)
41
+ lines = " if (Mock.#{function[:name]}_IgnoreBool)\n {\n"
42
+ lines << " UNITY_CLR_DETAILS();\n"
43
+ if function[:return][:void?]
44
+ lines << " return;\n }\n"
45
+ else
46
+ retval = function[:return].merge(:name => 'cmock_call_instance->ReturnVal')
47
+ lines << " if (cmock_call_instance == NULL)\n return Mock.#{function[:name]}_FinalReturn;\n"
48
+ lines << ' ' + @utils.code_assign_argument_quickly("Mock.#{function[:name]}_FinalReturn", retval) unless retval[:void?]
49
+ lines << " return cmock_call_instance->ReturnVal;\n }\n"
50
+ end
51
+ lines
52
+ end
53
+
54
+ # this function is adjusted
55
+ def mock_interfaces(function)
56
+ lines = ''
57
+ lines << if function[:return][:void?]
58
+ "void #{function[:name]}_CMockIgnore(void)\n{\n"
59
+ else
60
+ "void #{function[:name]}_CMockIgnoreAndReturn(#{function[:return][:str]})\n{\n"
61
+ end
62
+ unless function[:return][:void?]
63
+ lines << " Mock.#{function[:name]}_CallInstance = CMOCK_GUTS_NONE;\n"
64
+ lines << " Mock.#{function[:name]}_FinalReturn = cmock_to_return;\n"
65
+ end
66
+ lines << " Mock.#{function[:name]}_IgnoreBool = (char)1;\n"
67
+ lines << "}\n\n"
68
+
69
+ # Add stop ignore function. it does not matter if there are any args
70
+ lines << "void #{function[:name]}_CMockStopIgnore(void)\n{\n"
71
+ lines << " Mock.#{function[:name]}_IgnoreBool = (char)0;\n"
72
+ lines << "}\n\n"
73
+
74
+ lines
75
+ end
76
+
77
+ def mock_ignore(function)
78
+ " Mock.#{function[:name]}_IgnoreBool = (char)1;\n"
79
+ end
80
+
81
+ def mock_verify(function)
82
+ func_name = function[:name]
83
+ " if (Mock.#{func_name}_IgnoreBool)\n call_instance = CMOCK_GUTS_NONE;\n"
84
+ end
85
+ end
@@ -14,7 +14,7 @@ class CMockGeneratorPluginReturnThruPtr
14
14
 
15
15
  lines << " char ReturnThruPtr_#{arg[:name]}_Used;\n"
16
16
  lines << " #{arg[:type]} ReturnThruPtr_#{arg[:name]}_Val;\n"
17
- lines << " int ReturnThruPtr_#{arg[:name]}_Size;\n"
17
+ lines << " size_t ReturnThruPtr_#{arg[:name]}_Size;\n"
18
18
  end
19
19
  lines
20
20
  end
@@ -33,10 +33,10 @@ class CMockGeneratorPluginReturnThruPtr
33
33
  " #{function[:name]}_CMockReturnMemThruPtr_#{arg[:name]}(__LINE__, #{arg[:name]}, sizeof(*#{arg[:name]}))\n"
34
34
  end
35
35
  lines << "#define #{function[:name]}_ReturnArrayThruPtr_#{arg[:name]}(#{arg[:name]}, cmock_len)"
36
- lines << " #{function[:name]}_CMockReturnMemThruPtr_#{arg[:name]}(__LINE__, #{arg[:name]}, (int)(cmock_len * (int)sizeof(*#{arg[:name]})))\n"
36
+ lines << " #{function[:name]}_CMockReturnMemThruPtr_#{arg[:name]}(__LINE__, #{arg[:name]}, cmock_len * sizeof(*#{arg[:name]}))\n"
37
37
  lines << "#define #{function[:name]}_ReturnMemThruPtr_#{arg[:name]}(#{arg[:name]}, cmock_size)"
38
38
  lines << " #{function[:name]}_CMockReturnMemThruPtr_#{arg[:name]}(__LINE__, #{arg[:name]}, cmock_size)\n"
39
- lines << "void #{function[:name]}_CMockReturnMemThruPtr_#{arg[:name]}(UNITY_LINE_TYPE cmock_line, #{arg[:type]} #{arg[:name]}, int cmock_size);\n"
39
+ lines << "void #{function[:name]}_CMockReturnMemThruPtr_#{arg[:name]}(UNITY_LINE_TYPE cmock_line, #{arg[:type]} #{arg[:name]}, size_t cmock_size);\n"
40
40
  end
41
41
  lines
42
42
  end
@@ -48,7 +48,7 @@ class CMockGeneratorPluginReturnThruPtr
48
48
  arg_name = arg[:name]
49
49
  next unless @utils.ptr_or_str?(arg[:type]) && !(arg[:const?])
50
50
 
51
- lines << "void #{func_name}_CMockReturnMemThruPtr_#{arg_name}(UNITY_LINE_TYPE cmock_line, #{arg[:type]} #{arg_name}, int cmock_size)\n"
51
+ lines << "void #{func_name}_CMockReturnMemThruPtr_#{arg_name}(UNITY_LINE_TYPE cmock_line, #{arg[:type]} #{arg_name}, size_t cmock_size)\n"
52
52
  lines << "{\n"
53
53
  lines << " CMOCK_#{func_name}_CALL_INSTANCE* cmock_call_instance = " \
54
54
  "(CMOCK_#{func_name}_CALL_INSTANCE*)CMock_Guts_GetAddressFor(CMock_Guts_MemEndOfChain(Mock.#{func_name}_CallInstance));\n"
@@ -17,6 +17,7 @@ class CMockGeneratorUtils
17
17
  @return_thru_ptr = @config.plugins.include? :return_thru_ptr
18
18
  @ignore_arg = @config.plugins.include? :ignore_arg
19
19
  @ignore = @config.plugins.include? :ignore
20
+ @ignore_stateless = @config.plugins.include? :ignore_stateless
20
21
  @treat_as = @config.treat_as
21
22
  @helpers = helpers
22
23
  end
@@ -52,7 +53,7 @@ class CMockGeneratorUtils
52
53
  lines << " UNITY_TEST_ASSERT_NOT_NULL(cmock_call_instance, cmock_line, CMockStringOutOfMemory);\n"
53
54
  lines << " memset(cmock_call_instance, 0, sizeof(*cmock_call_instance));\n"
54
55
  lines << " Mock.#{func_name}_CallInstance = CMock_Guts_MemChain(Mock.#{func_name}_CallInstance, cmock_guts_index);\n"
55
- lines << " Mock.#{func_name}_IgnoreBool = (char)0;\n" if @ignore
56
+ lines << " Mock.#{func_name}_IgnoreBool = (char)0;\n" if @ignore || @ignore_stateless
56
57
  lines << " cmock_call_instance->LineNumber = cmock_line;\n"
57
58
  lines << " cmock_call_instance->CallOrder = ++GlobalExpectCount;\n" if @ordered && global_ordering_supported
58
59
  lines << " cmock_call_instance->ExceptionToThrow = CEXCEPTION_NONE;\n" if @cexception
@@ -86,11 +87,13 @@ class CMockGeneratorUtils
86
87
  type = arg_type_with_const(m)
87
88
  m[:ptr?] ? "#{type} #{m[:name]}, int #{m[:name]}_Depth" : "#{type} #{m[:name]}"
88
89
  end.join(', ')
89
- "void CMockExpectParameters_#{function[:name]}(CMOCK_#{function[:name]}_CALL_INSTANCE* cmock_call_instance, #{args_string})\n{\n" +
90
+ "void CMockExpectParameters_#{function[:name]}(CMOCK_#{function[:name]}_CALL_INSTANCE* cmock_call_instance, #{args_string});\n" \
91
+ "void CMockExpectParameters_#{function[:name]}(CMOCK_#{function[:name]}_CALL_INSTANCE* cmock_call_instance, #{args_string})\n{\n" +
90
92
  function[:args].inject('') { |all, arg| all + code_add_an_arg_expectation(arg, (arg[:ptr?] ? "#{arg[:name]}_Depth" : 1)) } +
91
93
  "}\n\n"
92
94
  else
93
- "void CMockExpectParameters_#{function[:name]}(CMOCK_#{function[:name]}_CALL_INSTANCE* cmock_call_instance, #{function[:args_string]})\n{\n" +
95
+ "void CMockExpectParameters_#{function[:name]}(CMOCK_#{function[:name]}_CALL_INSTANCE* cmock_call_instance, #{function[:args_string]});\n" \
96
+ "void CMockExpectParameters_#{function[:name]}(CMOCK_#{function[:name]}_CALL_INSTANCE* cmock_call_instance, #{function[:args_string]})\n{\n" +
94
97
  function[:args].inject('') { |all, arg| all + code_add_an_arg_expectation(arg) } +
95
98
  "}\n\n"
96
99
  end
@@ -61,6 +61,15 @@ class CMockHeaderParser
61
61
 
62
62
  private if $ThisIsOnlyATest.nil? ################
63
63
 
64
+ # Remove C/C++ comments from a string
65
+ # +source+:: String which will have the comments removed
66
+ def remove_comments_from_source(source)
67
+ # remove comments (block and line, in three steps to ensure correct precedence)
68
+ source.gsub!(/(?<!\*)\/\/(?:.+\/\*|\*(?:$|[^\/])).*$/, '') # remove line comments that comment out the start of blocks
69
+ source.gsub!(/\/\*.*?\*\//m, '') # remove block comments
70
+ source.gsub!(/\/\/.*$/, '') # remove line comments (all that remain)
71
+ end
72
+
64
73
  def remove_nested_pairs_of_braces(source)
65
74
  # remove nested pairs of braces because no function declarations will be inside of them (leave outer pair for function definition detection)
66
75
  if RUBY_VERSION.split('.')[0].to_i > 1
@@ -119,6 +128,9 @@ class CMockHeaderParser
119
128
  # let's clean up the encoding in case they've done anything weird with the characters we might find
120
129
  source = source.force_encoding('ISO-8859-1').encode('utf-8', :replace => nil)
121
130
 
131
+ # Comments can contain words that will trigger the parser (static|inline|<user_defined_static_keyword>)
132
+ remove_comments_from_source(source)
133
+
122
134
  # smush multiline macros into single line (checking for continuation character at end of line '\')
123
135
  # If the user uses a macro to declare an inline function,
124
136
  # smushing the macros makes it easier to recognize them as a macro and if required,
@@ -138,11 +150,18 @@ class CMockHeaderParser
138
150
  # - Copy everything after the inline function implementation and start the parsing of the next inline function
139
151
  # There are ofcourse some special cases (inline macro declarations, inline function declarations, ...) which are handled and explained below
140
152
  inline_function_regex_formats.each do |format|
153
+ inspected_source = ''
154
+ regex_matched = false
141
155
  loop do
142
156
  inline_function_match = source.match(/#{format}/) # Search for inline function declaration
143
157
 
144
- break if inline_function_match.nil? # No inline functions so nothing to do
158
+ if inline_function_match.nil? # No inline functions so nothing to do
159
+ # Join pre and post match stripped parts for the next inline function detection regex
160
+ source = inspected_source + source if regex_matched == true
161
+ break
162
+ end
145
163
 
164
+ regex_matched = true
146
165
  # 1. Determine if we are dealing with a user defined macro to declare inline functions
147
166
  # If the end of the pre-match string is a macro-declaration-like string,
148
167
  # we are dealing with a user defined macro to declare inline functions
@@ -150,7 +169,8 @@ class CMockHeaderParser
150
169
  # Remove the macro from the source
151
170
  stripped_pre_match = inline_function_match.pre_match.sub(/(#define\s*)\z/, '')
152
171
  stripped_post_match = inline_function_match.post_match.sub(/\A(.*[\n]?)/, '')
153
- source = stripped_pre_match + stripped_post_match
172
+ inspected_source += stripped_pre_match
173
+ source = stripped_post_match
154
174
  next
155
175
  end
156
176
 
@@ -159,23 +179,32 @@ class CMockHeaderParser
159
179
  # we are dealing with a inline function declaration
160
180
  if /\A#{@function_declaration_parse_base_match}\s*;/m =~ inline_function_match.post_match
161
181
  # Only remove the inline part from the function declaration, leaving the function declaration won't do any harm
162
- source = inline_function_match.pre_match + inline_function_match.post_match
182
+ inspected_source += inline_function_match.pre_match
183
+ source = inline_function_match.post_match
163
184
  next
164
185
  end
165
186
 
166
187
  # 3. If we get here, we found an inline function declaration AND inline function body.
167
- # Remove the function body to transform it into a 'normal' function.
168
- total_pairs_to_remove = count_number_of_pairs_of_braces_in_function(inline_function_match.post_match)
188
+ # Remove the function body to transform it into a 'normal' function declaration.
189
+ if /\A#{@function_declaration_parse_base_match}\s*\{/m =~ inline_function_match.post_match
190
+ total_pairs_to_remove = count_number_of_pairs_of_braces_in_function(inline_function_match.post_match)
169
191
 
170
- break if total_pairs_to_remove == 0 # Bad source?
192
+ break if total_pairs_to_remove == 0 # Bad source?
171
193
 
172
- inline_function_stripped = inline_function_match.post_match
194
+ inline_function_stripped = inline_function_match.post_match
173
195
 
174
- total_pairs_to_remove.times do
175
- inline_function_stripped.sub!(/\s*#{square_bracket_pair_regex_format}/, ';') # Remove inline implementation (+ some whitespace because it's prettier)
196
+ total_pairs_to_remove.times do
197
+ inline_function_stripped.sub!(/\s*#{square_bracket_pair_regex_format}/, ';') # Remove inline implementation (+ some whitespace because it's prettier)
198
+ end
199
+ inspected_source += inline_function_match.pre_match
200
+ source = inline_function_stripped
201
+ next
176
202
  end
177
203
 
178
- source = inline_function_match.pre_match + inline_function_stripped # Make new source with the inline function removed and move on to the next
204
+ # 4. If we get here, it means the regex match, but it is not related to the function (ex. static variable in header)
205
+ # Leave this code as it is.
206
+ inspected_source += inline_function_match.pre_match + inline_function_match[0]
207
+ source = inline_function_match.post_match
179
208
  end
180
209
  end
181
210
 
@@ -205,10 +234,7 @@ class CMockHeaderParser
205
234
  # smush multiline macros into single line (checking for continuation character at end of line '\')
206
235
  source.gsub!(/\s*\\\s*/m, ' ')
207
236
 
208
- # remove comments (block and line, in three steps to ensure correct precedence)
209
- source.gsub!(/(?<!\*)\/\/(?:.+\/\*|\*(?:$|[^\/])).*$/, '') # remove line comments that comment out the start of blocks
210
- source.gsub!(/\/\*.*?\*\//m, '') # remove block comments
211
- source.gsub!(/\/\/.*$/, '') # remove line comments (all that remain)
237
+ remove_comments_from_source(source)
212
238
 
213
239
  # remove assembler pragma sections
214
240
  source.gsub!(/^\s*#\s*pragma\s+asm\s+.*?#\s*pragma\s+endasm/m, '')