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
@@ -1,437 +0,0 @@
1
- # ==========================================
2
- # Unity Project - A Test Framework for C
3
- # Copyright (c) 2007 Mike Karlesky, Mark VanderVoord, Greg Williams
4
- # [Released under MIT License. Please refer to license.txt for details]
5
- # ==========================================
6
-
7
- File.expand_path(File.join(File.dirname(__FILE__), 'colour_prompt'))
8
-
9
- class UnityTestRunnerGenerator
10
- def initialize(options = nil)
11
- @options = UnityTestRunnerGenerator.default_options
12
- case options
13
- when NilClass then @options
14
- when String then @options.merge!(UnityTestRunnerGenerator.grab_config(options))
15
- when Hash then @options.merge!(options)
16
- else raise 'If you specify arguments, it should be a filename or a hash of options'
17
- end
18
- require "#{File.expand_path(File.dirname(__FILE__))}/type_sanitizer"
19
- end
20
-
21
- def self.default_options
22
- {
23
- includes: [],
24
- defines: [],
25
- plugins: [],
26
- framework: :unity,
27
- test_prefix: 'test|spec|should',
28
- mock_prefix: 'Mock',
29
- setup_name: 'setUp',
30
- teardown_name: 'tearDown',
31
- main_name: 'main', # set to :auto to automatically generate each time
32
- main_export_decl: '',
33
- cmdline_args: false,
34
- use_param_tests: false
35
- }
36
- end
37
-
38
- def self.grab_config(config_file)
39
- options = default_options
40
- unless config_file.nil? || config_file.empty?
41
- require 'yaml'
42
- yaml_guts = YAML.load_file(config_file)
43
- options.merge!(yaml_guts[:unity] || yaml_guts[:cmock])
44
- raise "No :unity or :cmock section found in #{config_file}" unless options
45
- end
46
- options
47
- end
48
-
49
- def run(input_file, output_file, options = nil)
50
- @options.merge!(options) unless options.nil?
51
-
52
- # pull required data from source file
53
- source = File.read(input_file)
54
- source = source.force_encoding('ISO-8859-1').encode('utf-8', replace: nil)
55
- tests = find_tests(source)
56
- headers = find_includes(source)
57
- testfile_includes = (headers[:local] + headers[:system])
58
- used_mocks = find_mocks(testfile_includes)
59
- testfile_includes = (testfile_includes - used_mocks)
60
- testfile_includes.delete_if { |inc| inc =~ /(unity|cmock)/ }
61
-
62
- # build runner file
63
- generate(input_file, output_file, tests, used_mocks, testfile_includes)
64
-
65
- # determine which files were used to return them
66
- all_files_used = [input_file, output_file]
67
- all_files_used += testfile_includes.map { |filename| filename + '.c' } unless testfile_includes.empty?
68
- all_files_used += @options[:includes] unless @options[:includes].empty?
69
- all_files_used += headers[:linkonly] unless headers[:linkonly].empty?
70
- all_files_used.uniq
71
- end
72
-
73
- def generate(input_file, output_file, tests, used_mocks, testfile_includes)
74
- File.open(output_file, 'w') do |output|
75
- create_header(output, used_mocks, testfile_includes)
76
- create_externs(output, tests, used_mocks)
77
- create_mock_management(output, used_mocks)
78
- create_suite_setup(output)
79
- create_suite_teardown(output)
80
- create_reset(output, used_mocks)
81
- create_main(output, input_file, tests, used_mocks)
82
- end
83
-
84
- return unless @options[:header_file] && !@options[:header_file].empty?
85
-
86
- File.open(@options[:header_file], 'w') do |output|
87
- create_h_file(output, @options[:header_file], tests, testfile_includes, used_mocks)
88
- end
89
- end
90
-
91
- def find_tests(source)
92
- tests_and_line_numbers = []
93
-
94
- source_scrubbed = source.clone
95
- source_scrubbed = source_scrubbed.gsub(/"[^"\n]*"/, '') # remove things in strings
96
- source_scrubbed = source_scrubbed.gsub(/\/\/.*$/, '') # remove line comments
97
- source_scrubbed = source_scrubbed.gsub(/\/\*.*?\*\//m, '') # remove block comments
98
- lines = source_scrubbed.split(/(^\s*\#.*$) # Treat preprocessor directives as a logical line
99
- | (;|\{|\}) /x) # Match ;, {, and } as end of lines
100
-
101
- lines.each_with_index do |line, _index|
102
- # find tests
103
- next unless line =~ /^((?:\s*TEST_CASE\s*\(.*?\)\s*)*)\s*void\s+((?:#{@options[:test_prefix]}).*)\s*\(\s*(.*)\s*\)/
104
- arguments = Regexp.last_match(1)
105
- name = Regexp.last_match(2)
106
- call = Regexp.last_match(3)
107
- params = Regexp.last_match(4)
108
- args = nil
109
- if @options[:use_param_tests] && !arguments.empty?
110
- args = []
111
- arguments.scan(/\s*TEST_CASE\s*\((.*)\)\s*$/) { |a| args << a[0] }
112
- end
113
- tests_and_line_numbers << { test: name, args: args, call: call, params: params, line_number: 0 }
114
- end
115
- tests_and_line_numbers.uniq! { |v| v[:test] }
116
-
117
- # determine line numbers and create tests to run
118
- source_lines = source.split("\n")
119
- source_index = 0
120
- tests_and_line_numbers.size.times do |i|
121
- source_lines[source_index..-1].each_with_index do |line, index|
122
- next unless line =~ /#{tests_and_line_numbers[i][:test]}/
123
- source_index += index
124
- tests_and_line_numbers[i][:line_number] = source_index + 1
125
- break
126
- end
127
- end
128
-
129
- tests_and_line_numbers
130
- end
131
-
132
- def find_includes(source)
133
- # remove comments (block and line, in three steps to ensure correct precedence)
134
- source.gsub!(/\/\/(?:.+\/\*|\*(?:$|[^\/])).*$/, '') # remove line comments that comment out the start of blocks
135
- source.gsub!(/\/\*.*?\*\//m, '') # remove block comments
136
- source.gsub!(/\/\/.*$/, '') # remove line comments (all that remain)
137
-
138
- # parse out includes
139
- includes = {
140
- local: source.scan(/^\s*#include\s+\"\s*(.+)\.[hH]\s*\"/).flatten,
141
- system: source.scan(/^\s*#include\s+<\s*(.+)\s*>/).flatten.map { |inc| "<#{inc}>" },
142
- linkonly: source.scan(/^TEST_FILE\(\s*\"\s*(.+)\.[cC]\w*\s*\"/).flatten
143
- }
144
- includes
145
- end
146
-
147
- def find_mocks(includes)
148
- mock_headers = []
149
- includes.each do |include_path|
150
- include_file = File.basename(include_path)
151
- mock_headers << include_path if include_file =~ /^#{@options[:mock_prefix]}/i
152
- end
153
- mock_headers
154
- end
155
-
156
- def create_header(output, mocks, testfile_includes = [])
157
- output.puts('/* AUTOGENERATED FILE. DO NOT EDIT. */')
158
- create_runtest(output, mocks)
159
- output.puts("\n/*=======Automagically Detected Files To Include=====*/")
160
- output.puts("#include \"#{@options[:framework]}.h\"")
161
- output.puts('#include "cmock.h"') unless mocks.empty?
162
- output.puts('#include <setjmp.h>')
163
- output.puts('#include <stdio.h>')
164
- if @options[:defines] && !@options[:defines].empty?
165
- @options[:defines].each { |d| output.puts("#define #{d}") }
166
- end
167
- if @options[:header_file] && !@options[:header_file].empty?
168
- output.puts("#include \"#{File.basename(@options[:header_file])}\"")
169
- else
170
- @options[:includes].flatten.uniq.compact.each do |inc|
171
- output.puts("#include #{inc.include?('<') ? inc : "\"#{inc.gsub('.h', '')}.h\""}")
172
- end
173
- testfile_includes.each do |inc|
174
- output.puts("#include #{inc.include?('<') ? inc : "\"#{inc.gsub('.h', '')}.h\""}")
175
- end
176
- end
177
- mocks.each do |mock|
178
- output.puts("#include \"#{mock.gsub('.h', '')}.h\"")
179
- end
180
- output.puts('#include "CException.h"') if @options[:plugins].include?(:cexception)
181
-
182
- return unless @options[:enforce_strict_ordering]
183
-
184
- output.puts('')
185
- output.puts('int GlobalExpectCount;')
186
- output.puts('int GlobalVerifyOrder;')
187
- output.puts('char* GlobalOrderError;')
188
- end
189
-
190
- def create_externs(output, tests, _mocks)
191
- output.puts("\n/*=======External Functions This Runner Calls=====*/")
192
- output.puts("extern void #{@options[:setup_name]}(void);")
193
- output.puts("extern void #{@options[:teardown_name]}(void);")
194
- tests.each do |test|
195
- output.puts("extern void #{test[:test]}(#{test[:call] || 'void'});")
196
- end
197
- output.puts('')
198
- end
199
-
200
- def create_mock_management(output, mock_headers)
201
- return if mock_headers.empty?
202
-
203
- output.puts("\n/*=======Mock Management=====*/")
204
- output.puts('static void CMock_Init(void)')
205
- output.puts('{')
206
-
207
- if @options[:enforce_strict_ordering]
208
- output.puts(' GlobalExpectCount = 0;')
209
- output.puts(' GlobalVerifyOrder = 0;')
210
- output.puts(' GlobalOrderError = NULL;')
211
- end
212
-
213
- mocks = mock_headers.map { |mock| File.basename(mock) }
214
- mocks.each do |mock|
215
- mock_clean = TypeSanitizer.sanitize_c_identifier(mock)
216
- output.puts(" #{mock_clean}_Init();")
217
- end
218
- output.puts("}\n")
219
-
220
- output.puts('static void CMock_Verify(void)')
221
- output.puts('{')
222
- mocks.each do |mock|
223
- mock_clean = TypeSanitizer.sanitize_c_identifier(mock)
224
- output.puts(" #{mock_clean}_Verify();")
225
- end
226
- output.puts("}\n")
227
-
228
- output.puts('static void CMock_Destroy(void)')
229
- output.puts('{')
230
- mocks.each do |mock|
231
- mock_clean = TypeSanitizer.sanitize_c_identifier(mock)
232
- output.puts(" #{mock_clean}_Destroy();")
233
- end
234
- output.puts("}\n")
235
- end
236
-
237
- def create_suite_setup(output)
238
- return if @options[:suite_setup].nil?
239
-
240
- output.puts("\n/*=======Suite Setup=====*/")
241
- output.puts('static void suite_setup(void)')
242
- output.puts('{')
243
- output.puts(@options[:suite_setup])
244
- output.puts('}')
245
- end
246
-
247
- def create_suite_teardown(output)
248
- return if @options[:suite_teardown].nil?
249
-
250
- output.puts("\n/*=======Suite Teardown=====*/")
251
- output.puts('static int suite_teardown(int num_failures)')
252
- output.puts('{')
253
- output.puts(@options[:suite_teardown])
254
- output.puts('}')
255
- end
256
-
257
- def create_runtest(output, used_mocks)
258
- cexception = @options[:plugins].include? :cexception
259
- va_args1 = @options[:use_param_tests] ? ', ...' : ''
260
- va_args2 = @options[:use_param_tests] ? '__VA_ARGS__' : ''
261
- output.puts("\n/*=======Test Runner Used To Run Each Test Below=====*/")
262
- output.puts('#define RUN_TEST_NO_ARGS') if @options[:use_param_tests]
263
- output.puts("#define RUN_TEST(TestFunc, TestLineNum#{va_args1}) \\")
264
- output.puts('{ \\')
265
- output.puts(" Unity.CurrentTestName = #TestFunc#{va_args2.empty? ? '' : " \"(\" ##{va_args2} \")\""}; \\")
266
- output.puts(' Unity.CurrentTestLineNumber = TestLineNum; \\')
267
- output.puts(' if (UnityTestMatches()) { \\') if @options[:cmdline_args]
268
- output.puts(' Unity.NumberOfTests++; \\')
269
- output.puts(' CMock_Init(); \\') unless used_mocks.empty?
270
- output.puts(' UNITY_CLR_DETAILS(); \\') unless used_mocks.empty?
271
- output.puts(' if (TEST_PROTECT()) \\')
272
- output.puts(' { \\')
273
- output.puts(' CEXCEPTION_T e; \\') if cexception
274
- output.puts(' Try { \\') if cexception
275
- output.puts(" #{@options[:setup_name]}(); \\")
276
- output.puts(" TestFunc(#{va_args2}); \\")
277
- output.puts(' } Catch(e) { TEST_ASSERT_EQUAL_HEX32_MESSAGE(CEXCEPTION_NONE, e, "Unhandled Exception!"); } \\') if cexception
278
- output.puts(' } \\')
279
- output.puts(' if (TEST_PROTECT()) \\')
280
- output.puts(' { \\')
281
- output.puts(" #{@options[:teardown_name]}(); \\")
282
- output.puts(' CMock_Verify(); \\') unless used_mocks.empty?
283
- output.puts(' } \\')
284
- output.puts(' CMock_Destroy(); \\') unless used_mocks.empty?
285
- output.puts(' UnityConcludeTest(); \\')
286
- output.puts(' } \\') if @options[:cmdline_args]
287
- output.puts("}\n")
288
- end
289
-
290
- def create_reset(output, used_mocks)
291
- output.puts("\n/*=======Test Reset Option=====*/")
292
- output.puts('void resetTest(void);')
293
- output.puts('void resetTest(void)')
294
- output.puts('{')
295
- output.puts(' CMock_Verify();') unless used_mocks.empty?
296
- output.puts(' CMock_Destroy();') unless used_mocks.empty?
297
- output.puts(" #{@options[:teardown_name]}();")
298
- output.puts(' CMock_Init();') unless used_mocks.empty?
299
- output.puts(" #{@options[:setup_name]}();")
300
- output.puts('}')
301
- end
302
-
303
- def create_main(output, filename, tests, used_mocks)
304
- output.puts("\n\n/*=======MAIN=====*/")
305
- main_name = @options[:main_name].to_sym == :auto ? "main_#{filename.gsub('.c', '')}" : (@options[:main_name]).to_s
306
- if @options[:cmdline_args]
307
- if main_name != 'main'
308
- output.puts("#{@options[:main_export_decl]} int #{main_name}(int argc, char** argv);")
309
- end
310
- output.puts("#{@options[:main_export_decl]} int #{main_name}(int argc, char** argv)")
311
- output.puts('{')
312
- output.puts(' int parse_status = UnityParseOptions(argc, argv);')
313
- output.puts(' if (parse_status != 0)')
314
- output.puts(' {')
315
- output.puts(' if (parse_status < 0)')
316
- output.puts(' {')
317
- output.puts(" UnityPrint(\"#{filename.gsub('.c', '')}.\");")
318
- output.puts(' UNITY_PRINT_EOL();')
319
- if @options[:use_param_tests]
320
- tests.each do |test|
321
- if test[:args].nil? || test[:args].empty?
322
- output.puts(" UnityPrint(\" #{test[:test]}(RUN_TEST_NO_ARGS)\");")
323
- output.puts(' UNITY_PRINT_EOL();')
324
- else
325
- test[:args].each do |args|
326
- output.puts(" UnityPrint(\" #{test[:test]}(#{args})\");")
327
- output.puts(' UNITY_PRINT_EOL();')
328
- end
329
- end
330
- end
331
- else
332
- tests.each { |test| output.puts(" UnityPrint(\" #{test[:test]}\");\n UNITY_PRINT_EOL();") }
333
- end
334
- output.puts(' return 0;')
335
- output.puts(' }')
336
- output.puts(' return parse_status;')
337
- output.puts(' }')
338
- else
339
- if main_name != 'main'
340
- output.puts("#{@options[:main_export_decl]} int #{main_name}(void);")
341
- end
342
- output.puts("int #{main_name}(void)")
343
- output.puts('{')
344
- end
345
- output.puts(' suite_setup();') unless @options[:suite_setup].nil?
346
- output.puts(" UnityBegin(\"#{filename.gsub(/\\/, '\\\\\\')}\");")
347
- if @options[:use_param_tests]
348
- tests.each do |test|
349
- if test[:args].nil? || test[:args].empty?
350
- output.puts(" RUN_TEST(#{test[:test]}, #{test[:line_number]}, RUN_TEST_NO_ARGS);")
351
- else
352
- test[:args].each { |args| output.puts(" RUN_TEST(#{test[:test]}, #{test[:line_number]}, #{args});") }
353
- end
354
- end
355
- else
356
- tests.each { |test| output.puts(" RUN_TEST(#{test[:test]}, #{test[:line_number]});") }
357
- end
358
- output.puts
359
- output.puts(' CMock_Guts_MemFreeFinal();') unless used_mocks.empty?
360
- output.puts(" return #{@options[:suite_teardown].nil? ? '' : 'suite_teardown'}(UnityEnd());")
361
- output.puts('}')
362
- end
363
-
364
- def create_h_file(output, filename, tests, testfile_includes, used_mocks)
365
- filename = File.basename(filename).gsub(/[-\/\\\.\,\s]/, '_').upcase
366
- output.puts('/* AUTOGENERATED FILE. DO NOT EDIT. */')
367
- output.puts("#ifndef _#{filename}")
368
- output.puts("#define _#{filename}\n\n")
369
- output.puts("#include \"#{@options[:framework]}.h\"")
370
- output.puts('#include "cmock.h"') unless used_mocks.empty?
371
- @options[:includes].flatten.uniq.compact.each do |inc|
372
- output.puts("#include #{inc.include?('<') ? inc : "\"#{inc.gsub('.h', '')}.h\""}")
373
- end
374
- testfile_includes.each do |inc|
375
- output.puts("#include #{inc.include?('<') ? inc : "\"#{inc.gsub('.h', '')}.h\""}")
376
- end
377
- output.puts "\n"
378
- tests.each do |test|
379
- if test[:params].nil? || test[:params].empty?
380
- output.puts("void #{test[:test]}(void);")
381
- else
382
- output.puts("void #{test[:test]}(#{test[:params]});")
383
- end
384
- end
385
- output.puts("#endif\n\n")
386
- end
387
- end
388
-
389
- if $0 == __FILE__
390
- options = { includes: [] }
391
-
392
- # parse out all the options first (these will all be removed as we go)
393
- ARGV.reject! do |arg|
394
- case arg
395
- when '-cexception'
396
- options[:plugins] = [:cexception]
397
- true
398
- when /\.*\.ya?ml/
399
- options = UnityTestRunnerGenerator.grab_config(arg)
400
- true
401
- when /--(\w+)=\"?(.*)\"?/
402
- options[Regexp.last_match(1).to_sym] = Regexp.last_match(2)
403
- true
404
- when /\.*\.h/
405
- options[:includes] << arg
406
- true
407
- else false
408
- end
409
- end
410
-
411
- # make sure there is at least one parameter left (the input file)
412
- unless ARGV[0]
413
- puts ["\nusage: ruby #{__FILE__} (files) (options) input_test_file (output)",
414
- "\n input_test_file - this is the C file you want to create a runner for",
415
- ' output - this is the name of the runner file to generate',
416
- ' defaults to (input_test_file)_Runner',
417
- ' files:',
418
- ' *.yml / *.yaml - loads configuration from here in :unity or :cmock',
419
- ' *.h - header files are added as #includes in runner',
420
- ' options:',
421
- ' -cexception - include cexception support',
422
- ' --setup_name="" - redefine setUp func name to something else',
423
- ' --teardown_name="" - redefine tearDown func name to something else',
424
- ' --main_name="" - redefine main func name to something else',
425
- ' --test_prefix="" - redefine test prefix from default test|spec|should',
426
- ' --suite_setup="" - code to execute for setup of entire suite',
427
- ' --suite_teardown="" - code to execute for teardown of entire suite',
428
- ' --use_param_tests=1 - enable parameterized tests (disabled by default)',
429
- ' --header_file="" - path/name of test header file to generate too'].join("\n")
430
- exit 1
431
- end
432
-
433
- # create the default test runner name if not specified
434
- ARGV[1] = ARGV[0].gsub('.c', '_Runner.c') unless ARGV[1]
435
-
436
- UnityTestRunnerGenerator.new(options).run(ARGV[0], ARGV[1])
437
- end
@@ -1,220 +0,0 @@
1
- #============================================================
2
- # Author: John Theofanopoulos
3
- # A simple parser. Takes the output files generated during the build process and
4
- # extracts information relating to the tests.
5
- #
6
- # Notes:
7
- # To capture an output file under VS builds use the following:
8
- # devenv [build instructions] > Output.txt & type Output.txt
9
- #
10
- # To capture an output file under GCC/Linux builds use the following:
11
- # make | tee Output.txt
12
- #
13
- # To use this parser use the following command
14
- # ruby parseOutput.rb [options] [file]
15
- # options: -xml : produce a JUnit compatible XML file
16
- # file : file to scan for results
17
- #============================================================
18
-
19
- class ParseOutput
20
- def initialize
21
- @test_flag = false
22
- @xml_out = false
23
- @array_list = false
24
- @total_tests = false
25
- @class_index = false
26
- end
27
-
28
- # Set the flag to indicate if there will be an XML output file or not
29
- def set_xml_output
30
- @xml_out = true
31
- end
32
-
33
- # if write our output to XML
34
- def write_xml_output
35
- output = File.open('report.xml', 'w')
36
- output << "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
37
- @array_list.each do |item|
38
- output << item << "\n"
39
- end
40
- output << "</testsuite>\n"
41
- end
42
-
43
- # This function will try and determine when the suite is changed. This is
44
- # is the name that gets added to the classname parameter.
45
- def test_suite_verify(test_suite_name)
46
- return if @test_flag
47
-
48
- @test_flag = true
49
- # Split the path name
50
- test_name = test_suite_name.split('/')
51
- # Remove the extension
52
- base_name = test_name[test_name.size - 1].split('.')
53
- @test_suite = 'test.' + base_name[0]
54
- printf "New Test: %s\n", @test_suite
55
- end
56
-
57
- # Test was flagged as having passed so format the output
58
- def test_passed(array)
59
- last_item = array.length - 1
60
- test_name = array[last_item - 1]
61
- test_suite_verify(array[@class_name])
62
- printf "%-40s PASS\n", test_name
63
-
64
- return unless @xml_out
65
-
66
- @array_list.push ' <testcase classname="' + @test_suite + '" name="' + test_name + '"/>'
67
- end
68
-
69
- # Test was flagged as having passed so format the output.
70
- # This is using the Unity fixture output and not the original Unity output.
71
- def test_passed_unity_fixture(array)
72
- test_suite = array[0].sub('TEST(', '')
73
- test_suite = test_suite.sub(',', '')
74
- test_name = array[1].sub(')', '')
75
-
76
- return unless @xml_out
77
-
78
- @array_list.push ' <testcase classname="' + test_suite + '" name="' + test_name + '"/>'
79
- end
80
-
81
- # Test was flagged as being ingored so format the output
82
- def test_ignored(array)
83
- last_item = array.length - 1
84
- test_name = array[last_item - 2]
85
- reason = array[last_item].chomp
86
- test_suite_verify(array[@class_name])
87
- printf "%-40s IGNORED\n", test_name
88
-
89
- if test_name.start_with? 'TEST('
90
- array2 = test_name.split(' ')
91
- @test_suite = array2[0].sub('TEST(', '')
92
- @test_suite = @test_suite.sub(',', '')
93
- test_name = array2[1].sub(')', '')
94
- end
95
-
96
- return unless @xml_out
97
-
98
- @array_list.push ' <testcase classname="' + @test_suite + '" name="' + test_name + '">'
99
- @array_list.push ' <skipped type="TEST IGNORED"> ' + reason + ' </skipped>'
100
- @array_list.push ' </testcase>'
101
- end
102
-
103
- # Test was flagged as having failed so format the line
104
- def test_failed(array)
105
- last_item = array.length - 1
106
- test_name = array[last_item - 2]
107
- reason = array[last_item].chomp + ' at line: ' + array[last_item - 3]
108
- test_suite_verify(array[@class_name])
109
- printf "%-40s FAILED\n", test_name
110
-
111
- if test_name.start_with? 'TEST('
112
- array2 = test_name.split(' ')
113
- @test_suite = array2[0].sub('TEST(', '')
114
- @test_suite = @test_suite.sub(',', '')
115
- test_name = array2[1].sub(')', '')
116
- end
117
-
118
- return unless @xml_out
119
-
120
- @array_list.push ' <testcase classname="' + @test_suite + '" name="' + test_name + '">'
121
- @array_list.push ' <failure type="ASSERT FAILED"> ' + reason + ' </failure>'
122
- @array_list.push ' </testcase>'
123
- end
124
-
125
- # Figure out what OS we are running on. For now we are assuming if it's not Windows it must
126
- # be Unix based.
127
- def detect_os
128
- os = RUBY_PLATFORM.split('-')
129
- @class_name = if os.size == 2
130
- if os[1] == 'mingw32'
131
- 1
132
- else
133
- 0
134
- end
135
- else
136
- 0
137
- end
138
- end
139
-
140
- # Main function used to parse the file that was captured.
141
- def process(name)
142
- @test_flag = false
143
- @array_list = []
144
-
145
- detect_os
146
-
147
- puts 'Parsing file: ' + name
148
-
149
- test_pass = 0
150
- test_fail = 0
151
- test_ignore = 0
152
- puts ''
153
- puts '=================== RESULTS ====================='
154
- puts ''
155
- File.open(name).each do |line|
156
- # Typical test lines look like this:
157
- # <path>/<test_file>.c:36:test_tc1000_opsys:FAIL: Expected 1 Was 0
158
- # <path>/<test_file>.c:112:test_tc5004_initCanChannel:IGNORE: Not Yet Implemented
159
- # <path>/<test_file>.c:115:test_tc5100_initCanVoidPtrs:PASS
160
- #
161
- # where path is different on Unix vs Windows devices (Windows leads with a drive letter)
162
- line_array = line.split(':')
163
-
164
- # If we were able to split the line then we can look to see if any of our target words
165
- # were found. Case is important.
166
- if (line_array.size >= 4) || (line.start_with? 'TEST(')
167
- # Determine if this test passed
168
- if line.include? ':PASS'
169
- test_passed(line_array)
170
- test_pass += 1
171
- elsif line.include? ':FAIL:'
172
- test_failed(line_array)
173
- test_fail += 1
174
- elsif line.include? ':IGNORE:'
175
- test_ignored(line_array)
176
- test_ignore += 1
177
- elsif line.start_with? 'TEST('
178
- if line.include? ' PASS'
179
- line_array = line.split(' ')
180
- test_passed_unity_fixture(line_array)
181
- test_pass += 1
182
- end
183
- # If none of the keywords are found there are no more tests for this suite so clear
184
- # the test flag
185
- else
186
- @test_flag = false
187
- end
188
- else
189
- @test_flag = false
190
- end
191
- end
192
- puts ''
193
- puts '=================== SUMMARY ====================='
194
- puts ''
195
- puts 'Tests Passed : ' + test_pass.to_s
196
- puts 'Tests Failed : ' + test_fail.to_s
197
- puts 'Tests Ignored : ' + test_ignore.to_s
198
- @total_tests = test_pass + test_fail + test_ignore
199
-
200
- return unless @xml_out
201
-
202
- heading = '<testsuite tests="' + @total_tests.to_s + '" failures="' + test_fail.to_s + '"' + ' skips="' + test_ignore.to_s + '">'
203
- @array_list.insert(0, heading)
204
- write_xml_output
205
- end
206
- end
207
-
208
- # If the command line has no values in, used a default value of Output.txt
209
- parse_my_file = ParseOutput.new
210
-
211
- if ARGV.size >= 1
212
- ARGV.each do |a|
213
- if a == '-xml'
214
- parse_my_file.set_xml_output
215
- else
216
- parse_my_file.process(a)
217
- break
218
- end
219
- end
220
- end