ceedling 0.20.3 → 0.21.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 (407) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +3 -0
  3. data/Gemfile.lock +1 -0
  4. data/Rakefile +1 -0
  5. data/bin/ceedling +79 -26
  6. data/lib/ceedling/configurator_plugins.rb +0 -18
  7. data/lib/ceedling/rules_cmock.rake +1 -1
  8. data/lib/ceedling/tasks_base.rake +5 -1
  9. data/lib/ceedling/tasks_tests.rake +12 -9
  10. data/lib/ceedling/version.rb +1 -1
  11. data/lib/ceedling/version.rb.erb +1 -1
  12. data/plugins/fake_function_framework/README.md +250 -0
  13. data/plugins/fake_function_framework/Rakefile +19 -0
  14. data/plugins/fake_function_framework/examples/fff_example/project.yml +71 -0
  15. data/plugins/fake_function_framework/examples/fff_example/rakefile.rb +7 -0
  16. data/plugins/fake_function_framework/examples/fff_example/src/bar.c +1 -0
  17. data/plugins/fake_function_framework/examples/fff_example/src/bar.h +13 -0
  18. data/plugins/fake_function_framework/examples/fff_example/src/custom_types.h +6 -0
  19. data/plugins/fake_function_framework/examples/fff_example/src/display.c +7 -0
  20. data/plugins/fake_function_framework/examples/fff_example/src/display.h +16 -0
  21. data/plugins/fake_function_framework/examples/fff_example/src/event_processor.c +92 -0
  22. data/plugins/fake_function_framework/examples/fff_example/src/event_processor.h +11 -0
  23. data/plugins/fake_function_framework/examples/fff_example/src/foo.c +16 -0
  24. data/plugins/fake_function_framework/examples/fff_example/src/foo.h +8 -0
  25. data/plugins/fake_function_framework/examples/fff_example/src/subfolder/zzz.c +1 -0
  26. data/plugins/fake_function_framework/examples/fff_example/src/subfolder/zzz.h +6 -0
  27. data/plugins/fake_function_framework/examples/fff_example/test/test_event_processor.c +155 -0
  28. data/plugins/fake_function_framework/examples/fff_example/test/test_foo.c +47 -0
  29. data/plugins/fake_function_framework/lib/fake_function_framework.rb +87 -0
  30. data/plugins/fake_function_framework/lib/fff_mock_generator.rb +159 -0
  31. data/plugins/fake_function_framework/spec/fff_mock_generator_spec.rb +464 -0
  32. data/plugins/fake_function_framework/spec/spec_helper.rb +96 -0
  33. data/plugins/fake_function_framework/src/fff_unity_helper.h +33 -0
  34. data/plugins/fake_function_framework/vendor/fff/LICENSE +25 -0
  35. data/plugins/fake_function_framework/vendor/fff/Makefile +10 -0
  36. data/plugins/fake_function_framework/vendor/fff/README.md +454 -0
  37. data/plugins/fake_function_framework/vendor/fff/buildandtest +15 -0
  38. data/plugins/fake_function_framework/vendor/fff/examples/Makefile +7 -0
  39. data/plugins/fake_function_framework/vendor/fff/examples/driver_testing/Makefile +64 -0
  40. data/plugins/fake_function_framework/vendor/fff/examples/driver_testing/driver.c +24 -0
  41. data/plugins/fake_function_framework/vendor/fff/examples/driver_testing/driver.h +11 -0
  42. data/plugins/fake_function_framework/vendor/fff/examples/driver_testing/driver.test.cpp +50 -0
  43. data/plugins/fake_function_framework/vendor/fff/examples/driver_testing/driver.test.fff.cpp +62 -0
  44. data/plugins/fake_function_framework/vendor/fff/examples/driver_testing/hardware_abstraction.h +15 -0
  45. data/plugins/fake_function_framework/vendor/fff/examples/driver_testing/registers.h +13 -0
  46. data/plugins/fake_function_framework/vendor/fff/examples/embedded_ui/DISPLAY.h +17 -0
  47. data/plugins/fake_function_framework/vendor/fff/examples/embedded_ui/Kata.txt +25 -0
  48. data/plugins/fake_function_framework/vendor/fff/examples/embedded_ui/Makefile +67 -0
  49. data/plugins/fake_function_framework/vendor/fff/examples/embedded_ui/SYSTEM.h +21 -0
  50. data/plugins/fake_function_framework/vendor/fff/examples/embedded_ui/UI.c +48 -0
  51. data/plugins/fake_function_framework/vendor/fff/examples/embedded_ui/UI.h +12 -0
  52. data/plugins/fake_function_framework/vendor/fff/examples/embedded_ui/UI_test_ansic.c +183 -0
  53. data/plugins/fake_function_framework/vendor/fff/examples/embedded_ui/UI_test_cpp.cpp +136 -0
  54. data/plugins/fake_function_framework/vendor/fff/examples/embedded_ui/test_suite_template.c +34 -0
  55. data/plugins/fake_function_framework/vendor/fff/fakegen.rb +420 -0
  56. data/plugins/fake_function_framework/vendor/fff/fff.h +5112 -0
  57. data/plugins/fake_function_framework/vendor/fff/gtest/Makefile +22 -0
  58. data/plugins/fake_function_framework/vendor/fff/gtest/gtest-all.cc +9118 -0
  59. data/plugins/fake_function_framework/vendor/fff/gtest/gtest-main.cc +6 -0
  60. data/plugins/fake_function_framework/vendor/fff/gtest/gtest.h +19537 -0
  61. data/plugins/fake_function_framework/vendor/fff/test/Makefile +81 -0
  62. data/plugins/fake_function_framework/vendor/fff/test/c_test_framework.h +15 -0
  63. data/plugins/fake_function_framework/vendor/fff/test/fff_test_c.c +108 -0
  64. data/plugins/fake_function_framework/vendor/fff/test/fff_test_cpp.cpp +45 -0
  65. data/plugins/fake_function_framework/vendor/fff/test/fff_test_global_c.c +76 -0
  66. data/plugins/fake_function_framework/vendor/fff/test/fff_test_global_cpp.cpp +23 -0
  67. data/plugins/fake_function_framework/vendor/fff/test/global_fakes.c +13 -0
  68. data/plugins/fake_function_framework/vendor/fff/test/global_fakes.h +37 -0
  69. data/plugins/fake_function_framework/vendor/fff/test/test_cases.include +276 -0
  70. data/plugins/gcov/README.md +9 -0
  71. data/plugins/gcov/{template.erb → assets/template.erb} +1 -1
  72. data/plugins/gcov/{defaults.yml → config/defaults.yml} +10 -1
  73. data/plugins/gcov/gcov.rake +20 -8
  74. data/plugins/gcov/{gcov.rb → lib/gcov.rb} +13 -24
  75. data/plugins/module_generator/module_generator.rake +3 -3
  76. data/plugins/warnings_report/lib/warnings_report.rb +69 -0
  77. data/plugins/xml_tests_report/lib/xml_tests_report.rb +108 -0
  78. data/spec/spec_system_helper.rb +1 -1
  79. data/vendor/c_exception/lib/CException.h +1 -1
  80. data/vendor/c_exception/vendor/unity/auto/generate_module.rb +16 -16
  81. data/vendor/c_exception/vendor/unity/auto/generate_test_runner.rb +61 -21
  82. data/vendor/c_exception/vendor/unity/auto/stylize_as_junit.rb +5 -1
  83. data/vendor/c_exception/vendor/unity/auto/unity_to_junit.py +146 -0
  84. data/vendor/c_exception/vendor/unity/docs/UnityAssertionsCheatSheetSuitableforPrintingandPossiblyFraming.pdf +0 -0
  85. data/vendor/c_exception/vendor/unity/docs/UnityAssertionsReference.pdf +0 -0
  86. data/vendor/c_exception/vendor/unity/docs/UnityConfigurationGuide.pdf +0 -0
  87. data/vendor/c_exception/vendor/unity/docs/UnityGettingStartedGuide.pdf +0 -0
  88. data/vendor/c_exception/vendor/unity/docs/UnityHelperScriptsGuide.pdf +0 -0
  89. data/vendor/c_exception/vendor/unity/examples/example_1/makefile +1 -1
  90. data/vendor/c_exception/vendor/unity/examples/example_1/src/ProductionCode.c +7 -7
  91. data/vendor/c_exception/vendor/unity/examples/example_1/src/ProductionCode2.c +2 -2
  92. data/vendor/c_exception/vendor/unity/examples/example_1/test/TestProductionCode.c +14 -14
  93. data/vendor/c_exception/vendor/unity/examples/example_1/test/TestProductionCode2.c +2 -2
  94. data/vendor/c_exception/vendor/unity/examples/example_1/test/test_runners/TestProductionCode2_Runner.c +5 -5
  95. data/vendor/c_exception/vendor/unity/examples/example_1/test/test_runners/TestProductionCode_Runner.c +5 -5
  96. data/vendor/c_exception/vendor/unity/examples/unity_config.h +257 -0
  97. data/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture.c +9 -8
  98. data/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture_internals.h +1 -0
  99. data/vendor/c_exception/vendor/unity/extras/fixture/test/Makefile +28 -8
  100. data/vendor/c_exception/vendor/unity/extras/fixture/test/unity_fixture_Test.c +57 -17
  101. data/vendor/c_exception/vendor/unity/extras/fixture/test/unity_fixture_TestRunner.c +3 -0
  102. data/vendor/c_exception/vendor/unity/extras/fixture/test/unity_output_Spy.c +2 -3
  103. data/vendor/c_exception/vendor/unity/extras/fixture/test/unity_output_Spy.h +1 -1
  104. data/vendor/c_exception/vendor/unity/release/version.info +1 -1
  105. data/vendor/c_exception/vendor/unity/src/unity.c +336 -191
  106. data/vendor/c_exception/vendor/unity/src/unity.h +73 -69
  107. data/vendor/c_exception/vendor/unity/src/unity_internals.h +119 -90
  108. data/vendor/c_exception/vendor/unity/test/Makefile +51 -0
  109. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_cmd.c +5 -5
  110. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_def.c +5 -5
  111. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_head1.c +5 -5
  112. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_cmd.c +6 -6
  113. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_def.c +6 -6
  114. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_head1.c +6 -6
  115. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_new1.c +6 -6
  116. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_new2.c +8 -8
  117. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_param.c +6 -6
  118. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_run1.c +6 -6
  119. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_run2.c +8 -8
  120. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_yaml.c +7 -7
  121. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_new1.c +5 -5
  122. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_new2.c +7 -7
  123. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_param.c +5 -5
  124. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_run1.c +5 -5
  125. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_run2.c +7 -7
  126. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_yaml.c +6 -6
  127. data/vendor/c_exception/vendor/unity/test/rakefile +5 -0
  128. data/vendor/c_exception/vendor/unity/test/rakefile_helper.rb +9 -7
  129. data/vendor/c_exception/vendor/unity/test/targets/clang_file.yml +1 -0
  130. data/vendor/c_exception/vendor/unity/test/targets/clang_strict.yml +3 -0
  131. data/vendor/c_exception/vendor/unity/test/targets/gcc_32.yml +1 -0
  132. data/vendor/c_exception/vendor/unity/test/targets/gcc_64.yml +1 -0
  133. data/vendor/c_exception/vendor/unity/test/targets/gcc_auto_limits.yml +1 -0
  134. data/vendor/c_exception/vendor/unity/test/targets/gcc_auto_sizeof.yml +1 -0
  135. data/vendor/c_exception/vendor/unity/test/targets/gcc_auto_stdint.yml +1 -0
  136. data/vendor/c_exception/vendor/unity/test/targets/gcc_manual_math.yml +1 -0
  137. data/vendor/c_exception/vendor/unity/test/targets/iar_arm_v4.yml +1 -0
  138. data/vendor/c_exception/vendor/unity/test/targets/iar_arm_v5.yml +1 -0
  139. data/vendor/c_exception/vendor/unity/test/targets/iar_arm_v5_3.yml +1 -0
  140. data/vendor/c_exception/vendor/unity/test/targets/iar_armcortex_LM3S9B92_v5_4.yml +1 -0
  141. data/vendor/c_exception/vendor/unity/test/targets/iar_cortexm3_v5.yml +1 -0
  142. data/vendor/c_exception/vendor/unity/test/targets/iar_msp430.yml +1 -0
  143. data/vendor/c_exception/vendor/unity/test/targets/iar_sh2a_v6.yml +1 -0
  144. data/vendor/c_exception/vendor/unity/test/testdata/CException.h +11 -0
  145. data/vendor/c_exception/vendor/unity/test/testdata/Defs.h +8 -0
  146. data/vendor/c_exception/vendor/unity/test/testdata/cmock.h +14 -0
  147. data/vendor/c_exception/vendor/unity/test/testdata/mockMock.h +13 -0
  148. data/vendor/c_exception/vendor/unity/test/testdata/testRunnerGenerator.c +183 -0
  149. data/vendor/c_exception/vendor/unity/test/testdata/testRunnerGeneratorSmall.c +65 -0
  150. data/vendor/c_exception/vendor/unity/test/testdata/testRunnerGeneratorWithMocks.c +192 -0
  151. data/vendor/c_exception/vendor/unity/test/tests/test_generate_test_runner.rb +1221 -71
  152. data/vendor/c_exception/vendor/unity/test/tests/testparameterized.c +1 -1
  153. data/vendor/c_exception/vendor/unity/test/tests/testunity.c +127 -5
  154. data/vendor/cmock/docs/CMock_Summary.md +1 -1
  155. data/vendor/cmock/lib/cmock_generator.rb +7 -2
  156. data/vendor/cmock/lib/cmock_header_parser.rb +29 -9
  157. data/vendor/cmock/scripts/create_mock.rb +1 -1
  158. data/vendor/cmock/test/system/test_compilation/const.h +15 -0
  159. data/vendor/cmock/test/unit/cmock_generator_main_test.rb +4 -4
  160. data/vendor/cmock/test/unit/cmock_header_parser_test.rb +136 -73
  161. data/vendor/cmock/vendor/c_exception/lib/CException.h +1 -1
  162. data/vendor/cmock/vendor/c_exception/vendor/unity/auto/generate_module.rb +16 -16
  163. data/vendor/cmock/vendor/c_exception/vendor/unity/auto/generate_test_runner.rb +61 -21
  164. data/vendor/cmock/vendor/c_exception/vendor/unity/auto/stylize_as_junit.rb +5 -1
  165. data/vendor/cmock/vendor/c_exception/vendor/unity/auto/unity_to_junit.py +146 -0
  166. data/vendor/cmock/vendor/c_exception/vendor/unity/docs/UnityAssertionsCheatSheetSuitableforPrintingandPossiblyFraming.pdf +0 -0
  167. data/vendor/cmock/vendor/c_exception/vendor/unity/docs/UnityAssertionsReference.pdf +0 -0
  168. data/vendor/cmock/vendor/c_exception/vendor/unity/docs/UnityConfigurationGuide.pdf +0 -0
  169. data/vendor/cmock/vendor/c_exception/vendor/unity/docs/UnityGettingStartedGuide.pdf +0 -0
  170. data/vendor/cmock/vendor/c_exception/vendor/unity/docs/UnityHelperScriptsGuide.pdf +0 -0
  171. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_1/makefile +1 -1
  172. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_1/src/ProductionCode.c +7 -7
  173. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_1/src/ProductionCode2.c +2 -2
  174. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_1/test/TestProductionCode.c +14 -14
  175. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_1/test/TestProductionCode2.c +2 -2
  176. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_1/test/test_runners/TestProductionCode2_Runner.c +5 -5
  177. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_1/test/test_runners/TestProductionCode_Runner.c +5 -5
  178. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/unity_config.h +257 -0
  179. data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture.c +9 -8
  180. data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture_internals.h +1 -0
  181. data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/test/Makefile +28 -8
  182. data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/test/unity_fixture_Test.c +57 -17
  183. data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/test/unity_fixture_TestRunner.c +3 -0
  184. data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/test/unity_output_Spy.c +2 -3
  185. data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/test/unity_output_Spy.h +1 -1
  186. data/vendor/cmock/vendor/c_exception/vendor/unity/release/version.info +1 -1
  187. data/vendor/cmock/vendor/c_exception/vendor/unity/src/unity.c +336 -191
  188. data/vendor/cmock/vendor/c_exception/vendor/unity/src/unity.h +73 -69
  189. data/vendor/cmock/vendor/c_exception/vendor/unity/src/unity_internals.h +119 -90
  190. data/vendor/cmock/vendor/c_exception/vendor/unity/test/Makefile +51 -0
  191. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_cmd.c +5 -5
  192. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_def.c +5 -5
  193. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_head1.c +5 -5
  194. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_cmd.c +6 -6
  195. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_def.c +6 -6
  196. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_head1.c +6 -6
  197. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_new1.c +6 -6
  198. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_new2.c +8 -8
  199. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_param.c +6 -6
  200. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_run1.c +6 -6
  201. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_run2.c +8 -8
  202. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_yaml.c +7 -7
  203. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_new1.c +5 -5
  204. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_new2.c +7 -7
  205. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_param.c +5 -5
  206. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_run1.c +5 -5
  207. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_run2.c +7 -7
  208. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_yaml.c +6 -6
  209. data/vendor/cmock/vendor/c_exception/vendor/unity/test/rakefile +5 -0
  210. data/vendor/cmock/vendor/c_exception/vendor/unity/test/rakefile_helper.rb +9 -7
  211. data/vendor/cmock/vendor/c_exception/vendor/unity/test/targets/clang_file.yml +1 -0
  212. data/vendor/cmock/vendor/c_exception/vendor/unity/test/targets/clang_strict.yml +3 -0
  213. data/vendor/cmock/vendor/c_exception/vendor/unity/test/targets/gcc_32.yml +1 -0
  214. data/vendor/cmock/vendor/c_exception/vendor/unity/test/targets/gcc_64.yml +1 -0
  215. data/vendor/cmock/vendor/c_exception/vendor/unity/test/targets/gcc_auto_limits.yml +1 -0
  216. data/vendor/cmock/vendor/c_exception/vendor/unity/test/targets/gcc_auto_sizeof.yml +1 -0
  217. data/vendor/cmock/vendor/c_exception/vendor/unity/test/targets/gcc_auto_stdint.yml +1 -0
  218. data/vendor/cmock/vendor/c_exception/vendor/unity/test/targets/gcc_manual_math.yml +1 -0
  219. data/vendor/cmock/vendor/c_exception/vendor/unity/test/targets/iar_arm_v4.yml +1 -0
  220. data/vendor/cmock/vendor/c_exception/vendor/unity/test/targets/iar_arm_v5.yml +1 -0
  221. data/vendor/cmock/vendor/c_exception/vendor/unity/test/targets/iar_arm_v5_3.yml +1 -0
  222. data/vendor/cmock/vendor/c_exception/vendor/unity/test/targets/iar_armcortex_LM3S9B92_v5_4.yml +1 -0
  223. data/vendor/cmock/vendor/c_exception/vendor/unity/test/targets/iar_cortexm3_v5.yml +1 -0
  224. data/vendor/cmock/vendor/c_exception/vendor/unity/test/targets/iar_msp430.yml +1 -0
  225. data/vendor/cmock/vendor/c_exception/vendor/unity/test/targets/iar_sh2a_v6.yml +1 -0
  226. data/vendor/cmock/vendor/c_exception/vendor/unity/test/testdata/CException.h +11 -0
  227. data/vendor/cmock/vendor/c_exception/vendor/unity/test/testdata/Defs.h +8 -0
  228. data/vendor/cmock/vendor/c_exception/vendor/unity/test/testdata/cmock.h +14 -0
  229. data/vendor/cmock/vendor/c_exception/vendor/unity/test/testdata/mockMock.h +13 -0
  230. data/vendor/cmock/vendor/c_exception/vendor/unity/test/testdata/testRunnerGenerator.c +183 -0
  231. data/vendor/cmock/vendor/c_exception/vendor/unity/test/testdata/testRunnerGeneratorSmall.c +65 -0
  232. data/vendor/cmock/vendor/c_exception/vendor/unity/test/testdata/testRunnerGeneratorWithMocks.c +192 -0
  233. data/vendor/cmock/vendor/c_exception/vendor/unity/test/tests/test_generate_test_runner.rb +1221 -71
  234. data/vendor/cmock/vendor/c_exception/vendor/unity/test/tests/testparameterized.c +1 -1
  235. data/vendor/cmock/vendor/c_exception/vendor/unity/test/tests/testunity.c +127 -5
  236. data/vendor/cmock/vendor/unity/auto/generate_module.rb +16 -16
  237. data/vendor/cmock/vendor/unity/auto/generate_test_runner.rb +61 -21
  238. data/vendor/cmock/vendor/unity/auto/stylize_as_junit.rb +5 -1
  239. data/vendor/cmock/vendor/unity/auto/unity_to_junit.py +146 -0
  240. data/vendor/cmock/vendor/unity/docs/UnityAssertionsCheatSheetSuitableforPrintingandPossiblyFraming.pdf +0 -0
  241. data/vendor/cmock/vendor/unity/docs/UnityAssertionsReference.pdf +0 -0
  242. data/vendor/cmock/vendor/unity/docs/UnityConfigurationGuide.pdf +0 -0
  243. data/vendor/cmock/vendor/unity/docs/UnityGettingStartedGuide.pdf +0 -0
  244. data/vendor/cmock/vendor/unity/docs/UnityHelperScriptsGuide.pdf +0 -0
  245. data/vendor/cmock/vendor/unity/examples/example_1/makefile +1 -1
  246. data/vendor/cmock/vendor/unity/examples/example_1/src/ProductionCode.c +7 -7
  247. data/vendor/cmock/vendor/unity/examples/example_1/src/ProductionCode2.c +2 -2
  248. data/vendor/cmock/vendor/unity/examples/example_1/test/TestProductionCode.c +14 -14
  249. data/vendor/cmock/vendor/unity/examples/example_1/test/TestProductionCode2.c +2 -2
  250. data/vendor/cmock/vendor/unity/examples/example_1/test/test_runners/TestProductionCode2_Runner.c +5 -5
  251. data/vendor/cmock/vendor/unity/examples/example_1/test/test_runners/TestProductionCode_Runner.c +5 -5
  252. data/vendor/cmock/vendor/unity/examples/unity_config.h +257 -0
  253. data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture.c +3 -0
  254. data/vendor/cmock/vendor/unity/extras/fixture/test/unity_fixture_Test.c +5 -2
  255. data/vendor/cmock/vendor/unity/extras/fixture/test/unity_output_Spy.c +1 -2
  256. data/vendor/cmock/vendor/unity/extras/fixture/test/unity_output_Spy.h +1 -1
  257. data/vendor/cmock/vendor/unity/src/unity.c +329 -186
  258. data/vendor/cmock/vendor/unity/src/unity.h +73 -69
  259. data/vendor/cmock/vendor/unity/src/unity_internals.h +119 -94
  260. data/vendor/cmock/vendor/unity/test/Makefile +4 -5
  261. data/vendor/cmock/vendor/unity/test/expectdata/testsample_cmd.c +5 -5
  262. data/vendor/cmock/vendor/unity/test/expectdata/testsample_def.c +5 -5
  263. data/vendor/cmock/vendor/unity/test/expectdata/testsample_head1.c +5 -5
  264. data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_cmd.c +6 -6
  265. data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_def.c +6 -6
  266. data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_head1.c +6 -6
  267. data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_new1.c +6 -6
  268. data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_new2.c +8 -8
  269. data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_param.c +6 -6
  270. data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_run1.c +6 -6
  271. data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_run2.c +8 -8
  272. data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_yaml.c +7 -7
  273. data/vendor/cmock/vendor/unity/test/expectdata/testsample_new1.c +5 -5
  274. data/vendor/cmock/vendor/unity/test/expectdata/testsample_new2.c +7 -7
  275. data/vendor/cmock/vendor/unity/test/expectdata/testsample_param.c +5 -5
  276. data/vendor/cmock/vendor/unity/test/expectdata/testsample_run1.c +5 -5
  277. data/vendor/cmock/vendor/unity/test/expectdata/testsample_run2.c +7 -7
  278. data/vendor/cmock/vendor/unity/test/expectdata/testsample_yaml.c +6 -6
  279. data/vendor/cmock/vendor/unity/test/rakefile +5 -0
  280. data/vendor/cmock/vendor/unity/test/rakefile_helper.rb +9 -7
  281. data/vendor/cmock/vendor/unity/test/targets/clang_file.yml +1 -0
  282. data/vendor/cmock/vendor/unity/test/targets/clang_strict.yml +3 -0
  283. data/vendor/cmock/vendor/unity/test/targets/gcc_32.yml +1 -0
  284. data/vendor/cmock/vendor/unity/test/targets/gcc_64.yml +1 -0
  285. data/vendor/cmock/vendor/unity/test/targets/gcc_auto_limits.yml +1 -0
  286. data/vendor/cmock/vendor/unity/test/targets/gcc_auto_sizeof.yml +1 -0
  287. data/vendor/cmock/vendor/unity/test/targets/gcc_auto_stdint.yml +1 -0
  288. data/vendor/cmock/vendor/unity/test/targets/gcc_manual_math.yml +1 -0
  289. data/vendor/cmock/vendor/unity/test/targets/iar_arm_v4.yml +1 -0
  290. data/vendor/cmock/vendor/unity/test/targets/iar_arm_v5.yml +1 -0
  291. data/vendor/cmock/vendor/unity/test/targets/iar_arm_v5_3.yml +1 -0
  292. data/vendor/cmock/vendor/unity/test/targets/iar_armcortex_LM3S9B92_v5_4.yml +1 -0
  293. data/vendor/cmock/vendor/unity/test/targets/iar_cortexm3_v5.yml +1 -0
  294. data/vendor/cmock/vendor/unity/test/targets/iar_msp430.yml +1 -0
  295. data/vendor/cmock/vendor/unity/test/targets/iar_sh2a_v6.yml +1 -0
  296. data/vendor/cmock/vendor/unity/test/testdata/CException.h +11 -0
  297. data/vendor/cmock/vendor/unity/test/testdata/Defs.h +8 -0
  298. data/vendor/cmock/vendor/unity/test/testdata/cmock.h +14 -0
  299. data/vendor/cmock/vendor/unity/test/testdata/mockMock.h +13 -0
  300. data/vendor/cmock/vendor/unity/test/testdata/testRunnerGenerator.c +183 -0
  301. data/vendor/cmock/vendor/unity/test/testdata/testRunnerGeneratorSmall.c +65 -0
  302. data/vendor/cmock/vendor/unity/test/testdata/testRunnerGeneratorWithMocks.c +192 -0
  303. data/vendor/cmock/vendor/unity/test/tests/test_generate_test_runner.rb +1221 -71
  304. data/vendor/cmock/vendor/unity/test/tests/testparameterized.c +1 -1
  305. data/vendor/cmock/vendor/unity/test/tests/testunity.c +104 -7
  306. data/vendor/deep_merge/README +94 -94
  307. data/vendor/deep_merge/Rakefile +28 -28
  308. data/vendor/deep_merge/lib/deep_merge.rb +211 -211
  309. data/vendor/deep_merge/test/test_deep_merge.rb +553 -553
  310. data/vendor/unity/auto/generate_module.rb +16 -16
  311. data/vendor/unity/auto/generate_test_runner.rb +61 -21
  312. data/vendor/unity/auto/stylize_as_junit.rb +5 -1
  313. data/vendor/unity/auto/unity_to_junit.py +146 -0
  314. data/vendor/unity/docs/UnityAssertionsCheatSheetSuitableforPrintingandPossiblyFraming.pdf +0 -0
  315. data/vendor/unity/docs/UnityAssertionsReference.pdf +0 -0
  316. data/vendor/unity/docs/UnityConfigurationGuide.pdf +0 -0
  317. data/vendor/unity/docs/UnityGettingStartedGuide.pdf +0 -0
  318. data/vendor/unity/docs/UnityHelperScriptsGuide.pdf +0 -0
  319. data/vendor/unity/examples/example_1/makefile +1 -1
  320. data/vendor/unity/examples/example_1/src/ProductionCode.c +7 -7
  321. data/vendor/unity/examples/example_1/src/ProductionCode2.c +2 -2
  322. data/vendor/unity/examples/example_1/test/TestProductionCode.c +14 -14
  323. data/vendor/unity/examples/example_1/test/TestProductionCode2.c +2 -2
  324. data/vendor/unity/examples/example_1/test/test_runners/TestProductionCode2_Runner.c +5 -5
  325. data/vendor/unity/examples/example_1/test/test_runners/TestProductionCode_Runner.c +5 -5
  326. data/vendor/unity/examples/unity_config.h +257 -0
  327. data/vendor/unity/extras/fixture/src/unity_fixture.c +3 -0
  328. data/vendor/unity/extras/fixture/test/unity_fixture_Test.c +5 -2
  329. data/vendor/unity/extras/fixture/test/unity_output_Spy.c +1 -2
  330. data/vendor/unity/extras/fixture/test/unity_output_Spy.h +1 -1
  331. data/vendor/unity/src/unity.c +329 -186
  332. data/vendor/unity/src/unity.h +73 -69
  333. data/vendor/unity/src/unity_internals.h +119 -94
  334. data/vendor/unity/test/Makefile +4 -5
  335. data/vendor/unity/test/expectdata/testsample_cmd.c +5 -5
  336. data/vendor/unity/test/expectdata/testsample_def.c +5 -5
  337. data/vendor/unity/test/expectdata/testsample_head1.c +5 -5
  338. data/vendor/unity/test/expectdata/testsample_mock_cmd.c +6 -6
  339. data/vendor/unity/test/expectdata/testsample_mock_def.c +6 -6
  340. data/vendor/unity/test/expectdata/testsample_mock_head1.c +6 -6
  341. data/vendor/unity/test/expectdata/testsample_mock_new1.c +6 -6
  342. data/vendor/unity/test/expectdata/testsample_mock_new2.c +8 -8
  343. data/vendor/unity/test/expectdata/testsample_mock_param.c +6 -6
  344. data/vendor/unity/test/expectdata/testsample_mock_run1.c +6 -6
  345. data/vendor/unity/test/expectdata/testsample_mock_run2.c +8 -8
  346. data/vendor/unity/test/expectdata/testsample_mock_yaml.c +7 -7
  347. data/vendor/unity/test/expectdata/testsample_new1.c +5 -5
  348. data/vendor/unity/test/expectdata/testsample_new2.c +7 -7
  349. data/vendor/unity/test/expectdata/testsample_param.c +5 -5
  350. data/vendor/unity/test/expectdata/testsample_run1.c +5 -5
  351. data/vendor/unity/test/expectdata/testsample_run2.c +7 -7
  352. data/vendor/unity/test/expectdata/testsample_yaml.c +6 -6
  353. data/vendor/unity/test/rakefile +5 -0
  354. data/vendor/unity/test/rakefile_helper.rb +9 -7
  355. data/vendor/unity/test/targets/clang_file.yml +1 -0
  356. data/vendor/unity/test/targets/clang_strict.yml +3 -0
  357. data/vendor/unity/test/targets/gcc_32.yml +1 -0
  358. data/vendor/unity/test/targets/gcc_64.yml +1 -0
  359. data/vendor/unity/test/targets/gcc_auto_limits.yml +1 -0
  360. data/vendor/unity/test/targets/gcc_auto_sizeof.yml +1 -0
  361. data/vendor/unity/test/targets/gcc_auto_stdint.yml +1 -0
  362. data/vendor/unity/test/targets/gcc_manual_math.yml +1 -0
  363. data/vendor/unity/test/targets/iar_arm_v4.yml +1 -0
  364. data/vendor/unity/test/targets/iar_arm_v5.yml +1 -0
  365. data/vendor/unity/test/targets/iar_arm_v5_3.yml +1 -0
  366. data/vendor/unity/test/targets/iar_armcortex_LM3S9B92_v5_4.yml +1 -0
  367. data/vendor/unity/test/targets/iar_cortexm3_v5.yml +1 -0
  368. data/vendor/unity/test/targets/iar_msp430.yml +1 -0
  369. data/vendor/unity/test/targets/iar_sh2a_v6.yml +1 -0
  370. data/vendor/unity/test/testdata/CException.h +11 -0
  371. data/vendor/unity/test/testdata/Defs.h +8 -0
  372. data/vendor/unity/test/testdata/cmock.h +14 -0
  373. data/vendor/unity/test/testdata/mockMock.h +13 -0
  374. data/vendor/unity/test/testdata/testRunnerGenerator.c +183 -0
  375. data/vendor/unity/test/testdata/testRunnerGeneratorSmall.c +65 -0
  376. data/vendor/unity/test/testdata/testRunnerGeneratorWithMocks.c +192 -0
  377. data/vendor/unity/test/tests/test_generate_test_runner.rb +1221 -71
  378. data/vendor/unity/test/tests/testparameterized.c +1 -1
  379. data/vendor/unity/test/tests/testunity.c +104 -7
  380. metadata +124 -32
  381. data/plugins/gcov/readme.txt +0 -0
  382. data/plugins/warnings_report/warnings_report.rb +0 -71
  383. data/plugins/xml_tests_report/xml_tests_report.rb +0 -110
  384. data/vendor/c_exception/vendor/unity/docs/Unity Summary.odt +0 -0
  385. data/vendor/c_exception/vendor/unity/docs/Unity Summary.pdf +0 -0
  386. data/vendor/c_exception/vendor/unity/docs/Unity Summary.txt +0 -224
  387. data/vendor/c_exception/vendor/unity/test/testdata/mocksample.c +0 -51
  388. data/vendor/c_exception/vendor/unity/test/testdata/sample.yml +0 -9
  389. data/vendor/c_exception/vendor/unity/test/testdata/testsample.c +0 -68
  390. data/vendor/cmock/vendor/c_exception/vendor/unity/docs/Unity Summary.odt +0 -0
  391. data/vendor/cmock/vendor/c_exception/vendor/unity/docs/Unity Summary.pdf +0 -0
  392. data/vendor/cmock/vendor/c_exception/vendor/unity/docs/Unity Summary.txt +0 -224
  393. data/vendor/cmock/vendor/c_exception/vendor/unity/test/testdata/mocksample.c +0 -51
  394. data/vendor/cmock/vendor/c_exception/vendor/unity/test/testdata/sample.yml +0 -9
  395. data/vendor/cmock/vendor/c_exception/vendor/unity/test/testdata/testsample.c +0 -68
  396. data/vendor/cmock/vendor/unity/docs/Unity Summary.odt +0 -0
  397. data/vendor/cmock/vendor/unity/docs/Unity Summary.pdf +0 -0
  398. data/vendor/cmock/vendor/unity/docs/Unity Summary.txt +0 -224
  399. data/vendor/cmock/vendor/unity/test/testdata/mocksample.c +0 -51
  400. data/vendor/cmock/vendor/unity/test/testdata/sample.yml +0 -9
  401. data/vendor/cmock/vendor/unity/test/testdata/testsample.c +0 -68
  402. data/vendor/unity/docs/Unity Summary.odt +0 -0
  403. data/vendor/unity/docs/Unity Summary.pdf +0 -0
  404. data/vendor/unity/docs/Unity Summary.txt +0 -224
  405. data/vendor/unity/test/testdata/mocksample.c +0 -51
  406. data/vendor/unity/test/testdata/sample.yml +0 -9
  407. data/vendor/unity/test/testdata/testsample.c +0 -68
@@ -8,7 +8,7 @@
8
8
  #include <stdio.h>
9
9
  #include "unity.h"
10
10
 
11
- int putcharSpy(int c) {return putchar(c);} // include passthrough for linking tests
11
+ void putcharSpy(int c) { (void)putchar(c);} // include passthrough for linking tests
12
12
 
13
13
  #define TEST_CASE(...)
14
14
 
@@ -8,8 +8,6 @@
8
8
  #include "unity.h"
9
9
  #include <string.h>
10
10
 
11
- int putcharSpy(int c);
12
-
13
11
  // Dividing by these constants produces +/- infinity.
14
12
  // The rationale is given in UnityAssertFloatIsInf's body.
15
13
  #ifndef UNITY_EXCLUDE_FLOAT
@@ -46,8 +44,8 @@ static const _UD d_zero = 0.0;
46
44
  UNITY_OUTPUT_CHAR('\n'); \
47
45
  }
48
46
 
49
- int SetToOneToFailInTearDown;
50
- int SetToOneMeanWeAlreadyCheckedThisGuy;
47
+ static int SetToOneToFailInTearDown;
48
+ static int SetToOneMeanWeAlreadyCheckedThisGuy;
51
49
 
52
50
  void setUp(void)
53
51
  {
@@ -1372,7 +1370,7 @@ void testNotEqualString4(void)
1372
1370
  void testNotEqualStringLen4(void)
1373
1371
  {
1374
1372
  EXPECT_ABORT_BEGIN
1375
- TEST_ASSERT_EQUAL_STRING_LEN("bar\r", "bar\n", 4);
1373
+ TEST_ASSERT_EQUAL_STRING_LEN("\r\x16", "bar\n", 4);
1376
1374
  VERIFY_FAILS_END
1377
1375
  }
1378
1376
 
@@ -1392,6 +1390,13 @@ void testNotEqualString_ExpectedStringIsNull(void)
1392
1390
  VERIFY_FAILS_END
1393
1391
  }
1394
1392
 
1393
+ void testNotEqualStringLen_ExpectedStringIsNull(void)
1394
+ {
1395
+ EXPECT_ABORT_BEGIN
1396
+ TEST_ASSERT_EQUAL_STRING_LEN(NULL, "bar", 1);
1397
+ VERIFY_FAILS_END
1398
+ }
1399
+
1395
1400
  void testNotEqualString_ActualStringIsNull(void)
1396
1401
  {
1397
1402
  EXPECT_ABORT_BEGIN
@@ -1399,6 +1404,13 @@ void testNotEqualString_ActualStringIsNull(void)
1399
1404
  VERIFY_FAILS_END
1400
1405
  }
1401
1406
 
1407
+ void testNotEqualStringLen_ActualStringIsNull(void)
1408
+ {
1409
+ EXPECT_ABORT_BEGIN
1410
+ TEST_ASSERT_EQUAL_STRING_LEN("foo", NULL, 1);
1411
+ VERIFY_FAILS_END
1412
+ }
1413
+
1402
1414
  void testEqualStringArrays(void)
1403
1415
  {
1404
1416
  const char *testStrings[] = { "foo", "boo", "woo", "moo" };
@@ -1478,6 +1490,16 @@ void testEqualStringArrayIfBothNulls(void)
1478
1490
  TEST_ASSERT_EQUAL_STRING_ARRAY(expStrings, testStrings, 4);
1479
1491
  }
1480
1492
 
1493
+ void testNotEqualStringArrayLengthZero(void)
1494
+ {
1495
+ const char *testStrings[] = {NULL};
1496
+ const char **expStrings = NULL;
1497
+
1498
+ EXPECT_ABORT_BEGIN
1499
+ TEST_ASSERT_EQUAL_STRING_ARRAY(expStrings, testStrings, 0);
1500
+ VERIFY_FAILS_END
1501
+ }
1502
+
1481
1503
  void testEqualMemory(void)
1482
1504
  {
1483
1505
  const char *testString = "whatever";
@@ -1518,6 +1540,13 @@ void testNotEqualMemory4(void)
1518
1540
  VERIFY_FAILS_END
1519
1541
  }
1520
1542
 
1543
+ void testNotEqualMemoryLengthZero(void)
1544
+ {
1545
+ EXPECT_ABORT_BEGIN
1546
+ TEST_ASSERT_EQUAL_MEMORY(NULL, NULL, 0);
1547
+ VERIFY_FAILS_END
1548
+ }
1549
+
1521
1550
  void testEqualIntArrays(void)
1522
1551
  {
1523
1552
  int p0[] = {1, 8, 987, -2};
@@ -1530,6 +1559,7 @@ void testEqualIntArrays(void)
1530
1559
  TEST_ASSERT_EQUAL_INT_ARRAY(p0, p1, 4);
1531
1560
  TEST_ASSERT_EQUAL_INT_ARRAY(p0, p2, 3);
1532
1561
  TEST_ASSERT_EQUAL_INT_ARRAY(p0, p3, 1);
1562
+ TEST_ASSERT_EQUAL_INT_ARRAY(NULL, NULL, 1);
1533
1563
  }
1534
1564
 
1535
1565
  void testNotEqualIntArraysNullExpected(void)
@@ -1582,6 +1612,16 @@ void testNotEqualIntArrays3(void)
1582
1612
  VERIFY_FAILS_END
1583
1613
  }
1584
1614
 
1615
+ void testNotEqualIntArraysLengthZero(void)
1616
+ {
1617
+ _UU32 p0[1] = {1};
1618
+ _UU32 p1[1] = {1};
1619
+
1620
+ EXPECT_ABORT_BEGIN
1621
+ TEST_ASSERT_EQUAL_INT_ARRAY(p0, p1, 0);
1622
+ VERIFY_FAILS_END
1623
+ }
1624
+
1585
1625
  void testEqualPtrArrays(void)
1586
1626
  {
1587
1627
  char A = 1;
@@ -2207,7 +2247,7 @@ char* getBufferPutcharSpy(void)
2207
2247
  #endif
2208
2248
  }
2209
2249
 
2210
- int putcharSpy(int c)
2250
+ void putcharSpy(int c)
2211
2251
  {
2212
2252
  #ifdef USING_OUTPUT_SPY
2213
2253
  if (putcharSpyEnabled)
@@ -2217,7 +2257,19 @@ int putcharSpy(int c)
2217
2257
  } else
2218
2258
  c = putchar(c);
2219
2259
  #endif
2220
- return c;
2260
+ }
2261
+
2262
+ void testFailureCountIncrementsAndIsReturnedAtEnd(void)
2263
+ {
2264
+ Unity.CurrentTestFailed = 1;
2265
+ startPutcharSpy(); // Suppress output
2266
+ UnityConcludeTest();
2267
+ TEST_ASSERT_EQUAL(1, Unity.TestFailures);
2268
+
2269
+ int failures = UnityEnd();
2270
+ Unity.TestFailures--;
2271
+ endPutcharSpy();
2272
+ TEST_ASSERT_EQUAL(1, failures);
2221
2273
  }
2222
2274
 
2223
2275
  #define TEST_ASSERT_EQUAL_PRINT_NUMBERS(expected, actual) { \
@@ -3007,6 +3059,7 @@ void testEqualFloatArrays(void)
3007
3059
  TEST_ASSERT_EQUAL_FLOAT_ARRAY(p0, p1, 4);
3008
3060
  TEST_ASSERT_EQUAL_FLOAT_ARRAY(p0, p2, 3);
3009
3061
  TEST_ASSERT_EQUAL_FLOAT_ARRAY(p0, p3, 1);
3062
+ TEST_ASSERT_EQUAL_FLOAT_ARRAY(NULL, NULL, 1);
3010
3063
  #endif
3011
3064
  }
3012
3065
 
@@ -3150,6 +3203,20 @@ void testNotEqualFloatArraysInf(void)
3150
3203
  #endif
3151
3204
  }
3152
3205
 
3206
+ void testNotEqualFloatArraysLengthZero(void)
3207
+ {
3208
+ #ifdef UNITY_EXCLUDE_FLOAT
3209
+ TEST_IGNORE();
3210
+ #else
3211
+ float p0[1] = {0.0f};
3212
+ float p1[1] = {0.0f};
3213
+
3214
+ EXPECT_ABORT_BEGIN
3215
+ TEST_ASSERT_EQUAL_FLOAT_ARRAY(p0, p1, 0);
3216
+ VERIFY_FAILS_END
3217
+ #endif
3218
+ }
3219
+
3153
3220
  // ===================== THESE TEST WILL RUN IF YOUR CONFIG INCLUDES DOUBLE SUPPORT ==================
3154
3221
 
3155
3222
  void testDoublesWithinDelta(void)
@@ -3523,6 +3590,7 @@ void testEqualDoubleArrays(void)
3523
3590
  TEST_ASSERT_EQUAL_DOUBLE_ARRAY(p0, p1, 4);
3524
3591
  TEST_ASSERT_EQUAL_DOUBLE_ARRAY(p0, p2, 3);
3525
3592
  TEST_ASSERT_EQUAL_DOUBLE_ARRAY(p0, p3, 1);
3593
+ TEST_ASSERT_EQUAL_DOUBLE_ARRAY(NULL, NULL, 1);
3526
3594
  #endif
3527
3595
  }
3528
3596
 
@@ -3666,6 +3734,22 @@ void testNotEqualDoubleArraysInf(void)
3666
3734
  #endif
3667
3735
  }
3668
3736
 
3737
+ void testNotEqualDoubleArraysLengthZero(void)
3738
+ {
3739
+ #ifdef UNITY_EXCLUDE_DOUBLE
3740
+ TEST_IGNORE();
3741
+ #else
3742
+ double p0[1] = {0.0};
3743
+ double p1[1] = {0.0};
3744
+
3745
+ EXPECT_ABORT_BEGIN
3746
+ TEST_ASSERT_EQUAL_DOUBLE_ARRAY(p0, p1, 0);
3747
+ VERIFY_FAILS_END
3748
+ #endif
3749
+ }
3750
+
3751
+ // ===================== THESE TEST WILL RUN IF YOUR CONFIG INCLUDES DETAIL SUPPORT ==================
3752
+
3669
3753
  void testThatDetailsCanBeHandleOneDetail(void)
3670
3754
  {
3671
3755
  #ifdef UNITY_EXCLUDE_DETAILS
@@ -3679,6 +3763,19 @@ void testThatDetailsCanBeHandleOneDetail(void)
3679
3763
  #endif
3680
3764
  }
3681
3765
 
3766
+ void testThatDetailsCanHandleTestFail(void)
3767
+ {
3768
+ #ifdef UNITY_EXCLUDE_DETAILS
3769
+ TEST_IGNORE();
3770
+ #else
3771
+ UNITY_SET_DETAILS("Detail1","Detail2");
3772
+
3773
+ EXPECT_ABORT_BEGIN
3774
+ TEST_FAIL_MESSAGE("Should Fail And Say Detail1 and Detail2");
3775
+ VERIFY_FAILS_END
3776
+ #endif
3777
+ }
3778
+
3682
3779
  void testThatDetailsCanBeHandleTwoDetails(void)
3683
3780
  {
3684
3781
  #ifdef UNITY_EXCLUDE_DETAILS
@@ -1,94 +1,94 @@
1
- DeepMerge Overview
2
- ==================
3
-
4
- Deep Merge is a simple set of utility functions for Hash. It permits
5
- you to merge elements inside a hash together recursively. The manner
6
- by which it does this is somewhat arbitrary (since there is no defining
7
- standard for this) but it should end up being pretty intuitive and do what
8
- you expect.
9
-
10
- You can learn a lot more about this by reading the test file. It's pretty
11
- well documented and has many examples of various merges from very simple
12
- to pretty complex.
13
-
14
- The primary need that caused me to write this library is the merging of elements
15
- coming from HTTP parameters and related stored parameters in session. This lets
16
- a user build up a set of parameters over time, modifying individual items.
17
-
18
- Deep Merge Core Documentation
19
- =============================
20
- There are three key methods that are added to Hash when you require deep_merge:
21
-
22
- deep_merge!(new_hash[, opts]) -- merges and new_hash wins unmergeable situations
23
- deep_merge(new_hash[, opts]) -- merges and "self" hash wins unmergeable situations
24
- ko_deep_merge!(new_hash[, opts]) -- same as deep_merge! but "--" provides "knockout" functions
25
-
26
- deep_merge! method permits merging of arbitrary child elements. The two top level
27
- elements must be hashes. These hashes can contain unlimited (to stack limit) levels
28
- of child elements. These child elements to not have to be of the same types.
29
- Where child elements are of the same type, deep_merge will attempt to merge them together.
30
- Where child elements are not of the same type, deep_merge will skip or optionally overwrite
31
- the destination element with the contents of the source element at that level.
32
- So if you have two hashes like this:
33
- source = {:x => [1,2,3], :y => 2}
34
- dest = {:x => [4,5,'6'], :y => [7,8,9]}
35
- dest.deep_merge!(source)
36
- Results: {:x => [1,2,3,4,5,'6'], :y => 2}
37
- By default, "deep_merge!" will overwrite any unmergeables and merge everything else.
38
- To avoid this, use "deep_merge" (no bang/exclamation mark)
39
-
40
- Options:
41
- Options are specified in the last parameter passed, which should be in hash format:
42
- hash.deep_merge!({:x => [1,2]}, {:knockout_prefix => '--'})
43
- :preserve_unmergeables DEFAULT: false
44
- Set to true to skip any unmergeable elements from source
45
- :knockout_prefix DEFAULT: nil
46
- Set to string value to signify prefix which deletes elements from existing element
47
- :sort_merged_arrays DEFAULT: false
48
- Set to true to sort all arrays that are merged together
49
- :unpack_arrays DEFAULT: nil
50
- Set to string value to run "Array::join" then "String::split" against all arrays
51
- :merge_debug DEFAULT: false
52
- Set to true to get console output of merge process for debugging
53
-
54
- Selected Options Details:
55
- :knockout_prefix => The purpose of this is to provide a way to remove elements
56
- from existing Hash by specifying them in a special way in incoming hash
57
- source = {:x => ['--1', '2']}
58
- dest = {:x => ['1', '3']}
59
- dest.ko_deep_merge!(source)
60
- Results: {:x => ['2','3']}
61
- Additionally, if the knockout_prefix is passed alone as a string, it will cause
62
- the entire element to be removed:
63
- source = {:x => '--'}
64
- dest = {:x => [1,2,3]}
65
- dest.ko_deep_merge!(source)
66
- Results: {:x => ""}
67
- :unpack_arrays => The purpose of this is to permit compound elements to be passed
68
- in as strings and to be converted into discrete array elements
69
- irsource = {:x => ['1,2,3', '4']}
70
- dest = {:x => ['5','6','7,8']}
71
- dest.deep_merge!(source, {:unpack_arrays => ','})
72
- Results: {:x => ['1','2','3','4','5','6','7','8'}
73
- Why: If receiving data from an HTML form, this makes it easy for a checkbox
74
- to pass multiple values from within a single HTML element
75
-
76
- There are many tests for this library - and you can learn more about the features
77
- and usages of deep_merge! by just browsing the test examples
78
-
79
-
80
- Simple Example Code
81
- ===================
82
-
83
- require 'deep_merge'
84
- x = {:x => [3,4,5]}
85
- y = {:x => [1,2,3]}
86
- y.deep_merge!(x)
87
- # results: y = {:x => [1,2,3,4,5]}
88
-
89
- Availablility
90
- =============
91
- SVN Repo here: http://trac.misuse.org/science/wiki/DeepMerge
92
- Contact author: http://www.misuse.org/science
93
-
94
- Copyright (c) 2008 Steve Midgley, released under the MIT license
1
+ DeepMerge Overview
2
+ ==================
3
+
4
+ Deep Merge is a simple set of utility functions for Hash. It permits
5
+ you to merge elements inside a hash together recursively. The manner
6
+ by which it does this is somewhat arbitrary (since there is no defining
7
+ standard for this) but it should end up being pretty intuitive and do what
8
+ you expect.
9
+
10
+ You can learn a lot more about this by reading the test file. It's pretty
11
+ well documented and has many examples of various merges from very simple
12
+ to pretty complex.
13
+
14
+ The primary need that caused me to write this library is the merging of elements
15
+ coming from HTTP parameters and related stored parameters in session. This lets
16
+ a user build up a set of parameters over time, modifying individual items.
17
+
18
+ Deep Merge Core Documentation
19
+ =============================
20
+ There are three key methods that are added to Hash when you require deep_merge:
21
+
22
+ deep_merge!(new_hash[, opts]) -- merges and new_hash wins unmergeable situations
23
+ deep_merge(new_hash[, opts]) -- merges and "self" hash wins unmergeable situations
24
+ ko_deep_merge!(new_hash[, opts]) -- same as deep_merge! but "--" provides "knockout" functions
25
+
26
+ deep_merge! method permits merging of arbitrary child elements. The two top level
27
+ elements must be hashes. These hashes can contain unlimited (to stack limit) levels
28
+ of child elements. These child elements to not have to be of the same types.
29
+ Where child elements are of the same type, deep_merge will attempt to merge them together.
30
+ Where child elements are not of the same type, deep_merge will skip or optionally overwrite
31
+ the destination element with the contents of the source element at that level.
32
+ So if you have two hashes like this:
33
+ source = {:x => [1,2,3], :y => 2}
34
+ dest = {:x => [4,5,'6'], :y => [7,8,9]}
35
+ dest.deep_merge!(source)
36
+ Results: {:x => [1,2,3,4,5,'6'], :y => 2}
37
+ By default, "deep_merge!" will overwrite any unmergeables and merge everything else.
38
+ To avoid this, use "deep_merge" (no bang/exclamation mark)
39
+
40
+ Options:
41
+ Options are specified in the last parameter passed, which should be in hash format:
42
+ hash.deep_merge!({:x => [1,2]}, {:knockout_prefix => '--'})
43
+ :preserve_unmergeables DEFAULT: false
44
+ Set to true to skip any unmergeable elements from source
45
+ :knockout_prefix DEFAULT: nil
46
+ Set to string value to signify prefix which deletes elements from existing element
47
+ :sort_merged_arrays DEFAULT: false
48
+ Set to true to sort all arrays that are merged together
49
+ :unpack_arrays DEFAULT: nil
50
+ Set to string value to run "Array::join" then "String::split" against all arrays
51
+ :merge_debug DEFAULT: false
52
+ Set to true to get console output of merge process for debugging
53
+
54
+ Selected Options Details:
55
+ :knockout_prefix => The purpose of this is to provide a way to remove elements
56
+ from existing Hash by specifying them in a special way in incoming hash
57
+ source = {:x => ['--1', '2']}
58
+ dest = {:x => ['1', '3']}
59
+ dest.ko_deep_merge!(source)
60
+ Results: {:x => ['2','3']}
61
+ Additionally, if the knockout_prefix is passed alone as a string, it will cause
62
+ the entire element to be removed:
63
+ source = {:x => '--'}
64
+ dest = {:x => [1,2,3]}
65
+ dest.ko_deep_merge!(source)
66
+ Results: {:x => ""}
67
+ :unpack_arrays => The purpose of this is to permit compound elements to be passed
68
+ in as strings and to be converted into discrete array elements
69
+ irsource = {:x => ['1,2,3', '4']}
70
+ dest = {:x => ['5','6','7,8']}
71
+ dest.deep_merge!(source, {:unpack_arrays => ','})
72
+ Results: {:x => ['1','2','3','4','5','6','7','8'}
73
+ Why: If receiving data from an HTML form, this makes it easy for a checkbox
74
+ to pass multiple values from within a single HTML element
75
+
76
+ There are many tests for this library - and you can learn more about the features
77
+ and usages of deep_merge! by just browsing the test examples
78
+
79
+
80
+ Simple Example Code
81
+ ===================
82
+
83
+ require 'deep_merge'
84
+ x = {:x => [3,4,5]}
85
+ y = {:x => [1,2,3]}
86
+ y.deep_merge!(x)
87
+ # results: y = {:x => [1,2,3,4,5]}
88
+
89
+ Availablility
90
+ =============
91
+ SVN Repo here: http://trac.misuse.org/science/wiki/DeepMerge
92
+ Contact author: http://www.misuse.org/science
93
+
94
+ Copyright (c) 2008 Steve Midgley, released under the MIT license
@@ -1,28 +1,28 @@
1
- require 'rubygems'
2
- require 'lib/deep_merge'
3
- Gem::manage_gems
4
- require 'rake/gempackagetask'
5
-
6
- spec = Gem::Specification.new do |s|
7
- s.platform = Gem::Platform::RUBY
8
- s.name = "deep_merge"
9
- s.version = DeepMerge::VERSION
10
- s.author = "Steve Midgley"
11
- s.email = "public@misuse.org"
12
- s.summary = "Permits recursive/deep merges of arrays and hashes."
13
- s.files = FileList['lib/*.rb', 'test/*'].to_a
14
- s.require_path = "lib"
15
- s.autorequire = "deep_merge"
16
- s.test_files = Dir.glob('tests/*.rb')
17
- s.has_rdoc = true
18
- s.extra_rdoc_files = ["README"]
19
- end
20
-
21
- Rake::GemPackageTask.new(spec) do |pkg|
22
- pkg.need_tar = true
23
- end
24
-
25
- task :default => "pkg/#{spec.name}-#{spec.version}.gem" do
26
- puts "generated latest version"
27
- end
28
-
1
+ require 'rubygems'
2
+ require 'lib/deep_merge'
3
+ Gem::manage_gems
4
+ require 'rake/gempackagetask'
5
+
6
+ spec = Gem::Specification.new do |s|
7
+ s.platform = Gem::Platform::RUBY
8
+ s.name = "deep_merge"
9
+ s.version = DeepMerge::VERSION
10
+ s.author = "Steve Midgley"
11
+ s.email = "public@misuse.org"
12
+ s.summary = "Permits recursive/deep merges of arrays and hashes."
13
+ s.files = FileList['lib/*.rb', 'test/*'].to_a
14
+ s.require_path = "lib"
15
+ s.autorequire = "deep_merge"
16
+ s.test_files = Dir.glob('tests/*.rb')
17
+ s.has_rdoc = true
18
+ s.extra_rdoc_files = ["README"]
19
+ end
20
+
21
+ Rake::GemPackageTask.new(spec) do |pkg|
22
+ pkg.need_tar = true
23
+ end
24
+
25
+ task :default => "pkg/#{spec.name}-#{spec.version}.gem" do
26
+ puts "generated latest version"
27
+ end
28
+