busser-behave 0.1.3

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 (418) hide show
  1. checksums.yaml +7 -0
  2. data/.cane +0 -0
  3. data/.gitignore +17 -0
  4. data/.tailor +4 -0
  5. data/.travis.yml +11 -0
  6. data/CHANGELOG.md +3 -0
  7. data/Gemfile +3 -0
  8. data/LICENSE +15 -0
  9. data/README.md +41 -0
  10. data/Rakefile +68 -0
  11. data/busser-behave.gemspec +30 -0
  12. data/features/plugin_install_command.feature +11 -0
  13. data/features/plugin_list_command.feature +8 -0
  14. data/features/support/env.rb +13 -0
  15. data/features/test_command.feature +31 -0
  16. data/lib/busser/behave/version.rb +26 -0
  17. data/lib/busser/runner_plugin/behave.rb +37 -0
  18. data/vendor/behave/CHANGES.rst +483 -0
  19. data/vendor/behave/LICENSE +23 -0
  20. data/vendor/behave/MANIFEST.in +37 -0
  21. data/vendor/behave/PROJECT_INFO.rst +21 -0
  22. data/vendor/behave/README.rst +112 -0
  23. data/vendor/behave/VERSION.txt +1 -0
  24. data/vendor/behave/behave.ini +22 -0
  25. data/vendor/behave/behave/__init__.py +30 -0
  26. data/vendor/behave/behave/__main__.py +187 -0
  27. data/vendor/behave/behave/_stepimport.py +185 -0
  28. data/vendor/behave/behave/_types.py +134 -0
  29. data/vendor/behave/behave/api/__init__.py +7 -0
  30. data/vendor/behave/behave/api/async_step.py +283 -0
  31. data/vendor/behave/behave/capture.py +227 -0
  32. data/vendor/behave/behave/compat/__init__.py +5 -0
  33. data/vendor/behave/behave/compat/collections.py +20 -0
  34. data/vendor/behave/behave/configuration.py +788 -0
  35. data/vendor/behave/behave/contrib/__init__.py +0 -0
  36. data/vendor/behave/behave/contrib/scenario_autoretry.py +73 -0
  37. data/vendor/behave/behave/formatter/__init__.py +12 -0
  38. data/vendor/behave/behave/formatter/_builtins.py +39 -0
  39. data/vendor/behave/behave/formatter/_registry.py +135 -0
  40. data/vendor/behave/behave/formatter/ansi_escapes.py +91 -0
  41. data/vendor/behave/behave/formatter/base.py +200 -0
  42. data/vendor/behave/behave/formatter/formatters.py +57 -0
  43. data/vendor/behave/behave/formatter/json.py +253 -0
  44. data/vendor/behave/behave/formatter/null.py +12 -0
  45. data/vendor/behave/behave/formatter/plain.py +158 -0
  46. data/vendor/behave/behave/formatter/pretty.py +351 -0
  47. data/vendor/behave/behave/formatter/progress.py +287 -0
  48. data/vendor/behave/behave/formatter/rerun.py +114 -0
  49. data/vendor/behave/behave/formatter/sphinx_steps.py +372 -0
  50. data/vendor/behave/behave/formatter/sphinx_util.py +118 -0
  51. data/vendor/behave/behave/formatter/steps.py +497 -0
  52. data/vendor/behave/behave/formatter/tags.py +178 -0
  53. data/vendor/behave/behave/i18n.py +614 -0
  54. data/vendor/behave/behave/importer.py +102 -0
  55. data/vendor/behave/behave/json_parser.py +264 -0
  56. data/vendor/behave/behave/log_capture.py +233 -0
  57. data/vendor/behave/behave/matchers.py +402 -0
  58. data/vendor/behave/behave/model.py +1737 -0
  59. data/vendor/behave/behave/model_core.py +416 -0
  60. data/vendor/behave/behave/model_describe.py +105 -0
  61. data/vendor/behave/behave/parser.py +615 -0
  62. data/vendor/behave/behave/reporter/__init__.py +0 -0
  63. data/vendor/behave/behave/reporter/base.py +45 -0
  64. data/vendor/behave/behave/reporter/junit.py +473 -0
  65. data/vendor/behave/behave/reporter/summary.py +94 -0
  66. data/vendor/behave/behave/runner.py +753 -0
  67. data/vendor/behave/behave/runner_util.py +417 -0
  68. data/vendor/behave/behave/step_registry.py +112 -0
  69. data/vendor/behave/behave/tag_expression.py +111 -0
  70. data/vendor/behave/behave/tag_matcher.py +465 -0
  71. data/vendor/behave/behave/textutil.py +137 -0
  72. data/vendor/behave/behave/userdata.py +130 -0
  73. data/vendor/behave/behave4cmd0/__all_steps__.py +12 -0
  74. data/vendor/behave/behave4cmd0/__init__.py +5 -0
  75. data/vendor/behave/behave4cmd0/__setup.py +11 -0
  76. data/vendor/behave/behave4cmd0/command_shell.py +216 -0
  77. data/vendor/behave/behave4cmd0/command_shell_proc.py +256 -0
  78. data/vendor/behave/behave4cmd0/command_steps.py +532 -0
  79. data/vendor/behave/behave4cmd0/command_util.py +147 -0
  80. data/vendor/behave/behave4cmd0/failing_steps.py +49 -0
  81. data/vendor/behave/behave4cmd0/log/__init__.py +1 -0
  82. data/vendor/behave/behave4cmd0/log/steps.py +395 -0
  83. data/vendor/behave/behave4cmd0/note_steps.py +29 -0
  84. data/vendor/behave/behave4cmd0/passing_steps.py +36 -0
  85. data/vendor/behave/behave4cmd0/pathutil.py +146 -0
  86. data/vendor/behave/behave4cmd0/setup_command_shell.py +24 -0
  87. data/vendor/behave/behave4cmd0/textutil.py +304 -0
  88. data/vendor/behave/bin/behave +44 -0
  89. data/vendor/behave/bin/behave.cmd +10 -0
  90. data/vendor/behave/bin/behave.junit_filter.py +85 -0
  91. data/vendor/behave/bin/behave.step_durations.py +163 -0
  92. data/vendor/behave/bin/behave2cucumber_json.py +63 -0
  93. data/vendor/behave/bin/behave_cmd.py +44 -0
  94. data/vendor/behave/bin/convert_i18n_yaml.py +77 -0
  95. data/vendor/behave/bin/explore_platform_encoding.py +24 -0
  96. data/vendor/behave/bin/i18n.yml +621 -0
  97. data/vendor/behave/bin/invoke +8 -0
  98. data/vendor/behave/bin/invoke.cmd +9 -0
  99. data/vendor/behave/bin/json.format.py +167 -0
  100. data/vendor/behave/bin/jsonschema_validate.py +122 -0
  101. data/vendor/behave/bin/make_localpi.py +279 -0
  102. data/vendor/behave/bin/project_bootstrap.sh +30 -0
  103. data/vendor/behave/bin/toxcmd.py +270 -0
  104. data/vendor/behave/bin/toxcmd3.py +270 -0
  105. data/vendor/behave/conftest.py +27 -0
  106. data/vendor/behave/docs/Makefile +154 -0
  107. data/vendor/behave/docs/_static/agogo.css +501 -0
  108. data/vendor/behave/docs/_static/behave_logo.png +0 -0
  109. data/vendor/behave/docs/_static/behave_logo1.png +0 -0
  110. data/vendor/behave/docs/_static/behave_logo2.png +0 -0
  111. data/vendor/behave/docs/_static/behave_logo3.png +0 -0
  112. data/vendor/behave/docs/_themes/LICENSE +45 -0
  113. data/vendor/behave/docs/_themes/kr/layout.html +17 -0
  114. data/vendor/behave/docs/_themes/kr/relations.html +19 -0
  115. data/vendor/behave/docs/_themes/kr/static/flasky.css_t +480 -0
  116. data/vendor/behave/docs/_themes/kr/static/small_flask.css +90 -0
  117. data/vendor/behave/docs/_themes/kr/theme.conf +7 -0
  118. data/vendor/behave/docs/_themes/kr_small/layout.html +22 -0
  119. data/vendor/behave/docs/_themes/kr_small/static/flasky.css_t +287 -0
  120. data/vendor/behave/docs/_themes/kr_small/theme.conf +10 -0
  121. data/vendor/behave/docs/api.rst +408 -0
  122. data/vendor/behave/docs/appendix.rst +19 -0
  123. data/vendor/behave/docs/behave.rst +640 -0
  124. data/vendor/behave/docs/behave.rst-template +86 -0
  125. data/vendor/behave/docs/behave_ecosystem.rst +81 -0
  126. data/vendor/behave/docs/comparison.rst +85 -0
  127. data/vendor/behave/docs/conf.py +293 -0
  128. data/vendor/behave/docs/context_attributes.rst +66 -0
  129. data/vendor/behave/docs/django.rst +192 -0
  130. data/vendor/behave/docs/formatters.rst +61 -0
  131. data/vendor/behave/docs/gherkin.rst +673 -0
  132. data/vendor/behave/docs/index.rst +57 -0
  133. data/vendor/behave/docs/install.rst +60 -0
  134. data/vendor/behave/docs/more_info.rst +184 -0
  135. data/vendor/behave/docs/new_and_noteworthy.rst +18 -0
  136. data/vendor/behave/docs/new_and_noteworthy_v1.2.4.rst +11 -0
  137. data/vendor/behave/docs/new_and_noteworthy_v1.2.5.rst +814 -0
  138. data/vendor/behave/docs/new_and_noteworthy_v1.2.6.rst +255 -0
  139. data/vendor/behave/docs/parse_builtin_types.rst +59 -0
  140. data/vendor/behave/docs/philosophy.rst +235 -0
  141. data/vendor/behave/docs/regular_expressions.rst +71 -0
  142. data/vendor/behave/docs/related.rst +14 -0
  143. data/vendor/behave/docs/test_domains.rst +62 -0
  144. data/vendor/behave/docs/tutorial.rst +636 -0
  145. data/vendor/behave/docs/update_behave_rst.py +100 -0
  146. data/vendor/behave/etc/json/behave.json-schema +172 -0
  147. data/vendor/behave/etc/junit.xml/behave_junit.xsd +103 -0
  148. data/vendor/behave/etc/junit.xml/junit-4.xsd +92 -0
  149. data/vendor/behave/examples/async_step/README.txt +8 -0
  150. data/vendor/behave/examples/async_step/behave.ini +14 -0
  151. data/vendor/behave/examples/async_step/features/async_dispatch.feature +8 -0
  152. data/vendor/behave/examples/async_step/features/async_run.feature +6 -0
  153. data/vendor/behave/examples/async_step/features/environment.py +28 -0
  154. data/vendor/behave/examples/async_step/features/steps/async_dispatch_steps.py +26 -0
  155. data/vendor/behave/examples/async_step/features/steps/async_steps34.py +10 -0
  156. data/vendor/behave/examples/async_step/features/steps/async_steps35.py +10 -0
  157. data/vendor/behave/examples/async_step/testrun_example.async_dispatch.txt +11 -0
  158. data/vendor/behave/examples/async_step/testrun_example.async_run.txt +9 -0
  159. data/vendor/behave/examples/env_vars/README.rst +26 -0
  160. data/vendor/behave/examples/env_vars/behave.ini +15 -0
  161. data/vendor/behave/examples/env_vars/behave_run.output_example.txt +12 -0
  162. data/vendor/behave/examples/env_vars/features/env_var.feature +6 -0
  163. data/vendor/behave/examples/env_vars/features/steps/env_var_steps.py +38 -0
  164. data/vendor/behave/features/README.txt +12 -0
  165. data/vendor/behave/features/background.feature +392 -0
  166. data/vendor/behave/features/capture_stderr.feature +172 -0
  167. data/vendor/behave/features/capture_stdout.feature +125 -0
  168. data/vendor/behave/features/cmdline.lang_list.feature +33 -0
  169. data/vendor/behave/features/configuration.default_paths.feature +116 -0
  170. data/vendor/behave/features/context.global_params.feature +35 -0
  171. data/vendor/behave/features/context.local_params.feature +17 -0
  172. data/vendor/behave/features/directory_layout.advanced.feature +147 -0
  173. data/vendor/behave/features/directory_layout.basic.feature +75 -0
  174. data/vendor/behave/features/directory_layout.basic2.feature +87 -0
  175. data/vendor/behave/features/environment.py +53 -0
  176. data/vendor/behave/features/exploratory_testing.with_table.feature +141 -0
  177. data/vendor/behave/features/feature.description.feature +0 -0
  178. data/vendor/behave/features/feature.exclude_from_run.feature +96 -0
  179. data/vendor/behave/features/formatter.help.feature +30 -0
  180. data/vendor/behave/features/formatter.json.feature +420 -0
  181. data/vendor/behave/features/formatter.progress3.feature +235 -0
  182. data/vendor/behave/features/formatter.rerun.feature +296 -0
  183. data/vendor/behave/features/formatter.steps.feature +181 -0
  184. data/vendor/behave/features/formatter.steps_catalog.feature +100 -0
  185. data/vendor/behave/features/formatter.steps_doc.feature +140 -0
  186. data/vendor/behave/features/formatter.steps_usage.feature +404 -0
  187. data/vendor/behave/features/formatter.tags.feature +134 -0
  188. data/vendor/behave/features/formatter.tags_location.feature +183 -0
  189. data/vendor/behave/features/formatter.user_defined.feature +196 -0
  190. data/vendor/behave/features/i18n.unicode_problems.feature +445 -0
  191. data/vendor/behave/features/logcapture.clear_handlers.feature +114 -0
  192. data/vendor/behave/features/logcapture.feature +188 -0
  193. data/vendor/behave/features/logcapture.filter.feature +130 -0
  194. data/vendor/behave/features/logging.no_capture.feature +99 -0
  195. data/vendor/behave/features/logging.setup_format.feature +157 -0
  196. data/vendor/behave/features/logging.setup_level.feature +168 -0
  197. data/vendor/behave/features/logging.setup_with_configfile.feature +137 -0
  198. data/vendor/behave/features/parser.background.sad_cases.feature +129 -0
  199. data/vendor/behave/features/parser.feature.sad_cases.feature +144 -0
  200. data/vendor/behave/features/runner.abort_by_user.feature +305 -0
  201. data/vendor/behave/features/runner.continue_after_failed_step.feature +136 -0
  202. data/vendor/behave/features/runner.default_format.feature +175 -0
  203. data/vendor/behave/features/runner.dry_run.feature +184 -0
  204. data/vendor/behave/features/runner.feature_listfile.feature +223 -0
  205. data/vendor/behave/features/runner.hook_errors.feature +382 -0
  206. data/vendor/behave/features/runner.multiple_formatters.feature +285 -0
  207. data/vendor/behave/features/runner.scenario_autoretry.feature +131 -0
  208. data/vendor/behave/features/runner.select_files_by_regexp.example.feature +71 -0
  209. data/vendor/behave/features/runner.select_files_by_regexp.feature +84 -0
  210. data/vendor/behave/features/runner.select_scenarios_by_file_location.feature +403 -0
  211. data/vendor/behave/features/runner.select_scenarios_by_name.feature +289 -0
  212. data/vendor/behave/features/runner.select_scenarios_by_tag.feature +225 -0
  213. data/vendor/behave/features/runner.stop_after_failure.feature +122 -0
  214. data/vendor/behave/features/runner.tag_logic.feature +67 -0
  215. data/vendor/behave/features/runner.unknown_formatter.feature +23 -0
  216. data/vendor/behave/features/runner.use_stage_implementations.feature +126 -0
  217. data/vendor/behave/features/scenario.description.feature +171 -0
  218. data/vendor/behave/features/scenario.exclude_from_run.feature +217 -0
  219. data/vendor/behave/features/scenario_outline.basics.feature +100 -0
  220. data/vendor/behave/features/scenario_outline.improved.feature +177 -0
  221. data/vendor/behave/features/scenario_outline.name_annotation.feature +157 -0
  222. data/vendor/behave/features/scenario_outline.parametrized.feature +401 -0
  223. data/vendor/behave/features/scenario_outline.tagged_examples.feature +118 -0
  224. data/vendor/behave/features/step.async_steps.feature +225 -0
  225. data/vendor/behave/features/step.duplicated_step.feature +106 -0
  226. data/vendor/behave/features/step.execute_steps.feature +59 -0
  227. data/vendor/behave/features/step.execute_steps.with_table.feature +65 -0
  228. data/vendor/behave/features/step.import_other_step_module.feature +103 -0
  229. data/vendor/behave/features/step.pending_steps.feature +128 -0
  230. data/vendor/behave/features/step.undefined_steps.feature +307 -0
  231. data/vendor/behave/features/step.use_step_library.feature +44 -0
  232. data/vendor/behave/features/step_dialect.generic_steps.feature +189 -0
  233. data/vendor/behave/features/step_dialect.given_when_then.feature +89 -0
  234. data/vendor/behave/features/step_param.builtin_types.with_float.feature +239 -0
  235. data/vendor/behave/features/step_param.builtin_types.with_integer.feature +305 -0
  236. data/vendor/behave/features/step_param.custom_types.feature +134 -0
  237. data/vendor/behave/features/steps/behave_active_tags_steps.py +86 -0
  238. data/vendor/behave/features/steps/behave_context_steps.py +67 -0
  239. data/vendor/behave/features/steps/behave_model_tag_logic_steps.py +105 -0
  240. data/vendor/behave/features/steps/behave_model_util.py +105 -0
  241. data/vendor/behave/features/steps/behave_select_files_steps.py +83 -0
  242. data/vendor/behave/features/steps/behave_tag_expression_steps.py +166 -0
  243. data/vendor/behave/features/steps/behave_undefined_steps.py +101 -0
  244. data/vendor/behave/features/steps/use_steplib_behave4cmd.py +12 -0
  245. data/vendor/behave/features/summary.undefined_steps.feature +114 -0
  246. data/vendor/behave/features/tags.active_tags.feature +385 -0
  247. data/vendor/behave/features/tags.default_tags.feature +104 -0
  248. data/vendor/behave/features/tags.tag_expression.feature +105 -0
  249. data/vendor/behave/features/userdata.feature +331 -0
  250. data/vendor/behave/invoke.yaml +21 -0
  251. data/vendor/behave/issue.features/README.txt +17 -0
  252. data/vendor/behave/issue.features/environment.py +97 -0
  253. data/vendor/behave/issue.features/issue0030.feature +21 -0
  254. data/vendor/behave/issue.features/issue0031.feature +16 -0
  255. data/vendor/behave/issue.features/issue0032.feature +28 -0
  256. data/vendor/behave/issue.features/issue0035.feature +74 -0
  257. data/vendor/behave/issue.features/issue0040.feature +154 -0
  258. data/vendor/behave/issue.features/issue0041.feature +135 -0
  259. data/vendor/behave/issue.features/issue0042.feature +230 -0
  260. data/vendor/behave/issue.features/issue0044.feature +51 -0
  261. data/vendor/behave/issue.features/issue0046.feature +77 -0
  262. data/vendor/behave/issue.features/issue0052.feature +66 -0
  263. data/vendor/behave/issue.features/issue0059.feature +29 -0
  264. data/vendor/behave/issue.features/issue0063.feature +102 -0
  265. data/vendor/behave/issue.features/issue0064.feature +97 -0
  266. data/vendor/behave/issue.features/issue0065.feature +18 -0
  267. data/vendor/behave/issue.features/issue0066.feature +80 -0
  268. data/vendor/behave/issue.features/issue0067.feature +90 -0
  269. data/vendor/behave/issue.features/issue0069.feature +64 -0
  270. data/vendor/behave/issue.features/issue0072.feature +32 -0
  271. data/vendor/behave/issue.features/issue0073.feature +228 -0
  272. data/vendor/behave/issue.features/issue0075.feature +18 -0
  273. data/vendor/behave/issue.features/issue0077.feature +89 -0
  274. data/vendor/behave/issue.features/issue0080.feature +49 -0
  275. data/vendor/behave/issue.features/issue0081.feature +138 -0
  276. data/vendor/behave/issue.features/issue0083.feature +69 -0
  277. data/vendor/behave/issue.features/issue0084.feature +69 -0
  278. data/vendor/behave/issue.features/issue0085.feature +119 -0
  279. data/vendor/behave/issue.features/issue0092.feature +66 -0
  280. data/vendor/behave/issue.features/issue0096.feature +173 -0
  281. data/vendor/behave/issue.features/issue0099.feature +130 -0
  282. data/vendor/behave/issue.features/issue0109.feature +60 -0
  283. data/vendor/behave/issue.features/issue0111.feature +53 -0
  284. data/vendor/behave/issue.features/issue0112.feature +64 -0
  285. data/vendor/behave/issue.features/issue0114.feature +118 -0
  286. data/vendor/behave/issue.features/issue0116.feature +71 -0
  287. data/vendor/behave/issue.features/issue0125.feature +49 -0
  288. data/vendor/behave/issue.features/issue0127.feature +64 -0
  289. data/vendor/behave/issue.features/issue0139.feature +67 -0
  290. data/vendor/behave/issue.features/issue0142.feature +37 -0
  291. data/vendor/behave/issue.features/issue0143.feature +54 -0
  292. data/vendor/behave/issue.features/issue0145.feature +63 -0
  293. data/vendor/behave/issue.features/issue0148.feature +105 -0
  294. data/vendor/behave/issue.features/issue0152.feature +52 -0
  295. data/vendor/behave/issue.features/issue0159.feature +74 -0
  296. data/vendor/behave/issue.features/issue0162.feature +86 -0
  297. data/vendor/behave/issue.features/issue0171.feature +16 -0
  298. data/vendor/behave/issue.features/issue0172.feature +51 -0
  299. data/vendor/behave/issue.features/issue0175.feature +91 -0
  300. data/vendor/behave/issue.features/issue0177.feature +40 -0
  301. data/vendor/behave/issue.features/issue0181.feature +36 -0
  302. data/vendor/behave/issue.features/issue0184.feature +144 -0
  303. data/vendor/behave/issue.features/issue0186.feature +12 -0
  304. data/vendor/behave/issue.features/issue0188.feature +60 -0
  305. data/vendor/behave/issue.features/issue0191.feature +178 -0
  306. data/vendor/behave/issue.features/issue0194.feature +215 -0
  307. data/vendor/behave/issue.features/issue0197.feature +11 -0
  308. data/vendor/behave/issue.features/issue0216.feature +129 -0
  309. data/vendor/behave/issue.features/issue0226.feature +51 -0
  310. data/vendor/behave/issue.features/issue0228.feature +41 -0
  311. data/vendor/behave/issue.features/issue0230.feature +46 -0
  312. data/vendor/behave/issue.features/issue0231.feature +77 -0
  313. data/vendor/behave/issue.features/issue0238.feature +52 -0
  314. data/vendor/behave/issue.features/issue0251.feature +15 -0
  315. data/vendor/behave/issue.features/issue0280.feature +118 -0
  316. data/vendor/behave/issue.features/issue0288.feature +95 -0
  317. data/vendor/behave/issue.features/issue0300.feature +49 -0
  318. data/vendor/behave/issue.features/issue0302.feature +91 -0
  319. data/vendor/behave/issue.features/issue0309.feature +52 -0
  320. data/vendor/behave/issue.features/issue0330.feature +124 -0
  321. data/vendor/behave/issue.features/issue0349.feature +9 -0
  322. data/vendor/behave/issue.features/issue0361.feature +79 -0
  323. data/vendor/behave/issue.features/issue0383.feature +76 -0
  324. data/vendor/behave/issue.features/issue0384.feature +103 -0
  325. data/vendor/behave/issue.features/issue0385.feature +109 -0
  326. data/vendor/behave/issue.features/issue0424.feature +66 -0
  327. data/vendor/behave/issue.features/issue0446.feature +116 -0
  328. data/vendor/behave/issue.features/issue0449.feature +42 -0
  329. data/vendor/behave/issue.features/issue0453.feature +42 -0
  330. data/vendor/behave/issue.features/issue0457.feature +65 -0
  331. data/vendor/behave/issue.features/issue0462.feature +38 -0
  332. data/vendor/behave/issue.features/issue0476.feature +39 -0
  333. data/vendor/behave/issue.features/issue0487.feature +92 -0
  334. data/vendor/behave/issue.features/issue0506.feature +77 -0
  335. data/vendor/behave/issue.features/issue0510.feature +51 -0
  336. data/vendor/behave/issue.features/requirements.txt +12 -0
  337. data/vendor/behave/issue.features/steps/ansi_steps.py +20 -0
  338. data/vendor/behave/issue.features/steps/behave_hooks_steps.py +10 -0
  339. data/vendor/behave/issue.features/steps/use_steplib_behave4cmd.py +13 -0
  340. data/vendor/behave/more.features/formatter.json.validate_output.feature +37 -0
  341. data/vendor/behave/more.features/steps/tutorial_steps.py +16 -0
  342. data/vendor/behave/more.features/steps/use_steplib_behave4cmd.py +7 -0
  343. data/vendor/behave/more.features/tutorial.feature +6 -0
  344. data/vendor/behave/py.requirements/README.txt +5 -0
  345. data/vendor/behave/py.requirements/all.txt +16 -0
  346. data/vendor/behave/py.requirements/basic.txt +21 -0
  347. data/vendor/behave/py.requirements/develop.txt +28 -0
  348. data/vendor/behave/py.requirements/docs.txt +6 -0
  349. data/vendor/behave/py.requirements/json.txt +7 -0
  350. data/vendor/behave/py.requirements/more_py26.txt +8 -0
  351. data/vendor/behave/py.requirements/testing.txt +10 -0
  352. data/vendor/behave/pytest.ini +24 -0
  353. data/vendor/behave/setup.cfg +29 -0
  354. data/vendor/behave/setup.py +118 -0
  355. data/vendor/behave/setuptools_behave.py +130 -0
  356. data/vendor/behave/tasks/__behave.py +45 -0
  357. data/vendor/behave/tasks/__init__.py +55 -0
  358. data/vendor/behave/tasks/__main__.py +70 -0
  359. data/vendor/behave/tasks/_setup.py +135 -0
  360. data/vendor/behave/tasks/_vendor/README.rst +35 -0
  361. data/vendor/behave/tasks/_vendor/invoke.zip +0 -0
  362. data/vendor/behave/tasks/_vendor/path.py +1725 -0
  363. data/vendor/behave/tasks/_vendor/pathlib.py +1280 -0
  364. data/vendor/behave/tasks/_vendor/six.py +868 -0
  365. data/vendor/behave/tasks/clean.py +246 -0
  366. data/vendor/behave/tasks/docs.py +97 -0
  367. data/vendor/behave/tasks/requirements.txt +17 -0
  368. data/vendor/behave/tasks/test.py +192 -0
  369. data/vendor/behave/test/__init__.py +0 -0
  370. data/vendor/behave/test/_importer_candidate.py +3 -0
  371. data/vendor/behave/test/reporters/__init__.py +0 -0
  372. data/vendor/behave/test/reporters/test_summary.py +240 -0
  373. data/vendor/behave/test/test_ansi_escapes.py +73 -0
  374. data/vendor/behave/test/test_configuration.py +172 -0
  375. data/vendor/behave/test/test_formatter.py +265 -0
  376. data/vendor/behave/test/test_formatter_progress.py +39 -0
  377. data/vendor/behave/test/test_formatter_rerun.py +97 -0
  378. data/vendor/behave/test/test_formatter_tags.py +57 -0
  379. data/vendor/behave/test/test_importer.py +151 -0
  380. data/vendor/behave/test/test_log_capture.py +29 -0
  381. data/vendor/behave/test/test_matchers.py +236 -0
  382. data/vendor/behave/test/test_model.py +871 -0
  383. data/vendor/behave/test/test_parser.py +1590 -0
  384. data/vendor/behave/test/test_runner.py +1074 -0
  385. data/vendor/behave/test/test_step_registry.py +96 -0
  386. data/vendor/behave/test/test_tag_expression.py +506 -0
  387. data/vendor/behave/test/test_tag_expression2.py +462 -0
  388. data/vendor/behave/test/test_tag_matcher.py +729 -0
  389. data/vendor/behave/test/test_userdata.py +184 -0
  390. data/vendor/behave/tests/README.txt +12 -0
  391. data/vendor/behave/tests/__init__.py +0 -0
  392. data/vendor/behave/tests/api/__ONLY_PY34_or_newer.txt +0 -0
  393. data/vendor/behave/tests/api/__init__.py +0 -0
  394. data/vendor/behave/tests/api/_test_async_step34.py +130 -0
  395. data/vendor/behave/tests/api/_test_async_step35.py +75 -0
  396. data/vendor/behave/tests/api/test_async_step.py +18 -0
  397. data/vendor/behave/tests/api/testing_support.py +94 -0
  398. data/vendor/behave/tests/api/testing_support_async.py +21 -0
  399. data/vendor/behave/tests/issues/test_issue0336.py +66 -0
  400. data/vendor/behave/tests/issues/test_issue0449.py +55 -0
  401. data/vendor/behave/tests/issues/test_issue0453.py +62 -0
  402. data/vendor/behave/tests/issues/test_issue0458.py +54 -0
  403. data/vendor/behave/tests/issues/test_issue0495.py +65 -0
  404. data/vendor/behave/tests/unit/__init__.py +0 -0
  405. data/vendor/behave/tests/unit/test_behave4cmd_command_shell_proc.py +135 -0
  406. data/vendor/behave/tests/unit/test_capture.py +280 -0
  407. data/vendor/behave/tests/unit/test_model_core.py +56 -0
  408. data/vendor/behave/tests/unit/test_textutil.py +267 -0
  409. data/vendor/behave/tools/test-features/background.feature +9 -0
  410. data/vendor/behave/tools/test-features/environment.py +8 -0
  411. data/vendor/behave/tools/test-features/french.feature +11 -0
  412. data/vendor/behave/tools/test-features/outline.feature +39 -0
  413. data/vendor/behave/tools/test-features/parse.feature +10 -0
  414. data/vendor/behave/tools/test-features/step-data.feature +60 -0
  415. data/vendor/behave/tools/test-features/steps/steps.py +120 -0
  416. data/vendor/behave/tools/test-features/tags.feature +18 -0
  417. data/vendor/behave/tox.ini +159 -0
  418. metadata +562 -0
@@ -0,0 +1,230 @@
1
+ @issue
2
+ Feature: Issue #42 Nice to have snippets for all unimplemented steps taking into account of the tags fltering
3
+
4
+ As a user
5
+ I want that all undefined steps are reported,
6
+ not only just the first one in a scenario.
7
+
8
+ In addition, all known steps after the first undefined step in a scenario
9
+ should be marked as skipped (even failing ones).
10
+
11
+
12
+ Background: Test Setup
13
+ Given a new working directory
14
+ And a file named "features/steps/steps.py" with:
15
+ """
16
+ from behave import given, when, then
17
+
18
+ @given(u'I enter a "{name}"')
19
+ def step(context, name):
20
+ context.name = name
21
+
22
+ @when(u'I enter a "{name}"')
23
+ def step(context, name):
24
+ context.name = name
25
+
26
+ @then(u'the name is "{name}"')
27
+ def step(context, name):
28
+ assert context.name == name
29
+ """
30
+
31
+ Scenario: One undefined step in a scenario
32
+ Given a file named "features/issue42_missing1.feature" with:
33
+ """
34
+ Feature: Missing Given-Step in a Scenario
35
+ Scenario:
36
+ Given an unknown step
37
+ When I enter a "Alice"
38
+ Then the name is "Alice"
39
+ """
40
+ When I run "behave -f plain features/issue42_missing1.feature"
41
+ Then it should fail with:
42
+ """
43
+ 0 steps passed, 0 failed, 2 skipped, 1 undefined
44
+ """
45
+ And the command output should contain:
46
+ """
47
+ You can implement step definitions for undefined steps with these snippets:
48
+ @given(u'an unknown step')
49
+ def step_impl(context):
50
+ raise NotImplementedError(u'STEP: Given an unknown step')
51
+ """
52
+
53
+ Scenario: Two undefined steps in a scenario
54
+ Given a file named "features/issue42_missing2.feature" with:
55
+ """
56
+ Feature: Missing Given and When steps in a Scenario
57
+ Scenario:
58
+ Given an unknown step
59
+ When another unknown step
60
+ And I enter a "Alice"
61
+ Then the name is "Alice"
62
+ """
63
+ When I run "behave -f plain features/issue42_missing2.feature"
64
+ Then it should fail with:
65
+ """
66
+ 0 steps passed, 0 failed, 2 skipped, 2 undefined
67
+ """
68
+ And the command output should contain:
69
+ """
70
+ You can implement step definitions for undefined steps with these snippets:
71
+ @given(u'an unknown step')
72
+ def step_impl(context):
73
+ raise NotImplementedError(u'STEP: Given an unknown step')
74
+
75
+ @when(u'another unknown step')
76
+ def step_impl(context):
77
+ raise NotImplementedError(u'STEP: When another unknown step')
78
+ """
79
+
80
+ Scenario: Two undefined steps in the middle with passing steps
81
+ Given a file named "features/issue42_missing3.feature" with:
82
+ """
83
+ Feature: Missing 2 When steps after passing step
84
+ Scenario:
85
+ When I enter a "Alice"
86
+ And an unknown step
87
+ And another unknown step
88
+ Then the name is "Alice"
89
+ """
90
+ When I run "behave -f plain features/issue42_missing3.feature"
91
+ Then it should fail with:
92
+ """
93
+ 1 step passed, 0 failed, 1 skipped, 2 undefined
94
+ """
95
+ And the command output should contain:
96
+ """
97
+ You can implement step definitions for undefined steps with these snippets:
98
+ @when(u'an unknown step')
99
+ def step_impl(context):
100
+ raise NotImplementedError(u'STEP: When an unknown step')
101
+
102
+ @when(u'another unknown step')
103
+ def step_impl(context):
104
+ raise NotImplementedError(u'STEP: When another unknown step')
105
+ """
106
+
107
+ Scenario: Undefined steps are detected if they occur after a failing step
108
+ Given a file named "features/issue42_missing4.feature" with:
109
+ """
110
+ Feature: Missing 2 When steps after passing step
111
+ Scenario:
112
+ When I enter a "Alice"
113
+ Then the name is "Bob"
114
+ And an unknown step
115
+ And another unknown step
116
+ """
117
+ When I run "behave -f plain features/issue42_missing4.feature"
118
+ Then it should fail with:
119
+ """
120
+ 1 step passed, 1 failed, 0 skipped, 2 undefined
121
+ """
122
+ And the command output should contain:
123
+ """
124
+ You can implement step definitions for undefined steps with these snippets:
125
+ @then(u'an unknown step')
126
+ def step_impl(context):
127
+ raise NotImplementedError(u'STEP: Then an unknown step')
128
+
129
+ @then(u'another unknown step')
130
+ def step_impl(context):
131
+ raise NotImplementedError(u'STEP: Then another unknown step')
132
+ """
133
+
134
+ Scenario: Failing step after first undefined step should be marked as skipped
135
+ Given a file named "features/issue42_missing4.feature" with:
136
+ """
137
+ Feature: Missing 2 When steps after passing step
138
+ Scenario:
139
+ When I enter a "Alice"
140
+ And an unknown step
141
+ Then the name is "Bob"
142
+ And another unknown step
143
+ """
144
+ When I run "behave -f plain features/issue42_missing4.feature"
145
+ Then it should fail with:
146
+ """
147
+ 1 step passed, 0 failed, 1 skipped, 2 undefined
148
+ """
149
+ And the command output should contain:
150
+ """
151
+ You can implement step definitions for undefined steps with these snippets:
152
+ @when(u'an unknown step')
153
+ def step_impl(context):
154
+ raise NotImplementedError(u'STEP: When an unknown step')
155
+
156
+ @then(u'another unknown step')
157
+ def step_impl(context):
158
+ raise NotImplementedError(u'STEP: Then another unknown step')
159
+ """
160
+
161
+ Scenario: Two undefined steps in scenario outline
162
+ Given a file named "features/issue42_missing5.feature" with:
163
+ """
164
+ Feature: Missing Given and When Step in a Scenario Outline
165
+ Scenario Outline:
166
+ Given an unknown step
167
+ When another unknown step
168
+ And I enter a "<name>"
169
+ Then the name is "<name>"
170
+
171
+ Examples:
172
+ |name |
173
+ |Alice|
174
+ |Bob |
175
+ """
176
+ When I run "behave -f plain features/issue42_missing5.feature"
177
+ Then it should fail with:
178
+ """
179
+ 0 steps passed, 0 failed, 4 skipped, 4 undefined
180
+ """
181
+ And the command output should contain:
182
+ """
183
+ You can implement step definitions for undefined steps with these snippets:
184
+ @given(u'an unknown step')
185
+ def step_impl(context):
186
+ raise NotImplementedError(u'STEP: Given an unknown step')
187
+
188
+ @when(u'another unknown step')
189
+ def step_impl(context):
190
+ raise NotImplementedError(u'STEP: When another unknown step')
191
+ """
192
+
193
+ Scenario: Two undefined steps and run with tags
194
+ Given a file named "features/issue42_missing6.feature" with:
195
+ """
196
+ Feature: Missing steps in tagged scenarios
197
+ @tag1
198
+ Scenario:
199
+ When I enter a "Alice"
200
+ And an unknown step
201
+ Then the name is "Bob"
202
+
203
+ @tag1
204
+ Scenario:
205
+ When I enter a "Alice"
206
+ And another unknown step
207
+ Then the name is "Bob"
208
+
209
+ @another_tag
210
+ Scenario:
211
+ When I enter a "Alice"
212
+ And yet another unknown step
213
+ Then the name is "Bob"
214
+ """
215
+ When I run "behave -f plain --tags tag1 features/issue42_missing6.feature"
216
+ Then it should fail with:
217
+ """
218
+ 2 steps passed, 0 failed, 5 skipped, 2 undefined
219
+ """
220
+ And the command output should contain:
221
+ """
222
+ You can implement step definitions for undefined steps with these snippets:
223
+ @when(u'an unknown step')
224
+ def step_impl(context):
225
+ raise NotImplementedError(u'STEP: When an unknown step')
226
+
227
+ @when(u'another unknown step')
228
+ def step_impl(context):
229
+ raise NotImplementedError(u'STEP: When another unknown step')
230
+ """
@@ -0,0 +1,51 @@
1
+ @issue
2
+ Feature: Issue #44 Shell-like comments are removed in Multiline Args
3
+
4
+ As I user
5
+ I want that multiline arguments (docstrings) contents are preserved.
6
+
7
+ Background: Test Setup
8
+ Given a new working directory
9
+ And a file named "features/steps/steps.py" with:
10
+ """
11
+ from behave import given, when, then
12
+ from hamcrest import assert_that, equal_to
13
+
14
+ @given(u'a multiline text argument with')
15
+ def step(context):
16
+ context.expected_text = context.text
17
+
18
+ @then(u'the multiline text argument should be')
19
+ def step(context):
20
+ assert_that(context.text, equal_to(context.expected_text))
21
+ """
22
+
23
+ Scenario: Ensure shell comment lines are not filtered out in multiline text
24
+ Given a file named "features/issue44_test.feature" with:
25
+ '''
26
+ Feature: Multiline text with shell comment lines
27
+ Scenario:
28
+ Given a multiline text argument with:
29
+ """
30
+ Lorem ipsum.
31
+ # THIS IS A SHELL COMMENT.
32
+ Ipsum lorem.
33
+ """
34
+ Then the multiline text argument should be:
35
+ """
36
+ Lorem ipsum.
37
+ # THIS IS A SHELL COMMENT.
38
+ Ipsum lorem.
39
+ """
40
+ '''
41
+ When I run "behave -c -f pretty features/issue44_test.feature"
42
+ Then it should pass
43
+ And the command output should contain:
44
+ """
45
+ # THIS IS A SHELL COMMENT.
46
+ """
47
+ But the command output should not contain:
48
+ """
49
+ Lorem ipsum.
50
+ Ipsum lorem.
51
+ """
@@ -0,0 +1,77 @@
1
+ @issue
2
+ Feature: Issue #46 Behave returns 0 (SUCCESS) even in case of test failures
3
+
4
+ As I behave user
5
+ I want to detect test success or test failures
6
+ By using the process return value, 0 (SUCCESS) and non-zero for failure.
7
+
8
+ Background: Test Setup
9
+ Given a new working directory
10
+ Given a file named "features/steps/steps.py" with:
11
+ """
12
+ from behave import given
13
+
14
+ @given(u'passing')
15
+ def step(context):
16
+ pass
17
+
18
+ @given(u'failing')
19
+ def step(context):
20
+ assert False, "failing"
21
+ """
22
+
23
+ Scenario: Successful Execution
24
+ Given a file named "features/passing.feature" with:
25
+ """
26
+ Feature: Passing
27
+ Scenario: Passing Scenario Example
28
+ Given passing
29
+ """
30
+ When I run "behave -c -q features/passing.feature"
31
+ Then it should pass with:
32
+ """
33
+ 1 feature passed, 0 failed, 0 skipped
34
+ 1 scenario passed, 0 failed, 0 skipped
35
+ 1 step passed, 0 failed, 0 skipped, 0 undefined
36
+ """
37
+
38
+ Scenario: Failing Execution
39
+ Given a file named "features/failing.feature" with:
40
+ """
41
+ Feature: Failing
42
+ Scenario: Failing Scenario Example
43
+ Given failing
44
+ """
45
+ When I run "behave -c -q features/failing.feature"
46
+ Then it should fail with:
47
+ """
48
+ 0 features passed, 1 failed, 0 skipped
49
+ 0 scenarios passed, 1 failed, 0 skipped
50
+ 0 steps passed, 1 failed, 0 skipped, 0 undefined
51
+ """
52
+
53
+ Scenario: Passing and Failing Execution
54
+ Given a file named "features/passing_and_failing.feature" with:
55
+ """
56
+ Feature: Passing and Failing
57
+ Scenario: Passing Scenario Example
58
+ Given passing
59
+ Scenario: Failing Scenario Example
60
+ Given failing
61
+ """
62
+ When I run "behave -c -q features/passing_and_failing.feature"
63
+ Then it should fail with:
64
+ """
65
+ 0 features passed, 1 failed, 0 skipped
66
+ 1 scenario passed, 1 failed, 0 skipped
67
+ 1 step passed, 1 failed, 0 skipped, 0 undefined
68
+ """
69
+ And the command output should contain:
70
+ """
71
+ Feature: Passing and Failing
72
+ Scenario: Passing Scenario Example
73
+ Given passing
74
+ Scenario: Failing Scenario Example
75
+ Given failing
76
+ Assertion Failed: failing
77
+ """
@@ -0,0 +1,66 @@
1
+ @issue
2
+ Feature: Issue #52 Summary counts are wrong with option --tags
3
+
4
+ Wrong summary counts are shown for skipped and failed scenarios
5
+ when option --tags=done is used (and some scenarios are skipped).
6
+
7
+
8
+ Background: Test Setup
9
+ Given a new working directory
10
+ Given a file named "features/steps/steps.py" with:
11
+ """
12
+ from behave import given
13
+
14
+ @given(u'passing')
15
+ def step(context):
16
+ pass
17
+
18
+ @given(u'failing')
19
+ def step(context):
20
+ assert False, "failing"
21
+ """
22
+
23
+ Scenario: Successful Execution of Tagged Scenario
24
+ Given a file named "features/tagged_scenario1.feature" with:
25
+ """
26
+ Feature: Passing tagged Scenario
27
+ @done
28
+ Scenario: P1
29
+ Given passing
30
+
31
+ @unimplemented
32
+ Scenario: N1
33
+ Given passing
34
+ @unimplemented
35
+ Scenario: N2
36
+ Given passing
37
+ """
38
+ When I run "behave --junit -c --tags @done features/tagged_scenario1.feature"
39
+ Then it should pass with:
40
+ """
41
+ 1 feature passed, 0 failed, 0 skipped
42
+ 1 scenario passed, 0 failed, 2 skipped
43
+ """
44
+
45
+ Scenario: Failing Execution of Tagged Scenario
46
+ Given a file named "features/tagged_scenario2.feature" with:
47
+ """
48
+ Feature: Failing tagged Scenario
49
+ @done
50
+ Scenario: F1
51
+ Given failing
52
+
53
+ @unimplemented
54
+ Scenario: N1
55
+ Given passing
56
+ @unimplemented
57
+ Scenario: N2
58
+ Given passing
59
+ """
60
+ When I run "behave --junit -c --tags @done features/tagged_scenario2.feature"
61
+ Then it should fail
62
+ And the command output should contain:
63
+ """
64
+ 0 features passed, 1 failed, 0 skipped
65
+ 0 scenarios passed, 1 failed, 2 skipped
66
+ """
@@ -0,0 +1,29 @@
1
+ @issue
2
+ Feature: Issue #59 Fatal error when using --format=json
3
+
4
+ Using the JSON formatter caused a fatal error.
5
+
6
+ Background: Test Setup
7
+ Given a new working directory
8
+ And a file named "features/steps/steps.py" with:
9
+ """
10
+ from behave import given
11
+
12
+ @given(u'passing')
13
+ def step(context):
14
+ pass
15
+ """
16
+ And a file named "features/issue59_test.feature" with:
17
+ """
18
+ Feature: Passing tagged Scenario
19
+ Scenario: P1
20
+ Given passing
21
+ """
22
+
23
+ Scenario: Use the JSONFormatter
24
+ When I run "behave --format=json features/issue59_test.feature"
25
+ Then it should pass with:
26
+ """
27
+ 1 feature passed, 0 failed, 0 skipped
28
+ 1 scenario passed, 0 failed, 0 skipped
29
+ """