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
@@ -0,0 +1,81 @@
1
+
2
+ BUILD_DIR = ../build
3
+
4
+ FFF_TEST_CPP_OBJS += \
5
+ $(BUILD_DIR)/fff_test_cpp.o \
6
+ $(BUILD_DIR)/gtest-all.o \
7
+ $(BUILD_DIR)/gtest-main.o
8
+
9
+ FFF_TEST_GLOBAL_CPP_OBJS += \
10
+ $(BUILD_DIR)/fff_test_global_cpp.o \
11
+ $(BUILD_DIR)/global_fakes.o \
12
+ $(BUILD_DIR)/gtest-all.o \
13
+ $(BUILD_DIR)/gtest-main.o
14
+
15
+ FFF_TEST_C_OBJS = $(BUILD_DIR)/fff_test_c.o
16
+
17
+ FFF_TEST_GLOBAL_C_OBJS += \
18
+ $(BUILD_DIR)/global_fakes.o \
19
+ $(BUILD_DIR)/fff_test_global_c.o
20
+
21
+ FFF_TEST_CPP_TARGET = $(BUILD_DIR)/fff_test_cpp
22
+ FFF_TEST_C_TARGET = $(BUILD_DIR)/fff_test_c
23
+ FFF_TEST_GLOBAL_C_TARGET = $(BUILD_DIR)/fff_test_glob_c
24
+ FFF_TEST_GLOBAL_CPP_TARGET = $(BUILD_DIR)/fff_test_glob_cpp
25
+
26
+ LIBS := -lpthread
27
+ # All Target
28
+ all: $(FFF_TEST_CPP_TARGET) $(FFF_TEST_C_TARGET) $(FFF_TEST_GLOBAL_C_TARGET) $(FFF_TEST_GLOBAL_CPP_TARGET)
29
+
30
+
31
+ # Each subdirectory must supply rules for building sources it contributes
32
+ $(BUILD_DIR)/%.o: %.cpp
33
+ @echo 'Building file: $<'
34
+ @echo 'Invoking: GCC C++ Compiler'
35
+ g++ -I../ -O0 -g3 -Wall -DGTEST_USE_OWN_TR1_TUPLE=1 -c -o "$@" "$<"
36
+ @echo 'Finished building: $<'
37
+ @echo ' '
38
+
39
+ $(BUILD_DIR)/%.o: %.c
40
+ @echo 'Building file: $<'
41
+ @echo 'Invoking: GCC C Compiler'
42
+ gcc -I../ -O0 -g3 -Wall -std=c99 -c -o "$@" "$<"
43
+ @echo 'Finished building: $<'
44
+ @echo ' '
45
+
46
+
47
+ # Link targets
48
+ $(FFF_TEST_CPP_TARGET): $(FFF_TEST_CPP_OBJS)
49
+ @echo 'Building target: $@'
50
+ @echo 'Invoking: GCC C++ Linker'
51
+ g++ -o "$(FFF_TEST_CPP_TARGET)" $(FFF_TEST_CPP_OBJS) $(LIBS)
52
+ @echo 'Finished building target: $@'
53
+ @echo ' '
54
+
55
+ $(FFF_TEST_C_TARGET): $(FFF_TEST_C_OBJS)
56
+ @echo 'Building target: $@'
57
+ @echo 'Invoking: GCC C Linker'
58
+ gcc -o "$(FFF_TEST_C_TARGET)" $(FFF_TEST_C_OBJS) $(LIBS)
59
+ @echo 'Finished building target: $@'
60
+ @echo ' '
61
+
62
+ $(FFF_TEST_GLOBAL_C_TARGET): $(FFF_TEST_GLOBAL_C_OBJS)
63
+ @echo 'Building target: $@'
64
+ @echo 'Invoking: GCC C++ Linker'
65
+ g++ -o "$(FFF_TEST_GLOBAL_C_TARGET)" $(FFF_TEST_GLOBAL_C_OBJS) $(LIBS)
66
+ @echo 'Finished building target: $@'
67
+ @echo ' '
68
+
69
+ $(FFF_TEST_GLOBAL_CPP_TARGET): $(FFF_TEST_GLOBAL_CPP_OBJS)
70
+ @echo 'Building target: $@'
71
+ @echo 'Invoking: GCC C++ Linker'
72
+ g++ -o "$(FFF_TEST_GLOBAL_CPP_TARGET)" $(FFF_TEST_GLOBAL_CPP_OBJS) $(LIBS)
73
+ @echo 'Finished building target: $@'
74
+ @echo ' '
75
+
76
+ # Other Targets
77
+ clean:
78
+ -$(RM) $(FFF_TEST_CPP_OBJS) $(FFF_TEST_GLOBAL_C_OBJS) $(FFF_TEST_C_OBJS) \
79
+ $(FFF_TEST_CPP_TARGET) $(FFF_TEST_C_TARGET) $(FFF_TEST_GLOBAL_CPP_TARGET) $(FFF_TEST_GLOBAL_C_TARGET)
80
+ -@echo ' '
81
+
@@ -0,0 +1,15 @@
1
+ #ifndef C_TEST_FRAMEWORK_H_
2
+ #define C_TEST_FRAMEWORK_H_
3
+
4
+ #include <assert.h>
5
+ #include <stdio.h>
6
+ #include <string.h>
7
+
8
+ /* Test Framework :-) */
9
+ void setup();
10
+ #define TEST_F(SUITE, NAME) void NAME()
11
+ #define RUN_TEST(SUITE, TESTNAME) printf(" Running %s.%s: \n", #SUITE, #TESTNAME); setup(); TESTNAME(); printf(" SUCCESS\n");
12
+ #define ASSERT_EQ(A, B) assert((A) == (B))
13
+ #define ASSERT_TRUE(A) assert((A))
14
+
15
+ #endif /* C_TEST_FRAMEWORK_H_ */
@@ -0,0 +1,108 @@
1
+
2
+ // Want to keep the argument history for 13 calls
3
+ #define OVERRIDE_ARG_HIST_LEN 13u
4
+ #define FFF_ARG_HISTORY_LEN OVERRIDE_ARG_HIST_LEN
5
+ // Want to keep the call sequence history for 17 function calls
6
+ #define OVERRIDE_CALL_HIST_LEN 17u
7
+ #define FFF_CALL_HISTORY_LEN OVERRIDE_CALL_HIST_LEN
8
+
9
+ #include "../fff.h"
10
+ #include "c_test_framework.h"
11
+
12
+ #include <assert.h>
13
+ #include <stdio.h>
14
+ #include <string.h>
15
+
16
+
17
+
18
+ enum MYBOOL { FALSE = 899, TRUE };
19
+ struct MyStruct {
20
+ int x;
21
+ int y;
22
+ };
23
+
24
+
25
+ FAKE_VOID_FUNC(voidfunc1, int);
26
+ FAKE_VOID_FUNC(voidfunc2, char, char);
27
+ FAKE_VALUE_FUNC(long, longfunc0);
28
+ FAKE_VALUE_FUNC(enum MYBOOL, enumfunc0);
29
+ FAKE_VALUE_FUNC(struct MyStruct, structfunc0);
30
+ FAKE_VOID_FUNC3_VARARG(voidfunc3var, char *, int, ...);
31
+ FAKE_VALUE_FUNC(int, strlcpy3, char* const, const char* const, const size_t);
32
+ FAKE_VOID_FUNC(voidfunc20, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int);
33
+
34
+ void setup()
35
+ {
36
+ RESET_FAKE(voidfunc1);
37
+ RESET_FAKE(voidfunc2);
38
+ RESET_FAKE(longfunc0);
39
+ RESET_FAKE(enumfunc0);
40
+ RESET_FAKE(structfunc0);
41
+ RESET_FAKE(voidfunc3var);
42
+ RESET_FAKE(strlcpy3);
43
+ FFF_RESET_HISTORY();
44
+ }
45
+
46
+
47
+ #include "test_cases.include"
48
+
49
+ TEST_F(FFFTestSuite, default_constants_can_be_overridden)
50
+ {
51
+ unsigned sizeCallHistory = (sizeof fff.call_history) / (sizeof fff.call_history[0]);
52
+ ASSERT_EQ(OVERRIDE_CALL_HIST_LEN, sizeCallHistory);
53
+ ASSERT_EQ(OVERRIDE_ARG_HIST_LEN, voidfunc2_fake.arg_history_len);
54
+ }
55
+
56
+ DEFINE_FFF_GLOBALS;
57
+ int main()
58
+ {
59
+ setbuf(stdout, NULL);
60
+ fprintf(stdout, "-------------\n");
61
+ fprintf(stdout, "Running Tests\n");
62
+ fprintf(stdout, "-------------\n\n");
63
+ fflush(0);
64
+
65
+ /* Run tests */
66
+ RUN_TEST(FFFTestSuite, when_void_func_never_called_then_callcount_is_zero);
67
+ RUN_TEST(FFFTestSuite, when_void_func_called_once_then_callcount_is_one);
68
+ RUN_TEST(FFFTestSuite, when_void_func_called_once_and_reset_then_callcount_is_zero);
69
+ RUN_TEST(FFFTestSuite, when_void_func_with_1_integer_arg_called_then_last_arg_captured);
70
+ RUN_TEST(FFFTestSuite, when_void_func_with_1_integer_arg_called_twice_then_last_arg_captured);
71
+ RUN_TEST(FFFTestSuite, when_void_func_with_1_integer_arg_called_and_reset_then_captured_arg_is_zero);
72
+ RUN_TEST(FFFTestSuite, when_void_func_with_2_char_args_called_then_last_args_captured);
73
+ RUN_TEST(FFFTestSuite, when_void_func_with_2_char_args_called_twice_then_last_args_captured);
74
+ RUN_TEST(FFFTestSuite, when_void_func_with_2_char_args_called_and_reset_then_captured_arg_is_zero);
75
+ RUN_TEST(FFFTestSuite, when_fake_func_called_then_const_arguments_captured);
76
+
77
+ RUN_TEST(FFFTestSuite, when_fake_func_created_default_history_is_fifty_calls);
78
+ RUN_TEST(FFFTestSuite, when_fake_func_called_then_arguments_captured_in_history);
79
+ RUN_TEST(FFFTestSuite, argument_history_is_reset_when_RESET_FAKE_called);
80
+ RUN_TEST(FFFTestSuite, when_fake_func_called_max_times_then_no_argument_histories_dropped);
81
+ RUN_TEST(FFFTestSuite, when_fake_func_called_max_times_plus_one_then_one_argument_history_dropped);
82
+
83
+ RUN_TEST(FFFTestSuite, value_func_will_return_zero_by_default);
84
+ RUN_TEST(FFFTestSuite, value_func_will_return_value_given);
85
+ RUN_TEST(FFFTestSuite, value_func_will_return_zero_after_reset);
86
+ RUN_TEST(FFFTestSuite, register_call_macro_registers_one_call);
87
+ RUN_TEST(FFFTestSuite, register_call_macro_registers_two_calls);
88
+ RUN_TEST(FFFTestSuite, reset_call_history_resets_call_history);
89
+ RUN_TEST(FFFTestSuite, call_history_will_not_write_past_array_bounds);
90
+ RUN_TEST(FFFTestSuite, calling_fake_registers_one_call);
91
+
92
+ RUN_TEST(FFFTestSuite, return_value_sequences_not_exhausted);
93
+ RUN_TEST(FFFTestSuite, return_value_sequences_exhausted);
94
+ RUN_TEST(FFFTestSuite, default_constants_can_be_overridden);
95
+
96
+ RUN_TEST(FFFTestSuite, can_register_custom_fake);
97
+ RUN_TEST(FFFTestSuite, when_value_custom_fake_called_THEN_it_returns_custom_return_value);
98
+
99
+ RUN_TEST(FFFTestSuite, use_vararg_fake_with_different_number_of_arguments);
100
+
101
+ RUN_TEST(FFFTestSuite, can_capture_upto_20_arguments_correctly);
102
+
103
+ printf("\n-------------\n");
104
+ printf("Complete\n");
105
+ printf("-------------\n\n");
106
+
107
+ return 0;
108
+ }
@@ -0,0 +1,45 @@
1
+ /*
2
+ * fff_test.cpp
3
+ *
4
+ * Created on: Dec 20, 2010
5
+ * Author: mlong
6
+ */
7
+
8
+ // Want to keep the argument history for 13 calls
9
+ #define OVERRIDE_ARG_HIST_LEN 13u
10
+ #define FFF_ARG_HISTORY_LEN OVERRIDE_ARG_HIST_LEN
11
+ // Want to keep the call sequence history for 17 function calls
12
+ #define OVERRIDE_CALL_HIST_LEN 17u
13
+ #define FFF_CALL_HISTORY_LEN OVERRIDE_CALL_HIST_LEN
14
+
15
+ #include "../fff.h"
16
+ #include <gtest/gtest.h>
17
+
18
+ DEFINE_FFF_GLOBALS
19
+
20
+ FAKE_VOID_FUNC(voidfunc1, int);
21
+ FAKE_VOID_FUNC(voidfunc2, char, char);
22
+ FAKE_VALUE_FUNC(long, longfunc0);
23
+ FAKE_VOID_FUNC(voidfunc20, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int);
24
+
25
+ class FFFTestSuite: public testing::Test
26
+ {
27
+ public:
28
+ void SetUp()
29
+ {
30
+ RESET_FAKE(voidfunc1);
31
+ RESET_FAKE(voidfunc2);
32
+ RESET_FAKE(longfunc0);
33
+ FFF_RESET_HISTORY();
34
+ }
35
+ };
36
+
37
+ #include "test_cases.include"
38
+
39
+ TEST_F(FFFTestSuite, default_constants_can_be_overridden)
40
+ {
41
+ unsigned sizeCallHistory = (sizeof fff.call_history) / (sizeof fff.call_history[0]);
42
+ ASSERT_EQ(OVERRIDE_CALL_HIST_LEN, sizeCallHistory);
43
+ ASSERT_EQ(OVERRIDE_ARG_HIST_LEN, voidfunc2_fake.arg_history_len);
44
+ }
45
+
@@ -0,0 +1,76 @@
1
+
2
+ #include "global_fakes.h"
3
+ #include "c_test_framework.h"
4
+
5
+
6
+
7
+ DEFINE_FFF_GLOBALS;
8
+
9
+ void setup()
10
+ {
11
+ RESET_FAKE(voidfunc1);
12
+ RESET_FAKE(voidfunc2);
13
+ RESET_FAKE(longfunc0);
14
+ RESET_FAKE(enumfunc0);
15
+ RESET_FAKE(structfunc0);
16
+ RESET_FAKE(voidfunc3var);
17
+ RESET_FAKE(strlcpy3);
18
+
19
+ FFF_RESET_HISTORY();
20
+ }
21
+
22
+
23
+ #include "test_cases.include"
24
+
25
+
26
+ int main()
27
+ {
28
+ setbuf(stdout, NULL);
29
+ fprintf(stdout, "-------------\n");
30
+ fprintf(stdout, "Running Tests\n");
31
+ fprintf(stdout, "-------------\n\n");
32
+ fflush(0);
33
+
34
+ /* Run tests */
35
+ RUN_TEST(FFFTestSuite, when_void_func_never_called_then_callcount_is_zero);
36
+ RUN_TEST(FFFTestSuite, when_void_func_called_once_then_callcount_is_one);
37
+ RUN_TEST(FFFTestSuite, when_void_func_called_once_and_reset_then_callcount_is_zero);
38
+ RUN_TEST(FFFTestSuite, when_void_func_with_1_integer_arg_called_then_last_arg_captured);
39
+ RUN_TEST(FFFTestSuite, when_void_func_with_1_integer_arg_called_twice_then_last_arg_captured);
40
+ RUN_TEST(FFFTestSuite, when_void_func_with_1_integer_arg_called_and_reset_then_captured_arg_is_zero);
41
+ RUN_TEST(FFFTestSuite, when_void_func_with_2_char_args_called_then_last_args_captured);
42
+ RUN_TEST(FFFTestSuite, when_void_func_with_2_char_args_called_twice_then_last_args_captured);
43
+ RUN_TEST(FFFTestSuite, when_void_func_with_2_char_args_called_and_reset_then_captured_arg_is_zero);
44
+ RUN_TEST(FFFTestSuite, when_fake_func_called_then_const_arguments_captured);
45
+
46
+ RUN_TEST(FFFTestSuite, when_fake_func_created_default_history_is_fifty_calls);
47
+ RUN_TEST(FFFTestSuite, when_fake_func_called_then_arguments_captured_in_history);
48
+ RUN_TEST(FFFTestSuite, argument_history_is_reset_when_RESET_FAKE_called);
49
+ RUN_TEST(FFFTestSuite, when_fake_func_called_max_times_then_no_argument_histories_dropped);
50
+ RUN_TEST(FFFTestSuite, when_fake_func_called_max_times_plus_one_then_one_argument_history_dropped);
51
+
52
+ RUN_TEST(FFFTestSuite, value_func_will_return_zero_by_default);
53
+ RUN_TEST(FFFTestSuite, value_func_will_return_value_given);
54
+ RUN_TEST(FFFTestSuite, value_func_will_return_zero_after_reset);
55
+ RUN_TEST(FFFTestSuite, register_call_macro_registers_one_call);
56
+ RUN_TEST(FFFTestSuite, register_call_macro_registers_two_calls);
57
+ RUN_TEST(FFFTestSuite, reset_call_history_resets_call_history);
58
+ RUN_TEST(FFFTestSuite, call_history_will_not_write_past_array_bounds);
59
+ RUN_TEST(FFFTestSuite, calling_fake_registers_one_call);
60
+
61
+ RUN_TEST(FFFTestSuite, return_value_sequences_not_exhausted);
62
+ RUN_TEST(FFFTestSuite, return_value_sequences_exhausted);
63
+
64
+ RUN_TEST(FFFTestSuite, can_register_custom_fake);
65
+ RUN_TEST(FFFTestSuite, when_value_custom_fake_called_THEN_it_returns_custom_return_value);
66
+
67
+ RUN_TEST(FFFTestSuite, use_vararg_fake_with_different_number_of_arguments);
68
+
69
+ RUN_TEST(FFFTestSuite, can_capture_upto_20_arguments_correctly);
70
+
71
+ printf("\n-------------\n");
72
+ printf("Complete\n");
73
+ printf("-------------\n\n");
74
+
75
+ return 0;
76
+ }
@@ -0,0 +1,23 @@
1
+
2
+ extern "C"{
3
+ #include "global_fakes.h"
4
+ }
5
+ #include <gtest/gtest.h>
6
+
7
+ DEFINE_FFF_GLOBALS;
8
+
9
+ class FFFTestSuite: public testing::Test
10
+ {
11
+ public:
12
+ void SetUp()
13
+ {
14
+ RESET_FAKE(voidfunc1);
15
+ RESET_FAKE(voidfunc2);
16
+ RESET_FAKE(longfunc0);
17
+ FFF_RESET_HISTORY();
18
+ }
19
+ };
20
+
21
+ #include "test_cases.include"
22
+
23
+
@@ -0,0 +1,13 @@
1
+ #include "global_fakes.h"
2
+ #include <string.h> // for memcpy
3
+
4
+ DEFINE_FAKE_VOID_FUNC1(voidfunc1, int);
5
+ DEFINE_FAKE_VOID_FUNC2(voidfunc2, char, char);
6
+ DEFINE_FAKE_VALUE_FUNC0(long, longfunc0);
7
+ DEFINE_FAKE_VALUE_FUNC0(enum MYBOOL, enumfunc0);
8
+ DEFINE_FAKE_VALUE_FUNC0(struct MyStruct, structfunc0);
9
+ DEFINE_FAKE_VOID_FUNC3_VARARG(voidfunc3var, const char *, int, ...);
10
+ #ifndef __cplusplus
11
+ DEFINE_FAKE_VALUE_FUNC3(int, strlcpy3, char* const, const char* const, const size_t);
12
+ #endif /* __cplusplus */
13
+ DEFINE_FAKE_VOID_FUNC20(voidfunc20, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int);
@@ -0,0 +1,37 @@
1
+
2
+ #ifndef GLOBAL_FAKES_H_
3
+ #define GLOBAL_FAKES_H_
4
+
5
+ #include "../fff.h"
6
+ #include "string.h"
7
+
8
+
9
+ //// Imaginary production code header file ///
10
+ void voidfunc1(int);
11
+ void voidfunc2(char, char);
12
+ long longfunc0();
13
+ void voidfunc3var(const char *fmt, int argc, ...);
14
+ void voidfunc20(int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int);
15
+
16
+ enum MYBOOL { FALSE = 899, TRUE };
17
+ struct MyStruct {
18
+ int x;
19
+ int y;
20
+ };
21
+ enum MYBOOL enumfunc();
22
+ struct MyStruct structfunc();
23
+ //// End Imaginary production code header file ///
24
+
25
+ DECLARE_FAKE_VOID_FUNC1(voidfunc1, int);
26
+ DECLARE_FAKE_VOID_FUNC2(voidfunc2, char, char);
27
+ DECLARE_FAKE_VALUE_FUNC0(long, longfunc0);
28
+ DECLARE_FAKE_VALUE_FUNC0(enum MYBOOL, enumfunc0);
29
+ DECLARE_FAKE_VALUE_FUNC0(struct MyStruct, structfunc0);
30
+ DECLARE_FAKE_VOID_FUNC3_VARARG(voidfunc3var, const char *, int, ...);
31
+ DECLARE_FAKE_VOID_FUNC20(voidfunc20, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int);
32
+
33
+ #ifndef __cplusplus
34
+ int strlcpy3(char* const, const char* const, const size_t);
35
+ DECLARE_FAKE_VALUE_FUNC3(int, strlcpy3, char* const, const char* const, const size_t);
36
+ #endif /* __cplusplus */
37
+ #endif /* GLOBAL_FAKES_H_ */
@@ -0,0 +1,276 @@
1
+
2
+
3
+ TEST_F(FFFTestSuite, when_void_func_never_called_then_callcount_is_zero)
4
+ {
5
+ ASSERT_EQ(voidfunc1_fake.call_count, 0u);
6
+ }
7
+
8
+ TEST_F(FFFTestSuite, when_void_func_called_once_then_callcount_is_one)
9
+ {
10
+ voidfunc1(66);
11
+ ASSERT_EQ(voidfunc1_fake.call_count, 1u);
12
+ }
13
+
14
+ TEST_F(FFFTestSuite, when_void_func_called_once_and_reset_then_callcount_is_zero)
15
+ {
16
+ voidfunc1(66);
17
+ RESET_FAKE(voidfunc1);
18
+ ASSERT_EQ(voidfunc1_fake.call_count, 0u);
19
+ }
20
+
21
+ // Single Argument
22
+ TEST_F(FFFTestSuite, when_void_func_with_1_integer_arg_called_then_last_arg_captured)
23
+ {
24
+ voidfunc1(77);
25
+ ASSERT_EQ(voidfunc1_fake.arg0_val, 77);
26
+ }
27
+
28
+ TEST_F(FFFTestSuite, when_void_func_with_1_integer_arg_called_twice_then_last_arg_captured)
29
+ {
30
+ voidfunc1(77);
31
+ voidfunc1(12);
32
+ ASSERT_EQ(voidfunc1_fake.arg0_val, 12);
33
+ }
34
+
35
+ TEST_F(FFFTestSuite, when_void_func_with_1_integer_arg_called_and_reset_then_captured_arg_is_zero)
36
+ {
37
+ voidfunc1(11);
38
+ RESET_FAKE(voidfunc1);
39
+ ASSERT_EQ(voidfunc1_fake.arg0_val, 0);
40
+ }
41
+
42
+ // Two Arguments
43
+ TEST_F(FFFTestSuite, when_void_func_with_2_char_args_called_then_last_args_captured)
44
+ {
45
+ voidfunc2('a', 'b');
46
+ ASSERT_EQ(voidfunc2_fake.arg0_val, 'a');
47
+ ASSERT_EQ(voidfunc2_fake.arg1_val, 'b');
48
+ }
49
+
50
+ TEST_F(FFFTestSuite, when_void_func_with_2_char_args_called_twice_then_last_args_captured)
51
+ {
52
+ voidfunc2('a', 'b');
53
+ voidfunc2('c', 'd');
54
+ ASSERT_EQ(voidfunc2_fake.arg0_val, 'c');
55
+ ASSERT_EQ(voidfunc2_fake.arg1_val, 'd');
56
+ }
57
+
58
+ TEST_F(FFFTestSuite, when_void_func_with_2_char_args_called_and_reset_then_captured_arg_is_zero)
59
+ {
60
+ voidfunc2('e', 'f');
61
+ RESET_FAKE(voidfunc2);
62
+ ASSERT_EQ(voidfunc2_fake.arg0_val, 0);
63
+ ASSERT_EQ(voidfunc2_fake.arg1_val, 0);
64
+ }
65
+
66
+ #ifndef __cplusplus
67
+ TEST_F(FFFTestSuite, when_fake_func_called_then_const_arguments_captured)
68
+ {
69
+ char dst[80];
70
+ strlcpy3(dst, __FUNCTION__, sizeof(__FUNCTION__));
71
+ }
72
+ #endif /* __cplusplus */
73
+
74
+ // Argument history
75
+ TEST_F(FFFTestSuite, when_fake_func_created_default_history_is_fifty_calls)
76
+ {
77
+ ASSERT_EQ(FFF_ARG_HISTORY_LEN, (sizeof voidfunc2_fake.arg0_history) / (sizeof voidfunc2_fake.arg0_history[0]));
78
+ ASSERT_EQ(FFF_ARG_HISTORY_LEN, (sizeof voidfunc2_fake.arg1_history) / (sizeof voidfunc2_fake.arg1_history[0]));
79
+ }
80
+
81
+ TEST_F(FFFTestSuite, when_fake_func_called_then_arguments_captured_in_history)
82
+ {
83
+ voidfunc2('g', 'h');
84
+ ASSERT_EQ('g', voidfunc2_fake.arg0_history[0]);
85
+ ASSERT_EQ('h', voidfunc2_fake.arg1_history[0]);
86
+ }
87
+
88
+ TEST_F(FFFTestSuite, argument_history_is_reset_when_RESET_FAKE_called)
89
+ {
90
+ //given
91
+ voidfunc2('g', 'h');
92
+ ASSERT_EQ('g', voidfunc2_fake.arg0_history[0]);
93
+ ASSERT_EQ('h', voidfunc2_fake.arg1_history[0]);
94
+ //when
95
+ RESET_FAKE(voidfunc2);
96
+ //then
97
+ ASSERT_EQ('\0', voidfunc2_fake.arg0_history[0]);
98
+ ASSERT_EQ('\0', voidfunc2_fake.arg1_history[0]);
99
+ }
100
+
101
+ TEST_F(FFFTestSuite, when_fake_func_called_max_times_then_no_argument_histories_dropped)
102
+ {
103
+ unsigned int i;
104
+ for (i = 0; i < FFF_ARG_HISTORY_LEN; i++)
105
+ {
106
+ voidfunc2('1' + i, '2' + i);
107
+ }
108
+ ASSERT_EQ(0u, voidfunc2_fake.arg_histories_dropped);
109
+ }
110
+
111
+ TEST_F(FFFTestSuite, when_fake_func_called_max_times_plus_one_then_one_argument_history_dropped)
112
+ {
113
+ unsigned int i;
114
+ for (i = 0; i < FFF_ARG_HISTORY_LEN; i++)
115
+ {
116
+ voidfunc2('1' + i, '2' + i);
117
+ }
118
+ voidfunc2('1', '2');
119
+ ASSERT_EQ(1u, voidfunc2_fake.arg_histories_dropped);
120
+ // or in other words..
121
+ ASSERT_TRUE(voidfunc2_fake.call_count > voidfunc2_fake.arg_history_len);
122
+ }
123
+
124
+ // Return values
125
+ TEST_F(FFFTestSuite, value_func_will_return_zero_by_default)
126
+ {
127
+ ASSERT_EQ(0l, longfunc0());
128
+ }
129
+
130
+ TEST_F(FFFTestSuite, value_func_will_return_value_given)
131
+ {
132
+ longfunc0_fake.return_val = 99l;
133
+ ASSERT_EQ(99l, longfunc0());
134
+ }
135
+
136
+ TEST_F(FFFTestSuite, value_func_will_return_zero_after_reset)
137
+ {
138
+ longfunc0_fake.return_val = 99l;
139
+ RESET_FAKE(longfunc0);
140
+ ASSERT_EQ(0l, longfunc0());
141
+ }
142
+
143
+ TEST_F(FFFTestSuite, register_call_macro_registers_one_call)
144
+ {
145
+ REGISTER_CALL(longfunc0);
146
+ ASSERT_EQ(fff.call_history[0], (void *)longfunc0);
147
+ }
148
+
149
+ TEST_F(FFFTestSuite, register_call_macro_registers_two_calls)
150
+ {
151
+ REGISTER_CALL(longfunc0);
152
+ REGISTER_CALL(voidfunc2);
153
+
154
+ ASSERT_EQ(fff.call_history[0], (void *)longfunc0);
155
+ ASSERT_EQ(fff.call_history[1], (void *)voidfunc2);
156
+ }
157
+
158
+ TEST_F(FFFTestSuite, reset_call_history_resets_call_history)
159
+ {
160
+ REGISTER_CALL(longfunc0);
161
+ FFF_RESET_HISTORY();
162
+ REGISTER_CALL(voidfunc2);
163
+
164
+ ASSERT_EQ(1u, fff.call_history_idx);
165
+ ASSERT_EQ(fff.call_history[0], (void *)voidfunc2);
166
+ }
167
+
168
+ TEST_F(FFFTestSuite, call_history_will_not_write_past_array_bounds)
169
+ {
170
+ for (unsigned int i = 0; i < FFF_CALL_HISTORY_LEN + 1; i++)
171
+ {
172
+ REGISTER_CALL(longfunc0);
173
+ }
174
+ ASSERT_EQ(FFF_CALL_HISTORY_LEN, fff.call_history_idx);
175
+ }
176
+
177
+ TEST_F(FFFTestSuite, calling_fake_registers_one_call)
178
+ {
179
+ longfunc0();
180
+ ASSERT_EQ(fff.call_history_idx, 1u);
181
+ ASSERT_EQ(fff.call_history[0], (void *)longfunc0);
182
+ }
183
+
184
+ TEST_F(FFFTestSuite, return_value_sequences_not_exhausted)
185
+ {
186
+ long myReturnVals[3] = { 3, 7, 9 };
187
+ SET_RETURN_SEQ(longfunc0, myReturnVals, 3);
188
+ ASSERT_EQ(myReturnVals[0], longfunc0());
189
+ ASSERT_EQ(myReturnVals[1], longfunc0());
190
+ ASSERT_EQ(myReturnVals[2], longfunc0());
191
+ }
192
+
193
+
194
+ TEST_F(FFFTestSuite, return_value_sequences_exhausted)
195
+ {
196
+ long myReturnVals[3] = { 3, 7, 9 };
197
+ SET_RETURN_SEQ(longfunc0, myReturnVals, 3);
198
+ ASSERT_EQ(myReturnVals[0], longfunc0());
199
+ ASSERT_EQ(myReturnVals[1], longfunc0());
200
+ ASSERT_EQ(myReturnVals[2], longfunc0());
201
+ ASSERT_EQ(myReturnVals[2], longfunc0());
202
+ ASSERT_EQ(myReturnVals[2], longfunc0());
203
+ }
204
+
205
+ TEST_F(FFFTestSuite, return_value_sequences_reset)
206
+ {
207
+ long myReturnVals[3] = { 3, 7, 9 };
208
+ SET_RETURN_SEQ(longfunc0, myReturnVals, 3);
209
+ ASSERT_EQ(myReturnVals[0], longfunc0());
210
+ ASSERT_EQ(myReturnVals[1], longfunc0());
211
+ RESET_FAKE(longfunc0);
212
+ ASSERT_EQ(0, longfunc0());
213
+ }
214
+
215
+ static int my_custom_fake_called = 0;
216
+ void my_custom_fake(char a, char b)
217
+ {
218
+ my_custom_fake_called++;
219
+ }
220
+
221
+ TEST_F(FFFTestSuite, can_register_custom_fake)
222
+ {
223
+ voidfunc2_fake.custom_fake = my_custom_fake;
224
+ voidfunc2('a', 'b');
225
+ ASSERT_EQ(1, my_custom_fake_called);
226
+ }
227
+
228
+ //DECLARE_FAKE_VALUE_FUNC0(long, longfunc0);
229
+ #define MEANING_OF_LIFE 42
230
+ long my_custom_value_fake(void)
231
+ {
232
+ return MEANING_OF_LIFE;
233
+ }
234
+ TEST_F(FFFTestSuite, when_value_custom_fake_called_THEN_it_returns_custom_return_value)
235
+ {
236
+ longfunc0_fake.custom_fake = my_custom_value_fake;
237
+ long retval = longfunc0();
238
+ ASSERT_EQ(MEANING_OF_LIFE, retval);
239
+ }
240
+
241
+ #ifndef __cplusplus
242
+ TEST_F(FFFTestSuite, use_vararg_fake_with_different_number_of_arguments)
243
+ {
244
+ voidfunc3var("0 parameters", 0);
245
+ voidfunc3var("1 parameter", 1, 10);
246
+ voidfunc3var("2 parameters", 2, 10, 20);
247
+ voidfunc3var("3 parameters", 3, 10, 20, 30);
248
+ }
249
+ #endif /* __cplusplus */
250
+
251
+ TEST_F(FFFTestSuite, can_capture_upto_20_arguments_correctly)
252
+ {
253
+ voidfunc20(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19);
254
+ ASSERT_EQ(0, voidfunc20_fake.arg0_val);
255
+ ASSERT_EQ(1, voidfunc20_fake.arg1_val);
256
+ ASSERT_EQ(2, voidfunc20_fake.arg2_val);
257
+ ASSERT_EQ(3, voidfunc20_fake.arg3_val);
258
+ ASSERT_EQ(4, voidfunc20_fake.arg4_val);
259
+ ASSERT_EQ(5, voidfunc20_fake.arg5_val);
260
+ ASSERT_EQ(6, voidfunc20_fake.arg6_val);
261
+ ASSERT_EQ(7, voidfunc20_fake.arg7_val);
262
+ ASSERT_EQ(8, voidfunc20_fake.arg8_val);
263
+ ASSERT_EQ(9, voidfunc20_fake.arg9_val);
264
+ ASSERT_EQ(10, voidfunc20_fake.arg10_val);
265
+ ASSERT_EQ(11, voidfunc20_fake.arg11_val);
266
+ ASSERT_EQ(12, voidfunc20_fake.arg12_val);
267
+ ASSERT_EQ(13, voidfunc20_fake.arg13_val);
268
+ ASSERT_EQ(14, voidfunc20_fake.arg14_val);
269
+ ASSERT_EQ(15, voidfunc20_fake.arg15_val);
270
+ ASSERT_EQ(16, voidfunc20_fake.arg16_val);
271
+ ASSERT_EQ(17, voidfunc20_fake.arg17_val);
272
+ ASSERT_EQ(18, voidfunc20_fake.arg18_val);
273
+ ASSERT_EQ(19, voidfunc20_fake.arg19_val);
274
+ }
275
+
276
+