ceedling 1.0.1 → 1.1.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 (1263) hide show
  1. checksums.yaml +4 -4
  2. data/GIT_COMMIT_SHA +1 -1
  3. data/Gemfile +7 -1
  4. data/Gemfile.lock +19 -12
  5. data/README.md +140 -156
  6. data/Rakefile +189 -9
  7. data/assets/example_file.c +1 -1
  8. data/assets/example_file.h +1 -1
  9. data/assets/example_file_call.c +1 -1
  10. data/assets/example_file_call.h +1 -1
  11. data/assets/example_file_with_statics.c +10 -0
  12. data/assets/example_file_with_stdio.c +13 -0
  13. data/assets/example_file_with_stdio.h +15 -0
  14. data/assets/project.yml +20 -18
  15. data/assets/test_example_file.c +1 -1
  16. data/assets/test_example_file_boom.c +1 -1
  17. data/assets/test_example_file_crash_assert.c +25 -0
  18. data/assets/{test_example_file_crash.c → test_example_file_crash_sigsegv.c} +4 -3
  19. data/assets/test_example_file_source_include.c +17 -0
  20. data/assets/test_example_file_success.c +1 -1
  21. data/assets/test_example_file_unity_printf.c +1 -1
  22. data/assets/test_example_file_verbose.c +1 -1
  23. data/assets/test_example_file_with_mock.c +1 -1
  24. data/assets/test_example_file_with_stdio.c +18 -0
  25. data/assets/test_example_with_parameterized_tests.c +1 -1
  26. data/assets/tests_with_defines/src/adc_hardware.c +1 -1
  27. data/assets/tests_with_defines/src/adc_hardware.h +1 -1
  28. data/assets/tests_with_defines/src/adc_hardware_configurator.c +1 -1
  29. data/assets/tests_with_defines/src/adc_hardware_configurator.h +1 -1
  30. data/assets/tests_with_defines/test/test_adc_hardware.c +1 -1
  31. data/assets/tests_with_defines/test/test_adc_hardware_special.c +1 -1
  32. data/assets/tests_with_encoding/src/unicoder.c +12 -0
  33. data/assets/tests_with_encoding/src/unicoder.h +14 -0
  34. data/assets/tests_with_encoding/test/test_unicoder.c +15 -0
  35. data/assets/tests_with_encoding/test/test_unicoder_partial.c +17 -0
  36. data/assets/tests_with_fallback_conditionals/src/conditional_module.c +18 -0
  37. data/assets/tests_with_fallback_conditionals/src/conditional_module.h +13 -0
  38. data/assets/tests_with_fallback_conditionals/src/optional_dep.h +12 -0
  39. data/assets/tests_with_fallback_conditionals/test/test_conditionals.c +49 -0
  40. data/assets/tests_with_preprocessing/src/adc_hardwareA.c +1 -1
  41. data/assets/tests_with_preprocessing/src/adc_hardwareA.h +1 -1
  42. data/assets/tests_with_preprocessing/src/adc_hardwareB.c +1 -1
  43. data/assets/tests_with_preprocessing/src/adc_hardwareB.h +1 -1
  44. data/assets/tests_with_preprocessing/src/adc_hardwareC.c +1 -1
  45. data/assets/tests_with_preprocessing/src/adc_hardwareC.h +1 -1
  46. data/assets/tests_with_preprocessing/src/adc_hardware_configuratorA.h +1 -1
  47. data/assets/tests_with_preprocessing/src/adc_hardware_configuratorB.h +1 -1
  48. data/assets/tests_with_preprocessing/src/adc_hardware_configuratorC.h +1 -1
  49. data/assets/tests_with_preprocessing/test/test_adc_hardwareA.c +1 -1
  50. data/assets/tests_with_preprocessing/test/test_adc_hardwareB.c +1 -1
  51. data/assets/tests_with_preprocessing/test/test_adc_hardwareC.c +1 -1
  52. data/assets/uncovered_example_file.c +1 -1
  53. data/bin/actions_wrapper.rb +1 -1
  54. data/bin/app_cfg.rb +1 -1
  55. data/bin/ceedling +14 -3
  56. data/bin/cli.rb +110 -38
  57. data/bin/cli_handler.rb +167 -68
  58. data/bin/cli_helper.rb +179 -55
  59. data/bin/configinator.rb +71 -12
  60. data/bin/merginator.rb +82 -0
  61. data/bin/mixin_standardizer.rb +127 -0
  62. data/bin/mixinator.rb +199 -33
  63. data/bin/mixins.rb +4 -2
  64. data/bin/objects.yml +22 -1
  65. data/bin/path_validator.rb +1 -1
  66. data/bin/projectinator.rb +29 -20
  67. data/bin/rake_patches.rb +31 -0
  68. data/bin/recursive_merger.rb +128 -0
  69. data/bin/versionator.rb +2 -2
  70. data/ceedling.gemspec +31 -14
  71. data/config/test_environment.rb +1 -1
  72. data/docs/BreakingChanges.md +16 -3
  73. data/docs/Changelog.md +177 -6
  74. data/docs/KnownIssues.md +26 -0
  75. data/docs/ReleaseNotes.md +133 -19
  76. data/docs/mkdocs/assets/images/ceedling-logo-circle.png +0 -0
  77. data/docs/mkdocs/assets/images/ceedling.svg +90 -0
  78. data/docs/mkdocs/assets/images/favicon.png +0 -0
  79. data/docs/mkdocs/assets/stylesheets/admonitions.css +152 -0
  80. data/docs/mkdocs/assets/stylesheets/fixes-local.css +15 -0
  81. data/docs/mkdocs/assets/stylesheets/styling.css +102 -0
  82. data/docs/mkdocs/configuration/environment-vars.md +14 -0
  83. data/docs/mkdocs/configuration/global-collections.md +156 -0
  84. data/docs/mkdocs/configuration/index.md +75 -0
  85. data/docs/mkdocs/configuration/loading.md +89 -0
  86. data/docs/mkdocs/configuration/mixins.md +607 -0
  87. data/docs/mkdocs/configuration/parallel-builds.md +97 -0
  88. data/docs/mkdocs/configuration/project-file.md +198 -0
  89. data/docs/mkdocs/configuration/reference/cexception.md +35 -0
  90. data/docs/mkdocs/configuration/reference/cmock.md +106 -0
  91. data/docs/mkdocs/configuration/reference/defines.md +352 -0
  92. data/docs/mkdocs/configuration/reference/environment.md +55 -0
  93. data/docs/mkdocs/configuration/reference/extension.md +63 -0
  94. data/docs/mkdocs/configuration/reference/files.md +154 -0
  95. data/docs/mkdocs/configuration/reference/flags.md +296 -0
  96. data/docs/mkdocs/configuration/reference/index.md +168 -0
  97. data/docs/mkdocs/configuration/reference/libraries.md +82 -0
  98. data/docs/mkdocs/configuration/reference/mixins.md +24 -0
  99. data/docs/mkdocs/configuration/reference/paths.md +276 -0
  100. data/docs/mkdocs/configuration/reference/plugins.md +60 -0
  101. data/docs/mkdocs/configuration/reference/project.md +333 -0
  102. data/docs/mkdocs/configuration/reference/release-build.md +62 -0
  103. data/docs/mkdocs/configuration/reference/test-build.md +55 -0
  104. data/docs/mkdocs/configuration/reference/test-runner.md +61 -0
  105. data/docs/mkdocs/configuration/reference/tools.md +457 -0
  106. data/docs/mkdocs/configuration/reference/unity.md +49 -0
  107. data/docs/mkdocs/configuration/which-ceedling.md +77 -0
  108. data/docs/mkdocs/development/index.md +50 -0
  109. data/docs/mkdocs/development/plugins/configuration.md +164 -0
  110. data/docs/mkdocs/development/plugins/index.md +84 -0
  111. data/docs/{PluginDevelopmentGuide.md → mkdocs/development/plugins/plugin-subclass.md} +61 -312
  112. data/docs/mkdocs/development/plugins/rake-tasks.md +54 -0
  113. data/docs/mkdocs/development/workflow.md +284 -0
  114. data/docs/mkdocs/getting-started/command-line.md +477 -0
  115. data/docs/mkdocs/getting-started/example-projects/cipher-quest.md +65 -0
  116. data/docs/mkdocs/getting-started/example-projects/index.md +49 -0
  117. data/docs/mkdocs/getting-started/example-projects/temp-sensor.md +60 -0
  118. data/docs/mkdocs/getting-started/example-projects/wondrous-forest.md +45 -0
  119. data/docs/mkdocs/getting-started/index.md +41 -0
  120. data/docs/mkdocs/getting-started/installation.md +172 -0
  121. data/docs/mkdocs/getting-started/quick-start.md +65 -0
  122. data/docs/mkdocs/help.md +49 -0
  123. data/docs/mkdocs/index.md +215 -0
  124. data/docs/mkdocs/overview/build-system.md +115 -0
  125. data/docs/mkdocs/overview/index.md +29 -0
  126. data/docs/mkdocs/overview/test-environments.md +33 -0
  127. data/docs/mkdocs/overview/tools-and-frameworks.md +115 -0
  128. data/{plugins/beep/README.md → docs/mkdocs/plugins/beep.md} +10 -9
  129. data/{plugins/bullseye/README.md → docs/mkdocs/plugins/bullseye.md} +8 -12
  130. data/{plugins/command_hooks/README.md → docs/mkdocs/plugins/command-hooks.md} +69 -47
  131. data/{plugins/compile_commands_json_db/README.md → docs/mkdocs/plugins/compile-commands-json-db.md} +7 -5
  132. data/docs/mkdocs/plugins/cppcheck.md +377 -0
  133. data/{plugins/dependencies/README.md → docs/mkdocs/plugins/dependencies.md} +39 -50
  134. data/{plugins/fff/README.md → docs/mkdocs/plugins/fff.md} +42 -37
  135. data/docs/mkdocs/plugins/gcov/examples.md +92 -0
  136. data/docs/mkdocs/plugins/gcov/gcovr.md +251 -0
  137. data/docs/mkdocs/plugins/gcov/index.md +68 -0
  138. data/docs/mkdocs/plugins/gcov/overview.md +145 -0
  139. data/docs/mkdocs/plugins/gcov/reportgenerator.md +58 -0
  140. data/docs/mkdocs/plugins/gcov/reporting.md +147 -0
  141. data/docs/mkdocs/plugins/gcov/setup.md +232 -0
  142. data/docs/mkdocs/plugins/gcov/tool-versions.md +60 -0
  143. data/docs/mkdocs/plugins/gcov/troubleshooting.md +78 -0
  144. data/docs/mkdocs/plugins/index.md +221 -0
  145. data/{plugins/module_generator/README.md → docs/mkdocs/plugins/module-generator.md} +44 -44
  146. data/{plugins/report_build_warnings_log/README.md → docs/mkdocs/plugins/report-build-warnings-log.md} +6 -4
  147. data/{plugins/report_tests_gtestlike_stdout/README.md → docs/mkdocs/plugins/report-tests-gtestlike-stdout.md} +9 -7
  148. data/{plugins/report_tests_ide_stdout/README.md → docs/mkdocs/plugins/report-tests-ide-stdout.md} +8 -7
  149. data/{plugins/report_tests_log_factory/README.md → docs/mkdocs/plugins/report-tests-log-factory.md} +44 -36
  150. data/{plugins/report_tests_pretty_stdout/README.md → docs/mkdocs/plugins/report-tests-pretty-stdout.md} +8 -6
  151. data/{plugins/report_tests_raw_output_log/README.md → docs/mkdocs/plugins/report-tests-raw-output-log.md} +9 -7
  152. data/{plugins/report_tests_teamcity_stdout/README.md → docs/mkdocs/plugins/report-tests-teamcity-stdout.md} +8 -6
  153. data/docs/mkdocs/plugins/sample_html_report.png +0 -0
  154. data/docs/mkdocs/plugins/valgrind.md +192 -0
  155. data/docs/mkdocs/project/release-history.md +61 -0
  156. data/docs/{CeedlingUpgrade.md → mkdocs/project/upgrade.md} +9 -7
  157. data/docs/mkdocs/reference/build-directives.md +37 -0
  158. data/docs/mkdocs/reference/command-line.md +323 -0
  159. data/docs/mkdocs/reference/environment-vars.md +60 -0
  160. data/docs/mkdocs/reference/gcov-plugin.md +577 -0
  161. data/docs/mkdocs/reference/global-collections.md +160 -0
  162. data/docs/mkdocs/reference/index.md +65 -0
  163. data/docs/mkdocs/reference/partials-macros.md +79 -0
  164. data/docs/mkdocs/reference/project-configuration.md +46 -0
  165. data/docs/mkdocs/snapshot/assets/project.yml +404 -0
  166. data/docs/mkdocs/snapshot/examples/cipher_quest/README.md +210 -0
  167. data/docs/mkdocs/snapshot/examples/temp_sensor/README.md +283 -0
  168. data/docs/mkdocs/snapshot/examples/wondrous_forest/README.md +92 -0
  169. data/docs/mkdocs/snapshot/plugins/gcov/config/defaults.yml +33 -0
  170. data/docs/mkdocs/snapshot/plugins/gcov/config/defaults_gcov.rb +136 -0
  171. data/docs/mkdocs/snapshot.yml +20 -0
  172. data/docs/mkdocs/testing-guide/build-directives.md +153 -0
  173. data/docs/mkdocs/testing-guide/conventions.md +616 -0
  174. data/docs/mkdocs/testing-guide/frameworks.md +192 -0
  175. data/docs/mkdocs/testing-guide/index.md +80 -0
  176. data/docs/mkdocs/testing-guide/partials/configuration.md +67 -0
  177. data/docs/mkdocs/testing-guide/partials/conventions.md +68 -0
  178. data/docs/mkdocs/testing-guide/partials/directives.md +212 -0
  179. data/docs/mkdocs/testing-guide/partials/example.md +149 -0
  180. data/docs/mkdocs/testing-guide/partials/index.md +79 -0
  181. data/docs/mkdocs/testing-guide/partials/overview.md +81 -0
  182. data/docs/mkdocs/testing-guide/partials/variables.md +244 -0
  183. data/docs/mkdocs/testing-guide/test-cases.md +194 -0
  184. data/docs/mkdocs/testing-guide/test-sample.md +94 -0
  185. data/docs/mkdocs/testing-guide/test-suite-anatomy.md +58 -0
  186. data/examples/cipher_quest/README.md +210 -0
  187. data/examples/cipher_quest/mixin/release_analyze.yml +28 -0
  188. data/examples/cipher_quest/mixin/release_caesar.yml +28 -0
  189. data/examples/cipher_quest/mixin/release_full.yml +30 -0
  190. data/examples/cipher_quest/mixin/release_rot13.yml +28 -0
  191. data/examples/cipher_quest/project.yml +108 -0
  192. data/examples/cipher_quest/src/analyzer.c +83 -0
  193. data/examples/cipher_quest/src/analyzer.h +29 -0
  194. data/examples/cipher_quest/src/cipher.c +59 -0
  195. data/examples/cipher_quest/src/cipher.h +27 -0
  196. data/examples/cipher_quest/src/main.c +151 -0
  197. data/examples/cipher_quest/src/text_utils.c +119 -0
  198. data/examples/cipher_quest/src/text_utils.h +23 -0
  199. data/examples/cipher_quest/test/TestAnalyzer.c +133 -0
  200. data/examples/cipher_quest/test/TestCipherCaesar.c +81 -0
  201. data/examples/cipher_quest/test/TestCipherRot13.c +74 -0
  202. data/examples/cipher_quest/test/TestTextUtils.c +184 -0
  203. data/examples/temp_sensor/README.md +279 -14
  204. data/examples/temp_sensor/mixin/add_gcov.yml +1 -1
  205. data/examples/temp_sensor/mixin/add_unity_helper.yml +1 -1
  206. data/examples/temp_sensor/project.yml +4 -15
  207. data/examples/temp_sensor/src/AdcConductor.c +5 -1
  208. data/examples/temp_sensor/src/AdcConductor.h +1 -1
  209. data/examples/temp_sensor/src/AdcHardware.c +1 -1
  210. data/examples/temp_sensor/src/AdcHardware.h +1 -1
  211. data/examples/temp_sensor/src/AdcHardwareConfigurator.c +2 -1
  212. data/examples/temp_sensor/src/AdcHardwareConfigurator.h +1 -1
  213. data/examples/temp_sensor/src/AdcModel.c +2 -2
  214. data/examples/temp_sensor/src/AdcModel.h +1 -1
  215. data/examples/temp_sensor/src/AdcTemperatureSensor.c +2 -1
  216. data/examples/temp_sensor/src/AdcTemperatureSensor.h +1 -1
  217. data/examples/temp_sensor/src/Executor.c +1 -1
  218. data/examples/temp_sensor/src/Executor.h +1 -1
  219. data/examples/temp_sensor/src/IntrinsicsWrapper.c +1 -1
  220. data/examples/temp_sensor/src/IntrinsicsWrapper.h +1 -1
  221. data/examples/temp_sensor/src/Main.c +3 -3
  222. data/examples/temp_sensor/src/Main.h +1 -1
  223. data/examples/temp_sensor/src/Model.c +1 -1
  224. data/examples/temp_sensor/src/Model.h +1 -1
  225. data/examples/temp_sensor/src/ModelConfig.h +1 -1
  226. data/examples/temp_sensor/src/TaskScheduler.c +1 -1
  227. data/examples/temp_sensor/src/TaskScheduler.h +1 -1
  228. data/examples/temp_sensor/src/TemperatureFilter.c +1 -1
  229. data/examples/temp_sensor/src/TemperatureFilter.h +1 -1
  230. data/examples/temp_sensor/src/TimerConductor.c +1 -1
  231. data/examples/temp_sensor/src/TimerConductor.h +1 -1
  232. data/examples/temp_sensor/src/TimerConfigurator.c +2 -1
  233. data/examples/temp_sensor/src/TimerConfigurator.h +1 -1
  234. data/examples/temp_sensor/src/TimerHardware.c +1 -1
  235. data/examples/temp_sensor/src/TimerHardware.h +1 -1
  236. data/examples/temp_sensor/src/TimerInterruptConfigurator.c +2 -1
  237. data/examples/temp_sensor/src/TimerInterruptConfigurator.h +1 -1
  238. data/examples/temp_sensor/src/TimerInterruptHandler.c +2 -1
  239. data/examples/temp_sensor/src/TimerInterruptHandler.h +1 -1
  240. data/examples/temp_sensor/src/TimerModel.c +1 -1
  241. data/examples/temp_sensor/src/TimerModel.h +1 -1
  242. data/examples/temp_sensor/src/Types.h +5 -2
  243. data/examples/temp_sensor/src/UsartConductor.c +1 -1
  244. data/examples/temp_sensor/src/UsartConductor.h +1 -1
  245. data/examples/temp_sensor/src/UsartConfigurator.c +2 -1
  246. data/examples/temp_sensor/src/UsartConfigurator.h +1 -1
  247. data/examples/temp_sensor/src/UsartHardware.c +1 -1
  248. data/examples/temp_sensor/src/UsartHardware.h +1 -1
  249. data/examples/temp_sensor/src/UsartModel.c +2 -2
  250. data/examples/temp_sensor/src/UsartModel.h +1 -1
  251. data/examples/temp_sensor/src/UsartPutChar.c +2 -1
  252. data/examples/temp_sensor/src/UsartPutChar.h +1 -1
  253. data/examples/temp_sensor/src/UsartTransmitBufferStatus.c +2 -1
  254. data/examples/temp_sensor/src/UsartTransmitBufferStatus.h +1 -1
  255. data/examples/temp_sensor/src/{TemperatureCalculator.c → calculators/TemperatureCalculator.c} +1 -1
  256. data/examples/temp_sensor/src/{TemperatureCalculator.h → calculators/TemperatureCalculator.h} +1 -1
  257. data/examples/temp_sensor/src/{UsartBaudRateRegisterCalculator.c → calculators/UsartBaudRateRegisterCalculator.c} +1 -1
  258. data/examples/temp_sensor/src/{UsartBaudRateRegisterCalculator.h → calculators/UsartBaudRateRegisterCalculator.h} +1 -1
  259. data/examples/temp_sensor/test/TestExecutor.c +1 -1
  260. data/examples/temp_sensor/test/TestMain.c +5 -1
  261. data/examples/temp_sensor/test/TestModel.c +1 -1
  262. data/examples/temp_sensor/test/TestTaskScheduler.c +1 -1
  263. data/examples/temp_sensor/test/TestTemperatureCalculator.c +2 -2
  264. data/examples/temp_sensor/test/TestTemperatureFilter.c +5 -2
  265. data/examples/temp_sensor/test/TestTimerConductor.c +1 -1
  266. data/examples/temp_sensor/test/TestTimerHardware.c +1 -1
  267. data/examples/temp_sensor/test/TestTimerIntegrated.c +8 -4
  268. data/examples/temp_sensor/test/TestTimerModel.c +1 -1
  269. data/examples/temp_sensor/test/TestTimerPlatformStandin.c +154 -0
  270. data/examples/temp_sensor/test/TestUsartBaudRateRegisterCalculator.c +1 -1
  271. data/examples/temp_sensor/test/TestUsartConductor.c +1 -1
  272. data/examples/temp_sensor/test/TestUsartHardware.c +1 -1
  273. data/examples/temp_sensor/test/TestUsartIntegrated.c +9 -5
  274. data/examples/temp_sensor/test/TestUsartModel.c +2 -2
  275. data/examples/temp_sensor/test/TestUsartPlatformStandin.c +145 -0
  276. data/examples/temp_sensor/test/adc/TestAdcConductor.c +1 -1
  277. data/examples/temp_sensor/test/adc/TestAdcHardware.c +1 -1
  278. data/examples/temp_sensor/test/adc/TestAdcModel.c +1 -1
  279. data/examples/temp_sensor/test/adc/TestAdcPlatformStandin.c +100 -0
  280. data/examples/temp_sensor/test/platform/at91sam7s256.c +25 -0
  281. data/examples/temp_sensor/test/platform/at91sam7s256.h +183 -0
  282. data/examples/temp_sensor/test/support/UnityHelper.c +1 -1
  283. data/examples/temp_sensor/test/support/UnityHelper.h +1 -1
  284. data/examples/wondrous_forest/README.md +92 -0
  285. data/{lib/ceedling/release_invoker_helper.rb → examples/wondrous_forest/mixin/add_gcov.yml} +14 -4
  286. data/examples/wondrous_forest/project.yml +86 -0
  287. data/examples/wondrous_forest/src/AlertManager.c +125 -0
  288. data/examples/wondrous_forest/src/AlertManager.h +30 -0
  289. data/examples/wondrous_forest/src/EventQueue.c +73 -0
  290. data/examples/wondrous_forest/src/EventQueue.h +22 -0
  291. data/examples/wondrous_forest/src/ForestMonitor.c +88 -0
  292. data/examples/wondrous_forest/src/ForestMonitor.h +18 -0
  293. data/examples/wondrous_forest/src/HumiditySensor.c +57 -0
  294. data/examples/wondrous_forest/src/HumiditySensor.h +17 -0
  295. data/examples/wondrous_forest/src/LightSensor.c +51 -0
  296. data/examples/wondrous_forest/src/LightSensor.h +18 -0
  297. data/examples/wondrous_forest/src/SensorHal.c +62 -0
  298. data/examples/wondrous_forest/src/SensorHal.h +19 -0
  299. data/examples/wondrous_forest/src/SoilMoisture.c +61 -0
  300. data/examples/wondrous_forest/src/SoilMoisture.h +19 -0
  301. data/examples/wondrous_forest/src/TemperatureSensor.c +67 -0
  302. data/examples/wondrous_forest/src/TemperatureSensor.h +18 -0
  303. data/examples/wondrous_forest/src/Types.h +84 -0
  304. data/examples/wondrous_forest/src/UartDriver.c +55 -0
  305. data/examples/wondrous_forest/src/UartDriver.h +18 -0
  306. data/examples/wondrous_forest/test/TestAlertManager.c +105 -0
  307. data/examples/wondrous_forest/test/TestEventQueue.c +117 -0
  308. data/examples/wondrous_forest/test/TestForestMonitor.c +118 -0
  309. data/examples/wondrous_forest/test/TestHumiditySensor.c +85 -0
  310. data/examples/wondrous_forest/test/TestLightSensor.c +79 -0
  311. data/examples/wondrous_forest/test/TestSensorHal.c +58 -0
  312. data/examples/wondrous_forest/test/TestSoilMoisture.c +96 -0
  313. data/examples/wondrous_forest/test/TestTemperatureSensor.c +100 -0
  314. data/examples/wondrous_forest/test/TestUartDriver.c +55 -0
  315. data/lib/ceedling/application.rb +1 -1
  316. data/lib/ceedling/array_patches.rb +28 -0
  317. data/lib/ceedling/batchinator.rb +76 -0
  318. data/lib/ceedling/c_extractor/c_extractor.rb +340 -0
  319. data/lib/ceedling/c_extractor/c_extractor_code_text.rb +283 -0
  320. data/lib/ceedling/c_extractor/c_extractor_constants.rb +38 -0
  321. data/lib/ceedling/c_extractor/c_extractor_declarations.rb +415 -0
  322. data/lib/ceedling/c_extractor/c_extractor_definitions.rb +157 -0
  323. data/lib/ceedling/c_extractor/c_extractor_functions.rb +402 -0
  324. data/lib/ceedling/c_extractor/c_extractor_preprocessing.rb +262 -0
  325. data/lib/ceedling/c_extractor/c_extractor_types.rb +122 -0
  326. data/lib/ceedling/cacheinator.rb +1 -1
  327. data/lib/ceedling/cacheinator_helper.rb +23 -4
  328. data/lib/ceedling/ceedling.h +40 -0
  329. data/lib/ceedling/{config_matchinator.rb → config/config_matchinator.rb} +67 -5
  330. data/lib/ceedling/{config_walkinator.rb → config/config_walkinator.rb} +1 -1
  331. data/lib/ceedling/{configurator.rb → config/configurator.rb} +269 -107
  332. data/lib/ceedling/{configurator_builder.rb → config/configurator_builder.rb} +25 -6
  333. data/lib/ceedling/{configurator_plugins.rb → config/configurator_plugins.rb} +2 -4
  334. data/lib/ceedling/{configurator_setup.rb → config/configurator_setup.rb} +39 -71
  335. data/lib/ceedling/{configurator_validator.rb → config/configurator_validator.rb} +1 -1
  336. data/lib/ceedling/constants.rb +59 -18
  337. data/lib/ceedling/defaults.rb +31 -44
  338. data/lib/ceedling/defineinator.rb +2 -2
  339. data/lib/ceedling/dependinator.rb +1 -1
  340. data/lib/ceedling/encodinator.rb +1 -1
  341. data/lib/ceedling/erb_wrapper.rb +1 -1
  342. data/lib/ceedling/exceptions.rb +23 -3
  343. data/lib/ceedling/file_finder.rb +39 -10
  344. data/lib/ceedling/file_finder_helper.rb +2 -2
  345. data/lib/ceedling/file_path_collection_utils.rb +37 -23
  346. data/lib/ceedling/file_path_utils.rb +183 -26
  347. data/lib/ceedling/file_system_wrapper.rb +1 -1
  348. data/lib/ceedling/file_wrapper.rb +14 -1
  349. data/lib/ceedling/flaginator.rb +1 -1
  350. data/lib/ceedling/{generator.rb → generators/generator.rb} +86 -23
  351. data/lib/ceedling/{generator_helper.rb → generators/generator_helper.rb} +17 -11
  352. data/lib/ceedling/{generator_mocks.rb → generators/generator_mocks.rb} +1 -1
  353. data/lib/ceedling/generators/generator_partials.rb +177 -0
  354. data/lib/ceedling/{generator_test_results.rb → generators/generator_test_results.rb} +43 -17
  355. data/lib/ceedling/generators/generator_test_results_backtrace.rb +290 -0
  356. data/lib/ceedling/{generator_test_results_sanity_checker.rb → generators/generator_test_results_sanity_checker.rb} +1 -1
  357. data/lib/ceedling/generators/generator_test_runner.rb +97 -0
  358. data/lib/ceedling/includes/include_factory.rb +43 -0
  359. data/lib/ceedling/{include_pathinator.rb → includes/include_pathinator.rb} +1 -1
  360. data/lib/ceedling/includes/includes.rb +341 -0
  361. data/lib/ceedling/loginator.rb +115 -12
  362. data/lib/ceedling/makefile.rb +1 -1
  363. data/lib/ceedling/objects.yml +145 -43
  364. data/lib/ceedling/parsing_parcels.rb +35 -9
  365. data/lib/ceedling/partials/partializer.rb +444 -0
  366. data/lib/ceedling/partials/partializer_config.rb +217 -0
  367. data/lib/ceedling/partials/partializer_helper.rb +344 -0
  368. data/lib/ceedling/partials/partializer_runtime.rb +29 -0
  369. data/lib/ceedling/partials/partializer_utils.rb +222 -0
  370. data/lib/ceedling/partials/partials.rb +82 -0
  371. data/lib/ceedling/{plugin.rb → plugins/plugin.rb} +1 -1
  372. data/lib/ceedling/{plugin_manager.rb → plugins/plugin_manager.rb} +47 -21
  373. data/lib/ceedling/{plugin_manager_helper.rb → plugins/plugin_manager_helper.rb} +1 -1
  374. data/lib/ceedling/{plugin_reportinator.rb → plugins/plugin_reportinator.rb} +10 -18
  375. data/lib/ceedling/{plugin_reportinator_helper.rb → plugins/plugin_reportinator_helper.rb} +22 -26
  376. data/lib/ceedling/plugins/report_tests_stdout_plugin.rb +88 -0
  377. data/lib/ceedling/preprocess/README.md +184 -0
  378. data/lib/ceedling/preprocess/c_comment_scanner.rb +194 -0
  379. data/lib/ceedling/preprocess/c_preprocessor_conditionals.rb +170 -0
  380. data/lib/ceedling/preprocess/preprocessinator.rb +605 -0
  381. data/lib/ceedling/preprocess/preprocessinator_bare_includes_extractor.rb +69 -0
  382. data/lib/ceedling/preprocess/preprocessinator_code_finder.rb +150 -0
  383. data/lib/ceedling/preprocess/preprocessinator_comment_stripper.rb +80 -0
  384. data/lib/ceedling/preprocess/preprocessinator_file_assembler.rb +378 -0
  385. data/lib/ceedling/preprocess/preprocessinator_includes_handler.rb +224 -0
  386. data/lib/ceedling/preprocess/preprocessinator_line_marker_includes_extractor.rb +215 -0
  387. data/lib/ceedling/preprocess/preprocessinator_reconstructor.rb +398 -0
  388. data/lib/ceedling/rake_app/rake_invocation_tracker.rb +39 -0
  389. data/lib/ceedling/rake_app/rake_task_registry.rb +210 -0
  390. data/lib/ceedling/{rake_utils.rb → rake_app/rake_utils.rb} +1 -1
  391. data/lib/ceedling/{rake_wrapper.rb → rake_app/rake_wrapper.rb} +1 -1
  392. data/lib/ceedling/rake_app/rakefile_component_resolver.rb +77 -0
  393. data/lib/ceedling/rakefile.rb +16 -8
  394. data/lib/ceedling/release_invoker.rb +48 -4
  395. data/lib/ceedling/reportinator.rb +39 -18
  396. data/lib/ceedling/ruby_expandinator.rb +61 -0
  397. data/lib/ceedling/rules_release.rake +4 -2
  398. data/lib/ceedling/rules_tests.rake +1 -23
  399. data/lib/ceedling/setupinator.rb +23 -11
  400. data/lib/ceedling/stream_wrapper.rb +1 -1
  401. data/lib/ceedling/system_utils.rb +1 -1
  402. data/lib/ceedling/system_wrapper.rb +18 -21
  403. data/lib/ceedling/tasks_base.rake +3 -3
  404. data/lib/ceedling/tasks_filesystem.rake +22 -12
  405. data/lib/ceedling/tasks_release.rake +11 -18
  406. data/lib/ceedling/tasks_tests.rake +1 -1
  407. data/lib/ceedling/test_context_extractor.rb +178 -109
  408. data/lib/ceedling/test_invoker/test_build_executor.rb +661 -0
  409. data/lib/ceedling/test_invoker/test_build_planner.rb +277 -0
  410. data/lib/ceedling/test_invoker/test_build_setup.rb +441 -0
  411. data/lib/ceedling/test_invoker/test_invoker.rb +251 -0
  412. data/lib/ceedling/test_invoker/test_invoker_types.rb +56 -0
  413. data/lib/ceedling/test_runner_manager.rb +1 -1
  414. data/lib/ceedling/tool_executor.rb +29 -19
  415. data/lib/ceedling/tool_executor_helper.rb +7 -15
  416. data/lib/ceedling/tool_validator.rb +24 -8
  417. data/lib/ceedling/verbosinator.rb +1 -1
  418. data/lib/ceedling/yaml_wrapper.rb +72 -12
  419. data/lib/ceedling.rb +1 -1
  420. data/lib/snapshot.rb +43 -0
  421. data/lib/version.rb +2 -2
  422. data/license.txt +1 -1
  423. data/mkdocs.local.yml +45 -0
  424. data/mkdocs.yml +202 -0
  425. data/plugins/beep/config/defaults.yml +1 -1
  426. data/plugins/beep/config/defaults_beep.rb +1 -1
  427. data/plugins/beep/lib/beep.rb +7 -5
  428. data/plugins/bullseye/assets/template.erb +1 -1
  429. data/plugins/bullseye/bullseye.rake +1 -1
  430. data/plugins/bullseye/config/defaults.yml +1 -1
  431. data/plugins/bullseye/lib/bullseye.rb +9 -9
  432. data/plugins/command_hooks/lib/command_hooks.rb +43 -38
  433. data/plugins/compile_commands_json_db/lib/compile_commands_json_db.rb +2 -2
  434. data/plugins/cppcheck/AUTHORS.md +8 -0
  435. data/plugins/cppcheck/config/defaults.yml +44 -0
  436. data/plugins/cppcheck/config/defaults_cppcheck.rb +32 -0
  437. data/plugins/cppcheck/cppcheck.rake +54 -0
  438. data/plugins/cppcheck/lib/cppcheck.rb +247 -0
  439. data/plugins/cppcheck/lib/cppcheck_constants.rb +20 -0
  440. data/plugins/cppcheck/lib/cppcheck_reports.rb +160 -0
  441. data/plugins/dependencies/Rakefile +1 -1
  442. data/plugins/dependencies/config/defaults.yml +1 -1
  443. data/plugins/dependencies/dependencies.rake +3 -3
  444. data/plugins/dependencies/example/boss/project.yml +1 -3
  445. data/plugins/dependencies/example/boss/src/boss.c +1 -1
  446. data/plugins/dependencies/example/boss/src/boss.h +1 -1
  447. data/plugins/dependencies/example/boss/src/main.c +1 -1
  448. data/plugins/dependencies/example/boss/test/test_boss.c +1 -1
  449. data/plugins/dependencies/example/supervisor/project.yml +1 -3
  450. data/plugins/dependencies/example/supervisor/src/supervisor.c +1 -1
  451. data/plugins/dependencies/example/supervisor/src/supervisor.h +1 -1
  452. data/plugins/dependencies/example/supervisor/test/test_supervisor.c +1 -1
  453. data/plugins/dependencies/lib/dependencies.rb +14 -2
  454. data/plugins/fff/Rakefile +1 -1
  455. data/plugins/fff/config/fff.yml +1 -1
  456. data/plugins/fff/examples/fff_example/project.yml +2 -2
  457. data/plugins/fff/examples/fff_example/src/bar.c +1 -1
  458. data/plugins/fff/examples/fff_example/src/bar.h +1 -1
  459. data/plugins/fff/examples/fff_example/src/custom_types.h +1 -1
  460. data/plugins/fff/examples/fff_example/src/display.c +1 -1
  461. data/plugins/fff/examples/fff_example/src/display.h +1 -1
  462. data/plugins/fff/examples/fff_example/src/event_processor.c +1 -1
  463. data/plugins/fff/examples/fff_example/src/event_processor.h +1 -1
  464. data/plugins/fff/examples/fff_example/src/foo.c +1 -1
  465. data/plugins/fff/examples/fff_example/src/foo.h +1 -1
  466. data/plugins/fff/examples/fff_example/src/subfolder/zzz.c +1 -1
  467. data/plugins/fff/examples/fff_example/src/subfolder/zzz.h +1 -1
  468. data/plugins/fff/examples/fff_example/test/test_event_processor.c +1 -1
  469. data/plugins/fff/examples/fff_example/test/test_foo.c +1 -1
  470. data/plugins/fff/lib/fff.rb +10 -5
  471. data/plugins/fff/lib/fff_mock_generator.rb +1 -1
  472. data/plugins/fff/spec/fff_mock_header_generator_spec.rb +1 -1
  473. data/plugins/fff/spec/fff_mock_source_generator_spec.rb +1 -1
  474. data/plugins/fff/spec/header_generator.rb +1 -1
  475. data/plugins/fff/spec/spec_helper.rb +1 -1
  476. data/plugins/fff/src/fff_unity_helper.h +1 -1
  477. data/plugins/gcov/config/defaults.yml +4 -1
  478. data/plugins/gcov/config/defaults_gcov.rb +40 -13
  479. data/plugins/gcov/gcov.rake +31 -1
  480. data/plugins/gcov/lib/console_reportinator.rb +180 -0
  481. data/plugins/gcov/lib/gcov.rb +189 -103
  482. data/plugins/gcov/lib/gcov_constants.rb +16 -4
  483. data/plugins/gcov/lib/gcov_reportinator.rb +63 -0
  484. data/{spec/configurator_helper_spec.rb → plugins/gcov/lib/gcov_types.rb} +2 -6
  485. data/plugins/gcov/lib/gcovr_reportinator.rb +237 -136
  486. data/plugins/gcov/lib/reportgenerator_reportinator.rb +242 -116
  487. data/plugins/module_generator/Rakefile +1 -1
  488. data/plugins/module_generator/assets/stubby1.h +1 -1
  489. data/plugins/module_generator/assets/stubby2.h +1 -1
  490. data/plugins/module_generator/config/module_generator.yml +1 -1
  491. data/plugins/module_generator/example/project.yml +1 -3
  492. data/plugins/module_generator/lib/module_generator.rb +2 -2
  493. data/plugins/module_generator/module_generator.rake +1 -1
  494. data/plugins/report_build_warnings_log/lib/report_build_warnings_log.rb +14 -20
  495. data/plugins/report_tests_gtestlike_stdout/assets/template.erb +3 -3
  496. data/plugins/report_tests_gtestlike_stdout/config/report_tests_gtestlike_stdout.yml +1 -1
  497. data/plugins/report_tests_gtestlike_stdout/lib/report_tests_gtestlike_stdout.rb +4 -61
  498. data/plugins/report_tests_ide_stdout/config/report_tests_ide_stdout.yml +1 -1
  499. data/plugins/report_tests_ide_stdout/lib/report_tests_ide_stdout.rb +7 -60
  500. data/plugins/report_tests_log_factory/config/defaults.yml +1 -1
  501. data/plugins/report_tests_log_factory/lib/cppunit_tests_reporter.rb +5 -5
  502. data/plugins/report_tests_log_factory/lib/html_tests_reporter.rb +302 -133
  503. data/plugins/report_tests_log_factory/lib/json_tests_reporter.rb +9 -7
  504. data/plugins/report_tests_log_factory/lib/junit_tests_reporter.rb +6 -5
  505. data/plugins/report_tests_log_factory/lib/report_tests_log_factory.rb +72 -36
  506. data/plugins/report_tests_log_factory/lib/tests_reporter.rb +8 -8
  507. data/plugins/report_tests_pretty_stdout/assets/template.erb +1 -2
  508. data/plugins/report_tests_pretty_stdout/config/report_tests_pretty_stdout.yml +1 -1
  509. data/plugins/report_tests_pretty_stdout/lib/report_tests_pretty_stdout.rb +4 -65
  510. data/plugins/report_tests_raw_output_log/lib/report_tests_raw_output_log.rb +4 -4
  511. data/plugins/report_tests_teamcity_stdout/config/defaults.yml +1 -1
  512. data/plugins/report_tests_teamcity_stdout/config/report_tests_teamcity_stdout.yml +1 -1
  513. data/plugins/report_tests_teamcity_stdout/lib/report_tests_teamcity_stdout.rb +2 -2
  514. data/plugins/valgrind/config/defaults.yml +19 -0
  515. data/plugins/valgrind/config/defaults_valgrind.rb +20 -0
  516. data/plugins/valgrind/lib/valgrind.rb +132 -0
  517. data/plugins/valgrind/lib/valgrind_constants.rb +13 -0
  518. data/plugins/valgrind/valgrind.rake +87 -0
  519. data/site-local/404.html +4002 -0
  520. data/site-local/assets/images/ceedling-logo-circle.png +0 -0
  521. data/site-local/assets/images/ceedling.svg +90 -0
  522. data/site-local/assets/images/favicon.png +0 -0
  523. data/site-local/assets/javascripts/bundle.79ae519e.min.js +16 -0
  524. data/site-local/assets/javascripts/bundle.79ae519e.min.js.map +7 -0
  525. data/site-local/assets/javascripts/lunr/min/lunr.ar.min.js +1 -0
  526. data/site-local/assets/javascripts/lunr/min/lunr.da.min.js +18 -0
  527. data/site-local/assets/javascripts/lunr/min/lunr.de.min.js +18 -0
  528. data/site-local/assets/javascripts/lunr/min/lunr.du.min.js +18 -0
  529. data/site-local/assets/javascripts/lunr/min/lunr.el.min.js +1 -0
  530. data/site-local/assets/javascripts/lunr/min/lunr.es.min.js +18 -0
  531. data/site-local/assets/javascripts/lunr/min/lunr.fi.min.js +18 -0
  532. data/site-local/assets/javascripts/lunr/min/lunr.fr.min.js +18 -0
  533. data/site-local/assets/javascripts/lunr/min/lunr.he.min.js +1 -0
  534. data/site-local/assets/javascripts/lunr/min/lunr.hi.min.js +1 -0
  535. data/site-local/assets/javascripts/lunr/min/lunr.hu.min.js +18 -0
  536. data/site-local/assets/javascripts/lunr/min/lunr.hy.min.js +1 -0
  537. data/site-local/assets/javascripts/lunr/min/lunr.it.min.js +18 -0
  538. data/site-local/assets/javascripts/lunr/min/lunr.ja.min.js +1 -0
  539. data/site-local/assets/javascripts/lunr/min/lunr.jp.min.js +1 -0
  540. data/site-local/assets/javascripts/lunr/min/lunr.kn.min.js +1 -0
  541. data/site-local/assets/javascripts/lunr/min/lunr.ko.min.js +1 -0
  542. data/site-local/assets/javascripts/lunr/min/lunr.multi.min.js +1 -0
  543. data/site-local/assets/javascripts/lunr/min/lunr.nl.min.js +18 -0
  544. data/site-local/assets/javascripts/lunr/min/lunr.no.min.js +18 -0
  545. data/site-local/assets/javascripts/lunr/min/lunr.pt.min.js +18 -0
  546. data/site-local/assets/javascripts/lunr/min/lunr.ro.min.js +18 -0
  547. data/site-local/assets/javascripts/lunr/min/lunr.ru.min.js +18 -0
  548. data/site-local/assets/javascripts/lunr/min/lunr.sa.min.js +1 -0
  549. data/site-local/assets/javascripts/lunr/min/lunr.stemmer.support.min.js +1 -0
  550. data/site-local/assets/javascripts/lunr/min/lunr.sv.min.js +18 -0
  551. data/site-local/assets/javascripts/lunr/min/lunr.ta.min.js +1 -0
  552. data/site-local/assets/javascripts/lunr/min/lunr.te.min.js +1 -0
  553. data/site-local/assets/javascripts/lunr/min/lunr.th.min.js +1 -0
  554. data/site-local/assets/javascripts/lunr/min/lunr.tr.min.js +18 -0
  555. data/site-local/assets/javascripts/lunr/min/lunr.vi.min.js +1 -0
  556. data/site-local/assets/javascripts/lunr/min/lunr.zh.min.js +1 -0
  557. data/site-local/assets/javascripts/lunr/tinyseg.js +206 -0
  558. data/site-local/assets/javascripts/lunr/wordcut.js +6708 -0
  559. data/site-local/assets/javascripts/workers/search.2c215733.min.js +42 -0
  560. data/site-local/assets/javascripts/workers/search.2c215733.min.js.map +7 -0
  561. data/site-local/assets/stylesheets/admonitions.css +152 -0
  562. data/site-local/assets/stylesheets/fixes-local.css +15 -0
  563. data/site-local/assets/stylesheets/main.484c7ddc.min.css +1 -0
  564. data/site-local/assets/stylesheets/main.484c7ddc.min.css.map +1 -0
  565. data/site-local/assets/stylesheets/palette.ab4e12ef.min.css +1 -0
  566. data/site-local/assets/stylesheets/palette.ab4e12ef.min.css.map +1 -0
  567. data/site-local/assets/stylesheets/styling.css +102 -0
  568. data/site-local/configuration/environment-vars.html +4102 -0
  569. data/site-local/configuration/global-collections.html +4248 -0
  570. data/site-local/configuration/index.html +4169 -0
  571. data/site-local/configuration/loading.html +4348 -0
  572. data/site-local/configuration/mixins.html +5060 -0
  573. data/site-local/configuration/parallel-builds.html +4347 -0
  574. data/site-local/configuration/project-file.html +4474 -0
  575. data/site-local/configuration/reference/cexception.html +4225 -0
  576. data/site-local/configuration/reference/cmock.html +4401 -0
  577. data/site-local/configuration/reference/defines.html +4734 -0
  578. data/site-local/configuration/reference/environment.html +4242 -0
  579. data/site-local/configuration/reference/extension.html +4387 -0
  580. data/site-local/configuration/reference/files.html +4541 -0
  581. data/site-local/configuration/reference/flags.html +4681 -0
  582. data/site-local/configuration/reference/index.html +4290 -0
  583. data/site-local/configuration/reference/libraries.html +4365 -0
  584. data/site-local/configuration/reference/mixins.html +4195 -0
  585. data/site-local/configuration/reference/paths.html +4714 -0
  586. data/site-local/configuration/reference/plugins.html +4262 -0
  587. data/site-local/configuration/reference/project.html +4777 -0
  588. data/site-local/configuration/reference/release-build.html +4287 -0
  589. data/site-local/configuration/reference/test-build.html +4264 -0
  590. data/site-local/configuration/reference/test-runner.html +4289 -0
  591. data/site-local/configuration/reference/tools.html +5120 -0
  592. data/site-local/configuration/reference/unity.html +4255 -0
  593. data/site-local/configuration/which-ceedling.html +4269 -0
  594. data/site-local/development/index.html +4148 -0
  595. data/site-local/development/plugins/configuration.html +4446 -0
  596. data/site-local/development/plugins/index.html +4212 -0
  597. data/site-local/development/plugins/plugin-subclass.html +5068 -0
  598. data/site-local/development/plugins/rake-tasks.html +4236 -0
  599. data/site-local/development/workflow.html +4664 -0
  600. data/site-local/getting-started/command-line.html +5498 -0
  601. data/site-local/getting-started/example-projects/cipher-quest.html +4272 -0
  602. data/site-local/getting-started/example-projects/index.html +4173 -0
  603. data/site-local/getting-started/example-projects/temp-sensor.html +4322 -0
  604. data/site-local/getting-started/example-projects/wondrous-forest.html +4290 -0
  605. data/site-local/getting-started/index.html +4116 -0
  606. data/site-local/getting-started/installation.html +4452 -0
  607. data/site-local/getting-started/quick-start.html +4262 -0
  608. data/site-local/help.html +4081 -0
  609. data/site-local/index.html +4364 -0
  610. data/site-local/overview/build-system.html +4288 -0
  611. data/site-local/overview/index.html +4103 -0
  612. data/site-local/overview/test-environments.html +4116 -0
  613. data/site-local/overview/tools-and-frameworks.html +4433 -0
  614. data/site-local/plugins/beep.html +4413 -0
  615. data/site-local/plugins/bullseye.html +4249 -0
  616. data/site-local/plugins/command-hooks.html +5023 -0
  617. data/site-local/plugins/compile-commands-json-db.html +4243 -0
  618. data/site-local/plugins/cppcheck.html +4851 -0
  619. data/site-local/plugins/dependencies.html +4828 -0
  620. data/site-local/plugins/fff.html +4661 -0
  621. data/site-local/plugins/gcov/examples.html +4293 -0
  622. data/site-local/plugins/gcov/gcovr.html +4512 -0
  623. data/site-local/plugins/gcov/index.html +4150 -0
  624. data/site-local/plugins/gcov/overview.html +4410 -0
  625. data/site-local/plugins/gcov/reportgenerator.html +4164 -0
  626. data/site-local/plugins/gcov/reporting.html +4336 -0
  627. data/site-local/plugins/gcov/setup.html +4597 -0
  628. data/site-local/plugins/gcov/tool-versions.html +4269 -0
  629. data/site-local/plugins/gcov/troubleshooting.html +4313 -0
  630. data/site-local/plugins/index.html +4348 -0
  631. data/site-local/plugins/module-generator.html +4588 -0
  632. data/site-local/plugins/report-build-warnings-log.html +4229 -0
  633. data/site-local/plugins/report-tests-gtestlike-stdout.html +4357 -0
  634. data/site-local/plugins/report-tests-ide-stdout.html +4270 -0
  635. data/site-local/plugins/report-tests-log-factory.html +4792 -0
  636. data/site-local/plugins/report-tests-pretty-stdout.html +4265 -0
  637. data/site-local/plugins/report-tests-raw-output-log.html +4292 -0
  638. data/site-local/plugins/report-tests-teamcity-stdout.html +4291 -0
  639. data/site-local/plugins/sample_html_report.png +0 -0
  640. data/site-local/plugins/valgrind.html +4605 -0
  641. data/site-local/project/release-history.html +4225 -0
  642. data/site-local/project/upgrade.html +4314 -0
  643. data/site-local/reference/build-directives.html +4210 -0
  644. data/site-local/reference/command-line.html +4989 -0
  645. data/site-local/reference/environment-vars.html +4278 -0
  646. data/site-local/reference/gcov-plugin.html +5886 -0
  647. data/site-local/reference/global-collections.html +4385 -0
  648. data/site-local/reference/index.html +4126 -0
  649. data/site-local/reference/partials-macros.html +4326 -0
  650. data/site-local/reference/project-configuration.html +4253 -0
  651. data/site-local/sitemap.xml +3 -0
  652. data/site-local/sitemap.xml.gz +0 -0
  653. data/site-local/snapshot/assets/project.yml +404 -0
  654. data/site-local/snapshot/examples/cipher_quest/index.html +4292 -0
  655. data/site-local/snapshot/examples/temp_sensor/index.html +4416 -0
  656. data/site-local/snapshot/examples/wondrous_forest/index.html +4200 -0
  657. data/site-local/snapshot/plugins/gcov/config/defaults.yml +33 -0
  658. data/site-local/snapshot/plugins/gcov/config/defaults_gcov.rb +136 -0
  659. data/site-local/testing-guide/build-directives.html +4481 -0
  660. data/site-local/testing-guide/conventions.html +5233 -0
  661. data/site-local/testing-guide/frameworks.html +4488 -0
  662. data/site-local/testing-guide/index.html +4174 -0
  663. data/site-local/testing-guide/partials/configuration.html +4347 -0
  664. data/site-local/testing-guide/partials/conventions.html +4327 -0
  665. data/site-local/testing-guide/partials/directives.html +4680 -0
  666. data/site-local/testing-guide/partials/example.html +4448 -0
  667. data/site-local/testing-guide/partials/index.html +4167 -0
  668. data/site-local/testing-guide/partials/overview.html +4322 -0
  669. data/site-local/testing-guide/partials/variables.html +4548 -0
  670. data/site-local/testing-guide/test-cases.html +4436 -0
  671. data/site-local/testing-guide/test-sample.html +4265 -0
  672. data/site-local/testing-guide/test-suite-anatomy.html +4249 -0
  673. data/spec/manual/stress_test.rb +1 -1
  674. data/spec/support/other_target.yml +1 -1
  675. data/spec/support/spec_helper.rb +20 -0
  676. data/spec/support/system/gem_dir_layout.rb +20 -0
  677. data/spec/support/system/spec_system_helper.rb +206 -0
  678. data/spec/support/system/system_context.rb +310 -0
  679. data/spec/support/system/system_test_output.rb +28 -0
  680. data/spec/support/target.yml +1 -1
  681. data/spec/system/cppcheck_deployment_spec.rb +49 -0
  682. data/spec/system/deployment_as_gem_spec.rb +86 -48
  683. data/spec/system/deployment_as_vendor_spec.rb +141 -79
  684. data/spec/system/encoding_stress_spec.rb +153 -0
  685. data/spec/system/example_cipher_quest_spec.rb +186 -0
  686. data/spec/system/example_temp_sensor_spec.rb +41 -35
  687. data/spec/system/example_wondrous_forest_spec.rb +117 -0
  688. data/spec/{gcov → system}/gcov_deployment_spec.rb +55 -26
  689. data/spec/system/mixin_ordering_spec.rb +548 -0
  690. data/spec/system/preprocessing_encoding_spec.rb +114 -0
  691. data/spec/system/preprocessing_fallback_conditionals_spec.rb +166 -0
  692. data/spec/system/preprocessing_locale_spec.rb +153 -0
  693. data/spec/system/preprocessing_parameterized_tests_spec.rb +183 -0
  694. data/spec/system/ruby_replacement_spec.rb +141 -0
  695. data/spec/{spec_system_helper.rb → system/support/common_test_cases.rb} +301 -350
  696. data/spec/system/support/cppcheck_common_test_cases.rb +98 -0
  697. data/spec/system/support/cppcheck_helpers.rb +27 -0
  698. data/spec/{gcov/gcov_test_cases_spec.rb → system/support/gcov_common_test_cases.rb} +224 -111
  699. data/spec/system/support/gcov_helpers.rb +81 -0
  700. data/spec/system/support/valgrind_common_test_cases.rb +120 -0
  701. data/spec/system/support/valgrind_helpers.rb +21 -0
  702. data/spec/system/upgrade_as_vendor_spec.rb +74 -39
  703. data/spec/system/valgrind_deployment_spec.rb +53 -0
  704. data/spec/units/bin/cli_helper_spec.rb +69 -0
  705. data/spec/units/bin/merginator_spec.rb +279 -0
  706. data/spec/units/bin/mixin_standardizer_spec.rb +231 -0
  707. data/spec/units/bin/mixinator_spec.rb +583 -0
  708. data/spec/units/bin/projectinator_mixin_spec.rb +362 -0
  709. data/spec/units/bin/recursive_merger_spec.rb +241 -0
  710. data/spec/units/c_extractor/c_extractor_code_text_spec.rb +2091 -0
  711. data/spec/units/c_extractor/c_extractor_declarations_spec.rb +746 -0
  712. data/spec/units/c_extractor/c_extractor_definitions_spec.rb +417 -0
  713. data/spec/units/c_extractor/c_extractor_functions_spec.rb +2742 -0
  714. data/spec/units/c_extractor/c_extractor_integration_spec.rb +935 -0
  715. data/spec/units/c_extractor/c_extractor_preprocessing_spec.rb +497 -0
  716. data/spec/units/c_extractor/c_extractor_spec.rb +356 -0
  717. data/spec/units/config_matchinator_spec.rb +401 -0
  718. data/spec/{config_walkinator_spec.rb → units/config_walkinator_spec.rb} +2 -2
  719. data/spec/{configurator_builder_spec.rb → units/configurator_builder_spec.rb} +1 -1
  720. data/spec/units/configurator_spec.rb +187 -0
  721. data/spec/{file_finder_helper_spec.rb → units/file_finder_helper_spec.rb} +1 -1
  722. data/spec/units/file_path_collection_utils_spec.rb +222 -0
  723. data/spec/units/file_path_utils_spec.rb +274 -0
  724. data/spec/units/generators/generator_helper_spec.rb +112 -0
  725. data/spec/units/generators/generator_partials_spec.rb +795 -0
  726. data/spec/units/generators/generator_test_results_backtrace_spec.rb +492 -0
  727. data/spec/{generator_test_results_sanity_checker_spec.rb → units/generators/generator_test_results_sanity_checker_spec.rb} +5 -4
  728. data/spec/units/generators/generator_test_results_spec.rb +412 -0
  729. data/spec/units/generators/generator_test_runner_spec.rb +120 -0
  730. data/spec/units/includes/include_spec.rb +716 -0
  731. data/spec/units/includes/includes_spec.rb +1069 -0
  732. data/spec/units/parsing_parcels_spec.rb +139 -0
  733. data/spec/units/partials/partializer_config_spec.rb +388 -0
  734. data/spec/units/partials/partializer_helper_spec.rb +992 -0
  735. data/spec/units/partials/partializer_spec.rb +1629 -0
  736. data/spec/units/partials/partializer_utils_spec.rb +587 -0
  737. data/spec/units/plugin_manager_spec.rb +48 -0
  738. data/spec/units/plugins/cppcheck_spec.rb +557 -0
  739. data/spec/units/preprocess/c_comment_scanner_spec.rb +409 -0
  740. data/spec/units/preprocess/c_preprocessor_conditionals_spec.rb +396 -0
  741. data/spec/units/preprocess/preprocessinator_code_finder_spec.rb +361 -0
  742. data/spec/units/preprocess/preprocessinator_comment_stripper_spec.rb +580 -0
  743. data/spec/units/preprocess/preprocessinator_file_assembler_spec.rb +263 -0
  744. data/spec/units/preprocess/preprocessinator_includes_handler_spec.rb +337 -0
  745. data/spec/{preprocessinator_extractor_spec.rb → units/preprocess/preprocessinator_reconstructor_spec.rb} +297 -5
  746. data/spec/units/reportinator_spec.rb +251 -0
  747. data/spec/units/ruby_expandinator_spec.rb +91 -0
  748. data/spec/{system_utils_spec.rb → units/system_utils_spec.rb} +4 -4
  749. data/spec/units/test_context_extractor_spec.rb +437 -0
  750. data/spec/{tool_executor_helper_spec.rb → units/tool_executor_helper_spec.rb} +19 -33
  751. data/spec/units/tool_executor_spec.rb +83 -0
  752. data/spec/units/tool_validator_spec.rb +60 -0
  753. data/spec/units/yaml_wrapper_spec.rb +108 -0
  754. data/vendor/cmock/Gemfile +4 -1
  755. data/vendor/cmock/LICENSE.txt +1 -1
  756. data/vendor/cmock/config/production_environment.rb +1 -1
  757. data/vendor/cmock/config/test_environment.rb +1 -1
  758. data/vendor/cmock/docs/CMockChangeLog.md +47 -0
  759. data/vendor/cmock/docs/CMockKnownIssues.md +0 -1
  760. data/vendor/cmock/docs/CMock_ArgumentValidation.md +180 -25
  761. data/vendor/cmock/docs/CMock_Summary.md +158 -16
  762. data/vendor/cmock/examples/make_example/Makefile +1 -1
  763. data/vendor/cmock/examples/make_example/src/foo.c +1 -1
  764. data/vendor/cmock/examples/make_example/src/foo.h +1 -1
  765. data/vendor/cmock/examples/make_example/src/main.c +1 -1
  766. data/vendor/cmock/examples/make_example/test/test_foo.c +1 -1
  767. data/vendor/cmock/examples/make_example/test/test_main.c +2 -2
  768. data/vendor/cmock/examples/temp_sensor/project.yml +75 -0
  769. data/vendor/cmock/examples/temp_sensor/rakefile.rb +3 -3
  770. data/vendor/cmock/examples/temp_sensor/rakefile_helper.rb +163 -119
  771. data/vendor/cmock/examples/temp_sensor/src/AT91SAM7X256.h +1 -1
  772. data/vendor/cmock/examples/temp_sensor/src/AdcConductor.c +1 -1
  773. data/vendor/cmock/examples/temp_sensor/src/AdcConductor.h +1 -1
  774. data/vendor/cmock/examples/temp_sensor/src/AdcHardware.c +1 -1
  775. data/vendor/cmock/examples/temp_sensor/src/AdcHardware.h +1 -1
  776. data/vendor/cmock/examples/temp_sensor/src/AdcHardwareConfigurator.c +1 -1
  777. data/vendor/cmock/examples/temp_sensor/src/AdcHardwareConfigurator.h +1 -1
  778. data/vendor/cmock/examples/temp_sensor/src/AdcModel.c +3 -1
  779. data/vendor/cmock/examples/temp_sensor/src/AdcModel.h +1 -1
  780. data/vendor/cmock/examples/temp_sensor/src/AdcTemperatureSensor.c +1 -1
  781. data/vendor/cmock/examples/temp_sensor/src/AdcTemperatureSensor.h +1 -1
  782. data/vendor/cmock/examples/temp_sensor/src/Executor.c +1 -1
  783. data/vendor/cmock/examples/temp_sensor/src/Executor.h +1 -1
  784. data/vendor/cmock/examples/temp_sensor/src/IntrinsicsWrapper.c +1 -1
  785. data/vendor/cmock/examples/temp_sensor/src/IntrinsicsWrapper.h +1 -1
  786. data/vendor/cmock/examples/temp_sensor/src/Main.c +1 -1
  787. data/vendor/cmock/examples/temp_sensor/src/Main.h +1 -1
  788. data/vendor/cmock/examples/temp_sensor/src/Model.c +1 -1
  789. data/vendor/cmock/examples/temp_sensor/src/Model.h +1 -1
  790. data/vendor/cmock/examples/temp_sensor/src/ModelConfig.h +1 -1
  791. data/vendor/cmock/examples/temp_sensor/src/TaskScheduler.c +1 -1
  792. data/vendor/cmock/examples/temp_sensor/src/TaskScheduler.h +1 -1
  793. data/vendor/cmock/examples/temp_sensor/src/TemperatureCalculator.c +1 -1
  794. data/vendor/cmock/examples/temp_sensor/src/TemperatureCalculator.h +1 -1
  795. data/vendor/cmock/examples/temp_sensor/src/TemperatureFilter.c +2 -2
  796. data/vendor/cmock/examples/temp_sensor/src/TemperatureFilter.h +1 -1
  797. data/vendor/cmock/examples/temp_sensor/src/TimerConductor.c +1 -1
  798. data/vendor/cmock/examples/temp_sensor/src/TimerConductor.h +1 -1
  799. data/vendor/cmock/examples/temp_sensor/src/TimerConfigurator.c +2 -2
  800. data/vendor/cmock/examples/temp_sensor/src/TimerConfigurator.h +1 -1
  801. data/vendor/cmock/examples/temp_sensor/src/TimerHardware.c +1 -1
  802. data/vendor/cmock/examples/temp_sensor/src/TimerHardware.h +1 -1
  803. data/vendor/cmock/examples/temp_sensor/src/TimerInterruptConfigurator.c +10 -1
  804. data/vendor/cmock/examples/temp_sensor/src/TimerInterruptConfigurator.h +1 -1
  805. data/vendor/cmock/examples/temp_sensor/src/TimerInterruptHandler.c +1 -1
  806. data/vendor/cmock/examples/temp_sensor/src/TimerInterruptHandler.h +1 -1
  807. data/vendor/cmock/examples/temp_sensor/src/TimerModel.c +1 -1
  808. data/vendor/cmock/examples/temp_sensor/src/TimerModel.h +1 -1
  809. data/vendor/cmock/examples/temp_sensor/src/Types.h +1 -1
  810. data/vendor/cmock/examples/temp_sensor/src/UsartBaudRateRegisterCalculator.c +1 -1
  811. data/vendor/cmock/examples/temp_sensor/src/UsartBaudRateRegisterCalculator.h +1 -1
  812. data/vendor/cmock/examples/temp_sensor/src/UsartConductor.c +1 -1
  813. data/vendor/cmock/examples/temp_sensor/src/UsartConductor.h +1 -1
  814. data/vendor/cmock/examples/temp_sensor/src/UsartConfigurator.c +1 -1
  815. data/vendor/cmock/examples/temp_sensor/src/UsartConfigurator.h +1 -1
  816. data/vendor/cmock/examples/temp_sensor/src/UsartHardware.c +1 -1
  817. data/vendor/cmock/examples/temp_sensor/src/UsartHardware.h +1 -1
  818. data/vendor/cmock/examples/temp_sensor/src/UsartModel.c +2 -2
  819. data/vendor/cmock/examples/temp_sensor/src/UsartModel.h +1 -1
  820. data/vendor/cmock/examples/temp_sensor/src/UsartPutChar.c +2 -2
  821. data/vendor/cmock/examples/temp_sensor/src/UsartPutChar.h +1 -1
  822. data/vendor/cmock/examples/temp_sensor/src/UsartTransmitBufferStatus.c +1 -1
  823. data/vendor/cmock/examples/temp_sensor/src/UsartTransmitBufferStatus.h +1 -1
  824. data/vendor/cmock/examples/temp_sensor/test/TestAdcConductor.c +1 -1
  825. data/vendor/cmock/examples/temp_sensor/test/TestAdcHardware.c +1 -1
  826. data/vendor/cmock/examples/temp_sensor/test/TestAdcHardwareConfigurator.c +1 -1
  827. data/vendor/cmock/examples/temp_sensor/test/TestAdcModel.c +1 -1
  828. data/vendor/cmock/examples/temp_sensor/test/TestAdcTemperatureSensor.c +1 -1
  829. data/vendor/cmock/examples/temp_sensor/test/TestExecutor.c +1 -1
  830. data/vendor/cmock/examples/temp_sensor/test/TestMain.c +1 -1
  831. data/vendor/cmock/examples/temp_sensor/test/TestModel.c +1 -1
  832. data/vendor/cmock/examples/temp_sensor/test/TestTaskScheduler.c +1 -1
  833. data/vendor/cmock/examples/temp_sensor/test/TestTemperatureCalculator.c +1 -1
  834. data/vendor/cmock/examples/temp_sensor/test/TestTemperatureFilter.c +2 -2
  835. data/vendor/cmock/examples/temp_sensor/test/TestTimerConductor.c +1 -1
  836. data/vendor/cmock/examples/temp_sensor/test/TestTimerConfigurator.c +1 -1
  837. data/vendor/cmock/examples/temp_sensor/test/TestTimerHardware.c +1 -1
  838. data/vendor/cmock/examples/temp_sensor/test/TestTimerInterruptConfigurator.c +1 -1
  839. data/vendor/cmock/examples/temp_sensor/test/TestTimerInterruptHandler.c +1 -1
  840. data/vendor/cmock/examples/temp_sensor/test/TestTimerModel.c +1 -1
  841. data/vendor/cmock/examples/temp_sensor/test/TestUsartBaudRateRegisterCalculator.c +1 -1
  842. data/vendor/cmock/examples/temp_sensor/test/TestUsartConductor.c +7 -5
  843. data/vendor/cmock/examples/temp_sensor/test/TestUsartConfigurator.c +1 -1
  844. data/vendor/cmock/examples/temp_sensor/test/TestUsartHardware.c +3 -2
  845. data/vendor/cmock/examples/temp_sensor/test/TestUsartModel.c +1 -1
  846. data/vendor/cmock/examples/temp_sensor/test/TestUsartPutChar.c +1 -1
  847. data/vendor/cmock/examples/temp_sensor/test/TestUsartTransmitBufferStatus.c +1 -1
  848. data/vendor/cmock/lib/cmock.rb +1 -1
  849. data/vendor/cmock/lib/cmock_config.rb +8 -2
  850. data/vendor/cmock/lib/cmock_file_writer.rb +38 -1
  851. data/vendor/cmock/lib/cmock_generator.rb +44 -27
  852. data/vendor/cmock/lib/cmock_generator_plugin_array.rb +68 -15
  853. data/vendor/cmock/lib/cmock_generator_plugin_callback.rb +13 -3
  854. data/vendor/cmock/lib/cmock_generator_plugin_cexception.rb +12 -3
  855. data/vendor/cmock/lib/cmock_generator_plugin_expect.rb +33 -15
  856. data/vendor/cmock/lib/cmock_generator_plugin_expect_any_args.rb +13 -8
  857. data/vendor/cmock/lib/cmock_generator_plugin_ignore.rb +15 -10
  858. data/vendor/cmock/lib/cmock_generator_plugin_ignore_arg.rb +4 -2
  859. data/vendor/cmock/lib/cmock_generator_plugin_ignore_stateless.rb +15 -10
  860. data/vendor/cmock/lib/cmock_generator_plugin_return_thru_ptr.rb +53 -3
  861. data/vendor/cmock/lib/cmock_generator_utils.rb +159 -43
  862. data/vendor/cmock/lib/cmock_header_parser.rb +217 -26
  863. data/vendor/cmock/lib/cmock_plugin_manager.rb +1 -1
  864. data/vendor/cmock/lib/cmock_unityhelper_parser.rb +7 -2
  865. data/vendor/cmock/lib/cmock_version.rb +1 -1
  866. data/vendor/cmock/scripts/create_makefile.rb +7 -5
  867. data/vendor/cmock/src/cmock.c +132 -129
  868. data/vendor/cmock/src/cmock.h +7 -13
  869. data/vendor/cmock/src/cmock_internals.h +73 -39
  870. data/vendor/cmock/test/c/TestCMockC.c +1 -7
  871. data/vendor/cmock/test/c/TestCMockC.yml +1 -1
  872. data/vendor/cmock/test/c/TestCMockCDynamic.c +1 -7
  873. data/vendor/cmock/test/c/TestCMockCDynamic.yml +1 -1
  874. data/vendor/cmock/test/c/TestCMockCDynamic_Runner.c +1 -7
  875. data/vendor/cmock/test/c/TestCMockC_Runner.c +1 -7
  876. data/vendor/cmock/{vendor/unity/test/targets/gcc_manual_math.yml → test/gcc_64_valgrind.yml} +8 -17
  877. data/vendor/cmock/test/iar/iar_v4/incIAR/AT91SAM7X-EK.h +1 -1
  878. data/vendor/cmock/test/iar/iar_v4/incIAR/AT91SAM7X256_inc.h +1 -1
  879. data/vendor/cmock/test/iar/iar_v4/incIAR/ioat91sam7x256.h +1 -1
  880. data/vendor/cmock/test/iar/iar_v4/srcIAR/Cstartup_SAM7.c +1 -1
  881. data/vendor/cmock/test/iar/iar_v5/incIAR/AT91SAM7X-EK.h +1 -1
  882. data/vendor/cmock/test/iar/iar_v5/incIAR/AT91SAM7X256_inc.h +1 -1
  883. data/vendor/cmock/test/iar/iar_v5/incIAR/project.h +1 -1
  884. data/vendor/cmock/test/iar/iar_v5/srcIAR/Cstartup_SAM7.c +1 -1
  885. data/vendor/cmock/test/project.yml +32 -0
  886. data/vendor/cmock/test/rakefile +74 -58
  887. data/vendor/cmock/test/rakefile_helper.rb +359 -152
  888. data/vendor/cmock/test/system/systest_generator.rb +2 -2
  889. data/vendor/cmock/test/system/test_compilation/callingconv.h +1 -7
  890. data/vendor/cmock/test/system/test_compilation/config.yml +10 -1
  891. data/vendor/cmock/test/system/test_compilation/const.h +7 -13
  892. data/vendor/cmock/test/system/test_compilation/inline.h +1 -2
  893. data/vendor/cmock/test/system/test_compilation/osek.h +1 -7
  894. data/vendor/cmock/test/system/test_compilation/parsing.h +37 -7
  895. data/vendor/cmock/test/system/test_interactions/all_plugins_but_other_limits.yml +5 -13
  896. data/vendor/cmock/test/system/test_interactions/all_plugins_coexist.yml +5 -5
  897. data/vendor/cmock/test/system/test_interactions/array_handling.yml +758 -0
  898. data/vendor/cmock/test/system/test_interactions/basic_expect_and_return.yml +2 -2
  899. data/vendor/cmock/test/system/test_interactions/char_string_array_plugin.yml +113 -0
  900. data/vendor/cmock/test/system/test_interactions/const_custom_type.yml +68 -0
  901. data/vendor/cmock/test/system/test_interactions/const_primitives_handling.yml +4 -3
  902. data/vendor/cmock/test/system/test_interactions/const_ptr_return_and_arg.yml +89 -0
  903. data/vendor/cmock/test/system/test_interactions/debug_output.yml +235 -0
  904. data/vendor/cmock/test/system/test_interactions/doesnt_leave_details_behind.yml +16 -16
  905. data/vendor/cmock/test/system/test_interactions/enforce_strict_ordering.yml +1 -1
  906. data/vendor/cmock/test/system/test_interactions/expect_and_return_custom_types.yml +1 -1
  907. data/vendor/cmock/test/system/test_interactions/expect_and_return_treat_as.yml +3 -3
  908. data/vendor/cmock/test/system/test_interactions/expect_and_throw.yml +1 -1
  909. data/vendor/cmock/test/system/test_interactions/expect_any_args.yml +1 -1
  910. data/vendor/cmock/test/system/test_interactions/fancy_pointer_handling.yml +3 -3
  911. data/vendor/cmock/test/system/test_interactions/function_pointer_handling.yml +1 -1
  912. data/vendor/cmock/test/system/test_interactions/ignore_and_return.yml +1 -1
  913. data/vendor/cmock/test/system/test_interactions/ignore_and_return_stateless.yml +1 -1
  914. data/vendor/cmock/test/system/test_interactions/ignore_strict_mock_calling.yml +1 -1
  915. data/vendor/cmock/test/system/test_interactions/newer_standards_stuff1.yml +1 -1
  916. data/vendor/cmock/test/system/test_interactions/nonstandard_parsed_stuff_1.yml +2 -2
  917. data/vendor/cmock/test/system/test_interactions/nonstandard_parsed_stuff_2.yml +7 -4
  918. data/vendor/cmock/test/system/test_interactions/out_of_memory.yml +65 -8
  919. data/vendor/cmock/test/system/test_interactions/parsing_challenges.yml +1 -1
  920. data/vendor/cmock/test/system/test_interactions/parsing_challenges_with_func_pointers.yml +88 -0
  921. data/vendor/cmock/test/system/test_interactions/pointer_handling.yml +465 -0
  922. data/vendor/cmock/test/system/test_interactions/{return_thru_ptr_and_expect_any_args.yml → return_thru_ptr_expect_any_args.yml} +9 -13
  923. data/vendor/cmock/test/system/test_interactions/return_thru_ptr_ignore.yml +142 -0
  924. data/vendor/cmock/test/system/test_interactions/return_thru_ptr_ignore_arg.yml +13 -9
  925. data/vendor/cmock/test/system/test_interactions/skeleton.yml +1 -1
  926. data/vendor/cmock/test/system/test_interactions/skeleton_update.yml +1 -1
  927. data/vendor/cmock/test/system/test_interactions/struct_union_enum_expect_and_return.yml +1 -1
  928. data/vendor/cmock/test/system/test_interactions/struct_union_enum_expect_and_return_with_plugins.yml +1 -1
  929. data/vendor/cmock/test/system/test_interactions/stubs_with_callbacks.yml +14 -2
  930. data/vendor/cmock/test/system/test_interactions/teardown_mock_calls.yml +57 -0
  931. data/vendor/cmock/test/system/test_interactions/teardown_mock_expectations.yml +59 -0
  932. data/vendor/cmock/test/system/test_interactions/unity_64bit_support.yml +1 -1
  933. data/vendor/cmock/test/system/test_interactions/unity_ignores.yml +1 -1
  934. data/vendor/cmock/test/system/test_interactions/unity_void_pointer_compare.yml +9 -9
  935. data/vendor/cmock/test/system/test_interactions/void_pointer_no_array_plugin.yml +133 -0
  936. data/vendor/cmock/test/system/test_interactions/void_pointer_treat_as_void_array_plugin.yml +102 -0
  937. data/vendor/cmock/test/system/test_interactions/volatile_pointer_handling.yml +291 -0
  938. data/vendor/cmock/test/system/test_interactions/wrong_expect_and_return.yml +9 -1
  939. data/vendor/cmock/test/targets/iar_arm.yml +14 -0
  940. data/vendor/cmock/test/targets/tiny.yml +36 -0
  941. data/vendor/cmock/test/test_helper.rb +1 -2
  942. data/vendor/cmock/test/unit/cmock_config_test.rb +1 -2
  943. data/vendor/cmock/test/unit/cmock_config_test.yml +1 -1
  944. data/vendor/cmock/test/unit/cmock_file_writer_test.rb +1 -1
  945. data/vendor/cmock/test/unit/cmock_generator_main_test.rb +6 -0
  946. data/vendor/cmock/test/unit/cmock_generator_no_error_stubs_plugin_array_test.rb +90 -0
  947. data/vendor/cmock/test/unit/cmock_generator_no_error_stubs_plugin_expect_any_args_test.rb +38 -0
  948. data/vendor/cmock/test/unit/cmock_generator_no_error_stubs_plugin_expect_test.rb +55 -0
  949. data/vendor/cmock/test/unit/cmock_generator_no_error_stubs_plugin_ignore_stateless_test.rb +42 -0
  950. data/vendor/cmock/test/unit/cmock_generator_no_error_stubs_plugin_ignore_test.rb +42 -0
  951. data/vendor/cmock/test/unit/cmock_generator_plugin_array_test.rb +63 -2
  952. data/vendor/cmock/test/unit/cmock_generator_plugin_callback_test.rb +24 -6
  953. data/vendor/cmock/test/unit/cmock_generator_plugin_cexception_test.rb +1 -1
  954. data/vendor/cmock/test/unit/cmock_generator_plugin_expect_a_test.rb +118 -2
  955. data/vendor/cmock/test/unit/cmock_generator_plugin_expect_any_args_test.rb +2 -2
  956. data/vendor/cmock/test/unit/cmock_generator_plugin_expect_b_test.rb +4 -2
  957. data/vendor/cmock/test/unit/cmock_generator_plugin_ignore_arg_test.rb +2 -1
  958. data/vendor/cmock/test/unit/cmock_generator_plugin_ignore_stateless_test.rb +2 -2
  959. data/vendor/cmock/test/unit/cmock_generator_plugin_ignore_test.rb +2 -2
  960. data/vendor/cmock/test/unit/cmock_generator_plugin_return_thru_ptr_test.rb +135 -3
  961. data/vendor/cmock/test/unit/cmock_generator_utils_test.rb +177 -9
  962. data/vendor/cmock/test/unit/cmock_header_parser_test.rb +705 -109
  963. data/vendor/cmock/test/unit/cmock_plugin_manager_test.rb +4 -2
  964. data/vendor/cmock/test/unit/cmock_unityhelper_parser_test.rb +1 -1
  965. data/vendor/cmock/vendor/unity/CMakeLists.txt +10 -0
  966. data/vendor/cmock/vendor/unity/LICENSE.txt +1 -1
  967. data/vendor/cmock/vendor/unity/README.md +2 -2
  968. data/vendor/cmock/vendor/unity/auto/__init__.py +1 -1
  969. data/vendor/cmock/vendor/unity/auto/colour_prompt.rb +1 -1
  970. data/vendor/cmock/vendor/unity/auto/colour_reporter.rb +7 -1
  971. data/vendor/cmock/vendor/unity/auto/extract_version.py +1 -1
  972. data/vendor/cmock/vendor/unity/auto/generate_config.yml +1 -1
  973. data/vendor/cmock/vendor/unity/auto/generate_module.rb +6 -6
  974. data/vendor/cmock/vendor/unity/auto/generate_test_runner.rb +95 -14
  975. data/vendor/cmock/vendor/unity/auto/parse_output.rb +10 -7
  976. data/vendor/cmock/vendor/unity/auto/stylize_as_junit.py +4 -3
  977. data/vendor/cmock/vendor/unity/auto/stylize_as_junit.rb +4 -2
  978. data/vendor/cmock/vendor/unity/auto/test_file_filter.rb +1 -1
  979. data/vendor/cmock/vendor/unity/auto/type_sanitizer.rb +1 -1
  980. data/vendor/cmock/vendor/unity/auto/unity_test_summary.py +2 -2
  981. data/vendor/cmock/vendor/unity/auto/unity_test_summary.rb +5 -2
  982. data/vendor/cmock/vendor/unity/auto/yaml_helper.rb +1 -1
  983. data/vendor/cmock/vendor/unity/docs/ThrowTheSwitchCodingStandard.md +2 -2
  984. data/vendor/cmock/vendor/unity/docs/UnityAssertionsReference.md +66 -1
  985. data/vendor/cmock/vendor/unity/docs/UnityChangeLog.md +41 -0
  986. data/vendor/cmock/vendor/unity/docs/UnityConfigurationGuide.md +2 -2
  987. data/vendor/cmock/vendor/unity/docs/UnityHelperScriptsGuide.md +28 -12
  988. data/vendor/cmock/vendor/unity/examples/example_1/makefile +1 -1
  989. data/vendor/cmock/vendor/unity/examples/example_1/src/ProductionCode.c +1 -1
  990. data/vendor/cmock/vendor/unity/examples/example_1/src/ProductionCode.h +1 -1
  991. data/vendor/cmock/vendor/unity/examples/example_1/src/ProductionCode2.c +1 -1
  992. data/vendor/cmock/vendor/unity/examples/example_1/src/ProductionCode2.h +1 -1
  993. data/vendor/cmock/vendor/unity/examples/example_1/test/TestProductionCode.c +1 -1
  994. data/vendor/cmock/vendor/unity/examples/example_1/test/TestProductionCode2.c +1 -1
  995. data/vendor/cmock/vendor/unity/examples/example_2/makefile +1 -1
  996. data/vendor/cmock/vendor/unity/examples/example_2/src/ProductionCode.c +1 -1
  997. data/vendor/cmock/vendor/unity/examples/example_2/src/ProductionCode.h +1 -1
  998. data/vendor/cmock/vendor/unity/examples/example_2/src/ProductionCode2.c +1 -1
  999. data/vendor/cmock/vendor/unity/examples/example_2/src/ProductionCode2.h +1 -1
  1000. data/vendor/cmock/vendor/unity/examples/example_2/test/TestProductionCode.c +1 -1
  1001. data/vendor/cmock/vendor/unity/examples/example_2/test/TestProductionCode2.c +1 -1
  1002. data/vendor/cmock/vendor/unity/examples/example_2/test/test_runners/TestProductionCode2_Runner.c +1 -1
  1003. data/vendor/cmock/vendor/unity/examples/example_2/test/test_runners/TestProductionCode_Runner.c +1 -1
  1004. data/vendor/cmock/vendor/unity/examples/example_2/test/test_runners/all_tests.c +1 -1
  1005. data/vendor/cmock/vendor/unity/examples/example_3/helper/UnityHelper.c +1 -1
  1006. data/vendor/cmock/vendor/unity/examples/example_3/helper/UnityHelper.h +1 -1
  1007. data/vendor/cmock/vendor/unity/examples/example_3/project.yml +24 -0
  1008. data/vendor/cmock/vendor/unity/examples/example_3/rakefile.rb +2 -3
  1009. data/vendor/cmock/vendor/unity/examples/example_3/rakefile_helper.rb +107 -153
  1010. data/vendor/cmock/vendor/unity/examples/example_3/src/ProductionCode.c +3 -3
  1011. data/vendor/cmock/vendor/unity/examples/example_3/src/ProductionCode.h +1 -1
  1012. data/vendor/cmock/vendor/unity/examples/example_3/src/ProductionCode2.c +1 -1
  1013. data/vendor/cmock/vendor/unity/examples/example_3/src/ProductionCode2.h +1 -1
  1014. data/vendor/cmock/vendor/unity/examples/example_3/test/TestProductionCode.c +1 -1
  1015. data/vendor/cmock/vendor/unity/examples/example_3/test/TestProductionCode2.c +1 -1
  1016. data/vendor/cmock/vendor/unity/examples/example_4/src/ProductionCode.c +1 -1
  1017. data/vendor/cmock/vendor/unity/examples/example_4/src/ProductionCode.h +1 -1
  1018. data/vendor/cmock/vendor/unity/examples/example_4/src/ProductionCode2.c +1 -1
  1019. data/vendor/cmock/vendor/unity/examples/example_4/src/ProductionCode2.h +1 -1
  1020. data/vendor/cmock/vendor/unity/examples/example_4/test/TestProductionCode.c +1 -1
  1021. data/vendor/cmock/vendor/unity/examples/example_4/test/TestProductionCode2.c +1 -1
  1022. data/vendor/cmock/vendor/unity/examples/example_5/makefile +63 -0
  1023. data/vendor/cmock/vendor/unity/examples/example_5/readme.txt +38 -0
  1024. data/vendor/cmock/vendor/unity/examples/example_5/src/ProductionCode.c +56 -0
  1025. data/vendor/cmock/vendor/unity/examples/example_5/src/ProductionCode.h +16 -0
  1026. data/vendor/cmock/vendor/unity/examples/example_5/subprojects/unity.wrap +3 -0
  1027. data/vendor/cmock/vendor/unity/examples/example_5/test/TestProductionCode.c +45 -0
  1028. data/vendor/cmock/vendor/unity/examples/example_5/test/test_runners/TestProductionCode_Runner.c +48 -0
  1029. data/vendor/cmock/vendor/unity/examples/example_5/test/unity_detail_config.h +25 -0
  1030. data/vendor/cmock/vendor/unity/examples/unity_config.h +5 -3
  1031. data/vendor/cmock/vendor/unity/extras/bdd/src/unity_bdd.h +1 -1
  1032. data/vendor/cmock/vendor/unity/extras/bdd/test/test_bdd.c +1 -1
  1033. data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture.c +59 -15
  1034. data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture.h +1 -1
  1035. data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture_internals.h +4 -1
  1036. data/vendor/cmock/vendor/unity/extras/fixture/test/main/AllTests.c +1 -1
  1037. data/vendor/cmock/vendor/unity/extras/fixture/test/template_fixture_tests.c +1 -1
  1038. data/vendor/cmock/vendor/unity/extras/fixture/test/unity_fixture_Test.c +46 -1
  1039. data/vendor/cmock/vendor/unity/extras/fixture/test/unity_fixture_TestRunner.c +4 -1
  1040. data/vendor/cmock/vendor/unity/extras/memory/src/unity_memory.c +1 -1
  1041. data/vendor/cmock/vendor/unity/extras/memory/src/unity_memory.h +1 -1
  1042. data/vendor/cmock/vendor/unity/extras/memory/test/unity_memory_Test.c +1 -1
  1043. data/vendor/cmock/vendor/unity/extras/memory/test/unity_memory_TestRunner.c +1 -1
  1044. data/vendor/cmock/vendor/unity/extras/memory/test/unity_output_Spy.c +1 -1
  1045. data/vendor/cmock/vendor/unity/extras/memory/test/unity_output_Spy.h +1 -1
  1046. data/vendor/cmock/vendor/unity/library.json +0 -7
  1047. data/vendor/cmock/vendor/unity/meson.build +16 -8
  1048. data/vendor/cmock/vendor/unity/meson_options.txt +5 -3
  1049. data/vendor/cmock/vendor/unity/src/unity.c +480 -141
  1050. data/vendor/cmock/vendor/unity/src/unity.h +16 -4
  1051. data/vendor/cmock/vendor/unity/src/unity_internals.h +291 -148
  1052. data/vendor/cmock/vendor/unity/test/Makefile +4 -6
  1053. data/vendor/cmock/vendor/unity/test/rakefile +42 -21
  1054. data/vendor/cmock/vendor/unity/test/rakefile_helper.rb +154 -15
  1055. data/vendor/cmock/vendor/unity/test/spec/generate_module_existing_file_spec.rb +1 -1
  1056. data/vendor/cmock/vendor/unity/test/targets/clang.yml +157 -0
  1057. data/vendor/cmock/vendor/unity/test/targets/gcc.yml +139 -0
  1058. data/vendor/cmock/vendor/unity/test/targets/hitech_picc18.yml +9 -16
  1059. data/vendor/cmock/vendor/unity/test/targets/iar_arm.yml +88 -0
  1060. data/vendor/cmock/vendor/unity/test/targets/no_stdlib.yml +23 -0
  1061. data/vendor/cmock/vendor/unity/test/testdata/CException.h +1 -1
  1062. data/vendor/cmock/vendor/unity/test/testdata/Defs.h +1 -1
  1063. data/vendor/cmock/vendor/unity/test/testdata/cmock.h +1 -1
  1064. data/vendor/cmock/vendor/unity/test/testdata/mockMock.h +1 -1
  1065. data/vendor/cmock/vendor/unity/test/testdata/testRunnerGenerator.c +1 -1
  1066. data/vendor/cmock/vendor/unity/test/testdata/testRunnerGeneratorSmall.c +1 -1
  1067. data/vendor/cmock/vendor/unity/test/testdata/testRunnerGeneratorWithMocks.c +1 -1
  1068. data/vendor/cmock/vendor/unity/test/tests/self_assessment_utils.h +23 -7
  1069. data/vendor/cmock/vendor/unity/test/tests/test_generate_test_runner.rb +1 -4
  1070. data/vendor/cmock/vendor/unity/test/tests/test_unity_arrays.c +1 -1
  1071. data/vendor/cmock/vendor/unity/test/tests/test_unity_core.c +33 -38
  1072. data/vendor/cmock/vendor/unity/test/tests/test_unity_doubles.c +4 -4
  1073. data/vendor/cmock/vendor/unity/test/tests/test_unity_floats.c +15 -6
  1074. data/vendor/cmock/vendor/unity/test/tests/test_unity_integers.c +35 -1
  1075. data/vendor/cmock/vendor/unity/test/tests/test_unity_integers_64.c +1 -1
  1076. data/vendor/cmock/vendor/unity/test/tests/test_unity_memory.c +69 -1
  1077. data/vendor/cmock/vendor/unity/test/tests/test_unity_parameterized.c +5 -5
  1078. data/vendor/cmock/vendor/unity/test/tests/test_unity_parameterizedDemo.c +1 -1
  1079. data/vendor/cmock/vendor/unity/test/tests/test_unity_strings.c +65 -1
  1080. data/vendor/cmock/vendor/unity/test/tests/types_for_test.h +1 -1
  1081. data/vendor/unity/CMakeLists.txt +10 -0
  1082. data/vendor/unity/LICENSE.txt +1 -1
  1083. data/vendor/unity/README.md +2 -2
  1084. data/vendor/unity/auto/__init__.py +1 -1
  1085. data/vendor/unity/auto/colour_prompt.rb +1 -1
  1086. data/vendor/unity/auto/colour_reporter.rb +7 -1
  1087. data/vendor/unity/auto/extract_version.py +1 -1
  1088. data/vendor/unity/auto/generate_config.yml +1 -1
  1089. data/vendor/unity/auto/generate_module.rb +6 -6
  1090. data/vendor/unity/auto/generate_test_runner.rb +95 -14
  1091. data/vendor/unity/auto/parse_output.rb +10 -7
  1092. data/vendor/unity/auto/stylize_as_junit.py +4 -3
  1093. data/vendor/unity/auto/stylize_as_junit.rb +4 -2
  1094. data/vendor/unity/auto/test_file_filter.rb +1 -1
  1095. data/vendor/unity/auto/type_sanitizer.rb +1 -1
  1096. data/vendor/unity/auto/unity_test_summary.py +2 -2
  1097. data/vendor/unity/auto/unity_test_summary.rb +5 -2
  1098. data/vendor/unity/auto/yaml_helper.rb +1 -1
  1099. data/vendor/unity/docs/ThrowTheSwitchCodingStandard.md +2 -2
  1100. data/vendor/unity/docs/UnityAssertionsReference.md +66 -1
  1101. data/vendor/unity/docs/UnityChangeLog.md +41 -0
  1102. data/vendor/unity/docs/UnityConfigurationGuide.md +2 -2
  1103. data/vendor/unity/docs/UnityHelperScriptsGuide.md +28 -12
  1104. data/vendor/unity/examples/example_1/makefile +1 -1
  1105. data/vendor/unity/examples/example_1/src/ProductionCode.c +1 -1
  1106. data/vendor/unity/examples/example_1/src/ProductionCode.h +1 -1
  1107. data/vendor/unity/examples/example_1/src/ProductionCode2.c +1 -1
  1108. data/vendor/unity/examples/example_1/src/ProductionCode2.h +1 -1
  1109. data/vendor/unity/examples/example_1/test/TestProductionCode.c +1 -1
  1110. data/vendor/unity/examples/example_1/test/TestProductionCode2.c +1 -1
  1111. data/vendor/unity/examples/example_2/makefile +1 -1
  1112. data/vendor/unity/examples/example_2/src/ProductionCode.c +1 -1
  1113. data/vendor/unity/examples/example_2/src/ProductionCode.h +1 -1
  1114. data/vendor/unity/examples/example_2/src/ProductionCode2.c +1 -1
  1115. data/vendor/unity/examples/example_2/src/ProductionCode2.h +1 -1
  1116. data/vendor/unity/examples/example_2/test/TestProductionCode.c +1 -1
  1117. data/vendor/unity/examples/example_2/test/TestProductionCode2.c +1 -1
  1118. data/vendor/unity/examples/example_2/test/test_runners/TestProductionCode2_Runner.c +1 -1
  1119. data/vendor/unity/examples/example_2/test/test_runners/TestProductionCode_Runner.c +1 -1
  1120. data/vendor/unity/examples/example_2/test/test_runners/all_tests.c +1 -1
  1121. data/vendor/unity/examples/example_3/helper/UnityHelper.c +1 -1
  1122. data/vendor/unity/examples/example_3/helper/UnityHelper.h +1 -1
  1123. data/vendor/unity/examples/example_3/project.yml +24 -0
  1124. data/vendor/unity/examples/example_3/rakefile.rb +2 -3
  1125. data/vendor/unity/examples/example_3/rakefile_helper.rb +107 -153
  1126. data/vendor/unity/examples/example_3/src/ProductionCode.c +3 -3
  1127. data/vendor/unity/examples/example_3/src/ProductionCode.h +1 -1
  1128. data/vendor/unity/examples/example_3/src/ProductionCode2.c +1 -1
  1129. data/vendor/unity/examples/example_3/src/ProductionCode2.h +1 -1
  1130. data/vendor/unity/examples/example_3/test/TestProductionCode.c +1 -1
  1131. data/vendor/unity/examples/example_3/test/TestProductionCode2.c +1 -1
  1132. data/vendor/unity/examples/example_4/src/ProductionCode.c +1 -1
  1133. data/vendor/unity/examples/example_4/src/ProductionCode.h +1 -1
  1134. data/vendor/unity/examples/example_4/src/ProductionCode2.c +1 -1
  1135. data/vendor/unity/examples/example_4/src/ProductionCode2.h +1 -1
  1136. data/vendor/unity/examples/example_4/test/TestProductionCode.c +1 -1
  1137. data/vendor/unity/examples/example_4/test/TestProductionCode2.c +1 -1
  1138. data/vendor/unity/examples/example_5/makefile +63 -0
  1139. data/vendor/unity/examples/example_5/readme.txt +38 -0
  1140. data/vendor/unity/examples/example_5/src/ProductionCode.c +56 -0
  1141. data/vendor/unity/examples/example_5/src/ProductionCode.h +16 -0
  1142. data/vendor/unity/examples/example_5/subprojects/unity.wrap +3 -0
  1143. data/vendor/unity/examples/example_5/test/TestProductionCode.c +45 -0
  1144. data/vendor/unity/examples/example_5/test/test_runners/TestProductionCode_Runner.c +48 -0
  1145. data/vendor/unity/examples/example_5/test/unity_detail_config.h +25 -0
  1146. data/vendor/unity/examples/unity_config.h +5 -3
  1147. data/vendor/unity/extras/bdd/src/unity_bdd.h +1 -1
  1148. data/vendor/unity/extras/bdd/test/test_bdd.c +1 -1
  1149. data/vendor/unity/extras/fixture/src/unity_fixture.c +59 -15
  1150. data/vendor/unity/extras/fixture/src/unity_fixture.h +1 -1
  1151. data/vendor/unity/extras/fixture/src/unity_fixture_internals.h +4 -1
  1152. data/vendor/unity/extras/fixture/test/main/AllTests.c +1 -1
  1153. data/vendor/unity/extras/fixture/test/template_fixture_tests.c +1 -1
  1154. data/vendor/unity/extras/fixture/test/unity_fixture_Test.c +46 -1
  1155. data/vendor/unity/extras/fixture/test/unity_fixture_TestRunner.c +4 -1
  1156. data/vendor/unity/extras/memory/src/unity_memory.c +1 -1
  1157. data/vendor/unity/extras/memory/src/unity_memory.h +1 -1
  1158. data/vendor/unity/extras/memory/test/unity_memory_Test.c +1 -1
  1159. data/vendor/unity/extras/memory/test/unity_memory_TestRunner.c +1 -1
  1160. data/vendor/unity/extras/memory/test/unity_output_Spy.c +1 -1
  1161. data/vendor/unity/extras/memory/test/unity_output_Spy.h +1 -1
  1162. data/vendor/unity/library.json +0 -7
  1163. data/vendor/unity/meson.build +16 -8
  1164. data/vendor/unity/meson_options.txt +5 -3
  1165. data/vendor/unity/src/unity.c +480 -141
  1166. data/vendor/unity/src/unity.h +16 -4
  1167. data/vendor/unity/src/unity_internals.h +291 -148
  1168. data/vendor/unity/test/Makefile +4 -6
  1169. data/vendor/unity/test/rakefile +42 -21
  1170. data/vendor/unity/test/rakefile_helper.rb +154 -15
  1171. data/vendor/unity/test/spec/generate_module_existing_file_spec.rb +1 -1
  1172. data/vendor/unity/test/targets/clang.yml +157 -0
  1173. data/vendor/unity/test/targets/gcc.yml +139 -0
  1174. data/vendor/unity/test/targets/hitech_picc18.yml +9 -16
  1175. data/vendor/unity/test/targets/iar_arm.yml +88 -0
  1176. data/vendor/unity/test/targets/no_stdlib.yml +23 -0
  1177. data/vendor/unity/test/testdata/CException.h +1 -1
  1178. data/vendor/unity/test/testdata/Defs.h +1 -1
  1179. data/vendor/unity/test/testdata/cmock.h +1 -1
  1180. data/vendor/unity/test/testdata/mockMock.h +1 -1
  1181. data/vendor/unity/test/testdata/testRunnerGenerator.c +1 -1
  1182. data/vendor/unity/test/testdata/testRunnerGeneratorSmall.c +1 -1
  1183. data/vendor/unity/test/testdata/testRunnerGeneratorWithMocks.c +1 -1
  1184. data/vendor/unity/test/tests/self_assessment_utils.h +23 -7
  1185. data/vendor/unity/test/tests/test_generate_test_runner.rb +1 -4
  1186. data/vendor/unity/test/tests/test_unity_arrays.c +1 -1
  1187. data/vendor/unity/test/tests/test_unity_core.c +33 -38
  1188. data/vendor/unity/test/tests/test_unity_doubles.c +4 -4
  1189. data/vendor/unity/test/tests/test_unity_floats.c +15 -6
  1190. data/vendor/unity/test/tests/test_unity_integers.c +35 -1
  1191. data/vendor/unity/test/tests/test_unity_integers_64.c +1 -1
  1192. data/vendor/unity/test/tests/test_unity_memory.c +69 -1
  1193. data/vendor/unity/test/tests/test_unity_parameterized.c +5 -5
  1194. data/vendor/unity/test/tests/test_unity_parameterizedDemo.c +1 -1
  1195. data/vendor/unity/test/tests/test_unity_strings.c +65 -1
  1196. data/vendor/unity/test/tests/types_for_test.h +1 -1
  1197. metadata +702 -177
  1198. data/docs/CeedlingPacket.md +0 -5651
  1199. data/lib/ceedling/build_batchinator.rb +0 -113
  1200. data/lib/ceedling/generator_test_results_backtrace.rb +0 -215
  1201. data/lib/ceedling/generator_test_runner.rb +0 -84
  1202. data/lib/ceedling/preprocessinator.rb +0 -239
  1203. data/lib/ceedling/preprocessinator_extractor.rb +0 -257
  1204. data/lib/ceedling/preprocessinator_file_handler.rb +0 -229
  1205. data/lib/ceedling/preprocessinator_includes_handler.rb +0 -382
  1206. data/lib/ceedling/task_invoker.rb +0 -70
  1207. data/lib/ceedling/test_invoker.rb +0 -506
  1208. data/lib/ceedling/test_invoker_helper.rb +0 -347
  1209. data/plugins/gcov/README.md +0 -893
  1210. data/plugins/gcov/lib/reportinator_helper.rb +0 -30
  1211. data/plugins/report_tests_log_factory/sample_html_report.png +0 -0
  1212. data/spec/configurator_spec.rb +0 -18
  1213. data/spec/generator_test_results_spec.rb +0 -131
  1214. data/spec/parsing_parcels_spec.rb +0 -66
  1215. data/spec/preprocessinator_includes_handler_spec.rb +0 -289
  1216. data/spec/reportinator_spec.rb +0 -26
  1217. data/spec/spec_helper.rb +0 -31
  1218. data/spec/test_context_extractor_spec.rb +0 -328
  1219. data/spec/uncategorized_specs_spec.rb +0 -15
  1220. data/vendor/cmock/examples/temp_sensor/targets/gcc.yml +0 -97
  1221. data/vendor/cmock/examples/temp_sensor/targets/iar_v4.yml +0 -143
  1222. data/vendor/cmock/examples/temp_sensor/targets/iar_v5.yml +0 -132
  1223. data/vendor/cmock/scripts/create_mock.rb +0 -15
  1224. data/vendor/cmock/scripts/create_runner.rb +0 -25
  1225. data/vendor/cmock/scripts/test_summary.rb +0 -25
  1226. data/vendor/cmock/test/system/test_interactions/array_and_pointer_handling.yml +0 -453
  1227. data/vendor/cmock/test/targets/clang_strict.yml +0 -97
  1228. data/vendor/cmock/test/targets/gcc.yml +0 -65
  1229. data/vendor/cmock/test/targets/gcc_64.yml +0 -65
  1230. data/vendor/cmock/test/targets/gcc_tiny.yml +0 -87
  1231. data/vendor/cmock/test/targets/iar_arm_v4.yml +0 -117
  1232. data/vendor/cmock/test/targets/iar_arm_v5.yml +0 -102
  1233. data/vendor/cmock/vendor/unity/examples/example_3/target_gcc_32.yml +0 -54
  1234. data/vendor/cmock/vendor/unity/test/targets/ansi.yml +0 -51
  1235. data/vendor/cmock/vendor/unity/test/targets/clang_file.yml +0 -79
  1236. data/vendor/cmock/vendor/unity/test/targets/clang_strict.yml +0 -79
  1237. data/vendor/cmock/vendor/unity/test/targets/gcc_32.yml +0 -52
  1238. data/vendor/cmock/vendor/unity/test/targets/gcc_64.yml +0 -53
  1239. data/vendor/cmock/vendor/unity/test/targets/gcc_auto_limits.yml +0 -50
  1240. data/vendor/cmock/vendor/unity/test/targets/gcc_auto_stdint.yml +0 -62
  1241. data/vendor/cmock/vendor/unity/test/targets/iar_arm_v4.yml +0 -105
  1242. data/vendor/cmock/vendor/unity/test/targets/iar_arm_v5.yml +0 -99
  1243. data/vendor/cmock/vendor/unity/test/targets/iar_arm_v5_3.yml +0 -99
  1244. data/vendor/cmock/vendor/unity/test/targets/iar_armcortex_LM3S9B92_v5_4.yml +0 -97
  1245. data/vendor/cmock/vendor/unity/test/targets/iar_cortexm3_v5.yml +0 -101
  1246. data/vendor/cmock/vendor/unity/test/targets/iar_msp430.yml +0 -119
  1247. data/vendor/cmock/vendor/unity/test/targets/iar_sh2a_v6.yml +0 -106
  1248. data/vendor/unity/examples/example_3/target_gcc_32.yml +0 -54
  1249. data/vendor/unity/test/targets/ansi.yml +0 -51
  1250. data/vendor/unity/test/targets/clang_file.yml +0 -79
  1251. data/vendor/unity/test/targets/clang_strict.yml +0 -79
  1252. data/vendor/unity/test/targets/gcc_32.yml +0 -52
  1253. data/vendor/unity/test/targets/gcc_64.yml +0 -53
  1254. data/vendor/unity/test/targets/gcc_auto_limits.yml +0 -50
  1255. data/vendor/unity/test/targets/gcc_auto_stdint.yml +0 -62
  1256. data/vendor/unity/test/targets/gcc_manual_math.yml +0 -50
  1257. data/vendor/unity/test/targets/iar_arm_v4.yml +0 -105
  1258. data/vendor/unity/test/targets/iar_arm_v5.yml +0 -99
  1259. data/vendor/unity/test/targets/iar_arm_v5_3.yml +0 -99
  1260. data/vendor/unity/test/targets/iar_armcortex_LM3S9B92_v5_4.yml +0 -97
  1261. data/vendor/unity/test/targets/iar_cortexm3_v5.yml +0 -101
  1262. data/vendor/unity/test/targets/iar_msp430.yml +0 -119
  1263. data/vendor/unity/test/targets/iar_sh2a_v6.yml +0 -106
@@ -1,7 +1,7 @@
1
1
  /* =========================================================================
2
2
  Unity - A Test Framework for C
3
3
  ThrowTheSwitch.org
4
- Copyright (c) 2007-25 Mike Karlesky, Mark VanderVoord, & Greg Williams
4
+ Copyright (c) 2007-26 Mike Karlesky, Mark VanderVoord, & Greg Williams
5
5
  SPDX-License-Identifier: MIT
6
6
  ========================================================================= */
7
7
 
@@ -35,7 +35,7 @@ const char UNITY_PROGMEM UnityStrFail[] = "FAIL";
35
35
  const char UNITY_PROGMEM UnityStrIgnore[] = "IGNORE";
36
36
  #endif
37
37
  static const char UNITY_PROGMEM UnityStrNull[] = "NULL";
38
- static const char UNITY_PROGMEM UnityStrSpacer[] = ". ";
38
+ static const char UNITY_PROGMEM UnityStrSpacer[] = UNITY_FAILURE_DETAIL_SEPARATOR;
39
39
  static const char UNITY_PROGMEM UnityStrExpected[] = " Expected ";
40
40
  static const char UNITY_PROGMEM UnityStrWas[] = " Was ";
41
41
  static const char UNITY_PROGMEM UnityStrGt[] = " to be greater than ";
@@ -44,6 +44,7 @@ static const char UNITY_PROGMEM UnityStrOrEqual[] = "or equal to
44
44
  static const char UNITY_PROGMEM UnityStrNotEqual[] = " to be not equal to ";
45
45
  static const char UNITY_PROGMEM UnityStrElement[] = " Element ";
46
46
  static const char UNITY_PROGMEM UnityStrByte[] = " Byte ";
47
+ static const char UNITY_PROGMEM UnityStrCharacter[] = " Character ";
47
48
  static const char UNITY_PROGMEM UnityStrMemory[] = " Memory Mismatch.";
48
49
  static const char UNITY_PROGMEM UnityStrDelta[] = " Values Not Within Delta ";
49
50
  static const char UNITY_PROGMEM UnityStrPointless[] = " You Asked Me To Compare Nothing, Which Was Pointless.";
@@ -61,14 +62,24 @@ const char UNITY_PROGMEM UnityStrErrShorthand[] = "Unity Shorth
61
62
  const char UNITY_PROGMEM UnityStrErrFloat[] = "Unity Floating Point Disabled";
62
63
  const char UNITY_PROGMEM UnityStrErrDouble[] = "Unity Double Precision Disabled";
63
64
  const char UNITY_PROGMEM UnityStrErr64[] = "Unity 64-bit Support Disabled";
65
+ const char UNITY_PROGMEM UnityStrErrDetailStack[] = "Unity Detail Stack Support Disabled";
64
66
  static const char UNITY_PROGMEM UnityStrBreaker[] = "-----------------------";
65
67
  static const char UNITY_PROGMEM UnityStrResultsTests[] = " Tests ";
66
68
  static const char UNITY_PROGMEM UnityStrResultsFailures[] = " Failures ";
67
69
  static const char UNITY_PROGMEM UnityStrResultsIgnored[] = " Ignored ";
68
70
  #ifndef UNITY_EXCLUDE_DETAILS
71
+ #ifdef UNITY_DETAIL_STACK_SIZE
72
+ static const char* UNITY_PROGMEM UnityStrDetailLabels[] = UNITY_DETAIL_LABEL_NAMES;
73
+ static const UNITY_COUNTER_TYPE UNITY_PROGMEM UnityStrDetailLabelsCount = sizeof(UnityStrDetailLabels) / sizeof(const char*);
74
+ static const char UNITY_PROGMEM UnityStrErrDetailStackEmpty[] = " Detail Stack Empty";
75
+ static const char UNITY_PROGMEM UnityStrErrDetailStackFull[] = " Detail Stack Full";
76
+ static const char UNITY_PROGMEM UnityStrErrDetailStackLabel[] = " Detail Label Outside Of UNITY_DETAIL_LABEL_NAMES: ";
77
+ static const char UNITY_PROGMEM UnityStrErrDetailStackPop[] = " Detail Pop With Unexpected Arguments";
78
+ #else
69
79
  static const char UNITY_PROGMEM UnityStrDetail1Name[] = UNITY_DETAIL1_NAME " ";
70
80
  static const char UNITY_PROGMEM UnityStrDetail2Name[] = " " UNITY_DETAIL2_NAME " ";
71
81
  #endif
82
+ #endif
72
83
  /*-----------------------------------------------
73
84
  * Pretty Printers & Test Result Output Handlers
74
85
  *-----------------------------------------------*/
@@ -185,43 +196,40 @@ void UnityPrintLen(const char* string, const UNITY_UINT32 length)
185
196
  }
186
197
 
187
198
  /*-----------------------------------------------*/
188
- void UnityPrintNumberByStyle(const UNITY_INT number, const UNITY_DISPLAY_STYLE_T style)
199
+ void UnityPrintIntNumberByStyle(const UNITY_INT number, const UNITY_DISPLAY_STYLE_T style)
189
200
  {
190
- if ((style & UNITY_DISPLAY_RANGE_INT) == UNITY_DISPLAY_RANGE_INT)
201
+ if (style == UNITY_DISPLAY_STYLE_CHAR)
191
202
  {
192
- if (style == UNITY_DISPLAY_STYLE_CHAR)
203
+ /* printable characters plus CR & LF are printed */
204
+ UNITY_OUTPUT_CHAR('\'');
205
+ if ((number <= 126) && (number >= 32))
193
206
  {
194
- /* printable characters plus CR & LF are printed */
195
- UNITY_OUTPUT_CHAR('\'');
196
- if ((number <= 126) && (number >= 32))
197
- {
198
- UNITY_OUTPUT_CHAR((int)number);
199
- }
200
- /* write escaped carriage returns */
201
- else if (number == 13)
202
- {
203
- UNITY_OUTPUT_CHAR('\\');
204
- UNITY_OUTPUT_CHAR('r');
205
- }
206
- /* write escaped line feeds */
207
- else if (number == 10)
208
- {
209
- UNITY_OUTPUT_CHAR('\\');
210
- UNITY_OUTPUT_CHAR('n');
211
- }
212
- /* unprintable characters are shown as codes */
213
- else
214
- {
215
- UNITY_OUTPUT_CHAR('\\');
216
- UNITY_OUTPUT_CHAR('x');
217
- UnityPrintNumberHex((UNITY_UINT)number, 2);
218
- }
219
- UNITY_OUTPUT_CHAR('\'');
207
+ UNITY_OUTPUT_CHAR((int)number);
208
+ }
209
+ /* write escaped carriage returns */
210
+ else if (number == 13)
211
+ {
212
+ UNITY_OUTPUT_CHAR('\\');
213
+ UNITY_OUTPUT_CHAR('r');
214
+ }
215
+ /* write escaped line feeds */
216
+ else if (number == 10)
217
+ {
218
+ UNITY_OUTPUT_CHAR('\\');
219
+ UNITY_OUTPUT_CHAR('n');
220
220
  }
221
+ /* unprintable characters are shown as codes */
221
222
  else
222
223
  {
223
- UnityPrintNumber(number);
224
+ UNITY_OUTPUT_CHAR('\\');
225
+ UNITY_OUTPUT_CHAR('x');
226
+ UnityPrintNumberHex((UNITY_UINT)number, 2);
224
227
  }
228
+ UNITY_OUTPUT_CHAR('\'');
229
+ }
230
+ else if ((style & UNITY_DISPLAY_RANGE_INT) == UNITY_DISPLAY_RANGE_INT)
231
+ {
232
+ UnityPrintNumber(number);
225
233
  }
226
234
  else if ((style & UNITY_DISPLAY_RANGE_UINT) == UNITY_DISPLAY_RANGE_UINT)
227
235
  {
@@ -235,6 +243,20 @@ void UnityPrintNumberByStyle(const UNITY_INT number, const UNITY_DISPLAY_STYLE_T
235
243
  }
236
244
  }
237
245
 
246
+ void UnityPrintUintNumberByStyle(const UNITY_UINT number, const UNITY_DISPLAY_STYLE_T style)
247
+ {
248
+ if ((style & UNITY_DISPLAY_RANGE_UINT) == UNITY_DISPLAY_RANGE_UINT)
249
+ {
250
+ UnityPrintNumberUnsigned(number);
251
+ }
252
+ else
253
+ {
254
+ UNITY_OUTPUT_CHAR('0');
255
+ UNITY_OUTPUT_CHAR('x');
256
+ UnityPrintNumberHex((UNITY_UINT)number, (char)((style & 0xF) * 2));
257
+ }
258
+ }
259
+
238
260
  /*-----------------------------------------------*/
239
261
  void UnityPrintNumber(const UNITY_INT number_to_print)
240
262
  {
@@ -337,33 +359,35 @@ void UnityPrintFloat(const UNITY_DOUBLE input_number)
337
359
  static const int sig_digits = 9;
338
360
  static const UNITY_INT32 min_scaled = 100000000;
339
361
  static const UNITY_INT32 max_scaled = 1000000000;
362
+ static const UNITY_DOUBLE epsilon = UNITY_DOUBLE_PRECISION;
340
363
  #else
341
364
  static const int sig_digits = 7;
342
365
  static const UNITY_INT32 min_scaled = 1000000;
343
366
  static const UNITY_INT32 max_scaled = 10000000;
367
+ static const UNITY_DOUBLE epsilon = UNITY_FLOAT_PRECISION;
344
368
  #endif
345
369
 
346
370
  UNITY_DOUBLE number = input_number;
347
371
 
348
- /* print minus sign (does not handle negative zero) */
349
- if (number < 0.0f)
350
- {
351
- UNITY_OUTPUT_CHAR('-');
352
- number = -number;
353
- }
354
-
355
372
  /* handle zero, NaN, and +/- infinity */
356
- if (number == 0.0f)
373
+ if (UNITY_ABS(number) < epsilon)
357
374
  {
358
375
  UnityPrint("0");
359
376
  }
360
377
  else if (UNITY_IS_NAN(number))
361
378
  {
362
- UnityPrint("nan");
379
+ UnityPrint(UnityStrNaN);
363
380
  }
364
381
  else if (UNITY_IS_INF(number))
365
382
  {
366
- UnityPrint("inf");
383
+ if (number < 0.0f)
384
+ {
385
+ UnityPrint(UnityStrNegInf);
386
+ }
387
+ else
388
+ {
389
+ UnityPrint(UnityStrInf);
390
+ }
367
391
  }
368
392
  else
369
393
  {
@@ -374,6 +398,11 @@ void UnityPrintFloat(const UNITY_DOUBLE input_number)
374
398
  int digits;
375
399
  char buf[16] = {0};
376
400
 
401
+ if (number < 0.0f)
402
+ {
403
+ UNITY_OUTPUT_CHAR('-');
404
+ number = -number;
405
+ }
377
406
  /*
378
407
  * Scale up or down by powers of 10. To minimize rounding error,
379
408
  * start with a factor/divisor of 10^10, which is the largest
@@ -416,13 +445,17 @@ void UnityPrintFloat(const UNITY_DOUBLE input_number)
416
445
  }
417
446
 
418
447
  /* round to nearest integer */
419
- n = ((UNITY_INT32)(number + number) + 1) / 2;
448
+ {
449
+ UNITY_DOUBLE two_number = number + number;
450
+ UNITY_INT32 two_n_trunc = (UNITY_INT32)two_number;
451
+ n = (two_n_trunc + 1) / 2;
420
452
 
421
453
  #ifndef UNITY_ROUND_TIES_AWAY_FROM_ZERO
422
- /* round to even if exactly between two integers */
423
- if ((n & 1) && (((UNITY_DOUBLE)n - number) == 0.5f))
424
- n--;
454
+ /* round to even if exactly between two integers */
455
+ if ((n & 1) && (two_n_trunc & 1) && !((UNITY_DOUBLE)two_n_trunc < two_number))
456
+ n--;
425
457
  #endif
458
+ }
426
459
 
427
460
  n += n_int;
428
461
 
@@ -574,6 +607,32 @@ static void UnityAddMsgIfSpecified(const char* msg)
574
607
  UNITY_PRINT_TEST_CONTEXT();
575
608
  #endif
576
609
  #ifndef UNITY_EXCLUDE_DETAILS
610
+ #ifdef UNITY_DETAIL_STACK_SIZE
611
+ {
612
+ UNITY_COUNTER_TYPE c;
613
+ for (c = 0; (c < Unity.CurrentDetailStackSize) && (c < UNITY_DETAIL_STACK_SIZE); c++) {
614
+ const char* label;
615
+ if ((Unity.CurrentDetailStackLabels[c] == UNITY_DETAIL_NONE) || (Unity.CurrentDetailStackLabels[c] > UnityStrDetailLabelsCount)) {
616
+ break;
617
+ }
618
+ label = UnityStrDetailLabels[Unity.CurrentDetailStackLabels[c]];
619
+ UnityPrint(UnityStrSpacer);
620
+ if ((label[0] == '#') && (label[1] != 0)) {
621
+ UnityPrint(label + 2);
622
+ UNITY_OUTPUT_CHAR(' ');
623
+ if ((label[1] & UNITY_DISPLAY_RANGE_INT) == UNITY_DISPLAY_RANGE_INT) {
624
+ UnityPrintIntNumberByStyle((UNITY_INT)Unity.CurrentDetailStackValues[c], label[1]);
625
+ } else {
626
+ UnityPrintUintNumberByStyle((UNITY_UINT)Unity.CurrentDetailStackValues[c], label[1]);
627
+ }
628
+ } else if (Unity.CurrentDetailStackValues[c] != 0){
629
+ UnityPrint(label);
630
+ UNITY_OUTPUT_CHAR(' ');
631
+ UnityPrint((const char*)Unity.CurrentDetailStackValues[c]);
632
+ }
633
+ }
634
+ }
635
+ #else
577
636
  if (Unity.CurrentDetail1)
578
637
  {
579
638
  UnityPrint(UnityStrSpacer);
@@ -585,6 +644,7 @@ static void UnityAddMsgIfSpecified(const char* msg)
585
644
  UnityPrint(Unity.CurrentDetail2);
586
645
  }
587
646
  }
647
+ #endif
588
648
  #endif
589
649
  if (msg)
590
650
  {
@@ -594,7 +654,21 @@ static void UnityAddMsgIfSpecified(const char* msg)
594
654
  }
595
655
 
596
656
  /*-----------------------------------------------*/
597
- static void UnityPrintExpectedAndActualStrings(const char* expected, const char* actual)
657
+ static void UnityPrintFirstStringDifference(const char *expected, const char *actual, UNITY_UINT32 i_diff)
658
+ {
659
+ if ((expected != NULL) && (actual != NULL))
660
+ {
661
+ UnityPrint(UnityStrCharacter);
662
+ UnityPrintNumberUnsigned(i_diff);
663
+ UnityPrint(UnityStrExpected);
664
+ UnityPrintIntNumberByStyle(expected[i_diff], UNITY_DISPLAY_STYLE_CHAR);
665
+ UnityPrint(UnityStrWas);
666
+ UnityPrintIntNumberByStyle(actual[i_diff], UNITY_DISPLAY_STYLE_CHAR);
667
+ }
668
+ }
669
+
670
+ /*-----------------------------------------------*/
671
+ static void UnityPrintExpectedAndActualStrings(const char* expected, const char* actual, UNITY_UINT32 i_diff)
598
672
  {
599
673
  UnityPrint(UnityStrExpected);
600
674
  if (expected != NULL)
@@ -618,12 +692,14 @@ static void UnityPrintExpectedAndActualStrings(const char* expected, const char*
618
692
  {
619
693
  UnityPrint(UnityStrNull);
620
694
  }
695
+ UnityPrintFirstStringDifference(expected, actual, i_diff);
621
696
  }
622
697
 
623
698
  /*-----------------------------------------------*/
624
699
  static void UnityPrintExpectedAndActualStringsLen(const char* expected,
625
700
  const char* actual,
626
- const UNITY_UINT32 length)
701
+ UNITY_UINT32 length,
702
+ UNITY_UINT32 i_diff)
627
703
  {
628
704
  UnityPrint(UnityStrExpected);
629
705
  if (expected != NULL)
@@ -647,6 +723,7 @@ static void UnityPrintExpectedAndActualStringsLen(const char* expected,
647
723
  {
648
724
  UnityPrint(UnityStrNull);
649
725
  }
726
+ UnityPrintFirstStringDifference(expected, actual, i_diff);
650
727
  }
651
728
 
652
729
  /*-----------------------------------------------
@@ -709,11 +786,11 @@ void UnityAssertBits(const UNITY_INT mask,
709
786
  }
710
787
 
711
788
  /*-----------------------------------------------*/
712
- void UnityAssertEqualNumber(const UNITY_INT expected,
713
- const UNITY_INT actual,
714
- const char* msg,
715
- const UNITY_LINE_TYPE lineNumber,
716
- const UNITY_DISPLAY_STYLE_T style)
789
+ void UnityAssertEqualIntNumber(const UNITY_INT expected,
790
+ const UNITY_INT actual,
791
+ const char* msg,
792
+ const UNITY_LINE_TYPE lineNumber,
793
+ const UNITY_DISPLAY_STYLE_T style)
717
794
  {
718
795
  RETURN_IF_FAIL_OR_IGNORE;
719
796
 
@@ -721,49 +798,90 @@ void UnityAssertEqualNumber(const UNITY_INT expected,
721
798
  {
722
799
  UnityTestResultsFailBegin(lineNumber);
723
800
  UnityPrint(UnityStrExpected);
724
- UnityPrintNumberByStyle(expected, style);
801
+ UnityPrintIntNumberByStyle(expected, style);
725
802
  UnityPrint(UnityStrWas);
726
- UnityPrintNumberByStyle(actual, style);
803
+ UnityPrintIntNumberByStyle(actual, style);
727
804
  UnityAddMsgIfSpecified(msg);
728
805
  UNITY_FAIL_AND_BAIL;
729
806
  }
730
807
  }
731
808
 
809
+ void UnityAssertEqualUintNumber(const UNITY_UINT expected,
810
+ const UNITY_UINT actual,
811
+ const char* msg,
812
+ const UNITY_LINE_TYPE lineNumber,
813
+ const UNITY_DISPLAY_STYLE_T style)
814
+ {
815
+ RETURN_IF_FAIL_OR_IGNORE;
816
+
817
+ if (expected != actual)
818
+ {
819
+ UnityTestResultsFailBegin(lineNumber);
820
+ UnityPrint(UnityStrExpected);
821
+ UnityPrintUintNumberByStyle(expected, style);
822
+ UnityPrint(UnityStrWas);
823
+ UnityPrintUintNumberByStyle(actual, style);
824
+ UnityAddMsgIfSpecified(msg);
825
+ UNITY_FAIL_AND_BAIL;
826
+ }
827
+ }
732
828
  /*-----------------------------------------------*/
733
- void UnityAssertGreaterOrLessOrEqualNumber(const UNITY_INT threshold,
734
- const UNITY_INT actual,
735
- const UNITY_COMPARISON_T compare,
736
- const char *msg,
737
- const UNITY_LINE_TYPE lineNumber,
738
- const UNITY_DISPLAY_STYLE_T style)
829
+ void UnityAssertIntGreaterOrLessOrEqualNumber(const UNITY_INT threshold,
830
+ const UNITY_INT actual,
831
+ const UNITY_COMPARISON_T compare,
832
+ const char *msg,
833
+ const UNITY_LINE_TYPE lineNumber,
834
+ const UNITY_DISPLAY_STYLE_T style)
739
835
  {
740
836
  int failed = 0;
741
837
  RETURN_IF_FAIL_OR_IGNORE;
742
838
 
743
- if ((threshold == actual) && (compare & UNITY_EQUAL_TO)) { return; }
744
- if ((threshold == actual)) { failed = 1; }
839
+ if ((threshold == actual) && !(compare & UNITY_EQUAL_TO)) { failed = 1; }
745
840
 
746
- if ((style & UNITY_DISPLAY_RANGE_INT) == UNITY_DISPLAY_RANGE_INT)
747
- {
748
- if ((actual > threshold) && (compare & UNITY_SMALLER_THAN)) { failed = 1; }
749
- if ((actual < threshold) && (compare & UNITY_GREATER_THAN)) { failed = 1; }
750
- }
751
- else /* UINT or HEX */
841
+ if ((actual > threshold) && (compare & UNITY_SMALLER_THAN)) { failed = 1; }
842
+ if ((actual < threshold) && (compare & UNITY_GREATER_THAN)) { failed = 1; }
843
+
844
+ if (failed)
752
845
  {
753
- if (((UNITY_UINT)actual > (UNITY_UINT)threshold) && (compare & UNITY_SMALLER_THAN)) { failed = 1; }
754
- if (((UNITY_UINT)actual < (UNITY_UINT)threshold) && (compare & UNITY_GREATER_THAN)) { failed = 1; }
846
+ UnityTestResultsFailBegin(lineNumber);
847
+ UnityPrint(UnityStrExpected);
848
+ UnityPrintIntNumberByStyle(actual, style);
849
+ if (compare & UNITY_GREATER_THAN) { UnityPrint(UnityStrGt); }
850
+ if (compare & UNITY_SMALLER_THAN) { UnityPrint(UnityStrLt); }
851
+ if (compare & UNITY_EQUAL_TO) { UnityPrint(UnityStrOrEqual); }
852
+ if (compare == UNITY_NOT_EQUAL) { UnityPrint(UnityStrNotEqual); }
853
+ UnityPrintIntNumberByStyle(threshold, style);
854
+ UnityAddMsgIfSpecified(msg);
855
+ UNITY_FAIL_AND_BAIL;
755
856
  }
857
+ }
858
+
859
+ void UnityAssertUintGreaterOrLessOrEqualNumber(const UNITY_UINT threshold,
860
+ const UNITY_UINT actual,
861
+ const UNITY_COMPARISON_T compare,
862
+ const char *msg,
863
+ const UNITY_LINE_TYPE lineNumber,
864
+ const UNITY_DISPLAY_STYLE_T style)
865
+ {
866
+ int failed = 0;
867
+ RETURN_IF_FAIL_OR_IGNORE;
868
+
869
+ if ((threshold == actual) && !(compare & UNITY_EQUAL_TO)) { failed = 1; }
870
+
871
+ /* UINT or HEX */
872
+ if ((actual > threshold) && (compare & UNITY_SMALLER_THAN)) { failed = 1; }
873
+ if ((actual < threshold) && (compare & UNITY_GREATER_THAN)) { failed = 1; }
756
874
 
757
875
  if (failed)
758
876
  {
759
877
  UnityTestResultsFailBegin(lineNumber);
760
878
  UnityPrint(UnityStrExpected);
761
- UnityPrintNumberByStyle(actual, style);
879
+ UnityPrintUintNumberByStyle(actual, style);
762
880
  if (compare & UNITY_GREATER_THAN) { UnityPrint(UnityStrGt); }
763
881
  if (compare & UNITY_SMALLER_THAN) { UnityPrint(UnityStrLt); }
764
882
  if (compare & UNITY_EQUAL_TO) { UnityPrint(UnityStrOrEqual); }
765
883
  if (compare == UNITY_NOT_EQUAL) { UnityPrint(UnityStrNotEqual); }
766
- UnityPrintNumberByStyle(threshold, style);
884
+ UnityPrintUintNumberByStyle(threshold, style);
767
885
  UnityAddMsgIfSpecified(msg);
768
886
  UNITY_FAIL_AND_BAIL;
769
887
  }
@@ -786,6 +904,8 @@ void UnityAssertEqualIntArray(UNITY_INTERNAL_PTR expected,
786
904
  const UNITY_DISPLAY_STYLE_T style,
787
905
  const UNITY_FLAGS_T flags)
788
906
  {
907
+ UNITY_INT expect_val = 0;
908
+ UNITY_INT actual_val = 0;
789
909
  UNITY_UINT32 elements = num_elements;
790
910
  unsigned int length = style & 0xF;
791
911
  unsigned int increment = 0;
@@ -813,9 +933,6 @@ void UnityAssertEqualIntArray(UNITY_INTERNAL_PTR expected,
813
933
 
814
934
  while ((elements > 0) && (elements--))
815
935
  {
816
- UNITY_INT expect_val;
817
- UNITY_INT actual_val;
818
-
819
936
  switch (length)
820
937
  {
821
938
  case 1:
@@ -877,9 +994,9 @@ void UnityAssertEqualIntArray(UNITY_INTERNAL_PTR expected,
877
994
  UnityPrint(UnityStrElement);
878
995
  UnityPrintNumberUnsigned(num_elements - elements - 1);
879
996
  UnityPrint(UnityStrExpected);
880
- UnityPrintNumberByStyle(expect_val, style);
997
+ UnityPrintIntNumberByStyle(expect_val, style);
881
998
  UnityPrint(UnityStrWas);
882
- UnityPrintNumberByStyle(actual_val, style);
999
+ UnityPrintIntNumberByStyle(actual_val, style);
883
1000
  UnityAddMsgIfSpecified(msg);
884
1001
  UNITY_FAIL_AND_BAIL;
885
1002
  }
@@ -1028,6 +1145,7 @@ void UnityAssertFloatsWithin(const UNITY_FLOAT delta,
1028
1145
  }
1029
1146
  }
1030
1147
 
1148
+ #ifndef UNITY_EXCLUDE_FLOAT_PRINT
1031
1149
  /*-----------------------------------------------*/
1032
1150
  void UnityAssertFloatsNotWithin(const UNITY_FLOAT delta,
1033
1151
  const UNITY_FLOAT expected,
@@ -1081,6 +1199,7 @@ void UnityAssertGreaterOrLessFloat(const UNITY_FLOAT threshold,
1081
1199
  UNITY_FAIL_AND_BAIL;
1082
1200
  }
1083
1201
  }
1202
+ #endif /* ! UNITY_EXCLUDE_FLOAT_PRINT */
1084
1203
 
1085
1204
  /*-----------------------------------------------*/
1086
1205
  void UnityAssertFloatSpecial(const UNITY_FLOAT actual,
@@ -1255,6 +1374,7 @@ void UnityAssertDoublesWithin(const UNITY_DOUBLE delta,
1255
1374
  }
1256
1375
  }
1257
1376
 
1377
+ #ifndef UNITY_EXCLUDE_FLOAT_PRINT
1258
1378
  /*-----------------------------------------------*/
1259
1379
  void UnityAssertDoublesNotWithin(const UNITY_DOUBLE delta,
1260
1380
  const UNITY_DOUBLE expected,
@@ -1308,6 +1428,7 @@ void UnityAssertGreaterOrLessDouble(const UNITY_DOUBLE threshold,
1308
1428
  UNITY_FAIL_AND_BAIL;
1309
1429
  }
1310
1430
  }
1431
+ #endif /* ! UNITY_EXCLUDE_FLOAT_PRINT */
1311
1432
 
1312
1433
  /*-----------------------------------------------*/
1313
1434
  void UnityAssertDoubleSpecial(const UNITY_DOUBLE actual,
@@ -1377,47 +1498,65 @@ void UnityAssertDoubleSpecial(const UNITY_DOUBLE actual,
1377
1498
  #endif /* not UNITY_EXCLUDE_DOUBLE */
1378
1499
 
1379
1500
  /*-----------------------------------------------*/
1380
- void UnityAssertNumbersWithin(const UNITY_UINT delta,
1381
- const UNITY_INT expected,
1382
- const UNITY_INT actual,
1383
- const char* msg,
1384
- const UNITY_LINE_TYPE lineNumber,
1385
- const UNITY_DISPLAY_STYLE_T style)
1501
+ void UnityAssertIntNumbersWithin(const UNITY_UINT delta,
1502
+ const UNITY_INT expected,
1503
+ const UNITY_INT actual,
1504
+ const char* msg,
1505
+ const UNITY_LINE_TYPE lineNumber,
1506
+ const UNITY_DISPLAY_STYLE_T style)
1386
1507
  {
1387
1508
  RETURN_IF_FAIL_OR_IGNORE;
1388
1509
 
1389
- if ((style & UNITY_DISPLAY_RANGE_INT) == UNITY_DISPLAY_RANGE_INT)
1510
+ if (actual > expected)
1390
1511
  {
1391
- if (actual > expected)
1392
- {
1393
- Unity.CurrentTestFailed = (((UNITY_UINT)actual - (UNITY_UINT)expected) > delta);
1394
- }
1395
- else
1396
- {
1397
- Unity.CurrentTestFailed = (((UNITY_UINT)expected - (UNITY_UINT)actual) > delta);
1398
- }
1512
+ Unity.CurrentTestFailed = (((UNITY_UINT)actual - (UNITY_UINT)expected) > delta);
1399
1513
  }
1400
1514
  else
1401
1515
  {
1402
- if ((UNITY_UINT)actual > (UNITY_UINT)expected)
1403
- {
1404
- Unity.CurrentTestFailed = (((UNITY_UINT)actual - (UNITY_UINT)expected) > delta);
1405
- }
1406
- else
1407
- {
1408
- Unity.CurrentTestFailed = (((UNITY_UINT)expected - (UNITY_UINT)actual) > delta);
1409
- }
1516
+ Unity.CurrentTestFailed = (((UNITY_UINT)expected - (UNITY_UINT)actual) > delta);
1410
1517
  }
1411
1518
 
1412
1519
  if (Unity.CurrentTestFailed)
1413
1520
  {
1414
1521
  UnityTestResultsFailBegin(lineNumber);
1415
1522
  UnityPrint(UnityStrDelta);
1416
- UnityPrintNumberByStyle((UNITY_INT)delta, style);
1523
+ UnityPrintIntNumberByStyle((UNITY_INT)delta, style);
1417
1524
  UnityPrint(UnityStrExpected);
1418
- UnityPrintNumberByStyle(expected, style);
1525
+ UnityPrintIntNumberByStyle(expected, style);
1419
1526
  UnityPrint(UnityStrWas);
1420
- UnityPrintNumberByStyle(actual, style);
1527
+ UnityPrintIntNumberByStyle(actual, style);
1528
+ UnityAddMsgIfSpecified(msg);
1529
+ UNITY_FAIL_AND_BAIL;
1530
+ }
1531
+ }
1532
+
1533
+ void UnityAssertUintNumbersWithin(const UNITY_UINT delta,
1534
+ const UNITY_UINT expected,
1535
+ const UNITY_UINT actual,
1536
+ const char* msg,
1537
+ const UNITY_LINE_TYPE lineNumber,
1538
+ const UNITY_DISPLAY_STYLE_T style)
1539
+ {
1540
+ RETURN_IF_FAIL_OR_IGNORE;
1541
+
1542
+ if (actual > expected)
1543
+ {
1544
+ Unity.CurrentTestFailed = ((actual - expected) > delta);
1545
+ }
1546
+ else
1547
+ {
1548
+ Unity.CurrentTestFailed = ((expected - actual) > delta);
1549
+ }
1550
+
1551
+ if (Unity.CurrentTestFailed)
1552
+ {
1553
+ UnityTestResultsFailBegin(lineNumber);
1554
+ UnityPrint(UnityStrDelta);
1555
+ UnityPrintUintNumberByStyle(delta, style);
1556
+ UnityPrint(UnityStrExpected);
1557
+ UnityPrintUintNumberByStyle(expected, style);
1558
+ UnityPrint(UnityStrWas);
1559
+ UnityPrintUintNumberByStyle(actual, style);
1421
1560
  UnityAddMsgIfSpecified(msg);
1422
1561
  UNITY_FAIL_AND_BAIL;
1423
1562
  }
@@ -1568,13 +1707,13 @@ void UnityAssertNumbersArrayWithin(const UNITY_UINT delta,
1568
1707
  }
1569
1708
  UnityTestResultsFailBegin(lineNumber);
1570
1709
  UnityPrint(UnityStrDelta);
1571
- UnityPrintNumberByStyle((UNITY_INT)delta, style);
1710
+ UnityPrintIntNumberByStyle((UNITY_INT)delta, style);
1572
1711
  UnityPrint(UnityStrElement);
1573
1712
  UnityPrintNumberUnsigned(num_elements - elements - 1);
1574
1713
  UnityPrint(UnityStrExpected);
1575
- UnityPrintNumberByStyle(expect_val, style);
1714
+ UnityPrintIntNumberByStyle(expect_val, style);
1576
1715
  UnityPrint(UnityStrWas);
1577
- UnityPrintNumberByStyle(actual_val, style);
1716
+ UnityPrintIntNumberByStyle(actual_val, style);
1578
1717
  UnityAddMsgIfSpecified(msg);
1579
1718
  UNITY_FAIL_AND_BAIL;
1580
1719
  }
@@ -1594,6 +1733,7 @@ void UnityAssertEqualString(const char* expected,
1594
1733
  const UNITY_LINE_TYPE lineNumber)
1595
1734
  {
1596
1735
  UNITY_UINT32 i;
1736
+ UNITY_UINT32 i_diff = 0;
1597
1737
 
1598
1738
  RETURN_IF_FAIL_OR_IGNORE;
1599
1739
 
@@ -1605,6 +1745,7 @@ void UnityAssertEqualString(const char* expected,
1605
1745
  if (expected[i] != actual[i])
1606
1746
  {
1607
1747
  Unity.CurrentTestFailed = 1;
1748
+ i_diff = i;
1608
1749
  break;
1609
1750
  }
1610
1751
  }
@@ -1620,7 +1761,7 @@ void UnityAssertEqualString(const char* expected,
1620
1761
  if (Unity.CurrentTestFailed)
1621
1762
  {
1622
1763
  UnityTestResultsFailBegin(lineNumber);
1623
- UnityPrintExpectedAndActualStrings(expected, actual);
1764
+ UnityPrintExpectedAndActualStrings(expected, actual, i_diff);
1624
1765
  UnityAddMsgIfSpecified(msg);
1625
1766
  UNITY_FAIL_AND_BAIL;
1626
1767
  }
@@ -1634,6 +1775,7 @@ void UnityAssertEqualStringLen(const char* expected,
1634
1775
  const UNITY_LINE_TYPE lineNumber)
1635
1776
  {
1636
1777
  UNITY_UINT32 i;
1778
+ UNITY_UINT32 i_diff = 0;
1637
1779
 
1638
1780
  RETURN_IF_FAIL_OR_IGNORE;
1639
1781
 
@@ -1645,6 +1787,7 @@ void UnityAssertEqualStringLen(const char* expected,
1645
1787
  if (expected[i] != actual[i])
1646
1788
  {
1647
1789
  Unity.CurrentTestFailed = 1;
1790
+ i_diff = i;
1648
1791
  break;
1649
1792
  }
1650
1793
  }
@@ -1660,7 +1803,7 @@ void UnityAssertEqualStringLen(const char* expected,
1660
1803
  if (Unity.CurrentTestFailed)
1661
1804
  {
1662
1805
  UnityTestResultsFailBegin(lineNumber);
1663
- UnityPrintExpectedAndActualStringsLen(expected, actual, length);
1806
+ UnityPrintExpectedAndActualStringsLen(expected, actual, length, i_diff);
1664
1807
  UnityAddMsgIfSpecified(msg);
1665
1808
  UNITY_FAIL_AND_BAIL;
1666
1809
  }
@@ -1675,6 +1818,7 @@ void UnityAssertEqualStringArray(UNITY_INTERNAL_PTR expected,
1675
1818
  const UNITY_FLAGS_T flags)
1676
1819
  {
1677
1820
  UNITY_UINT32 i = 0;
1821
+ UNITY_UINT32 i_diff = 0;
1678
1822
  UNITY_UINT32 j = 0;
1679
1823
  const char* expd = NULL;
1680
1824
  const char* act = NULL;
@@ -1722,6 +1866,7 @@ void UnityAssertEqualStringArray(UNITY_INTERNAL_PTR expected,
1722
1866
  if (expd[i] != act[i])
1723
1867
  {
1724
1868
  Unity.CurrentTestFailed = 1;
1869
+ i_diff = i;
1725
1870
  break;
1726
1871
  }
1727
1872
  }
@@ -1742,13 +1887,186 @@ void UnityAssertEqualStringArray(UNITY_INTERNAL_PTR expected,
1742
1887
  UnityPrint(UnityStrElement);
1743
1888
  UnityPrintNumberUnsigned(j);
1744
1889
  }
1745
- UnityPrintExpectedAndActualStrings(expd, act);
1890
+ UnityPrintExpectedAndActualStrings(expd, act, i_diff);
1746
1891
  UnityAddMsgIfSpecified(msg);
1747
1892
  UNITY_FAIL_AND_BAIL;
1748
1893
  }
1749
1894
  } while (++j < num_elements);
1750
1895
  }
1751
1896
 
1897
+ /*-----------------------------------------------*/
1898
+ void UnityAssertNotEqualString(const char* expected,
1899
+ const char* actual,
1900
+ const char* msg,
1901
+ const UNITY_LINE_TYPE lineNumber)
1902
+ {
1903
+ UNITY_UINT32 i;
1904
+
1905
+ RETURN_IF_FAIL_OR_IGNORE;
1906
+
1907
+ /* If both pointers are null or same pointer, they are equal (FAIL) */
1908
+ if (expected == actual)
1909
+ {
1910
+ Unity.CurrentTestFailed = 1;
1911
+ }
1912
+ /* If only one is null, they are not equal (PASS) */
1913
+ else if ((expected == NULL) || (actual == NULL))
1914
+ {
1915
+ return;
1916
+ }
1917
+ else
1918
+ {
1919
+ for (i = 0; expected[i] || actual[i]; i++)
1920
+ {
1921
+ if (expected[i] != actual[i])
1922
+ {
1923
+ return; /* Strings are different (PASS) */
1924
+ }
1925
+ }
1926
+
1927
+ /* Strings are equal (FAIL) */
1928
+ Unity.CurrentTestFailed = 1;
1929
+ }
1930
+
1931
+ if (Unity.CurrentTestFailed)
1932
+ {
1933
+ UnityTestResultsFailBegin(lineNumber);
1934
+ UnityPrint(UnityStrExpected);
1935
+
1936
+ if (msg)
1937
+ {
1938
+ UnityAddMsgIfSpecified(msg);
1939
+ }
1940
+ else
1941
+ {
1942
+ UnityPrint(" Expected strings to be different");
1943
+ }
1944
+
1945
+ UNITY_FAIL_AND_BAIL;
1946
+ }
1947
+ }
1948
+
1949
+ /*-----------------------------------------------*/
1950
+ void UnityAssertNotEqualStringLen(const char* expected,
1951
+ const char* actual,
1952
+ const UNITY_UINT32 length,
1953
+ const char* msg,
1954
+ const UNITY_LINE_TYPE lineNumber)
1955
+ {
1956
+ UNITY_UINT32 i;
1957
+
1958
+ RETURN_IF_FAIL_OR_IGNORE;
1959
+
1960
+ if (length == 0)
1961
+ {
1962
+ UnityPrintPointlessAndBail();
1963
+ }
1964
+
1965
+ /* If both pointers are same (including both NULL), they are equal (FAIL) */
1966
+ if (expected == actual)
1967
+ {
1968
+ Unity.CurrentTestFailed = 1;
1969
+ }
1970
+ /* If only one is null, they are not equal (PASS) */
1971
+ else if ((expected == NULL) || (actual == NULL))
1972
+ {
1973
+ return;
1974
+ }
1975
+ else
1976
+ {
1977
+ for (i = 0; (i < length) && (expected[i] || actual[i]); i++)
1978
+ {
1979
+ if (expected[i] != actual[i])
1980
+ {
1981
+ return; /* Strings are different (PASS) */
1982
+ }
1983
+ }
1984
+
1985
+ /* Strings are equal within length (FAIL) */
1986
+ Unity.CurrentTestFailed = 1;
1987
+ }
1988
+
1989
+ if (Unity.CurrentTestFailed)
1990
+ {
1991
+ UnityTestResultsFailBegin(lineNumber);
1992
+ UnityPrintExpectedAndActualStringsLen(expected, actual, length, length);
1993
+
1994
+ if (msg)
1995
+ {
1996
+ UnityAddMsgIfSpecified(msg);
1997
+ }
1998
+ else
1999
+ {
2000
+ UnityPrint(" Expected strings to be different");
2001
+ }
2002
+
2003
+ UNITY_FAIL_AND_BAIL;
2004
+ }
2005
+ }
2006
+
2007
+ /*-----------------------------------------------*/
2008
+ void UnityAssertNotEqualMemory(UNITY_INTERNAL_PTR expected,
2009
+ UNITY_INTERNAL_PTR actual,
2010
+ const UNITY_UINT32 length,
2011
+ const char* msg,
2012
+ const UNITY_LINE_TYPE lineNumber)
2013
+ {
2014
+ UNITY_PTR_ATTRIBUTE const unsigned char* ptr_exp = (UNITY_PTR_ATTRIBUTE const unsigned char*)expected;
2015
+ UNITY_PTR_ATTRIBUTE const unsigned char* ptr_act = (UNITY_PTR_ATTRIBUTE const unsigned char*)actual;
2016
+ UNITY_UINT32 bytes;
2017
+
2018
+ RETURN_IF_FAIL_OR_IGNORE;
2019
+
2020
+ if (length == 0)
2021
+ {
2022
+ UnityPrintPointlessAndBail();
2023
+ }
2024
+
2025
+ if (expected == actual)
2026
+ {
2027
+ /* Both are NULL or same pointer (FAIL) */
2028
+ Unity.CurrentTestFailed = 1;
2029
+ }
2030
+ else if (expected == NULL || actual == NULL)
2031
+ {
2032
+ /* One is NULL and other is not (PASS) */
2033
+ return;
2034
+ }
2035
+ else
2036
+ {
2037
+ bytes = length;
2038
+ while (bytes--)
2039
+ {
2040
+ if (*ptr_exp != *ptr_act)
2041
+ {
2042
+ return; /* Memory is different (PASS) */
2043
+ }
2044
+ ptr_exp++;
2045
+ ptr_act++;
2046
+ }
2047
+
2048
+ /* Memory is equal (PASS) */
2049
+ Unity.CurrentTestFailed = 1;
2050
+ }
2051
+
2052
+ if (Unity.CurrentTestFailed)
2053
+ {
2054
+ UnityTestResultsFailBegin(lineNumber);
2055
+ UnityPrint(UnityStrMemory);
2056
+
2057
+ if (msg)
2058
+ {
2059
+ UnityAddMsgIfSpecified(msg);
2060
+ }
2061
+ else
2062
+ {
2063
+ UnityPrint(" Expected memory to be different");
2064
+ }
2065
+
2066
+ UNITY_FAIL_AND_BAIL;
2067
+ }
2068
+ }
2069
+
1752
2070
  /*-----------------------------------------------*/
1753
2071
  void UnityAssertEqualMemory(UNITY_INTERNAL_PTR expected,
1754
2072
  UNITY_INTERNAL_PTR actual,
@@ -1805,9 +2123,9 @@ void UnityAssertEqualMemory(UNITY_INTERNAL_PTR expected,
1805
2123
  UnityPrint(UnityStrByte);
1806
2124
  UnityPrintNumberUnsigned(length - bytes - 1);
1807
2125
  UnityPrint(UnityStrExpected);
1808
- UnityPrintNumberByStyle(*ptr_exp, UNITY_DISPLAY_STYLE_HEX8);
2126
+ UnityPrintIntNumberByStyle(*ptr_exp, UNITY_DISPLAY_STYLE_HEX8);
1809
2127
  UnityPrint(UnityStrWas);
1810
- UnityPrintNumberByStyle(*ptr_act, UNITY_DISPLAY_STYLE_HEX8);
2128
+ UnityPrintIntNumberByStyle(*ptr_act, UNITY_DISPLAY_STYLE_HEX8);
1811
2129
  UnityAddMsgIfSpecified(msg);
1812
2130
  UNITY_FAIL_AND_BAIL;
1813
2131
  }
@@ -1937,7 +2255,7 @@ static enum UnityLengthModifier UnityLengthModifierGet(const char *pch, int *len
1937
2255
  }
1938
2256
  case 'h':
1939
2257
  {
1940
- // short and char are converted to int
2258
+ /* short and char are converted to int */
1941
2259
  length_mod = UNITY_LENGTH_MODIFIER_NONE;
1942
2260
  if (pch[1] == 'h')
1943
2261
  {
@@ -1954,7 +2272,7 @@ static enum UnityLengthModifier UnityLengthModifierGet(const char *pch, int *len
1954
2272
  case 't':
1955
2273
  case 'L':
1956
2274
  {
1957
- // Not supported, but should gobble up the length specifier anyway
2275
+ /* Not supported, but should gobble up the length specifier anyway */
1958
2276
  length_mod = UNITY_LENGTH_MODIFIER_NONE;
1959
2277
  *length = 1;
1960
2278
  break;
@@ -2127,32 +2445,7 @@ void UnityFail(const char* msg, const UNITY_LINE_TYPE line)
2127
2445
 
2128
2446
  UnityTestResultsBegin(Unity.TestFile, line);
2129
2447
  UnityPrint(UnityStrFail);
2130
- if (msg != NULL)
2131
- {
2132
- UNITY_OUTPUT_CHAR(':');
2133
-
2134
- #ifdef UNITY_PRINT_TEST_CONTEXT
2135
- UNITY_PRINT_TEST_CONTEXT();
2136
- #endif
2137
- #ifndef UNITY_EXCLUDE_DETAILS
2138
- if (Unity.CurrentDetail1)
2139
- {
2140
- UnityPrint(UnityStrDetail1Name);
2141
- UnityPrint(Unity.CurrentDetail1);
2142
- if (Unity.CurrentDetail2)
2143
- {
2144
- UnityPrint(UnityStrDetail2Name);
2145
- UnityPrint(Unity.CurrentDetail2);
2146
- }
2147
- UnityPrint(UnityStrSpacer);
2148
- }
2149
- #endif
2150
- if (msg[0] != ' ')
2151
- {
2152
- UNITY_OUTPUT_CHAR(' ');
2153
- }
2154
- UnityPrint(msg);
2155
- }
2448
+ UnityAddMsgIfSpecified(msg);
2156
2449
 
2157
2450
  UNITY_FAIL_AND_BAIL;
2158
2451
  }
@@ -2195,7 +2488,13 @@ void UnityDefaultTestRun(UnityTestFunction Func, const char* FuncName, const int
2195
2488
  Unity.CurrentTestName = FuncName;
2196
2489
  Unity.CurrentTestLineNumber = (UNITY_LINE_TYPE)FuncLineNum;
2197
2490
  Unity.NumberOfTests++;
2491
+ #ifndef UNITY_EXCLUDE_DETAILS
2492
+ #ifdef UNITY_DETAIL_STACK_SIZE
2493
+ Unity.CurrentDetailStackSize = 0;
2494
+ #else
2198
2495
  UNITY_CLR_DETAILS();
2496
+ #endif
2497
+ #endif
2199
2498
  UNITY_EXEC_TIME_START();
2200
2499
  if (TEST_PROTECT())
2201
2500
  {
@@ -2263,6 +2562,46 @@ int UnityEnd(void)
2263
2562
  return (int)(Unity.TestFailures);
2264
2563
  }
2265
2564
 
2565
+ /*-----------------------------------------------
2566
+ * Details Stack
2567
+ *-----------------------------------------------*/
2568
+ #ifndef UNITY_EXCLUDE_DETAILS
2569
+ #ifdef UNITY_DETAIL_STACK_SIZE
2570
+ void UnityPushDetail(UNITY_DETAIL_LABEL_TYPE label, UNITY_DETAIL_VALUE_TYPE value, const UNITY_LINE_TYPE line) {
2571
+ if (Unity.CurrentDetailStackSize >= UNITY_DETAIL_STACK_SIZE) {
2572
+ UnityTestResultsFailBegin(line);
2573
+ UnityPrint(UnityStrErrDetailStackFull);
2574
+ UnityAddMsgIfSpecified(NULL);
2575
+ UNITY_FAIL_AND_BAIL;
2576
+ }
2577
+ if (label >= UnityStrDetailLabelsCount) {
2578
+ UnityTestResultsFailBegin(line);
2579
+ UnityPrint(UnityStrErrDetailStackLabel);
2580
+ UnityPrintNumberUnsigned(label);
2581
+ UnityAddMsgIfSpecified(NULL);
2582
+ UNITY_FAIL_AND_BAIL;
2583
+ }
2584
+ Unity.CurrentDetailStackLabels[Unity.CurrentDetailStackSize] = label;
2585
+ Unity.CurrentDetailStackValues[Unity.CurrentDetailStackSize++] = value;
2586
+ }
2587
+ void UnityPopDetail(UNITY_DETAIL_LABEL_TYPE label, UNITY_DETAIL_VALUE_TYPE value, const UNITY_LINE_TYPE line) {
2588
+ if (Unity.CurrentDetailStackSize == 0) {
2589
+ UnityTestResultsFailBegin(line);
2590
+ UnityPrint(UnityStrErrDetailStackEmpty);
2591
+ UnityAddMsgIfSpecified(NULL);
2592
+ UNITY_FAIL_AND_BAIL;
2593
+ }
2594
+ if ((Unity.CurrentDetailStackLabels[Unity.CurrentDetailStackSize-1] != label) || (Unity.CurrentDetailStackValues[Unity.CurrentDetailStackSize-1] != value)) {
2595
+ UnityTestResultsFailBegin(line);
2596
+ UnityPrint(UnityStrErrDetailStackPop);
2597
+ UnityAddMsgIfSpecified(NULL);
2598
+ UNITY_FAIL_AND_BAIL;
2599
+ }
2600
+ Unity.CurrentDetailStackSize--;
2601
+ }
2602
+ #endif
2603
+ #endif
2604
+
2266
2605
  /*-----------------------------------------------
2267
2606
  * Command Line Argument Support
2268
2607
  *-----------------------------------------------*/
@@ -2394,7 +2733,7 @@ static int IsStringInBiggerString(const char* longstring, const char* shortstrin
2394
2733
  }
2395
2734
  }
2396
2735
 
2397
- // If we didn't match and we're on strict matching, we already know we failed
2736
+ /* If we didn't match and we're on strict matching, we already know we failed */
2398
2737
  if (UnityStrictMatch)
2399
2738
  {
2400
2739
  return 0;