ceedling 0.25.0 → 0.27.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 (434) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/assets/project_as_gem.yml +13 -0
  4. data/assets/project_with_guts.yml +13 -0
  5. data/bin/ceedling +91 -67
  6. data/docs/CeedlingPacket.md +61 -23
  7. data/docs/CeedlingPacket.odt +0 -0
  8. data/docs/CeedlingPacket.pdf +0 -0
  9. data/docs/ThrowTheSwitchCodingStandard.md +207 -0
  10. data/examples/temp_sensor/test/TestTemperatureCalculator.c +4 -1
  11. data/lib/ceedling/configurator.rb +14 -1
  12. data/lib/ceedling/configurator_builder.rb +2 -1
  13. data/lib/ceedling/configurator_validator.rb +12 -3
  14. data/lib/ceedling/constants.rb +3 -1
  15. data/lib/ceedling/defaults.rb +12 -1
  16. data/lib/ceedling/file_finder.rb +3 -0
  17. data/lib/ceedling/file_path_utils.rb +1 -1
  18. data/lib/ceedling/file_wrapper.rb +4 -4
  19. data/lib/ceedling/generator.rb +12 -3
  20. data/lib/ceedling/preprocessinator_helper.rb +5 -5
  21. data/lib/ceedling/preprocessinator_includes_handler.rb +10 -1
  22. data/lib/ceedling/project_config_manager.rb +1 -2
  23. data/lib/ceedling/project_file_loader.rb +27 -9
  24. data/lib/ceedling/rakefile.rb +6 -6
  25. data/lib/ceedling/release_invoker.rb +21 -6
  26. data/lib/ceedling/rules_release.rake +9 -5
  27. data/lib/ceedling/rules_tests.rake +6 -1
  28. data/lib/ceedling/setupinator.rb +1 -0
  29. data/lib/ceedling/tasks_base.rake +3 -0
  30. data/lib/ceedling/tasks_filesystem.rake +10 -7
  31. data/lib/ceedling/tasks_release.rake +3 -1
  32. data/lib/ceedling/test_includes_extractor.rb +16 -12
  33. data/lib/ceedling/test_invoker.rb +40 -0
  34. data/lib/ceedling/version.rb +3 -3
  35. data/lib/ceedling/version.rb.erb +1 -1
  36. data/plugins/command_hooks/lib/command_hooks.rb +1 -1
  37. data/plugins/fake_function_framework/examples/fff_example/src/bar.h +1 -0
  38. data/plugins/fake_function_framework/examples/fff_example/src/event_processor.c +1 -0
  39. data/plugins/fake_function_framework/lib/fff_mock_generator.rb +4 -0
  40. data/plugins/fake_function_framework/spec/{fff_mock_generator_spec.rb → fff_mock_header_generator_spec.rb} +34 -194
  41. data/plugins/fake_function_framework/spec/fff_mock_source_generator_spec.rb +149 -0
  42. data/plugins/fake_function_framework/spec/header_generator.rb +51 -0
  43. data/plugins/junit_tests_report/lib/junit_tests_report.rb +115 -0
  44. data/plugins/subprojects/README.md +63 -0
  45. data/plugins/subprojects/config/defaults.yml +33 -0
  46. data/plugins/subprojects/lib/subprojects.rb +92 -0
  47. data/plugins/subprojects/subprojects.rake +78 -0
  48. data/spec/preprocessinator_includes_handler_spec.rb +15 -5
  49. data/spec/spec_helper.rb +2 -2
  50. data/spec/spec_system_helper.rb +49 -1
  51. data/spec/system/deployment_spec.rb +29 -0
  52. data/vendor/c_exception/README.md +8 -2
  53. data/vendor/c_exception/docs/{readme.txt → CException.md} +133 -102
  54. data/vendor/c_exception/docs/ThrowTheSwitchCodingStandard.md +207 -0
  55. data/vendor/c_exception/vendor/unity/README.md +19 -10
  56. data/vendor/c_exception/vendor/unity/auto/colour_prompt.rb +67 -64
  57. data/vendor/c_exception/vendor/unity/auto/colour_reporter.rb +20 -20
  58. data/vendor/c_exception/vendor/unity/auto/generate_module.rb +149 -142
  59. data/vendor/c_exception/vendor/unity/auto/generate_test_runner.rb +234 -232
  60. data/vendor/c_exception/vendor/unity/auto/parse_output.rb +220 -0
  61. data/vendor/c_exception/vendor/unity/auto/stylize_as_junit.rb +108 -120
  62. data/vendor/c_exception/vendor/unity/auto/test_file_filter.rb +11 -9
  63. data/vendor/c_exception/vendor/unity/auto/type_sanitizer.rb +1 -3
  64. data/vendor/c_exception/vendor/unity/auto/unity_test_summary.py +6 -2
  65. data/vendor/c_exception/vendor/unity/auto/unity_test_summary.rb +45 -57
  66. data/vendor/c_exception/vendor/unity/docs/ThrowTheSwitchCodingStandard.md +207 -0
  67. data/vendor/c_exception/vendor/unity/docs/UnityAssertionsCheatSheetSuitableforPrintingandPossiblyFraming.pdf +0 -0
  68. data/vendor/c_exception/vendor/unity/docs/UnityAssertionsReference.md +716 -0
  69. data/vendor/c_exception/vendor/unity/docs/UnityConfigurationGuide.md +398 -0
  70. data/vendor/c_exception/vendor/unity/docs/UnityGettingStartedGuide.md +191 -0
  71. data/vendor/c_exception/vendor/unity/docs/UnityHelperScriptsGuide.md +242 -0
  72. data/vendor/c_exception/vendor/unity/examples/example_1/makefile +22 -17
  73. data/vendor/c_exception/vendor/unity/examples/example_1/test/test_runners/TestProductionCode2_Runner.c +1 -1
  74. data/vendor/c_exception/vendor/unity/examples/example_1/test/test_runners/TestProductionCode_Runner.c +1 -1
  75. data/vendor/c_exception/vendor/unity/examples/example_2/makefile +16 -17
  76. data/vendor/c_exception/vendor/unity/examples/example_3/rakefile.rb +15 -15
  77. data/vendor/c_exception/vendor/unity/examples/example_3/rakefile_helper.rb +93 -100
  78. data/vendor/c_exception/vendor/unity/examples/example_3/readme.txt +4 -10
  79. data/vendor/c_exception/vendor/unity/examples/unity_config.h +14 -26
  80. data/vendor/c_exception/vendor/unity/extras/fixture/rakefile.rb +12 -12
  81. data/vendor/c_exception/vendor/unity/extras/fixture/rakefile_helper.rb +87 -88
  82. data/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture.c +15 -8
  83. data/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture.h +6 -1
  84. data/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture_internals.h +3 -0
  85. data/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture_malloc_overrides.h +1 -0
  86. data/vendor/c_exception/vendor/unity/extras/fixture/test/unity_fixture_Test.c +1 -1
  87. data/vendor/c_exception/vendor/unity/src/unity.c +396 -330
  88. data/vendor/c_exception/vendor/unity/src/unity.h +50 -4
  89. data/vendor/c_exception/vendor/unity/src/unity_internals.h +119 -84
  90. data/vendor/c_exception/vendor/unity/test/Makefile +17 -17
  91. data/vendor/c_exception/vendor/unity/test/rakefile +63 -3
  92. data/vendor/c_exception/vendor/unity/test/rakefile_helper.rb +108 -105
  93. data/vendor/c_exception/vendor/unity/test/spec/generate_module_existing_file_spec.rb +158 -0
  94. data/vendor/c_exception/vendor/unity/test/targets/clang_file.yml +0 -6
  95. data/vendor/c_exception/vendor/unity/test/targets/clang_strict.yml +1 -9
  96. data/vendor/c_exception/vendor/unity/test/testdata/testRunnerGeneratorSmall.c +2 -0
  97. data/vendor/c_exception/vendor/unity/test/testdata/testRunnerGeneratorWithMocks.c +2 -2
  98. data/vendor/c_exception/vendor/unity/test/tests/test_generate_test_runner.rb +5 -5
  99. data/vendor/c_exception/vendor/unity/test/tests/testunity.c +1338 -151
  100. data/vendor/cmock/README.md +10 -1
  101. data/vendor/cmock/config/test_environment.rb +7 -7
  102. data/vendor/cmock/docs/CMock_Summary.md +325 -128
  103. data/vendor/cmock/docs/ThrowTheSwitchCodingStandard.md +207 -0
  104. data/vendor/cmock/examples/make_example/Makefile +2 -2
  105. data/vendor/cmock/examples/temp_sensor/gcc.yml +5 -4
  106. data/vendor/cmock/examples/temp_sensor/iar_v4.yml +5 -4
  107. data/vendor/cmock/examples/temp_sensor/iar_v5.yml +5 -4
  108. data/vendor/cmock/examples/temp_sensor/rakefile.rb +11 -1
  109. data/vendor/cmock/examples/temp_sensor/rakefile_helper.rb +12 -10
  110. data/vendor/cmock/lib/cmock.rb +0 -3
  111. data/vendor/cmock/lib/cmock_generator_plugin_callback.rb +6 -2
  112. data/vendor/cmock/lib/cmock_generator_plugin_return_thru_ptr.rb +2 -1
  113. data/vendor/cmock/lib/cmock_header_parser.rb +5 -6
  114. data/vendor/cmock/release/version.info +1 -1
  115. data/vendor/cmock/scripts/create_makefile.rb +4 -2
  116. data/vendor/cmock/scripts/test_summary.rb +17 -9
  117. data/vendor/cmock/src/cmock.c +1 -0
  118. data/vendor/cmock/src/cmock.h +1 -1
  119. data/vendor/cmock/src/cmock_internals.h +14 -1
  120. data/vendor/cmock/test/c/TestCMockC.yml +4 -4
  121. data/vendor/cmock/test/c/TestCMockCDynamic.yml +4 -4
  122. data/vendor/cmock/{iar → test/iar}/iar_v4/Resource/SAM7_FLASH.mac +0 -0
  123. data/vendor/cmock/{iar → test/iar}/iar_v4/Resource/SAM7_RAM.mac +0 -0
  124. data/vendor/cmock/{iar → test/iar}/iar_v4/Resource/SAM7_SIM.mac +0 -0
  125. data/vendor/cmock/{iar → test/iar}/iar_v4/Resource/at91SAM7X256_FLASH.xcl +0 -0
  126. data/vendor/cmock/{iar → test/iar}/iar_v4/Resource/at91SAM7X256_RAM.xcl +0 -0
  127. data/vendor/cmock/{iar → test/iar}/iar_v4/Resource/ioat91sam7x256.ddf +0 -0
  128. data/vendor/cmock/{iar → test/iar}/iar_v4/cmock_demo.dep +0 -0
  129. data/vendor/cmock/{iar → test/iar}/iar_v4/cmock_demo.ewd +0 -0
  130. data/vendor/cmock/{iar → test/iar}/iar_v4/cmock_demo.ewp +0 -0
  131. data/vendor/cmock/{iar → test/iar}/iar_v4/cmock_demo.eww +0 -0
  132. data/vendor/cmock/{iar → test/iar}/iar_v4/incIAR/AT91SAM7X-EK.h +0 -0
  133. data/vendor/cmock/{iar → test/iar}/iar_v4/incIAR/AT91SAM7X256.inc +0 -0
  134. data/vendor/cmock/{iar → test/iar}/iar_v4/incIAR/AT91SAM7X256.rdf +0 -0
  135. data/vendor/cmock/{iar → test/iar}/iar_v4/incIAR/AT91SAM7X256.tcl +0 -0
  136. data/vendor/cmock/{iar → test/iar}/iar_v4/incIAR/AT91SAM7X256_inc.h +0 -0
  137. data/vendor/cmock/{iar → test/iar}/iar_v4/incIAR/ioat91sam7x256.h +0 -0
  138. data/vendor/cmock/{iar → test/iar}/iar_v4/incIAR/lib_AT91SAM7X256.h +0 -0
  139. data/vendor/cmock/{iar → test/iar}/iar_v4/settings/cmock_demo.cspy.bat +0 -0
  140. data/vendor/cmock/{iar → test/iar}/iar_v4/settings/cmock_demo.dbgdt +0 -0
  141. data/vendor/cmock/{iar → test/iar}/iar_v4/settings/cmock_demo.dni +0 -0
  142. data/vendor/cmock/{iar → test/iar}/iar_v4/settings/cmock_demo.wsdt +0 -0
  143. data/vendor/cmock/{iar → test/iar}/iar_v4/srcIAR/Cstartup.s79 +0 -0
  144. data/vendor/cmock/{iar → test/iar}/iar_v4/srcIAR/Cstartup_SAM7.c +0 -0
  145. data/vendor/cmock/{iar → test/iar}/iar_v5/Resource/SAM7_FLASH.mac +0 -0
  146. data/vendor/cmock/{iar → test/iar}/iar_v5/Resource/SAM7_RAM.mac +0 -0
  147. data/vendor/cmock/{iar → test/iar}/iar_v5/Resource/SAM7_SIM.mac +0 -0
  148. data/vendor/cmock/{iar → test/iar}/iar_v5/Resource/at91SAM7X256_FLASH.icf +0 -0
  149. data/vendor/cmock/{iar → test/iar}/iar_v5/Resource/at91SAM7X256_RAM.icf +0 -0
  150. data/vendor/cmock/{iar → test/iar}/iar_v5/cmock_demo.dep +0 -0
  151. data/vendor/cmock/{iar → test/iar}/iar_v5/cmock_demo.ewd +0 -0
  152. data/vendor/cmock/{iar → test/iar}/iar_v5/cmock_demo.ewp +0 -0
  153. data/vendor/cmock/{iar → test/iar}/iar_v5/cmock_demo.eww +0 -0
  154. data/vendor/cmock/{iar → test/iar}/iar_v5/incIAR/AT91SAM7X-EK.h +0 -0
  155. data/vendor/cmock/{iar → test/iar}/iar_v5/incIAR/AT91SAM7X256_inc.h +0 -0
  156. data/vendor/cmock/{iar → test/iar}/iar_v5/incIAR/lib_AT91SAM7X256.h +0 -0
  157. data/vendor/cmock/{iar → test/iar}/iar_v5/incIAR/project.h +0 -0
  158. data/vendor/cmock/{iar → test/iar}/iar_v5/settings/BasicInterrupt_SAM7X.cspy.bat +0 -0
  159. data/vendor/cmock/{iar → test/iar}/iar_v5/settings/BasicInterrupt_SAM7X.dbgdt +0 -0
  160. data/vendor/cmock/{iar → test/iar}/iar_v5/settings/BasicInterrupt_SAM7X.dni +0 -0
  161. data/vendor/cmock/{iar → test/iar}/iar_v5/settings/BasicInterrupt_SAM7X.wsdt +0 -0
  162. data/vendor/cmock/{iar → test/iar}/iar_v5/settings/BasicInterrupt_SAM7X_FLASH_Debug.jlink +0 -0
  163. data/vendor/cmock/{iar → test/iar}/iar_v5/settings/cmock_demo.cspy.bat +0 -0
  164. data/vendor/cmock/{iar → test/iar}/iar_v5/settings/cmock_demo.dbgdt +0 -0
  165. data/vendor/cmock/{iar → test/iar}/iar_v5/settings/cmock_demo.dni +0 -0
  166. data/vendor/cmock/{iar → test/iar}/iar_v5/settings/cmock_demo.wsdt +0 -0
  167. data/vendor/cmock/{iar → test/iar}/iar_v5/settings/cmock_demo_Binary.jlink +0 -0
  168. data/vendor/cmock/{iar → test/iar}/iar_v5/settings/cmock_demo_FLASH_Debug.jlink +0 -0
  169. data/vendor/cmock/{iar → test/iar}/iar_v5/settings/cmock_demo_RAM_Debug.jlink +0 -0
  170. data/vendor/cmock/{iar → test/iar}/iar_v5/srcIAR/Cstartup.s +0 -0
  171. data/vendor/cmock/{iar → test/iar}/iar_v5/srcIAR/Cstartup_SAM7.c +0 -0
  172. data/vendor/cmock/{Rakefile → test/rakefile} +9 -9
  173. data/vendor/cmock/{rakefile_helper.rb → test/rakefile_helper.rb} +13 -13
  174. data/vendor/cmock/test/system/test_compilation/config.yml +4 -4
  175. data/vendor/cmock/test/system/test_interactions/parsing_challenges.yml +2 -0
  176. data/vendor/cmock/{targets → test/targets}/clang_strict.yml +11 -11
  177. data/vendor/cmock/{targets → test/targets}/gcc.yml +9 -9
  178. data/vendor/cmock/{targets → test/targets}/gcc_64.yml +9 -9
  179. data/vendor/cmock/{targets → test/targets}/gcc_tiny.yml +9 -9
  180. data/vendor/cmock/{targets → test/targets}/iar_arm_v4.yml +9 -9
  181. data/vendor/cmock/{targets → test/targets}/iar_arm_v5.yml +10 -10
  182. data/vendor/cmock/test/test_helper.rb +4 -8
  183. data/vendor/cmock/test/unit/cmock_config_test.rb +1 -1
  184. data/vendor/cmock/test/unit/cmock_file_writer_test.rb +1 -1
  185. data/vendor/cmock/test/unit/cmock_generator_main_test.rb +1 -1
  186. data/vendor/cmock/test/unit/cmock_generator_plugin_array_test.rb +1 -1
  187. data/vendor/cmock/test/unit/cmock_generator_plugin_callback_test.rb +3 -1
  188. data/vendor/cmock/test/unit/cmock_generator_plugin_cexception_test.rb +1 -1
  189. data/vendor/cmock/test/unit/cmock_generator_plugin_expect_a_test.rb +1 -1
  190. data/vendor/cmock/test/unit/cmock_generator_plugin_expect_any_args_test.rb +1 -1
  191. data/vendor/cmock/test/unit/cmock_generator_plugin_expect_b_test.rb +1 -1
  192. data/vendor/cmock/test/unit/cmock_generator_plugin_ignore_arg_test.rb +1 -1
  193. data/vendor/cmock/test/unit/cmock_generator_plugin_ignore_test.rb +1 -1
  194. data/vendor/cmock/test/unit/cmock_generator_plugin_return_thru_ptr_test.rb +1 -1
  195. data/vendor/cmock/test/unit/cmock_generator_utils_test.rb +1 -1
  196. data/vendor/cmock/test/unit/cmock_header_parser_test.rb +15 -2
  197. data/vendor/cmock/test/unit/cmock_plugin_manager_test.rb +6 -10
  198. data/vendor/cmock/test/unit/cmock_unityhelper_parser_test.rb +1 -1
  199. data/vendor/cmock/vendor/c_exception/README.md +8 -2
  200. data/vendor/cmock/vendor/c_exception/docs/{readme.txt → CException.md} +133 -102
  201. data/vendor/cmock/vendor/c_exception/docs/ThrowTheSwitchCodingStandard.md +207 -0
  202. data/vendor/cmock/vendor/c_exception/vendor/unity/README.md +19 -10
  203. data/vendor/cmock/vendor/c_exception/vendor/unity/auto/colour_prompt.rb +67 -64
  204. data/vendor/cmock/vendor/c_exception/vendor/unity/auto/colour_reporter.rb +20 -20
  205. data/vendor/cmock/vendor/c_exception/vendor/unity/auto/generate_module.rb +149 -142
  206. data/vendor/cmock/vendor/c_exception/vendor/unity/auto/generate_test_runner.rb +234 -232
  207. data/vendor/cmock/vendor/c_exception/vendor/unity/auto/parse_output.rb +220 -0
  208. data/vendor/cmock/vendor/c_exception/vendor/unity/auto/stylize_as_junit.rb +108 -120
  209. data/vendor/cmock/vendor/c_exception/vendor/unity/auto/test_file_filter.rb +11 -9
  210. data/vendor/cmock/vendor/c_exception/vendor/unity/auto/type_sanitizer.rb +1 -3
  211. data/vendor/cmock/vendor/c_exception/vendor/unity/auto/unity_test_summary.py +6 -2
  212. data/vendor/cmock/vendor/c_exception/vendor/unity/auto/unity_test_summary.rb +45 -57
  213. data/vendor/cmock/vendor/c_exception/vendor/unity/docs/ThrowTheSwitchCodingStandard.md +207 -0
  214. data/vendor/cmock/vendor/c_exception/vendor/unity/docs/UnityAssertionsCheatSheetSuitableforPrintingandPossiblyFraming.pdf +0 -0
  215. data/vendor/cmock/vendor/c_exception/vendor/unity/docs/UnityAssertionsReference.md +716 -0
  216. data/vendor/cmock/vendor/c_exception/vendor/unity/docs/UnityConfigurationGuide.md +398 -0
  217. data/vendor/cmock/vendor/c_exception/vendor/unity/docs/UnityGettingStartedGuide.md +191 -0
  218. data/vendor/cmock/vendor/c_exception/vendor/unity/docs/UnityHelperScriptsGuide.md +242 -0
  219. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_1/makefile +22 -17
  220. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_1/test/test_runners/TestProductionCode2_Runner.c +1 -1
  221. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_1/test/test_runners/TestProductionCode_Runner.c +1 -1
  222. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_2/makefile +16 -17
  223. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_3/rakefile.rb +15 -15
  224. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_3/rakefile_helper.rb +93 -100
  225. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_3/readme.txt +4 -10
  226. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/unity_config.h +14 -26
  227. data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/rakefile.rb +12 -12
  228. data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/rakefile_helper.rb +87 -88
  229. data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture.c +15 -8
  230. data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture.h +6 -1
  231. data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture_internals.h +3 -0
  232. data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture_malloc_overrides.h +1 -0
  233. data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/test/unity_fixture_Test.c +1 -1
  234. data/vendor/cmock/vendor/c_exception/vendor/unity/src/unity.c +396 -330
  235. data/vendor/cmock/vendor/c_exception/vendor/unity/src/unity.h +50 -4
  236. data/vendor/cmock/vendor/c_exception/vendor/unity/src/unity_internals.h +119 -84
  237. data/vendor/cmock/vendor/c_exception/vendor/unity/test/Makefile +17 -17
  238. data/vendor/cmock/vendor/c_exception/vendor/unity/test/rakefile +63 -3
  239. data/vendor/cmock/vendor/c_exception/vendor/unity/test/rakefile_helper.rb +108 -105
  240. data/vendor/cmock/vendor/c_exception/vendor/unity/test/spec/generate_module_existing_file_spec.rb +158 -0
  241. data/vendor/cmock/vendor/c_exception/vendor/unity/test/targets/clang_file.yml +0 -6
  242. data/vendor/cmock/vendor/c_exception/vendor/unity/test/targets/clang_strict.yml +1 -9
  243. data/vendor/cmock/vendor/c_exception/vendor/unity/test/testdata/testRunnerGeneratorSmall.c +2 -0
  244. data/vendor/cmock/vendor/c_exception/vendor/unity/test/testdata/testRunnerGeneratorWithMocks.c +2 -2
  245. data/vendor/cmock/vendor/c_exception/vendor/unity/test/tests/test_generate_test_runner.rb +5 -5
  246. data/vendor/cmock/vendor/c_exception/vendor/unity/test/tests/testunity.c +1338 -151
  247. data/vendor/cmock/vendor/unity/README.md +19 -10
  248. data/vendor/cmock/vendor/unity/auto/colour_prompt.rb +67 -64
  249. data/vendor/cmock/vendor/unity/auto/colour_reporter.rb +20 -20
  250. data/vendor/cmock/vendor/unity/auto/generate_module.rb +149 -142
  251. data/vendor/cmock/vendor/unity/auto/generate_test_runner.rb +234 -232
  252. data/vendor/cmock/vendor/unity/auto/parse_output.rb +220 -0
  253. data/vendor/cmock/vendor/unity/auto/stylize_as_junit.rb +108 -120
  254. data/vendor/cmock/vendor/unity/auto/test_file_filter.rb +11 -9
  255. data/vendor/cmock/vendor/unity/auto/type_sanitizer.rb +1 -3
  256. data/vendor/cmock/vendor/unity/auto/unity_test_summary.py +6 -2
  257. data/vendor/cmock/vendor/unity/auto/unity_test_summary.rb +45 -57
  258. data/vendor/cmock/vendor/unity/docs/ThrowTheSwitchCodingStandard.md +207 -0
  259. data/vendor/cmock/vendor/unity/docs/UnityAssertionsCheatSheetSuitableforPrintingandPossiblyFraming.pdf +0 -0
  260. data/vendor/cmock/vendor/unity/docs/UnityAssertionsReference.md +716 -0
  261. data/vendor/cmock/vendor/unity/docs/UnityConfigurationGuide.md +398 -0
  262. data/vendor/cmock/vendor/unity/docs/UnityGettingStartedGuide.md +191 -0
  263. data/vendor/cmock/vendor/unity/docs/UnityHelperScriptsGuide.md +242 -0
  264. data/vendor/cmock/vendor/unity/examples/example_1/makefile +22 -17
  265. data/vendor/cmock/vendor/unity/examples/example_1/test/test_runners/TestProductionCode2_Runner.c +1 -1
  266. data/vendor/cmock/vendor/unity/examples/example_1/test/test_runners/TestProductionCode_Runner.c +1 -1
  267. data/vendor/cmock/vendor/unity/examples/example_2/makefile +16 -17
  268. data/vendor/cmock/vendor/unity/examples/example_3/rakefile.rb +15 -15
  269. data/vendor/cmock/vendor/unity/examples/example_3/rakefile_helper.rb +93 -100
  270. data/vendor/cmock/vendor/unity/examples/example_3/readme.txt +4 -10
  271. data/vendor/cmock/vendor/unity/examples/unity_config.h +14 -26
  272. data/vendor/cmock/vendor/unity/extras/fixture/rakefile.rb +12 -12
  273. data/vendor/cmock/vendor/unity/extras/fixture/rakefile_helper.rb +87 -88
  274. data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture.c +15 -8
  275. data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture.h +6 -1
  276. data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture_internals.h +3 -0
  277. data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture_malloc_overrides.h +1 -0
  278. data/vendor/cmock/vendor/unity/extras/fixture/test/unity_fixture_Test.c +1 -1
  279. data/vendor/cmock/vendor/unity/release/version.info +1 -1
  280. data/vendor/cmock/vendor/unity/src/unity.c +396 -330
  281. data/vendor/cmock/vendor/unity/src/unity.h +50 -4
  282. data/vendor/cmock/vendor/unity/src/unity_internals.h +119 -84
  283. data/vendor/cmock/vendor/unity/test/Makefile +17 -17
  284. data/vendor/cmock/vendor/unity/test/rakefile +63 -3
  285. data/vendor/cmock/vendor/unity/test/rakefile_helper.rb +108 -105
  286. data/vendor/cmock/vendor/unity/test/spec/generate_module_existing_file_spec.rb +158 -0
  287. data/vendor/cmock/vendor/unity/test/targets/clang_file.yml +0 -6
  288. data/vendor/cmock/vendor/unity/test/targets/clang_strict.yml +1 -9
  289. data/vendor/cmock/vendor/unity/test/testdata/testRunnerGeneratorSmall.c +2 -0
  290. data/vendor/cmock/vendor/unity/test/testdata/testRunnerGeneratorWithMocks.c +2 -2
  291. data/vendor/cmock/vendor/unity/test/tests/test_generate_test_runner.rb +5 -5
  292. data/vendor/cmock/vendor/unity/test/tests/testunity.c +1338 -151
  293. data/vendor/deep_merge/Rakefile +1 -1
  294. data/vendor/unity/README.md +19 -10
  295. data/vendor/unity/auto/colour_prompt.rb +67 -64
  296. data/vendor/unity/auto/colour_reporter.rb +20 -20
  297. data/vendor/unity/auto/generate_module.rb +149 -142
  298. data/vendor/unity/auto/generate_test_runner.rb +234 -232
  299. data/vendor/unity/auto/parse_output.rb +220 -0
  300. data/vendor/unity/auto/stylize_as_junit.rb +108 -120
  301. data/vendor/unity/auto/test_file_filter.rb +11 -9
  302. data/vendor/unity/auto/type_sanitizer.rb +1 -3
  303. data/vendor/unity/auto/unity_test_summary.py +6 -2
  304. data/vendor/unity/auto/unity_test_summary.rb +45 -57
  305. data/vendor/unity/docs/ThrowTheSwitchCodingStandard.md +207 -0
  306. data/vendor/unity/docs/UnityAssertionsCheatSheetSuitableforPrintingandPossiblyFraming.pdf +0 -0
  307. data/vendor/unity/docs/UnityAssertionsReference.md +716 -0
  308. data/vendor/unity/docs/UnityConfigurationGuide.md +398 -0
  309. data/vendor/unity/docs/UnityGettingStartedGuide.md +191 -0
  310. data/vendor/unity/docs/UnityHelperScriptsGuide.md +242 -0
  311. data/vendor/unity/examples/example_1/makefile +22 -17
  312. data/vendor/unity/examples/example_1/test/test_runners/TestProductionCode2_Runner.c +1 -1
  313. data/vendor/unity/examples/example_1/test/test_runners/TestProductionCode_Runner.c +1 -1
  314. data/vendor/unity/examples/example_2/makefile +16 -17
  315. data/vendor/unity/examples/example_3/rakefile.rb +15 -15
  316. data/vendor/unity/examples/example_3/rakefile_helper.rb +93 -100
  317. data/vendor/unity/examples/example_3/readme.txt +4 -10
  318. data/vendor/unity/examples/unity_config.h +14 -26
  319. data/vendor/unity/extras/fixture/rakefile.rb +12 -12
  320. data/vendor/unity/extras/fixture/rakefile_helper.rb +87 -88
  321. data/vendor/unity/extras/fixture/src/unity_fixture.c +15 -8
  322. data/vendor/unity/extras/fixture/src/unity_fixture.h +6 -1
  323. data/vendor/unity/extras/fixture/src/unity_fixture_internals.h +3 -0
  324. data/vendor/unity/extras/fixture/src/unity_fixture_malloc_overrides.h +1 -0
  325. data/vendor/unity/extras/fixture/test/unity_fixture_Test.c +1 -1
  326. data/vendor/unity/release/version.info +1 -1
  327. data/vendor/unity/src/unity.c +396 -330
  328. data/vendor/unity/src/unity.h +50 -4
  329. data/vendor/unity/src/unity_internals.h +119 -84
  330. data/vendor/unity/test/Makefile +17 -17
  331. data/vendor/unity/test/rakefile +63 -3
  332. data/vendor/unity/test/rakefile_helper.rb +108 -105
  333. data/vendor/unity/test/spec/generate_module_existing_file_spec.rb +158 -0
  334. data/vendor/unity/test/targets/clang_file.yml +0 -6
  335. data/vendor/unity/test/targets/clang_strict.yml +1 -9
  336. data/vendor/unity/test/testdata/testRunnerGeneratorSmall.c +2 -0
  337. data/vendor/unity/test/testdata/testRunnerGeneratorWithMocks.c +2 -2
  338. data/vendor/unity/test/tests/test_generate_test_runner.rb +5 -5
  339. data/vendor/unity/test/tests/testunity.c +1338 -151
  340. metadata +102 -157
  341. data/test_graveyard/integration/paths.yml +0 -17
  342. data/test_graveyard/integration/paths_test.rb +0 -80
  343. data/test_graveyard/integration/rake_rules_aux_dependencies_test.rb +0 -75
  344. data/test_graveyard/integration/rake_rules_cmock_test.rb +0 -74
  345. data/test_graveyard/integration/rake_rules_preprocess_test.rb +0 -178
  346. data/test_graveyard/integration/rake_rules_test.rb +0 -268
  347. data/test_graveyard/integration/rake_tasks_test.rb +0 -103
  348. data/test_graveyard/integration_test_helper.rb +0 -34
  349. data/test_graveyard/rakefile_rules.rb +0 -10
  350. data/test_graveyard/rakefile_rules_aux_dependencies.rb +0 -10
  351. data/test_graveyard/rakefile_rules_cmock.rb +0 -10
  352. data/test_graveyard/rakefile_rules_preprocess.rb +0 -10
  353. data/test_graveyard/rakefile_tasks.rb +0 -10
  354. data/test_graveyard/system/file_system_dependencies.yml +0 -20
  355. data/test_graveyard/system/file_system_kitchen_sink.yml +0 -20
  356. data/test_graveyard/system/file_system_mocks.yml +0 -20
  357. data/test_graveyard/system/file_system_preprocess.yml +0 -20
  358. data/test_graveyard/system/file_system_simple.yml +0 -20
  359. data/test_graveyard/system/file_system_test.rb +0 -78
  360. data/test_graveyard/system/mocks/include/a_file.h +0 -2
  361. data/test_graveyard/system/mocks/include/other_stuff.h +0 -2
  362. data/test_graveyard/system/mocks/include/stuff.h +0 -3
  363. data/test_graveyard/system/mocks/source/a_file.c +0 -9
  364. data/test_graveyard/system/mocks/test/test_a_file.c +0 -41
  365. data/test_graveyard/system/mocks/test/test_no_file.c +0 -14
  366. data/test_graveyard/system/project_mocks.yml +0 -43
  367. data/test_graveyard/system/project_mocks_test.rb +0 -38
  368. data/test_graveyard/system/project_simple.yml +0 -36
  369. data/test_graveyard/system/project_simple_test.rb +0 -39
  370. data/test_graveyard/system/rule_mocks_test.rb +0 -44
  371. data/test_graveyard/system/rule_runners_test.rb +0 -44
  372. data/test_graveyard/system/simple/include/other_stuff.h +0 -2
  373. data/test_graveyard/system/simple/include/stuff.h +0 -3
  374. data/test_graveyard/system/simple/source/other_stuff.c +0 -6
  375. data/test_graveyard/system/simple/source/stuff.c +0 -7
  376. data/test_graveyard/system/simple/test/test_other_stuff.c +0 -30
  377. data/test_graveyard/system/simple/test/test_stuff.c +0 -51
  378. data/test_graveyard/system_test_helper.rb +0 -73
  379. data/test_graveyard/test_helper.rb +0 -93
  380. data/test_graveyard/unit/busted/configurator_builder_test.rb +0 -569
  381. data/test_graveyard/unit/busted/configurator_helper_test.rb +0 -234
  382. data/test_graveyard/unit/busted/configurator_test.rb +0 -232
  383. data/test_graveyard/unit/busted/configurator_validator_test.rb +0 -169
  384. data/test_graveyard/unit/busted/deep_merge_fix_test.rb +0 -55
  385. data/test_graveyard/unit/busted/dependinator_test.rb +0 -129
  386. data/test_graveyard/unit/busted/file_finder_helper_test.rb +0 -45
  387. data/test_graveyard/unit/busted/file_finder_test.rb +0 -114
  388. data/test_graveyard/unit/busted/file_path_utils_test.rb +0 -97
  389. data/test_graveyard/unit/busted/file_system_utils_test.rb +0 -21
  390. data/test_graveyard/unit/busted/generator_test.rb +0 -187
  391. data/test_graveyard/unit/busted/generator_test_results_test.rb +0 -129
  392. data/test_graveyard/unit/busted/generator_test_runner_test.rb +0 -475
  393. data/test_graveyard/unit/busted/preprocessinator_file_handler_test.rb +0 -39
  394. data/test_graveyard/unit/busted/preprocessinator_helper_test.rb +0 -156
  395. data/test_graveyard/unit/busted/preprocessinator_includes_handler_test.rb +0 -93
  396. data/test_graveyard/unit/busted/preprocessinator_test.rb +0 -57
  397. data/test_graveyard/unit/busted/project_file_loader_test.rb +0 -142
  398. data/test_graveyard/unit/busted/setupinator_test.rb +0 -45
  399. data/test_graveyard/unit/busted/streaminator_test.rb +0 -49
  400. data/test_graveyard/unit/busted/task_invoker_test.rb +0 -69
  401. data/test_graveyard/unit/busted/test_includes_extractor_test.rb +0 -111
  402. data/test_graveyard/unit/busted/test_invoker_helper_test.rb +0 -62
  403. data/test_graveyard/unit/busted/test_invoker_test.rb +0 -47
  404. data/test_graveyard/unit/busted/tool_executor_helper_test.rb +0 -100
  405. data/test_graveyard/unit/busted/tool_executor_test.rb +0 -351
  406. data/test_graveyard/unit/busted/verbosinator_test.rb +0 -65
  407. data/test_graveyard/unit/preprocessinator_extractor_test.rb +0 -731
  408. data/test_graveyard/unit_test_helper.rb +0 -16
  409. data/vendor/c_exception/docs/CExceptionSummary.odt +0 -0
  410. data/vendor/c_exception/docs/CExceptionSummary.pdf +0 -0
  411. data/vendor/c_exception/vendor/unity/auto/parseOutput.rb +0 -191
  412. data/vendor/c_exception/vendor/unity/docs/UnityAssertionsReference.pdf +0 -0
  413. data/vendor/c_exception/vendor/unity/docs/UnityConfigurationGuide.pdf +0 -0
  414. data/vendor/c_exception/vendor/unity/docs/UnityGettingStartedGuide.pdf +0 -0
  415. data/vendor/c_exception/vendor/unity/docs/UnityHelperScriptsGuide.pdf +0 -0
  416. data/vendor/cmock/docs/CMock Summary.odt +0 -0
  417. data/vendor/cmock/docs/CMock Summary.pdf +0 -0
  418. data/vendor/cmock/vendor/c_exception/docs/CExceptionSummary.odt +0 -0
  419. data/vendor/cmock/vendor/c_exception/docs/CExceptionSummary.pdf +0 -0
  420. data/vendor/cmock/vendor/c_exception/vendor/unity/auto/parseOutput.rb +0 -191
  421. data/vendor/cmock/vendor/c_exception/vendor/unity/docs/UnityAssertionsReference.pdf +0 -0
  422. data/vendor/cmock/vendor/c_exception/vendor/unity/docs/UnityConfigurationGuide.pdf +0 -0
  423. data/vendor/cmock/vendor/c_exception/vendor/unity/docs/UnityGettingStartedGuide.pdf +0 -0
  424. data/vendor/cmock/vendor/c_exception/vendor/unity/docs/UnityHelperScriptsGuide.pdf +0 -0
  425. data/vendor/cmock/vendor/unity/auto/parseOutput.rb +0 -191
  426. data/vendor/cmock/vendor/unity/docs/UnityAssertionsReference.pdf +0 -0
  427. data/vendor/cmock/vendor/unity/docs/UnityConfigurationGuide.pdf +0 -0
  428. data/vendor/cmock/vendor/unity/docs/UnityGettingStartedGuide.pdf +0 -0
  429. data/vendor/cmock/vendor/unity/docs/UnityHelperScriptsGuide.pdf +0 -0
  430. data/vendor/unity/auto/parseOutput.rb +0 -191
  431. data/vendor/unity/docs/UnityAssertionsReference.pdf +0 -0
  432. data/vendor/unity/docs/UnityConfigurationGuide.pdf +0 -0
  433. data/vendor/unity/docs/UnityGettingStartedGuide.pdf +0 -0
  434. data/vendor/unity/docs/UnityHelperScriptsGuide.pdf +0 -0
@@ -1,12 +1,11 @@
1
1
  require 'yaml'
2
2
  require 'fileutils'
3
- require UNITY_ROOT+'/auto/unity_test_summary'
4
- require UNITY_ROOT+'/auto/generate_test_runner'
5
- require UNITY_ROOT+'/auto/colour_reporter'
3
+ require UNITY_ROOT + '/auto/unity_test_summary'
4
+ require UNITY_ROOT + '/auto/generate_test_runner'
5
+ require UNITY_ROOT + '/auto/colour_reporter'
6
6
 
7
7
  module RakefileHelpers
8
-
9
- C_EXTENSION = '.c'
8
+ C_EXTENSION = '.c'.freeze
10
9
 
11
10
  def load_configuration(config_file)
12
11
  $cfg_file = config_file
@@ -17,22 +16,22 @@ module RakefileHelpers
17
16
  CLEAN.include($cfg['compiler']['build_path'] + '*.*') unless $cfg['compiler']['build_path'].nil?
18
17
  end
19
18
 
20
- def configure_toolchain(config_file=DEFAULT_CONFIG_FILE)
19
+ def configure_toolchain(config_file = DEFAULT_CONFIG_FILE)
21
20
  config_file += '.yml' unless config_file =~ /\.yml$/
22
21
  load_configuration(config_file)
23
22
  configure_clean
24
23
  end
25
24
 
26
- def get_unit_test_files
25
+ def unit_test_files
27
26
  path = $cfg['compiler']['unit_tests_path'] + 'Test*' + C_EXTENSION
28
- path.gsub!(/\\/, '/')
27
+ path.tr!('\\', '/')
29
28
  FileList.new(path)
30
29
  end
31
30
 
32
- def get_local_include_dirs
31
+ def local_include_dirs
33
32
  include_dirs = $cfg['compiler']['includes']['items'].dup
34
- include_dirs.delete_if {|dir| dir.is_a?(Array)}
35
- return include_dirs
33
+ include_dirs.delete_if { |dir| dir.is_a?(Array) }
34
+ include_dirs
36
35
  end
37
36
 
38
37
  def extract_headers(filename)
@@ -40,129 +39,126 @@ module RakefileHelpers
40
39
  lines = File.readlines(filename)
41
40
  lines.each do |line|
42
41
  m = line.match(/^\s*#include\s+\"\s*(.+\.[hH])\s*\"/)
43
- if not m.nil?
44
- includes << m[1]
45
- end
42
+ includes << m[1] unless m.nil?
46
43
  end
47
- return includes
44
+ includes
48
45
  end
49
46
 
50
47
  def find_source_file(header, paths)
51
48
  paths.each do |dir|
52
49
  src_file = dir + header.ext(C_EXTENSION)
53
- if (File.exists?(src_file))
54
- return src_file
55
- end
50
+ return src_file if File.exist?(src_file)
56
51
  end
57
- return nil
52
+ nil
58
53
  end
59
54
 
60
55
  def tackit(strings)
61
- if strings.is_a?(Array)
62
- result = "\"#{strings.join}\""
63
- else
64
- result = strings
65
- end
66
- return result
56
+ result = if strings.is_a?(Array)
57
+ "\"#{strings.join}\""
58
+ else
59
+ strings
60
+ end
61
+ result
67
62
  end
68
63
 
69
64
  def squash(prefix, items)
70
65
  result = ''
71
66
  items.each { |item| result += " #{prefix}#{tackit(item)}" }
72
- return result
67
+ result
73
68
  end
74
69
 
75
70
  def build_compiler_fields
76
- command = tackit($cfg['compiler']['path'])
77
- if $cfg['compiler']['defines']['items'].nil?
78
- defines = ''
79
- else
80
- defines = squash($cfg['compiler']['defines']['prefix'], $cfg['compiler']['defines']['items'])
81
- end
71
+ command = tackit($cfg['compiler']['path'])
72
+ defines = if $cfg['compiler']['defines']['items'].nil?
73
+ ''
74
+ else
75
+ squash($cfg['compiler']['defines']['prefix'], $cfg['compiler']['defines']['items'])
76
+ end
82
77
  options = squash('', $cfg['compiler']['options'])
83
78
  includes = squash($cfg['compiler']['includes']['prefix'], $cfg['compiler']['includes']['items'])
84
79
  includes = includes.gsub(/\\ /, ' ').gsub(/\\\"/, '"').gsub(/\\$/, '') # Remove trailing slashes (for IAR)
85
- return {:command => command, :defines => defines, :options => options, :includes => includes}
80
+
81
+ { command: command, defines: defines, options: options, includes: includes }
86
82
  end
87
83
 
88
- def compile(file, defines=[])
84
+ def compile(file, _defines = [])
89
85
  compiler = build_compiler_fields
90
- cmd_str = "#{compiler[:command]}#{compiler[:defines]}#{compiler[:options]}#{compiler[:includes]} #{file} " +
86
+ cmd_str = "#{compiler[:command]}#{compiler[:defines]}#{compiler[:options]}#{compiler[:includes]} #{file} " \
91
87
  "#{$cfg['compiler']['object_files']['prefix']}#{$cfg['compiler']['object_files']['destination']}"
92
88
  obj_file = "#{File.basename(file, C_EXTENSION)}#{$cfg['compiler']['object_files']['extension']}"
93
89
  execute(cmd_str + obj_file)
94
- return obj_file
90
+ obj_file
95
91
  end
96
92
 
97
93
  def build_linker_fields
98
- command = tackit($cfg['linker']['path'])
99
- if $cfg['linker']['options'].nil?
100
- options = ''
101
- else
102
- options = squash('', $cfg['linker']['options'])
103
- end
104
- if ($cfg['linker']['includes'].nil? || $cfg['linker']['includes']['items'].nil?)
105
- includes = ''
106
- else
107
- includes = squash($cfg['linker']['includes']['prefix'], $cfg['linker']['includes']['items'])
108
- end
109
- includes = includes.gsub(/\\ /, ' ').gsub(/\\\"/, '"').gsub(/\\$/, '') # Remove trailing slashes (for IAR)
110
- return {:command => command, :options => options, :includes => includes}
94
+ command = tackit($cfg['linker']['path'])
95
+ options = if $cfg['linker']['options'].nil?
96
+ ''
97
+ else
98
+ squash('', $cfg['linker']['options'])
99
+ end
100
+ includes = if $cfg['linker']['includes'].nil? || $cfg['linker']['includes']['items'].nil?
101
+ ''
102
+ else
103
+ squash($cfg['linker']['includes']['prefix'], $cfg['linker']['includes']['items'])
104
+ end.gsub(/\\ /, ' ').gsub(/\\\"/, '"').gsub(/\\$/, '') # Remove trailing slashes (for IAR)
105
+
106
+ { command: command, options: options, includes: includes }
111
107
  end
112
108
 
113
109
  def link_it(exe_name, obj_list)
114
110
  linker = build_linker_fields
115
111
  cmd_str = "#{linker[:command]}#{linker[:options]}#{linker[:includes]} " +
116
- (obj_list.map{|obj|"#{$cfg['linker']['object_files']['path']}#{obj} "}).join +
117
- $cfg['linker']['bin_files']['prefix'] + ' ' +
118
- $cfg['linker']['bin_files']['destination'] +
119
- exe_name + $cfg['linker']['bin_files']['extension']
112
+ (obj_list.map { |obj| "#{$cfg['linker']['object_files']['path']}#{obj} " }).join +
113
+ $cfg['linker']['bin_files']['prefix'] + ' ' +
114
+ $cfg['linker']['bin_files']['destination'] +
115
+ exe_name + $cfg['linker']['bin_files']['extension']
120
116
  execute(cmd_str)
121
117
  end
122
118
 
123
119
  def build_simulator_fields
124
120
  return nil if $cfg['simulator'].nil?
125
- if $cfg['simulator']['path'].nil?
126
- command = ''
127
- else
128
- command = (tackit($cfg['simulator']['path']) + ' ')
129
- end
130
- if $cfg['simulator']['pre_support'].nil?
131
- pre_support = ''
132
- else
133
- pre_support = squash('', $cfg['simulator']['pre_support'])
134
- end
135
- if $cfg['simulator']['post_support'].nil?
136
- post_support = ''
137
- else
138
- post_support = squash('', $cfg['simulator']['post_support'])
139
- end
140
- return {:command => command, :pre_support => pre_support, :post_support => post_support}
141
- end
142
-
143
- def execute(command_string, verbose=true, raise_on_fail=true)
121
+ command = if $cfg['simulator']['path'].nil?
122
+ ''
123
+ else
124
+ (tackit($cfg['simulator']['path']) + ' ')
125
+ end
126
+ pre_support = if $cfg['simulator']['pre_support'].nil?
127
+ ''
128
+ else
129
+ squash('', $cfg['simulator']['pre_support'])
130
+ end
131
+ post_support = if $cfg['simulator']['post_support'].nil?
132
+ ''
133
+ else
134
+ squash('', $cfg['simulator']['post_support'])
135
+ end
136
+
137
+ { command: command, pre_support: pre_support, post_support: post_support }
138
+ end
139
+
140
+ def execute(command_string, verbose = true, raise_on_fail = true)
144
141
  report command_string
145
142
  output = `#{command_string}`.chomp
146
- report(output) if (verbose && !output.nil? && (output.length > 0))
147
- if (($?.exitstatus != 0) and (raise_on_fail))
143
+ report(output) if verbose && !output.nil? && !output.empty?
144
+ if !$?.exitstatus.zero? && raise_on_fail
148
145
  raise "Command failed. (Returned #{$?.exitstatus})"
149
146
  end
150
- return output
147
+ output
151
148
  end
152
149
 
153
150
  def report_summary
154
151
  summary = UnityTestSummary.new
155
- summary.set_root_path(HERE)
152
+ summary.root = HERE
156
153
  results_glob = "#{$cfg['compiler']['build_path']}*.test*"
157
- results_glob.gsub!(/\\/, '/')
154
+ results_glob.tr!('\\', '/')
158
155
  results = Dir[results_glob]
159
- summary.set_targets(results)
156
+ summary.targets = results
160
157
  summary.run
161
- fail_out "FAIL: There were failures" if (summary.failures > 0)
158
+ fail_out 'FAIL: There were failures' if summary.failures > 0
162
159
  end
163
160
 
164
161
  def run_tests(test_files)
165
-
166
162
  report 'Running system tests...'
167
163
 
168
164
  # Tack on TEST define for compiling unit tests
@@ -171,7 +167,7 @@ module RakefileHelpers
171
167
  $cfg['compiler']['defines']['items'] = [] if $cfg['compiler']['defines']['items'].nil?
172
168
  $cfg['compiler']['defines']['items'] << 'TEST'
173
169
 
174
- include_dirs = get_local_include_dirs
170
+ include_dirs = local_include_dirs
175
171
 
176
172
  # Build and execute each unit test
177
173
  test_files.each do |test|
@@ -181,9 +177,7 @@ module RakefileHelpers
181
177
  extract_headers(test).each do |header|
182
178
  # Compile corresponding source file if it exists
183
179
  src_file = find_source_file(header, include_dirs)
184
- if !src_file.nil?
185
- obj_list << compile(src_file, test_defines)
186
- end
180
+ obj_list << compile(src_file, test_defines) unless src_file.nil?
187
181
  end
188
182
 
189
183
  # Build the test runner (generate if configured to do so)
@@ -208,25 +202,24 @@ module RakefileHelpers
208
202
  # Execute unit test and generate results file
209
203
  simulator = build_simulator_fields
210
204
  executable = $cfg['linker']['bin_files']['destination'] + test_base + $cfg['linker']['bin_files']['extension']
211
- if simulator.nil?
212
- cmd_str = executable
213
- else
214
- cmd_str = "#{simulator[:command]} #{simulator[:pre_support]} #{executable} #{simulator[:post_support]}"
215
- end
205
+ cmd_str = if simulator.nil?
206
+ executable
207
+ else
208
+ "#{simulator[:command]} #{simulator[:pre_support]} #{executable} #{simulator[:post_support]}"
209
+ end
216
210
  output = execute(cmd_str, true, false)
217
211
  test_results = $cfg['compiler']['build_path'] + test_base
218
- if output.match(/OK$/m).nil?
219
- test_results += '.testfail'
220
- else
221
- test_results += '.testpass'
222
- end
212
+ test_results += if output.match(/OK$/m).nil?
213
+ '.testfail'
214
+ else
215
+ '.testpass'
216
+ end
223
217
  File.open(test_results, 'w') { |f| f.print output }
224
218
  end
225
219
  end
226
220
 
227
221
  def build_application(main)
228
-
229
- report "Building application..."
222
+ report 'Building application...'
230
223
 
231
224
  obj_list = []
232
225
  load_configuration($cfg_file)
@@ -236,9 +229,7 @@ module RakefileHelpers
236
229
  include_dirs = get_local_include_dirs
237
230
  extract_headers(main_path).each do |header|
238
231
  src_file = find_source_file(header, include_dirs)
239
- if !src_file.nil?
240
- obj_list << compile(src_file)
241
- end
232
+ obj_list << compile(src_file) unless src_file.nil?
242
233
  end
243
234
 
244
235
  # Build the main source file
@@ -251,6 +242,8 @@ module RakefileHelpers
251
242
 
252
243
  def fail_out(msg)
253
244
  puts msg
254
- exit(-1)
245
+ puts 'Not returning exit code so continuous integration can pass'
246
+ # exit(-1) # Only removed to pass example_3, which has failing tests on purpose.
247
+ # Still fail if the build fails for any other reason.
255
248
  end
256
249
  end
@@ -4,16 +4,10 @@ Example 3
4
4
  This example project gives an example of some passing, ignored, and failing tests.
5
5
  It's simple and meant for you to look over and get an idea for what all of this stuff does.
6
6
 
7
- You can build and test using the makefile if you have gcc installed (you may need to tweak
8
- the locations of some tools in the makefile). Otherwise, the rake version will let you
9
- test with gcc or a couple versions of IAR. You can tweak the yaml files to get those versions
10
- running.
7
+ You can build and test using rake. The rake version will let you test with gcc or a couple
8
+ versions of IAR. You can tweak the yaml files to get those versions running.
11
9
 
12
10
  Ruby is required if you're using the rake version (obviously). This version shows off most of
13
11
  Unity's advanced features (automatically creating test runners, fancy summaries, etc.)
14
-
15
- The makefile version doesn't require anything outside of your normal build tools, but won't do the
16
- extras for you. So that you can test right away, we've written the test runners for you and
17
- put them in the test\no_ruby subdirectory. If you make changes to the tests or source, you might
18
- need to update these (like when you add or remove tests). Do that for a while and you'll learn
19
- why you really want to start using the Ruby tools.
12
+ Without ruby, you have to maintain your own test runners. Do that for a while and you'll learn
13
+ why you really want to start using the Ruby tools.
@@ -1,6 +1,6 @@
1
1
  /* Unity Configuration
2
2
  * As of May 11th, 2016 at ThrowTheSwitch/Unity commit 837c529
3
- * Update: August 25th, 2016
3
+ * Update: December 29th, 2016
4
4
  * See Also: Unity/docs/UnityConfigurationGuide.pdf
5
5
  *
6
6
  * Unity is designed to run on almost anything that is targeted by a C compiler.
@@ -37,11 +37,6 @@
37
37
  #ifndef UNITY_CONFIG_H
38
38
  #define UNITY_CONFIG_H
39
39
 
40
- #ifdef __cplusplus
41
- extern "C"
42
- {
43
- #endif
44
-
45
40
  /* ************************* AUTOMATIC INTEGER TYPES ***************************
46
41
  * C's concept of an integer varies from target to target. The C Standard has
47
42
  * rules about the `int` matching the register size of the target
@@ -122,10 +117,9 @@ extern "C"
122
117
 
123
118
  /* By default, Unity guesses that you will want single precision floating point
124
119
  * support, but not double precision. It's easy to change either of these using
125
- * the include and exclude options here. You may include neither, either, or
126
- * both, as suits your needs.
120
+ * the include and exclude options here. You may include neither, just float,
121
+ * or both, as suits your needs.
127
122
  */
128
- /* #define UNITY_INCLUDE_FLOAT */
129
123
  /* #define UNITY_EXCLUDE_FLOAT */
130
124
  /* #define UNITY_INCLUDE_DOUBLE */
131
125
  /* #define UNITY_EXCLUDE_DOUBLE */
@@ -137,18 +131,15 @@ extern "C"
137
131
  /* Unity aims for as small of a footprint as possible and avoids most standard
138
132
  * library calls (some embedded platforms don't have a standard library!).
139
133
  * Because of this, its routines for printing integer values are minimalist and
140
- * hand-coded. To keep Unity universal, though, we chose to _not_ develop our
141
- * own floating point print routines. Instead, the display of floating point
142
- * values during a failure are optional. By default, Unity will not print the
143
- * actual results of floating point assertion failure. So a failed assertion
144
- * will produce a message like `"Values Not Within Delta"`. If you would like
145
- * verbose failure messages for floating point assertions, use these options to
146
- * give more explicit failure messages (e.g. `"Expected 4.56 Was 4.68"`). Note
147
- * that this feature requires the use of `sprintf` so might not be desirable in
148
- * all cases.
134
+ * hand-coded. To keep Unity universal, though, we eventually chose to develop
135
+ * our own floating point print routines. Still, the display of floating point
136
+ * values during a failure are optional. By default, Unity will print the
137
+ * actual results of floating point assertion failures. So a failed assertion
138
+ * will produce a message like "Expected 4.0 Was 4.25". If you would like less
139
+ * verbose failure messages for floating point assertions, use this option to
140
+ * give a failure message `"Values Not Within Delta"` and trim the binary size.
149
141
  */
150
- /* #define UNITY_FLOAT_VERBOSE */
151
- /* #define UNITY_DOUBLE_VERBOSE */
142
+ /* #define UNITY_EXCLUDE_FLOAT_PRINT */
152
143
 
153
144
  /* If enabled, Unity assumes you want your `FLOAT` asserts to compare standard C
154
145
  * floats. If your compiler supports a specialty floating point type, you can
@@ -211,8 +202,8 @@ extern "C"
211
202
  * serial `RS232_putc()` function you wrote like thus:
212
203
  */
213
204
  /* #define UNITY_OUTPUT_CHAR(a) RS232_putc(a) */
214
- /* #define UNITY_OUTPUT_FLUSH() RS232_config(115200,1,8,0) */
215
- /* #define UNITY_OUTPUT_START() RS232_flush() */
205
+ /* #define UNITY_OUTPUT_FLUSH() RS232_flush() */
206
+ /* #define UNITY_OUTPUT_START() RS232_config(115200,1,8,0) */
216
207
  /* #define UNITY_OUTPUT_COMPLETE() RS232_close() */
217
208
 
218
209
  /* For some targets, Unity can make the otherwise required `setUp()` and
@@ -232,6 +223,7 @@ extern "C"
232
223
  */
233
224
  /* #define UNITY_SUPPORT_WEAK weak */
234
225
  /* #define UNITY_SUPPORT_WEAK __attribute__((weak)) */
226
+ /* #define UNITY_NO_WEAK */
235
227
 
236
228
  /* Some compilers require a custom attribute to be assigned to pointers, like
237
229
  * `near` or `far`. In these cases, you can give Unity a safe default for these
@@ -242,8 +234,4 @@ extern "C"
242
234
  /* #define UNITY_PTR_ATTRIBUTE __attribute__((far)) */
243
235
  /* #define UNITY_PTR_ATTRIBUTE near */
244
236
 
245
- #ifdef __cplusplus
246
- }
247
- #endif /* extern "C" */
248
-
249
237
  #endif /* UNITY_CONFIG_H */
@@ -12,34 +12,34 @@ require 'rake/testtask'
12
12
  require HERE + 'rakefile_helper'
13
13
 
14
14
  TEMP_DIRS = [
15
- File.join(HERE, 'build')
16
- ]
15
+ File.join(HERE, 'build')
16
+ ].freeze
17
17
 
18
18
  TEMP_DIRS.each do |dir|
19
19
  directory(dir)
20
20
  CLOBBER.include(dir)
21
21
  end
22
22
 
23
- task :prepare_for_tests => TEMP_DIRS
23
+ task prepare_for_tests: TEMP_DIRS
24
24
 
25
25
  include RakefileHelpers
26
26
 
27
27
  # Load default configuration, for now
28
- DEFAULT_CONFIG_FILE = 'gcc_auto_stdint.yml'
28
+ DEFAULT_CONFIG_FILE = 'gcc_auto_stdint.yml'.freeze
29
29
  configure_toolchain(DEFAULT_CONFIG_FILE)
30
30
 
31
- task :unit => [:prepare_for_tests] do
31
+ task unit: [:prepare_for_tests] do
32
32
  run_tests
33
33
  end
34
34
 
35
- desc "Build and test Unity Framework"
36
- task :all => [:clean, :unit]
37
- task :default => [:clobber, :all]
38
- task :ci => [:no_color, :default]
39
- task :cruise => [:no_color, :default]
35
+ desc 'Build and test Unity Framework'
36
+ task all: %i(clean unit)
37
+ task default: %i(clobber all)
38
+ task ci: %i(no_color default)
39
+ task cruise: %i(no_color default)
40
40
 
41
- desc "Load configuration"
42
- task :config, :config_file do |t, args|
41
+ desc 'Load configuration'
42
+ task :config, :config_file do |_t, args|
43
43
  configure_toolchain(args[:config_file])
44
44
  end
45
45