ceedling 0.28.1 → 0.28.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (467) hide show
  1. checksums.yaml +4 -4
  2. data/bin/ceedling +3 -2
  3. data/docs/CeedlingPacket.md +4 -0
  4. data/lib/ceedling/configurator_builder.rb +26 -0
  5. data/lib/ceedling/configurator_setup.rb +1 -0
  6. data/lib/ceedling/file_finder.rb +7 -1
  7. data/lib/ceedling/flaginator.rb +28 -8
  8. data/lib/ceedling/rules_release.rake +3 -3
  9. data/lib/ceedling/rules_release_deep_dependencies.rake +1 -1
  10. data/lib/ceedling/version.rb +3 -3
  11. data/plugins/gcov/config/defaults.yml +4 -3
  12. data/plugins/module_generator/lib/module_generator.rb +1 -1
  13. data/plugins/subprojects/README.md +63 -63
  14. data/plugins/subprojects/config/defaults.yml +33 -33
  15. data/plugins/subprojects/lib/subprojects.rb +92 -92
  16. data/plugins/subprojects/subprojects.rake +78 -78
  17. data/vendor/cmock/docs/CMock_Summary.md +75 -60
  18. data/vendor/cmock/lib/cmock_config.rb +1 -0
  19. data/vendor/cmock/lib/cmock_generator.rb +13 -1
  20. data/vendor/cmock/lib/cmock_generator_plugin_expect.rb +1 -1
  21. data/vendor/cmock/lib/cmock_generator_plugin_expect_any_args.rb +0 -14
  22. data/vendor/cmock/lib/cmock_generator_plugin_ignore.rb +4 -0
  23. data/vendor/cmock/lib/cmock_generator_utils.rb +4 -5
  24. data/vendor/cmock/lib/cmock_header_parser.rb +26 -28
  25. data/vendor/cmock/lib/cmock_plugin_manager.rb +27 -12
  26. data/vendor/cmock/scripts/create_makefile.rb +5 -4
  27. data/vendor/cmock/scripts/test_summary.rb +1 -1
  28. data/vendor/cmock/test/system/test_interactions/ignore_and_return.yml +167 -0
  29. data/vendor/cmock/test/system/test_interactions/ignore_strict_mock_calling.yml +37 -0
  30. data/vendor/cmock/test/unit/cmock_generator_main_test.rb +14 -1
  31. data/vendor/cmock/test/unit/cmock_generator_plugin_expect_b_test.rb +25 -24
  32. data/vendor/cmock/test/unit/cmock_header_parser_test.rb +101 -3
  33. data/vendor/unity/README.md +11 -0
  34. data/vendor/unity/auto/generate_module.rb +3 -3
  35. data/vendor/unity/auto/stylize_as_junit.rb +0 -0
  36. data/vendor/unity/docs/UnityAssertionsReference.md +54 -0
  37. data/vendor/unity/examples/unity_config.h +6 -4
  38. data/vendor/unity/extras/fixture/rakefile_helper.rb +1 -1
  39. data/vendor/unity/extras/fixture/test/Makefile +1 -0
  40. data/vendor/unity/src/unity.c +121 -73
  41. data/vendor/unity/src/unity.h +60 -0
  42. data/vendor/unity/src/unity_internals.h +47 -7
  43. data/vendor/unity/test/Makefile +1 -0
  44. data/vendor/unity/test/rakefile_helper.rb +1 -1
  45. data/vendor/unity/test/tests/testunity.c +508 -164
  46. metadata +3 -423
  47. data/out.fail +0 -21
  48. data/plugins/fake_function_framework/vendor/fff/LICENSE +0 -25
  49. data/plugins/fake_function_framework/vendor/fff/Makefile +0 -10
  50. data/plugins/fake_function_framework/vendor/fff/README.md +0 -454
  51. data/plugins/fake_function_framework/vendor/fff/buildandtest +0 -15
  52. data/plugins/fake_function_framework/vendor/fff/examples/Makefile +0 -7
  53. data/plugins/fake_function_framework/vendor/fff/examples/driver_testing/Makefile +0 -64
  54. data/plugins/fake_function_framework/vendor/fff/examples/driver_testing/driver.c +0 -24
  55. data/plugins/fake_function_framework/vendor/fff/examples/driver_testing/driver.h +0 -11
  56. data/plugins/fake_function_framework/vendor/fff/examples/driver_testing/driver.test.cpp +0 -50
  57. data/plugins/fake_function_framework/vendor/fff/examples/driver_testing/driver.test.fff.cpp +0 -62
  58. data/plugins/fake_function_framework/vendor/fff/examples/driver_testing/hardware_abstraction.h +0 -15
  59. data/plugins/fake_function_framework/vendor/fff/examples/driver_testing/registers.h +0 -13
  60. data/plugins/fake_function_framework/vendor/fff/examples/embedded_ui/DISPLAY.h +0 -17
  61. data/plugins/fake_function_framework/vendor/fff/examples/embedded_ui/Kata.txt +0 -25
  62. data/plugins/fake_function_framework/vendor/fff/examples/embedded_ui/Makefile +0 -67
  63. data/plugins/fake_function_framework/vendor/fff/examples/embedded_ui/SYSTEM.h +0 -21
  64. data/plugins/fake_function_framework/vendor/fff/examples/embedded_ui/UI.c +0 -48
  65. data/plugins/fake_function_framework/vendor/fff/examples/embedded_ui/UI.h +0 -12
  66. data/plugins/fake_function_framework/vendor/fff/examples/embedded_ui/UI_test_ansic.c +0 -183
  67. data/plugins/fake_function_framework/vendor/fff/examples/embedded_ui/UI_test_cpp.cpp +0 -136
  68. data/plugins/fake_function_framework/vendor/fff/examples/embedded_ui/test_suite_template.c +0 -34
  69. data/plugins/fake_function_framework/vendor/fff/fakegen.rb +0 -420
  70. data/plugins/fake_function_framework/vendor/fff/fff.h +0 -5112
  71. data/plugins/fake_function_framework/vendor/fff/gtest/Makefile +0 -22
  72. data/plugins/fake_function_framework/vendor/fff/gtest/gtest-all.cc +0 -9118
  73. data/plugins/fake_function_framework/vendor/fff/gtest/gtest-main.cc +0 -6
  74. data/plugins/fake_function_framework/vendor/fff/gtest/gtest.h +0 -19537
  75. data/plugins/fake_function_framework/vendor/fff/test/Makefile +0 -81
  76. data/plugins/fake_function_framework/vendor/fff/test/c_test_framework.h +0 -15
  77. data/plugins/fake_function_framework/vendor/fff/test/fff_test_c.c +0 -108
  78. data/plugins/fake_function_framework/vendor/fff/test/fff_test_cpp.cpp +0 -45
  79. data/plugins/fake_function_framework/vendor/fff/test/fff_test_global_c.c +0 -76
  80. data/plugins/fake_function_framework/vendor/fff/test/fff_test_global_cpp.cpp +0 -23
  81. data/plugins/fake_function_framework/vendor/fff/test/global_fakes.c +0 -13
  82. data/plugins/fake_function_framework/vendor/fff/test/global_fakes.h +0 -37
  83. data/plugins/fake_function_framework/vendor/fff/test/test_cases.include +0 -276
  84. data/vendor/c_exception/vendor/unity/README.md +0 -220
  85. data/vendor/c_exception/vendor/unity/auto/colour_prompt.rb +0 -118
  86. data/vendor/c_exception/vendor/unity/auto/colour_reporter.rb +0 -39
  87. data/vendor/c_exception/vendor/unity/auto/generate_config.yml +0 -36
  88. data/vendor/c_exception/vendor/unity/auto/generate_module.rb +0 -308
  89. data/vendor/c_exception/vendor/unity/auto/generate_test_runner.rb +0 -437
  90. data/vendor/c_exception/vendor/unity/auto/parse_output.rb +0 -220
  91. data/vendor/c_exception/vendor/unity/auto/stylize_as_junit.rb +0 -252
  92. data/vendor/c_exception/vendor/unity/auto/test_file_filter.rb +0 -25
  93. data/vendor/c_exception/vendor/unity/auto/type_sanitizer.rb +0 -6
  94. data/vendor/c_exception/vendor/unity/auto/unity_test_summary.py +0 -139
  95. data/vendor/c_exception/vendor/unity/auto/unity_test_summary.rb +0 -136
  96. data/vendor/c_exception/vendor/unity/auto/unity_to_junit.py +0 -146
  97. data/vendor/c_exception/vendor/unity/docs/ThrowTheSwitchCodingStandard.md +0 -207
  98. data/vendor/c_exception/vendor/unity/docs/UnityAssertionsCheatSheetSuitableforPrintingandPossiblyFraming.pdf +0 -0
  99. data/vendor/c_exception/vendor/unity/docs/UnityAssertionsReference.md +0 -716
  100. data/vendor/c_exception/vendor/unity/docs/UnityConfigurationGuide.md +0 -398
  101. data/vendor/c_exception/vendor/unity/docs/UnityGettingStartedGuide.md +0 -191
  102. data/vendor/c_exception/vendor/unity/docs/UnityHelperScriptsGuide.md +0 -242
  103. data/vendor/c_exception/vendor/unity/docs/license.txt +0 -21
  104. data/vendor/c_exception/vendor/unity/examples/example_1/makefile +0 -71
  105. data/vendor/c_exception/vendor/unity/examples/example_1/readme.txt +0 -5
  106. data/vendor/c_exception/vendor/unity/examples/example_1/src/ProductionCode.c +0 -24
  107. data/vendor/c_exception/vendor/unity/examples/example_1/src/ProductionCode.h +0 -3
  108. data/vendor/c_exception/vendor/unity/examples/example_1/src/ProductionCode2.c +0 -11
  109. data/vendor/c_exception/vendor/unity/examples/example_1/src/ProductionCode2.h +0 -2
  110. data/vendor/c_exception/vendor/unity/examples/example_1/test/TestProductionCode.c +0 -62
  111. data/vendor/c_exception/vendor/unity/examples/example_1/test/TestProductionCode2.c +0 -31
  112. data/vendor/c_exception/vendor/unity/examples/example_1/test/test_runners/TestProductionCode2_Runner.c +0 -53
  113. data/vendor/c_exception/vendor/unity/examples/example_1/test/test_runners/TestProductionCode_Runner.c +0 -57
  114. data/vendor/c_exception/vendor/unity/examples/example_2/makefile +0 -70
  115. data/vendor/c_exception/vendor/unity/examples/example_2/readme.txt +0 -5
  116. data/vendor/c_exception/vendor/unity/examples/example_2/src/ProductionCode.c +0 -24
  117. data/vendor/c_exception/vendor/unity/examples/example_2/src/ProductionCode.h +0 -3
  118. data/vendor/c_exception/vendor/unity/examples/example_2/src/ProductionCode2.c +0 -11
  119. data/vendor/c_exception/vendor/unity/examples/example_2/src/ProductionCode2.h +0 -2
  120. data/vendor/c_exception/vendor/unity/examples/example_2/test/TestProductionCode.c +0 -64
  121. data/vendor/c_exception/vendor/unity/examples/example_2/test/TestProductionCode2.c +0 -33
  122. data/vendor/c_exception/vendor/unity/examples/example_2/test/test_runners/TestProductionCode2_Runner.c +0 -9
  123. data/vendor/c_exception/vendor/unity/examples/example_2/test/test_runners/TestProductionCode_Runner.c +0 -11
  124. data/vendor/c_exception/vendor/unity/examples/example_2/test/test_runners/all_tests.c +0 -12
  125. data/vendor/c_exception/vendor/unity/examples/example_3/helper/UnityHelper.c +0 -10
  126. data/vendor/c_exception/vendor/unity/examples/example_3/helper/UnityHelper.h +0 -12
  127. data/vendor/c_exception/vendor/unity/examples/example_3/rakefile.rb +0 -43
  128. data/vendor/c_exception/vendor/unity/examples/example_3/rakefile_helper.rb +0 -249
  129. data/vendor/c_exception/vendor/unity/examples/example_3/readme.txt +0 -13
  130. data/vendor/c_exception/vendor/unity/examples/example_3/src/ProductionCode.c +0 -24
  131. data/vendor/c_exception/vendor/unity/examples/example_3/src/ProductionCode.h +0 -3
  132. data/vendor/c_exception/vendor/unity/examples/example_3/src/ProductionCode2.c +0 -11
  133. data/vendor/c_exception/vendor/unity/examples/example_3/src/ProductionCode2.h +0 -2
  134. data/vendor/c_exception/vendor/unity/examples/example_3/target_gcc_32.yml +0 -46
  135. data/vendor/c_exception/vendor/unity/examples/example_3/test/TestProductionCode.c +0 -62
  136. data/vendor/c_exception/vendor/unity/examples/example_3/test/TestProductionCode2.c +0 -31
  137. data/vendor/c_exception/vendor/unity/examples/unity_config.h +0 -237
  138. data/vendor/c_exception/vendor/unity/extras/eclipse/error_parsers.txt +0 -26
  139. data/vendor/c_exception/vendor/unity/extras/fixture/rakefile.rb +0 -48
  140. data/vendor/c_exception/vendor/unity/extras/fixture/rakefile_helper.rb +0 -178
  141. data/vendor/c_exception/vendor/unity/extras/fixture/readme.txt +0 -9
  142. data/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture.c +0 -432
  143. data/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture.h +0 -83
  144. data/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture_internals.h +0 -51
  145. data/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture_malloc_overrides.h +0 -47
  146. data/vendor/c_exception/vendor/unity/extras/fixture/test/Makefile +0 -74
  147. data/vendor/c_exception/vendor/unity/extras/fixture/test/main/AllTests.c +0 -22
  148. data/vendor/c_exception/vendor/unity/extras/fixture/test/template_fixture_tests.c +0 -39
  149. data/vendor/c_exception/vendor/unity/extras/fixture/test/unity_fixture_Test.c +0 -543
  150. data/vendor/c_exception/vendor/unity/extras/fixture/test/unity_fixture_TestRunner.c +0 -57
  151. data/vendor/c_exception/vendor/unity/extras/fixture/test/unity_output_Spy.c +0 -57
  152. data/vendor/c_exception/vendor/unity/extras/fixture/test/unity_output_Spy.h +0 -17
  153. data/vendor/c_exception/vendor/unity/release/build.info +0 -2
  154. data/vendor/c_exception/vendor/unity/release/version.info +0 -2
  155. data/vendor/c_exception/vendor/unity/src/unity.c +0 -1517
  156. data/vendor/c_exception/vendor/unity/src/unity.h +0 -339
  157. data/vendor/c_exception/vendor/unity/src/unity_internals.h +0 -784
  158. data/vendor/c_exception/vendor/unity/test/Makefile +0 -63
  159. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_cmd.c +0 -61
  160. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_def.c +0 -57
  161. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_head1.c +0 -55
  162. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_head1.h +0 -15
  163. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_cmd.c +0 -80
  164. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_def.c +0 -76
  165. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_head1.c +0 -75
  166. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_head1.h +0 -13
  167. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_new1.c +0 -89
  168. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_new2.c +0 -89
  169. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_param.c +0 -77
  170. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_run1.c +0 -89
  171. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_run2.c +0 -89
  172. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_yaml.c +0 -90
  173. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_new1.c +0 -67
  174. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_new2.c +0 -70
  175. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_param.c +0 -58
  176. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_run1.c +0 -67
  177. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_run2.c +0 -70
  178. data/vendor/c_exception/vendor/unity/test/expectdata/testsample_yaml.c +0 -71
  179. data/vendor/c_exception/vendor/unity/test/rakefile +0 -125
  180. data/vendor/c_exception/vendor/unity/test/rakefile_helper.rb +0 -260
  181. data/vendor/c_exception/vendor/unity/test/spec/generate_module_existing_file_spec.rb +0 -158
  182. data/vendor/c_exception/vendor/unity/test/targets/clang_file.yml +0 -78
  183. data/vendor/c_exception/vendor/unity/test/targets/clang_strict.yml +0 -78
  184. data/vendor/c_exception/vendor/unity/test/targets/gcc_32.yml +0 -49
  185. data/vendor/c_exception/vendor/unity/test/targets/gcc_64.yml +0 -50
  186. data/vendor/c_exception/vendor/unity/test/targets/gcc_auto_limits.yml +0 -47
  187. data/vendor/c_exception/vendor/unity/test/targets/gcc_auto_stdint.yml +0 -59
  188. data/vendor/c_exception/vendor/unity/test/targets/gcc_manual_math.yml +0 -47
  189. data/vendor/c_exception/vendor/unity/test/targets/hitech_picc18.yml +0 -101
  190. data/vendor/c_exception/vendor/unity/test/targets/iar_arm_v4.yml +0 -90
  191. data/vendor/c_exception/vendor/unity/test/targets/iar_arm_v5.yml +0 -80
  192. data/vendor/c_exception/vendor/unity/test/targets/iar_arm_v5_3.yml +0 -80
  193. data/vendor/c_exception/vendor/unity/test/targets/iar_armcortex_LM3S9B92_v5_4.yml +0 -94
  194. data/vendor/c_exception/vendor/unity/test/targets/iar_cortexm3_v5.yml +0 -84
  195. data/vendor/c_exception/vendor/unity/test/targets/iar_msp430.yml +0 -95
  196. data/vendor/c_exception/vendor/unity/test/targets/iar_sh2a_v6.yml +0 -86
  197. data/vendor/c_exception/vendor/unity/test/testdata/CException.h +0 -11
  198. data/vendor/c_exception/vendor/unity/test/testdata/Defs.h +0 -8
  199. data/vendor/c_exception/vendor/unity/test/testdata/cmock.h +0 -14
  200. data/vendor/c_exception/vendor/unity/test/testdata/mockMock.h +0 -13
  201. data/vendor/c_exception/vendor/unity/test/testdata/testRunnerGenerator.c +0 -183
  202. data/vendor/c_exception/vendor/unity/test/testdata/testRunnerGeneratorSmall.c +0 -67
  203. data/vendor/c_exception/vendor/unity/test/testdata/testRunnerGeneratorWithMocks.c +0 -192
  204. data/vendor/c_exception/vendor/unity/test/tests/test_generate_test_runner.rb +0 -1252
  205. data/vendor/c_exception/vendor/unity/test/tests/testparameterized.c +0 -110
  206. data/vendor/c_exception/vendor/unity/test/tests/testunity.c +0 -4993
  207. data/vendor/cmock/vendor/c_exception/Gemfile +0 -4
  208. data/vendor/cmock/vendor/c_exception/Gemfile.lock +0 -12
  209. data/vendor/cmock/vendor/c_exception/LICENSE.txt +0 -30
  210. data/vendor/cmock/vendor/c_exception/README.md +0 -162
  211. data/vendor/cmock/vendor/c_exception/Rakefile +0 -42
  212. data/vendor/cmock/vendor/c_exception/docs/CException.md +0 -292
  213. data/vendor/cmock/vendor/c_exception/docs/ThrowTheSwitchCodingStandard.md +0 -207
  214. data/vendor/cmock/vendor/c_exception/lib/CException.c +0 -46
  215. data/vendor/cmock/vendor/c_exception/lib/CException.h +0 -110
  216. data/vendor/cmock/vendor/c_exception/makefile +0 -24
  217. data/vendor/cmock/vendor/c_exception/release/build.info +0 -2
  218. data/vendor/cmock/vendor/c_exception/release/version.info +0 -2
  219. data/vendor/cmock/vendor/c_exception/test/CExceptionConfig.h +0 -46
  220. data/vendor/cmock/vendor/c_exception/test/TestException.c +0 -391
  221. data/vendor/cmock/vendor/c_exception/test/TestException_Runner.c +0 -67
  222. data/vendor/cmock/vendor/c_exception/vendor/unity/README.md +0 -220
  223. data/vendor/cmock/vendor/c_exception/vendor/unity/auto/colour_prompt.rb +0 -118
  224. data/vendor/cmock/vendor/c_exception/vendor/unity/auto/colour_reporter.rb +0 -39
  225. data/vendor/cmock/vendor/c_exception/vendor/unity/auto/generate_config.yml +0 -36
  226. data/vendor/cmock/vendor/c_exception/vendor/unity/auto/generate_module.rb +0 -308
  227. data/vendor/cmock/vendor/c_exception/vendor/unity/auto/generate_test_runner.rb +0 -437
  228. data/vendor/cmock/vendor/c_exception/vendor/unity/auto/parse_output.rb +0 -220
  229. data/vendor/cmock/vendor/c_exception/vendor/unity/auto/stylize_as_junit.rb +0 -252
  230. data/vendor/cmock/vendor/c_exception/vendor/unity/auto/test_file_filter.rb +0 -25
  231. data/vendor/cmock/vendor/c_exception/vendor/unity/auto/type_sanitizer.rb +0 -6
  232. data/vendor/cmock/vendor/c_exception/vendor/unity/auto/unity_test_summary.py +0 -139
  233. data/vendor/cmock/vendor/c_exception/vendor/unity/auto/unity_test_summary.rb +0 -136
  234. data/vendor/cmock/vendor/c_exception/vendor/unity/auto/unity_to_junit.py +0 -146
  235. data/vendor/cmock/vendor/c_exception/vendor/unity/docs/ThrowTheSwitchCodingStandard.md +0 -207
  236. data/vendor/cmock/vendor/c_exception/vendor/unity/docs/UnityAssertionsCheatSheetSuitableforPrintingandPossiblyFraming.pdf +0 -0
  237. data/vendor/cmock/vendor/c_exception/vendor/unity/docs/UnityAssertionsReference.md +0 -716
  238. data/vendor/cmock/vendor/c_exception/vendor/unity/docs/UnityConfigurationGuide.md +0 -398
  239. data/vendor/cmock/vendor/c_exception/vendor/unity/docs/UnityGettingStartedGuide.md +0 -191
  240. data/vendor/cmock/vendor/c_exception/vendor/unity/docs/UnityHelperScriptsGuide.md +0 -242
  241. data/vendor/cmock/vendor/c_exception/vendor/unity/docs/license.txt +0 -21
  242. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_1/makefile +0 -71
  243. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_1/readme.txt +0 -5
  244. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_1/src/ProductionCode.c +0 -24
  245. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_1/src/ProductionCode.h +0 -3
  246. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_1/src/ProductionCode2.c +0 -11
  247. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_1/src/ProductionCode2.h +0 -2
  248. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_1/test/TestProductionCode.c +0 -62
  249. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_1/test/TestProductionCode2.c +0 -31
  250. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_1/test/test_runners/TestProductionCode2_Runner.c +0 -53
  251. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_1/test/test_runners/TestProductionCode_Runner.c +0 -57
  252. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_2/makefile +0 -70
  253. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_2/readme.txt +0 -5
  254. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_2/src/ProductionCode.c +0 -24
  255. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_2/src/ProductionCode.h +0 -3
  256. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_2/src/ProductionCode2.c +0 -11
  257. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_2/src/ProductionCode2.h +0 -2
  258. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_2/test/TestProductionCode.c +0 -64
  259. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_2/test/TestProductionCode2.c +0 -33
  260. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_2/test/test_runners/TestProductionCode2_Runner.c +0 -9
  261. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_2/test/test_runners/TestProductionCode_Runner.c +0 -11
  262. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_2/test/test_runners/all_tests.c +0 -12
  263. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_3/helper/UnityHelper.c +0 -10
  264. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_3/helper/UnityHelper.h +0 -12
  265. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_3/rakefile.rb +0 -43
  266. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_3/rakefile_helper.rb +0 -249
  267. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_3/readme.txt +0 -13
  268. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_3/src/ProductionCode.c +0 -24
  269. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_3/src/ProductionCode.h +0 -3
  270. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_3/src/ProductionCode2.c +0 -11
  271. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_3/src/ProductionCode2.h +0 -2
  272. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_3/target_gcc_32.yml +0 -46
  273. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_3/test/TestProductionCode.c +0 -62
  274. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/example_3/test/TestProductionCode2.c +0 -31
  275. data/vendor/cmock/vendor/c_exception/vendor/unity/examples/unity_config.h +0 -237
  276. data/vendor/cmock/vendor/c_exception/vendor/unity/extras/eclipse/error_parsers.txt +0 -26
  277. data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/rakefile.rb +0 -48
  278. data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/rakefile_helper.rb +0 -178
  279. data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/readme.txt +0 -9
  280. data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture.c +0 -432
  281. data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture.h +0 -83
  282. data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture_internals.h +0 -51
  283. data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/src/unity_fixture_malloc_overrides.h +0 -47
  284. data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/test/Makefile +0 -74
  285. data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/test/main/AllTests.c +0 -22
  286. data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/test/template_fixture_tests.c +0 -39
  287. data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/test/unity_fixture_Test.c +0 -543
  288. data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/test/unity_fixture_TestRunner.c +0 -57
  289. data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/test/unity_output_Spy.c +0 -57
  290. data/vendor/cmock/vendor/c_exception/vendor/unity/extras/fixture/test/unity_output_Spy.h +0 -17
  291. data/vendor/cmock/vendor/c_exception/vendor/unity/release/build.info +0 -2
  292. data/vendor/cmock/vendor/c_exception/vendor/unity/release/version.info +0 -2
  293. data/vendor/cmock/vendor/c_exception/vendor/unity/src/unity.c +0 -1517
  294. data/vendor/cmock/vendor/c_exception/vendor/unity/src/unity.h +0 -339
  295. data/vendor/cmock/vendor/c_exception/vendor/unity/src/unity_internals.h +0 -784
  296. data/vendor/cmock/vendor/c_exception/vendor/unity/test/Makefile +0 -63
  297. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_cmd.c +0 -61
  298. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_def.c +0 -57
  299. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_head1.c +0 -55
  300. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_head1.h +0 -15
  301. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_cmd.c +0 -80
  302. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_def.c +0 -76
  303. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_head1.c +0 -75
  304. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_head1.h +0 -13
  305. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_new1.c +0 -89
  306. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_new2.c +0 -89
  307. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_param.c +0 -77
  308. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_run1.c +0 -89
  309. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_run2.c +0 -89
  310. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_mock_yaml.c +0 -90
  311. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_new1.c +0 -67
  312. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_new2.c +0 -70
  313. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_param.c +0 -58
  314. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_run1.c +0 -67
  315. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_run2.c +0 -70
  316. data/vendor/cmock/vendor/c_exception/vendor/unity/test/expectdata/testsample_yaml.c +0 -71
  317. data/vendor/cmock/vendor/c_exception/vendor/unity/test/rakefile +0 -125
  318. data/vendor/cmock/vendor/c_exception/vendor/unity/test/rakefile_helper.rb +0 -260
  319. data/vendor/cmock/vendor/c_exception/vendor/unity/test/spec/generate_module_existing_file_spec.rb +0 -158
  320. data/vendor/cmock/vendor/c_exception/vendor/unity/test/targets/clang_file.yml +0 -78
  321. data/vendor/cmock/vendor/c_exception/vendor/unity/test/targets/clang_strict.yml +0 -78
  322. data/vendor/cmock/vendor/c_exception/vendor/unity/test/targets/gcc_32.yml +0 -49
  323. data/vendor/cmock/vendor/c_exception/vendor/unity/test/targets/gcc_64.yml +0 -50
  324. data/vendor/cmock/vendor/c_exception/vendor/unity/test/targets/gcc_auto_limits.yml +0 -47
  325. data/vendor/cmock/vendor/c_exception/vendor/unity/test/targets/gcc_auto_stdint.yml +0 -59
  326. data/vendor/cmock/vendor/c_exception/vendor/unity/test/targets/gcc_manual_math.yml +0 -47
  327. data/vendor/cmock/vendor/c_exception/vendor/unity/test/targets/hitech_picc18.yml +0 -101
  328. data/vendor/cmock/vendor/c_exception/vendor/unity/test/targets/iar_arm_v4.yml +0 -90
  329. data/vendor/cmock/vendor/c_exception/vendor/unity/test/targets/iar_arm_v5.yml +0 -80
  330. data/vendor/cmock/vendor/c_exception/vendor/unity/test/targets/iar_arm_v5_3.yml +0 -80
  331. data/vendor/cmock/vendor/c_exception/vendor/unity/test/targets/iar_armcortex_LM3S9B92_v5_4.yml +0 -94
  332. data/vendor/cmock/vendor/c_exception/vendor/unity/test/targets/iar_cortexm3_v5.yml +0 -84
  333. data/vendor/cmock/vendor/c_exception/vendor/unity/test/targets/iar_msp430.yml +0 -95
  334. data/vendor/cmock/vendor/c_exception/vendor/unity/test/targets/iar_sh2a_v6.yml +0 -86
  335. data/vendor/cmock/vendor/c_exception/vendor/unity/test/testdata/CException.h +0 -11
  336. data/vendor/cmock/vendor/c_exception/vendor/unity/test/testdata/Defs.h +0 -8
  337. data/vendor/cmock/vendor/c_exception/vendor/unity/test/testdata/cmock.h +0 -14
  338. data/vendor/cmock/vendor/c_exception/vendor/unity/test/testdata/mockMock.h +0 -13
  339. data/vendor/cmock/vendor/c_exception/vendor/unity/test/testdata/testRunnerGenerator.c +0 -183
  340. data/vendor/cmock/vendor/c_exception/vendor/unity/test/testdata/testRunnerGeneratorSmall.c +0 -67
  341. data/vendor/cmock/vendor/c_exception/vendor/unity/test/testdata/testRunnerGeneratorWithMocks.c +0 -192
  342. data/vendor/cmock/vendor/c_exception/vendor/unity/test/tests/test_generate_test_runner.rb +0 -1252
  343. data/vendor/cmock/vendor/c_exception/vendor/unity/test/tests/testparameterized.c +0 -110
  344. data/vendor/cmock/vendor/c_exception/vendor/unity/test/tests/testunity.c +0 -4993
  345. data/vendor/cmock/vendor/unity/README.md +0 -220
  346. data/vendor/cmock/vendor/unity/auto/colour_prompt.rb +0 -118
  347. data/vendor/cmock/vendor/unity/auto/colour_reporter.rb +0 -39
  348. data/vendor/cmock/vendor/unity/auto/generate_config.yml +0 -36
  349. data/vendor/cmock/vendor/unity/auto/generate_module.rb +0 -308
  350. data/vendor/cmock/vendor/unity/auto/generate_test_runner.rb +0 -437
  351. data/vendor/cmock/vendor/unity/auto/parse_output.rb +0 -220
  352. data/vendor/cmock/vendor/unity/auto/stylize_as_junit.rb +0 -252
  353. data/vendor/cmock/vendor/unity/auto/test_file_filter.rb +0 -25
  354. data/vendor/cmock/vendor/unity/auto/type_sanitizer.rb +0 -6
  355. data/vendor/cmock/vendor/unity/auto/unity_test_summary.py +0 -139
  356. data/vendor/cmock/vendor/unity/auto/unity_test_summary.rb +0 -136
  357. data/vendor/cmock/vendor/unity/auto/unity_to_junit.py +0 -146
  358. data/vendor/cmock/vendor/unity/docs/ThrowTheSwitchCodingStandard.md +0 -207
  359. data/vendor/cmock/vendor/unity/docs/UnityAssertionsCheatSheetSuitableforPrintingandPossiblyFraming.pdf +0 -0
  360. data/vendor/cmock/vendor/unity/docs/UnityAssertionsReference.md +0 -716
  361. data/vendor/cmock/vendor/unity/docs/UnityConfigurationGuide.md +0 -398
  362. data/vendor/cmock/vendor/unity/docs/UnityGettingStartedGuide.md +0 -191
  363. data/vendor/cmock/vendor/unity/docs/UnityHelperScriptsGuide.md +0 -242
  364. data/vendor/cmock/vendor/unity/docs/license.txt +0 -21
  365. data/vendor/cmock/vendor/unity/examples/example_1/makefile +0 -71
  366. data/vendor/cmock/vendor/unity/examples/example_1/readme.txt +0 -5
  367. data/vendor/cmock/vendor/unity/examples/example_1/src/ProductionCode.c +0 -24
  368. data/vendor/cmock/vendor/unity/examples/example_1/src/ProductionCode.h +0 -3
  369. data/vendor/cmock/vendor/unity/examples/example_1/src/ProductionCode2.c +0 -11
  370. data/vendor/cmock/vendor/unity/examples/example_1/src/ProductionCode2.h +0 -2
  371. data/vendor/cmock/vendor/unity/examples/example_1/test/TestProductionCode.c +0 -62
  372. data/vendor/cmock/vendor/unity/examples/example_1/test/TestProductionCode2.c +0 -31
  373. data/vendor/cmock/vendor/unity/examples/example_1/test/test_runners/TestProductionCode2_Runner.c +0 -53
  374. data/vendor/cmock/vendor/unity/examples/example_1/test/test_runners/TestProductionCode_Runner.c +0 -57
  375. data/vendor/cmock/vendor/unity/examples/example_2/makefile +0 -70
  376. data/vendor/cmock/vendor/unity/examples/example_2/readme.txt +0 -5
  377. data/vendor/cmock/vendor/unity/examples/example_2/src/ProductionCode.c +0 -24
  378. data/vendor/cmock/vendor/unity/examples/example_2/src/ProductionCode.h +0 -3
  379. data/vendor/cmock/vendor/unity/examples/example_2/src/ProductionCode2.c +0 -11
  380. data/vendor/cmock/vendor/unity/examples/example_2/src/ProductionCode2.h +0 -2
  381. data/vendor/cmock/vendor/unity/examples/example_2/test/TestProductionCode.c +0 -64
  382. data/vendor/cmock/vendor/unity/examples/example_2/test/TestProductionCode2.c +0 -33
  383. data/vendor/cmock/vendor/unity/examples/example_2/test/test_runners/TestProductionCode2_Runner.c +0 -9
  384. data/vendor/cmock/vendor/unity/examples/example_2/test/test_runners/TestProductionCode_Runner.c +0 -11
  385. data/vendor/cmock/vendor/unity/examples/example_2/test/test_runners/all_tests.c +0 -12
  386. data/vendor/cmock/vendor/unity/examples/example_3/helper/UnityHelper.c +0 -10
  387. data/vendor/cmock/vendor/unity/examples/example_3/helper/UnityHelper.h +0 -12
  388. data/vendor/cmock/vendor/unity/examples/example_3/rakefile.rb +0 -43
  389. data/vendor/cmock/vendor/unity/examples/example_3/rakefile_helper.rb +0 -249
  390. data/vendor/cmock/vendor/unity/examples/example_3/readme.txt +0 -13
  391. data/vendor/cmock/vendor/unity/examples/example_3/src/ProductionCode.c +0 -24
  392. data/vendor/cmock/vendor/unity/examples/example_3/src/ProductionCode.h +0 -3
  393. data/vendor/cmock/vendor/unity/examples/example_3/src/ProductionCode2.c +0 -11
  394. data/vendor/cmock/vendor/unity/examples/example_3/src/ProductionCode2.h +0 -2
  395. data/vendor/cmock/vendor/unity/examples/example_3/target_gcc_32.yml +0 -46
  396. data/vendor/cmock/vendor/unity/examples/example_3/test/TestProductionCode.c +0 -62
  397. data/vendor/cmock/vendor/unity/examples/example_3/test/TestProductionCode2.c +0 -31
  398. data/vendor/cmock/vendor/unity/examples/unity_config.h +0 -237
  399. data/vendor/cmock/vendor/unity/extras/eclipse/error_parsers.txt +0 -26
  400. data/vendor/cmock/vendor/unity/extras/fixture/rakefile.rb +0 -48
  401. data/vendor/cmock/vendor/unity/extras/fixture/rakefile_helper.rb +0 -178
  402. data/vendor/cmock/vendor/unity/extras/fixture/readme.txt +0 -9
  403. data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture.c +0 -432
  404. data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture.h +0 -83
  405. data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture_internals.h +0 -51
  406. data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture_malloc_overrides.h +0 -47
  407. data/vendor/cmock/vendor/unity/extras/fixture/test/Makefile +0 -74
  408. data/vendor/cmock/vendor/unity/extras/fixture/test/main/AllTests.c +0 -22
  409. data/vendor/cmock/vendor/unity/extras/fixture/test/template_fixture_tests.c +0 -39
  410. data/vendor/cmock/vendor/unity/extras/fixture/test/unity_fixture_Test.c +0 -543
  411. data/vendor/cmock/vendor/unity/extras/fixture/test/unity_fixture_TestRunner.c +0 -57
  412. data/vendor/cmock/vendor/unity/extras/fixture/test/unity_output_Spy.c +0 -57
  413. data/vendor/cmock/vendor/unity/extras/fixture/test/unity_output_Spy.h +0 -17
  414. data/vendor/cmock/vendor/unity/release/build.info +0 -2
  415. data/vendor/cmock/vendor/unity/release/version.info +0 -2
  416. data/vendor/cmock/vendor/unity/src/unity.c +0 -1517
  417. data/vendor/cmock/vendor/unity/src/unity.h +0 -339
  418. data/vendor/cmock/vendor/unity/src/unity_internals.h +0 -784
  419. data/vendor/cmock/vendor/unity/test/Makefile +0 -63
  420. data/vendor/cmock/vendor/unity/test/expectdata/testsample_cmd.c +0 -61
  421. data/vendor/cmock/vendor/unity/test/expectdata/testsample_def.c +0 -57
  422. data/vendor/cmock/vendor/unity/test/expectdata/testsample_head1.c +0 -55
  423. data/vendor/cmock/vendor/unity/test/expectdata/testsample_head1.h +0 -15
  424. data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_cmd.c +0 -80
  425. data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_def.c +0 -76
  426. data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_head1.c +0 -75
  427. data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_head1.h +0 -13
  428. data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_new1.c +0 -89
  429. data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_new2.c +0 -89
  430. data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_param.c +0 -77
  431. data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_run1.c +0 -89
  432. data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_run2.c +0 -89
  433. data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_yaml.c +0 -90
  434. data/vendor/cmock/vendor/unity/test/expectdata/testsample_new1.c +0 -67
  435. data/vendor/cmock/vendor/unity/test/expectdata/testsample_new2.c +0 -70
  436. data/vendor/cmock/vendor/unity/test/expectdata/testsample_param.c +0 -58
  437. data/vendor/cmock/vendor/unity/test/expectdata/testsample_run1.c +0 -67
  438. data/vendor/cmock/vendor/unity/test/expectdata/testsample_run2.c +0 -70
  439. data/vendor/cmock/vendor/unity/test/expectdata/testsample_yaml.c +0 -71
  440. data/vendor/cmock/vendor/unity/test/rakefile +0 -125
  441. data/vendor/cmock/vendor/unity/test/rakefile_helper.rb +0 -260
  442. data/vendor/cmock/vendor/unity/test/spec/generate_module_existing_file_spec.rb +0 -158
  443. data/vendor/cmock/vendor/unity/test/targets/clang_file.yml +0 -78
  444. data/vendor/cmock/vendor/unity/test/targets/clang_strict.yml +0 -78
  445. data/vendor/cmock/vendor/unity/test/targets/gcc_32.yml +0 -49
  446. data/vendor/cmock/vendor/unity/test/targets/gcc_64.yml +0 -50
  447. data/vendor/cmock/vendor/unity/test/targets/gcc_auto_limits.yml +0 -47
  448. data/vendor/cmock/vendor/unity/test/targets/gcc_auto_stdint.yml +0 -59
  449. data/vendor/cmock/vendor/unity/test/targets/gcc_manual_math.yml +0 -47
  450. data/vendor/cmock/vendor/unity/test/targets/hitech_picc18.yml +0 -101
  451. data/vendor/cmock/vendor/unity/test/targets/iar_arm_v4.yml +0 -90
  452. data/vendor/cmock/vendor/unity/test/targets/iar_arm_v5.yml +0 -80
  453. data/vendor/cmock/vendor/unity/test/targets/iar_arm_v5_3.yml +0 -80
  454. data/vendor/cmock/vendor/unity/test/targets/iar_armcortex_LM3S9B92_v5_4.yml +0 -94
  455. data/vendor/cmock/vendor/unity/test/targets/iar_cortexm3_v5.yml +0 -84
  456. data/vendor/cmock/vendor/unity/test/targets/iar_msp430.yml +0 -95
  457. data/vendor/cmock/vendor/unity/test/targets/iar_sh2a_v6.yml +0 -86
  458. data/vendor/cmock/vendor/unity/test/testdata/CException.h +0 -11
  459. data/vendor/cmock/vendor/unity/test/testdata/Defs.h +0 -8
  460. data/vendor/cmock/vendor/unity/test/testdata/cmock.h +0 -14
  461. data/vendor/cmock/vendor/unity/test/testdata/mockMock.h +0 -13
  462. data/vendor/cmock/vendor/unity/test/testdata/testRunnerGenerator.c +0 -183
  463. data/vendor/cmock/vendor/unity/test/testdata/testRunnerGeneratorSmall.c +0 -67
  464. data/vendor/cmock/vendor/unity/test/testdata/testRunnerGeneratorWithMocks.c +0 -192
  465. data/vendor/cmock/vendor/unity/test/tests/test_generate_test_runner.rb +0 -1252
  466. data/vendor/cmock/vendor/unity/test/tests/testparameterized.c +0 -110
  467. data/vendor/cmock/vendor/unity/test/tests/testunity.c +0 -4993
@@ -19,6 +19,7 @@ class CMockConfig
19
19
  :attributes => ['__ramfunc', '__irq', '__fiq', 'register', 'extern'],
20
20
  :c_calling_conventions => ['__stdcall', '__cdecl', '__fastcall'],
21
21
  :enforce_strict_ordering => false,
22
+ :fail_on_unexpected_calls => true,
22
23
  :unity_helper_path => false,
23
24
  :treat_as => {},
24
25
  :treat_as_void => [],
@@ -18,6 +18,7 @@ class CMockGenerator
18
18
  @weak = @config.weak
19
19
  @ordered = @config.enforce_strict_ordering
20
20
  @framework = @config.framework.to_s
21
+ @fail_on_unexpected_calls = @config.fail_on_unexpected_calls
21
22
 
22
23
  @subdir = @config.subdir
23
24
 
@@ -102,6 +103,7 @@ class CMockGenerator
102
103
  file << "\n"
103
104
  file << "/* Ignore the following warnings, since we are copying code */\n"
104
105
  file << "#if defined(__GNUC__) && !defined(__ICC) && !defined(__TMS470__)\n"
106
+ file << "#pragma GCC diagnostic push\n"
105
107
  file << "#if !defined(__clang__)\n"
106
108
  file << "#pragma GCC diagnostic ignored \"-Wpragmas\"\n"
107
109
  file << "#endif\n"
@@ -124,7 +126,12 @@ class CMockGenerator
124
126
  end
125
127
 
126
128
  def create_mock_header_footer(header)
127
- header << "\n#endif\n"
129
+ header << "\n"
130
+ header << "#if defined(__GNUC__) && !defined(__ICC) && !defined(__TMS470__)\n"
131
+ header << "#pragma GCC diagnostic pop\n"
132
+ header << "#endif\n"
133
+ header << "\n"
134
+ header << "#endif\n"
128
135
  end
129
136
 
130
137
  def create_source_header_section(file, filename, functions)
@@ -196,6 +203,11 @@ class CMockGenerator
196
203
  file << " CMock_Guts_MemFreeAll();\n"
197
204
  file << " memset(&Mock, 0, sizeof(Mock));\n"
198
205
  file << functions.collect {|function| @plugins.run(:mock_destroy, function)}.join
206
+
207
+ unless (@fail_on_unexpected_calls)
208
+ file << functions.collect {|function| @plugins.run(:mock_ignore, function)}.join
209
+ end
210
+
199
211
  if (@ordered)
200
212
  file << " GlobalExpectCount = 0;\n"
201
213
  file << " GlobalVerifyOrder = 0;\n"
@@ -68,7 +68,7 @@ class CMockGeneratorPluginExpect
68
68
  function[:args].each do |arg|
69
69
  lines << @utils.code_verify_an_arg_expectation(function, arg)
70
70
  end
71
- lines << "\n }\n"
71
+ lines << " }\n"
72
72
  lines
73
73
  end
74
74
 
@@ -28,7 +28,6 @@ class CMockGeneratorPluginExpectAnyArgs
28
28
  end
29
29
 
30
30
  def mock_function_declarations(function)
31
-
32
31
  if (function[:return][:void?])
33
32
  return "#define #{function[:name]}_ExpectAnyArgs() #{function[:name]}_CMockExpectAnyArgs(__LINE__)\n" +
34
33
  "void #{function[:name]}_CMockExpectAnyArgs(UNITY_LINE_TYPE cmock_line);\n"
@@ -38,19 +37,6 @@ class CMockGeneratorPluginExpectAnyArgs
38
37
  end
39
38
  end
40
39
 
41
- # def mock_implementation(function)
42
- # lines = " if (cmock_call_instance->IgnoreMode == CMOCK_ARG_NONE)\n {\n"
43
- # if (function[:return][:void?])
44
- # lines << " return;\n }\n"
45
- # else
46
- # retval = function[:return].merge( { :name => "cmock_call_instance->ReturnVal"} )
47
- # lines << " " + @utils.code_assign_argument_quickly("Mock.#{function[:name]}_FinalReturn", retval) unless (retval[:void?])
48
- # return_type = function[:return][:const?] ? "(const #{function[:return][:type]})" : ((function[:return][:type] =~ /cmock/) ? "(#{function[:return][:type]})" : '')
49
- # lines << " return #{return_type}cmock_call_instance->ReturnVal;\n }\n"
50
- # end
51
- # lines
52
- # end
53
-
54
40
  def mock_interfaces(function)
55
41
  lines = ""
56
42
  if (function[:return][:void?])
@@ -65,6 +65,10 @@ class CMockGeneratorPluginIgnore
65
65
  lines << "}\n\n"
66
66
  end
67
67
 
68
+ def mock_ignore(function)
69
+ " Mock.#{function[:name]}_IgnoreBool = (int) 1;\n"
70
+ end
71
+
68
72
  def mock_verify(function)
69
73
  func_name = function[:name]
70
74
  " if (Mock.#{func_name}_IgnoreBool)\n Mock.#{func_name}_CallInstance = CMOCK_GUTS_NONE;\n"
@@ -112,12 +112,11 @@ class CMockGeneratorUtils
112
112
  else
113
113
  (@helpers.nil? or @helpers[:unity_helper].nil?) ? ["UNITY_TEST_ASSERT_EQUAL",''] : @helpers[:unity_helper].get_helper(c_type)
114
114
  end
115
- unity_msg = "Function '#{function[:name]}' called with unexpected value for argument '#{arg_name}'."
116
- return c_type, arg_name, expected, ignore, unity_func[0], unity_func[1], unity_msg
115
+ return c_type, arg_name, expected, ignore, unity_func[0], unity_func[1]
117
116
  end
118
117
 
119
118
  def code_verify_an_arg_expectation_with_no_arrays(function, arg)
120
- c_type, arg_name, expected, ignore, unity_func, pre, unity_msg = lookup_expect_type(function, arg)
119
+ c_type, arg_name, expected, ignore, unity_func, pre = lookup_expect_type(function, arg)
121
120
  lines = ""
122
121
  lines << " if (!#{ignore})\n" if @ignore_arg
123
122
  lines << " {\n"
@@ -152,7 +151,7 @@ class CMockGeneratorUtils
152
151
  end
153
152
 
154
153
  def code_verify_an_arg_expectation_with_normal_arrays(function, arg)
155
- c_type, arg_name, expected, ignore, unity_func, pre, unity_msg = lookup_expect_type(function, arg)
154
+ c_type, arg_name, expected, ignore, unity_func, pre = lookup_expect_type(function, arg)
156
155
  depth_name = (arg[:ptr?]) ? "cmock_call_instance->Expected_#{arg_name}_Depth" : 1
157
156
  lines = ""
158
157
  lines << " if (!#{ignore})\n" if @ignore_arg
@@ -188,7 +187,7 @@ class CMockGeneratorUtils
188
187
  end
189
188
 
190
189
  def code_verify_an_arg_expectation_with_smart_arrays(function, arg)
191
- c_type, arg_name, expected, ignore, unity_func, pre, unity_msg = lookup_expect_type(function, arg)
190
+ c_type, arg_name, expected, ignore, unity_func, pre = lookup_expect_type(function, arg)
192
191
  depth_name = (arg[:ptr?]) ? "cmock_call_instance->Expected_#{arg_name}_Depth" : 1
193
192
  lines = ""
194
193
  lines << " if (!#{ignore})\n" if @ignore_arg
@@ -79,7 +79,7 @@ class CMockHeaderParser
79
79
  # enums, unions, structs, and typedefs can all contain things (e.g. function pointers) that parse like function prototypes, so yank them
80
80
  # forward declared structs are removed before struct definitions so they don't mess up real thing later. we leave structs keywords in function prototypes
81
81
  source.gsub!(/^[\w\s]*struct[^;\{\}\(\)]+;/m, '') # remove forward declared structs
82
- source.gsub!(/^[\w\s]*(enum|union|struct|typepdef)[\w\s]*\{[^\}]+\}[\w\s\*\,]*;/m, '') # remove struct, union, and enum definitions and typedefs with braces
82
+ source.gsub!(/^[\w\s]*(enum|union|struct|typedef)[\w\s]*\{[^\}]+\}[\w\s\*\,]*;/m, '') # remove struct, union, and enum definitions and typedefs with braces
83
83
  source.gsub!(/(\W)(?:register|auto|static|restrict)(\W)/, '\1\2') # remove problem keywords
84
84
  source.gsub!(/\s*=\s*['"a-zA-Z0-9_\.]+\s*/, '') # remove default value statements from argument lists
85
85
  source.gsub!(/^(?:[\w\s]*\W)?typedef\W[^;]*/m, '') # remove typedef statements
@@ -94,7 +94,14 @@ class CMockHeaderParser
94
94
  end
95
95
 
96
96
  # remove nested pairs of braces because no function declarations will be inside of them (leave outer pair for function definition detection)
97
- source.gsub!(/\{([^\{\}]*|\g<0>)*\}/m, '{ }')
97
+ if (RUBY_VERSION.split('.')[0].to_i > 1)
98
+ #we assign a string first because (no joke) if Ruby 1.9.3 sees this line as a regex, it will crash.
99
+ r = "\\{([^\\{\\}]*|\\g<0>)*\\}"
100
+ source.gsub!(/#{r}/m, '{ }')
101
+ else
102
+ while source.gsub!(/\{[^\{\}]*\{[^\{\}]*\}[^\{\}]*\}/m, '{ }')
103
+ end
104
+ end
98
105
 
99
106
  # remove function definitions by stripping off the arguments right now
100
107
  source.gsub!(/\([^\)]*\)\s*\{[^\}]*\}/m, ";")
@@ -139,44 +146,35 @@ class CMockHeaderParser
139
146
  return args if (arg =~ /^\s*((\.\.\.)|(void))\s*$/) # we're done if we reach void by itself or ...
140
147
  arg_array = arg.split
141
148
  arg_elements = arg_array - @c_attributes # split up words and remove known attributes
142
- args << { :type => (arg_type = arg_elements[0..-2].join(' ')),
149
+ args << { :type => arg_elements[0..-2].join(' '),
143
150
  :name => arg_elements[-1]
144
151
  }.merge(divine_ptr_and_const(arg))
145
152
  end
146
153
  return args
147
154
  end
148
155
 
149
- def divine_ptr(arg_type)
150
- return false unless arg_type.include? '*'
151
- return false if arg_type.gsub(/(const|char|\*|\s)+/,'').empty?
156
+ def divine_ptr(arg)
157
+ return false unless arg.include? '*'
158
+ # treat "const char *" and similar as a string, not a pointer
159
+ return false if /(^|\s)(const\s+)?char(\s+const)?\s*\*(?!.*\*)/ =~ arg
152
160
  return true
153
161
  end
154
162
 
155
163
  def divine_const(arg)
156
- return false if !(/(?:^|\s|\*)const(?:\*|\s|$)/ =~ arg) # check for const as part of a larger word
157
- return true if (/const(?:\w|\s)*\*/ =~ arg) # check const comes before * indicating const data
158
- return false if (/\*\s*const/ =~ arg) # check const comes after * indicating const ptr
159
- return true
164
+ # a non-pointer arg containing "const" is a constant
165
+ # an arg containing "const" before the last * is a pointer to a constant
166
+ return ( arg.include?('*') ? (/(^|\s|\*)const(\s(\w|\s)*)?\*(?!.*\*)/ =~ arg)
167
+ : (/(^|\s)const(\s|$)/ =~ arg) ) ? true : false
160
168
  end
161
169
 
162
170
  def divine_ptr_and_const(arg)
163
- divination = { :ptr? => false, :const? => false, :const_ptr? => false }
171
+ divination = {}
164
172
 
165
- #first check if there is a pointer present and that it's not part of a C string or function definition
166
- #divination[:ptr?] = (arg.split[0..-2].join.include?('*') && !arg.gsub(/(const|char|\*|\s)+/,'').empty?)
167
- divination[:ptr?] = (arg.include?('*') && !arg.gsub(/(const|char|\*|\s)+/,'').empty?)
173
+ divination[:ptr?] = divine_ptr(arg)
174
+ divination[:const?] = divine_const(arg)
168
175
 
169
- #if there isn't a const that isn't part of a larger word, we're done
170
- return divination if !(/(?:^|\s|\*)const(?:\*|\s|$)/ =~ arg)
171
- divination[:const?] = true
172
-
173
- # check const comes after * indicating const ptr
174
- if (/\*\s*const/ =~ arg)
175
- divination[:const_ptr?] = true
176
-
177
- #check const comes before * indicating also const data
178
- divination[:const?] = (/const(?:\w|\s)*\*/ =~ arg) ? true : false
179
- end
176
+ # an arg containing "const" after the last * is a constant pointer
177
+ divination[:const_ptr?] = (/\*(?!.*\*)\s*const(\s|$)/ =~ arg) ? true : false
180
178
 
181
179
  return divination
182
180
  end
@@ -230,8 +228,8 @@ class CMockHeaderParser
230
228
 
231
229
  #process function attributes, return type, and name
232
230
  descriptors = regex_match[1]
233
- descriptors.gsub!(/\s+\*/,'*') #remove space to place asterisks with return type (where they belong)
234
- descriptors.gsub!(/\*(\w)/,'* \1') #pull asterisks away from function name to place asterisks with return type (where they belong)
231
+ descriptors.gsub!(/(\w)\*/,'\1 *') #pull asterisks away from preceding word
232
+ descriptors.gsub!(/\*(\w)/,'* \1') #pull asterisks away from following word
235
233
  descriptors = descriptors.split #array of all descriptor strings
236
234
 
237
235
  #grab name
@@ -251,7 +249,7 @@ class CMockHeaderParser
251
249
  end
252
250
  end
253
251
  decl[:modifier] = decl[:modifier].join(' ')
254
- rettype = rettype.join(' ')
252
+ rettype = rettype.join(' ').gsub(/\s+\*/,'*') #remove space before asterisks
255
253
  rettype = 'void' if (@local_as_void.include?(rettype.strip))
256
254
  decl[:return] = { :type => rettype,
257
255
  :name => 'cmock_to_return',
@@ -2,30 +2,25 @@
2
2
  # CMock Project - Automatic Mock Generation for C
3
3
  # Copyright (c) 2007 Mike Karlesky, Mark VanderVoord, Greg Williams
4
4
  # [Released under MIT License. Please refer to license.txt for details]
5
- # ==========================================
5
+ # ==========================================
6
+
7
+ require 'thread'
6
8
 
7
9
  class CMockPluginManager
8
10
 
9
11
  attr_accessor :plugins
10
-
12
+
11
13
  def initialize(config, utils)
12
14
  @plugins = []
13
15
  plugins_to_load = [:expect, config.plugins].flatten.uniq.compact
14
16
  plugins_to_load.each do |plugin|
15
17
  plugin_name = plugin.to_s
16
18
  object_name = "CMockGeneratorPlugin" + camelize(plugin_name)
17
- begin
18
- unless (Object.const_defined? object_name)
19
- require "#{File.expand_path(File.dirname(__FILE__))}/cmock_generator_plugin_#{plugin_name.downcase}.rb"
20
- end
21
- @plugins << eval("#{object_name}.new(config, utils)")
22
- rescue
23
- raise "ERROR: CMock unable to load plugin '#{plugin_name}'"
24
- end
19
+ self.class.plugin_require_mutex.synchronize { load_plugin(plugin_name, object_name, config, utils) }
25
20
  end
26
21
  @plugins.sort! {|a,b| a.priority <=> b.priority }
27
22
  end
28
-
23
+
29
24
  def run(method, args=nil)
30
25
  if args.nil?
31
26
  return @plugins.collect{ |plugin| plugin.send(method) if plugin.respond_to?(method) }.flatten.join
@@ -33,8 +28,28 @@ class CMockPluginManager
33
28
  return @plugins.collect{ |plugin| plugin.send(method, args) if plugin.respond_to?(method) }.flatten.join
34
29
  end
35
30
  end
36
-
31
+
37
32
  def camelize(lower_case_and_underscored_word)
38
33
  lower_case_and_underscored_word.gsub(/\/(.?)/) { "::" + $1.upcase }.gsub(/(^|_)(.)/) { $2.upcase }
39
34
  end
35
+
36
+ private
37
+
38
+ def self.plugin_require_mutex
39
+ @mutex ||= Mutex.new
40
+ end
41
+
42
+ def load_plugin(plugin_name, object_name, config, utils)
43
+ begin
44
+ unless (Object.const_defined? object_name)
45
+ file_name = "#{File.expand_path(File.dirname(__FILE__))}/cmock_generator_plugin_#{plugin_name.downcase}.rb"
46
+ require file_name
47
+ end
48
+ class_name = Object.const_get(object_name)
49
+ @plugins << class_name.new(config, utils)
50
+ rescue
51
+ file_name = "#{File.expand_path(File.dirname(__FILE__))}/cmock_generator_plugin_#{plugin_name.downcase}.rb"
52
+ raise "ERROR: CMock unable to load plugin '#{plugin_name}' '#{object_name}' #{file_name}"
53
+ end
54
+ end
40
55
  end
@@ -58,7 +58,7 @@ File.open(TEST_MAKEFILE, "w") do |mkfile|
58
58
  test_sources = Dir["#{TEST_DIR}/**/test_*.c"]
59
59
  test_targets = []
60
60
  generator = UnityTestRunnerGenerator.new
61
- all_headers = Dir["#{SRC_DIR}/**/*.h"]
61
+ all_headers = Dir["#{SRC_DIR}/**/{[!mock_]}*.h"] #headers that begin with mock_ are not included
62
62
  makefile_targets = []
63
63
 
64
64
  test_sources.each do |test|
@@ -68,7 +68,7 @@ File.open(TEST_MAKEFILE, "w") do |mkfile|
68
68
  runner_source = File.join(RUNNERS_DIR, "runner_#{module_name}.c")
69
69
  runner_obj = File.join(OBJ_DIR, "runner_#{module_name}.o")
70
70
  test_bin = File.join(TEST_BIN_DIR, module_name)
71
- test_results = File.join(TEST_BIN_DIR, module_name + '.result')
71
+ test_results = File.join(TEST_BIN_DIR, module_name + '.testresult')
72
72
 
73
73
  cfg = {
74
74
  src: test,
@@ -130,6 +130,7 @@ File.open(TEST_MAKEFILE, "w") do |mkfile|
130
130
  raise "Module header '#{name}' not found to mock!" unless header_to_mock
131
131
  headers_to_mock << header_to_mock
132
132
  end
133
+
133
134
  all_headers_to_mock += headers_to_mock
134
135
  mock_objs = headers_to_mock.map do |hdr|
135
136
  mock_name = MOCK_PREFIX + File.basename(hdr, '.h')
@@ -150,7 +151,7 @@ File.open(TEST_MAKEFILE, "w") do |mkfile|
150
151
 
151
152
  # Run test suite and generate report
152
153
  mkfile.puts "#{test_results}: #{test_bin}"
153
- mkfile.puts "\t-#{test_bin} &> #{test_results}"
154
+ mkfile.puts "\t-#{test_bin} > #{test_results} 2>&1"
154
155
  mkfile.puts ""
155
156
 
156
157
  test_targets << test_bin
@@ -180,7 +181,7 @@ File.open(TEST_MAKEFILE, "w") do |mkfile|
180
181
  mkfile.puts ""
181
182
 
182
183
  # Create target to run all tests
183
- mkfile.puts "test: #{test_targets.map{|t| t + '.result'}.join(' ')} test_summary"
184
+ mkfile.puts "test: #{test_targets.map{|t| t + '.testresult'}.join(' ')} test_summary"
184
185
  mkfile.puts ""
185
186
 
186
187
  end
@@ -7,7 +7,7 @@ begin
7
7
  build_dir = ENV.fetch('BUILD_DIR', './build')
8
8
  test_build_dir = ENV.fetch('TEST_BUILD_DIR', File.join(build_dir, 'test'))
9
9
 
10
- results = Dir["#{test_build_dir}/*.result"]
10
+ results = Dir["#{test_build_dir}/*.testresult"]
11
11
  parser = UnityTestSummary.new
12
12
  parser.targets = results
13
13
  parser.run
@@ -159,4 +159,171 @@
159
159
  TEST_ASSERT_EQUAL(110, function(0, 8, 9));
160
160
  }
161
161
 
162
+ - :pass: FALSE
163
+ :should: 'With "fail_on_unexpected_calls" enabled, Expect/Ignore/... of bar is required and test fails.'
164
+ :code: |
165
+ test()
166
+ {
167
+ function(1, 2, 3);
168
+ }
169
+
170
+ - :pass: TRUE
171
+ :should: 'we can override an ignore with an expect and pass'
172
+ :code: |
173
+ test()
174
+ {
175
+ bar_Ignore();
176
+
177
+ bar_Expect(2);
178
+ foo_ExpectAndReturn(1, 50);
179
+ foo_ExpectAndReturn(2, 60);
180
+ foo_ExpectAndReturn(3, 70);
181
+ TEST_ASSERT_EQUAL(180, function(1, 2, 3));
182
+
183
+ bar_Expect(5);
184
+ foo_ExpectAndReturn(4, 30);
185
+ foo_ExpectAndReturn(5, 80);
186
+ foo_ExpectAndReturn(6, 10);
187
+ TEST_ASSERT_EQUAL(120, function(4, 5, 6));
188
+
189
+ bar_Expect(8);
190
+ foo_ExpectAndReturn(7, 70);
191
+ foo_ExpectAndReturn(8, 20);
192
+ foo_ExpectAndReturn(9, 20);
193
+ TEST_ASSERT_EQUAL(110, function(7, 8, 9));
194
+ }
195
+
196
+ - :pass: FALSE
197
+ :should: 'we can override an ignore with an expect and fail'
198
+ :code: |
199
+ test()
200
+ {
201
+ bar_Ignore();
202
+
203
+ bar_Expect(2);
204
+ foo_ExpectAndReturn(1, 50);
205
+ foo_ExpectAndReturn(2, 60);
206
+ foo_ExpectAndReturn(3, 70);
207
+ TEST_ASSERT_EQUAL(180, function(1, 2, 3));
208
+
209
+ bar_Expect(5);
210
+ foo_ExpectAndReturn(4, 30);
211
+ foo_ExpectAndReturn(5, 80);
212
+ foo_ExpectAndReturn(6, 10);
213
+ TEST_ASSERT_EQUAL(120, function(4, 5, 6));
214
+
215
+ bar_Expect(9);
216
+ foo_ExpectAndReturn(7, 70);
217
+ foo_ExpectAndReturn(8, 20);
218
+ foo_ExpectAndReturn(9, 20);
219
+ TEST_ASSERT_EQUAL(110, function(7, 8, 9));
220
+ }
221
+
222
+ - :pass: TRUE
223
+ :should: 'we can override an ignore and return with an expect and pass'
224
+ :code: |
225
+ test()
226
+ {
227
+ bar_Ignore();
228
+ foo_IgnoreAndReturn(30);
229
+ TEST_ASSERT_EQUAL(90, function(1, 2, 3));
230
+
231
+ bar_Expect(5);
232
+ foo_ExpectAndReturn(4, 30);
233
+ foo_ExpectAndReturn(5, 80);
234
+ foo_ExpectAndReturn(6, 10);
235
+ TEST_ASSERT_EQUAL(120, function(4, 5, 6));
236
+
237
+ bar_Expect(8);
238
+ foo_ExpectAndReturn(7, 70);
239
+ foo_ExpectAndReturn(8, 20);
240
+ foo_ExpectAndReturn(9, 20);
241
+ TEST_ASSERT_EQUAL(110, function(7, 8, 9));
242
+ }
243
+
244
+ - :pass: FALSE
245
+ :should: 'we can override an ignore and return with an expect and fail'
246
+ :code: |
247
+ test()
248
+ {
249
+ bar_Ignore();
250
+ foo_IgnoreAndReturn(0);
251
+ TEST_ASSERT_EQUAL(0, function(1, 2, 3));
252
+
253
+ bar_Expect(5);
254
+ foo_ExpectAndReturn(4, 30);
255
+ foo_ExpectAndReturn(5, 80);
256
+ foo_ExpectAndReturn(6, 10);
257
+ TEST_ASSERT_EQUAL(120, function(4, 5, 6));
258
+
259
+ bar_Expect(9);
260
+ foo_ExpectAndReturn(7, 70);
261
+ foo_ExpectAndReturn(8, 20);
262
+ foo_ExpectAndReturn(9, 20);
263
+ TEST_ASSERT_EQUAL(110, function(7, 8, 9));
264
+ }
265
+
266
+ - :pass: TRUE
267
+ :should: 'we can override an an expect with an ignore'
268
+ :code: |
269
+ test()
270
+ {
271
+ bar_Expect(5);
272
+ bar_Ignore();
273
+ foo_ExpectAndReturn(1, 50);
274
+ foo_ExpectAndReturn(2, 60);
275
+ foo_ExpectAndReturn(3, 70);
276
+ TEST_ASSERT_EQUAL(180, function(1, 2, 3));
277
+ }
278
+
279
+ - :pass: TRUE
280
+ :should: 'we can override an expect with an ignore and return and pass'
281
+ :code: |
282
+ test()
283
+ {
284
+ bar_Ignore();
285
+ foo_IgnoreAndReturn(0);
286
+ TEST_ASSERT_EQUAL(0, function(1, 2, 3));
287
+
288
+ bar_Expect(5);
289
+ foo_ExpectAndReturn(4, 30);
290
+ foo_ExpectAndReturn(5, 80);
291
+ foo_IgnoreAndReturn(10);
292
+ TEST_ASSERT_EQUAL(120, function(4, 5, 6));
293
+
294
+ bar_Ignore();
295
+ foo_IgnoreAndReturn(60);
296
+ TEST_ASSERT_EQUAL(180, function(7, 8, 9));
297
+ }
298
+
299
+ - :pass: FALSE
300
+ :should: 'we can override an expect with an ignore and return and fail after'
301
+ :code: |
302
+ test()
303
+ {
304
+ bar_Expect(5);
305
+ foo_ExpectAndReturn(4, 30);
306
+ foo_ExpectAndReturn(5, 50);
307
+ foo_IgnoreAndReturn(20);
308
+ TEST_ASSERT_EQUAL(100, function(4, 5, 6));
309
+
310
+ bar_Expect(5);
311
+ foo_ExpectAndReturn(9, 30); //THIS ONE WILL FAIL
312
+ foo_ExpectAndReturn(2, 80);
313
+ foo_ExpectAndReturn(3, 60);
314
+ TEST_ASSERT_EQUAL(170, function(1, 2, 3));
315
+ }
316
+
317
+ - :pass: TRUE
318
+ :should: 'we can override an expect with an ignore and return and the expected values are ignored'
319
+ :code: |
320
+ test()
321
+ {
322
+ bar_Expect(5);
323
+ foo_ExpectAndReturn(2, 30); //NOTE THIS WOULD NORMALLY FAIL
324
+ foo_ExpectAndReturn(5, 50);
325
+ foo_IgnoreAndReturn(20); //BUT WE SAID WE NO LONGER CARE
326
+ TEST_ASSERT_EQUAL(100, function(4, 5, 6));
327
+ }
328
+
162
329
  ...