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,130 @@
1
+ @issue
2
+ Feature: Issue #99: Layout variation "a directory containing your feature files" is broken for running single features
3
+
4
+ . When I use a layout as described in the 1.2.2 documentation,
5
+ . I can only specify a whole directory of feature files to run.
6
+ . Specifying a single feature file results in an error from behave:
7
+ .
8
+ . $ behave -v tests/feature/webui/features/feature_under_test.feature
9
+ . ...
10
+ . Supplied path: "tests/feature/webui/features/feature_under_test.feature"
11
+ . Primary path is to a file so using its directory
12
+ . Trying base directory: .../tests/feature/webui/features
13
+ . Trying base directory: .../tests/feature/webui
14
+ . ERROR: Could not find "steps" directory in your specified path '.../tests/feature/webui/features'
15
+ . No steps directory in '.../tests/feature/webui/features'
16
+ .
17
+ . My directory layout is as follows:
18
+ .
19
+ . .../tests/feature/webui/
20
+ . +-- features/
21
+ . +-- steps/
22
+ . +-- environment.py
23
+ .
24
+ . SEE ALSO:
25
+ . * http://packages.python.org/behave/gherkin.html#layout-variations
26
+
27
+
28
+ Background:
29
+ Given a new working directory
30
+ And a file named "root/steps/steps.py" with:
31
+ """
32
+ from behave import step
33
+
34
+ @step(u'a step passes')
35
+ def step_passes(context):
36
+ pass
37
+ """
38
+ And a file named "root/features/alice.feature" with:
39
+ """
40
+ Feature: Alice
41
+ Scenario:
42
+ Given a step passes
43
+ """
44
+ And a file named "root/features/bob.feature" with:
45
+ """
46
+ Feature: Bob
47
+ Scenario:
48
+ Given a step passes
49
+ """
50
+ And a file named "root/features2/charly.feature" with:
51
+ """
52
+ Feature: Charly
53
+ Scenario:
54
+ When a step passes
55
+ """
56
+
57
+ Scenario: Run features with root directory
58
+ When I run "behave -f plain --no-timings root"
59
+ Then it should pass with:
60
+ """
61
+ 3 features passed, 0 failed, 0 skipped
62
+ 3 scenarios passed, 0 failed, 0 skipped
63
+ 3 steps passed, 0 failed, 0 skipped, 0 undefined
64
+ """
65
+ And the command output should contain:
66
+ """
67
+ Feature: Alice
68
+ Scenario:
69
+ Given a step passes ... passed
70
+ Feature: Bob
71
+ Scenario:
72
+ Given a step passes ... passed
73
+ Feature: Charly
74
+ Scenario:
75
+ When a step passes ... passed
76
+ """
77
+
78
+ Scenario: Run features with root/features directory
79
+ When I run "behave -f plain --no-timings root/features"
80
+ Then it should pass with:
81
+ """
82
+ 2 features passed, 0 failed, 0 skipped
83
+ 2 scenarios passed, 0 failed, 0 skipped
84
+ 2 steps passed, 0 failed, 0 skipped, 0 undefined
85
+ """
86
+ And the command output should contain:
87
+ """
88
+ Feature: Alice
89
+ Scenario:
90
+ Given a step passes ... passed
91
+ Feature: Bob
92
+ Scenario:
93
+ Given a step passes ... passed
94
+ """
95
+
96
+ Scenario: Run features with feature files
97
+ When I run "behave -f plain --no-timings root/features/alice.feature root/features2/charly.feature"
98
+ Then it should pass with:
99
+ """
100
+ 2 features passed, 0 failed, 0 skipped
101
+ 2 scenarios passed, 0 failed, 0 skipped
102
+ 2 steps passed, 0 failed, 0 skipped, 0 undefined
103
+ """
104
+ And the command output should contain:
105
+ """
106
+ Feature: Alice
107
+ Scenario:
108
+ Given a step passes ... passed
109
+ Feature: Charly
110
+ Scenario:
111
+ When a step passes ... passed
112
+ """
113
+
114
+ Scenario: Run features with feature dir and feature files (other ordering)
115
+ When I run "behave -f plain --no-timings root/features2 root/features/alice.feature"
116
+ Then it should pass with:
117
+ """
118
+ 2 features passed, 0 failed, 0 skipped
119
+ 2 scenarios passed, 0 failed, 0 skipped
120
+ 2 steps passed, 0 failed, 0 skipped, 0 undefined
121
+ """
122
+ And the command output should contain:
123
+ """
124
+ Feature: Charly
125
+ Scenario:
126
+ When a step passes ... passed
127
+ Feature: Alice
128
+ Scenario:
129
+ Given a step passes ... passed
130
+ """
@@ -0,0 +1,60 @@
1
+ @issue
2
+ Feature: Issue #109: Insists that implemented tests are not implemented
3
+
4
+ . STATUS: Resolved, not a behave problem.
5
+ .
6
+ . Following feature file marks implemented step "when I submit the following data"
7
+ . as not implemented.
8
+
9
+
10
+ Scenario:
11
+ Given a new working directory
12
+ And a file named "features/syndrome109.feature" with:
13
+ """
14
+ @wip
15
+ Feature: Manage accounts from the admin interface
16
+
17
+ Scenario: Login successfully via login form
18
+ Given I navigate to "/admin/"
19
+ when I submit the following data
20
+ | name | value |
21
+ | username | admin@foo.bar |
22
+ | password | pass |
23
+ then I see the word "Welcome"
24
+
25
+ Scenario: Create user via admin user creation form
26
+ Given I navigate to "/admin/users/user/add/"
27
+ when I submit the following data
28
+ | name | value |
29
+ | email | spaaaaaaaaaaaaaaaaaaam@ham.eggs |
30
+ | password1 | pass |
31
+ | password2 | pass |
32
+ then I see the word "successfully"
33
+ """
34
+ And a file named "features/steps/steps.py" with:
35
+ """
36
+ from behave import given, when, then
37
+
38
+ @given(u'I navigate to "{url}"')
39
+ def step_navigate_to_url(context, url):
40
+ pass
41
+
42
+ @when(u'I submit the following data')
43
+ def step_submit_data(context):
44
+ pass
45
+
46
+ @then(u'I see the word "{word}"')
47
+ def step_see_word(context, word):
48
+ pass
49
+ """
50
+ When I run "behave -w features/syndrome109.feature"
51
+ Then it should pass with:
52
+ """
53
+ 1 feature passed, 0 failed, 0 skipped
54
+ 2 scenarios passed, 0 failed, 0 skipped
55
+ 6 steps passed, 0 failed, 0 skipped, 0 undefined
56
+ """
57
+ And the command output should not contain:
58
+ """
59
+ You can implement step definitions for undefined steps with these snippets:
60
+ """
@@ -0,0 +1,53 @@
1
+ @issue
2
+ Feature: Issue #111: Comment following @wip tag results in scenario being ignored
3
+
4
+ . If a comment is placed after the @wip tag, the following scenario
5
+ . is ignored by behave:
6
+ .
7
+ . @wip # comment: this is work in progress
8
+ . Scenario: test scenario
9
+ .
10
+ . results in behave -w not running the "test scenario".
11
+ . After removing the comment, it runs as expected.
12
+
13
+
14
+ Scenario: Test Setup
15
+ Given a new working directory
16
+ And a file named "features/steps/passing_steps.py" with:
17
+ """
18
+ from behave import step
19
+
20
+ @step(u'a step passes')
21
+ def step_passes(context):
22
+ pass
23
+ """
24
+ And a file named "features/syndrome111.feature" with:
25
+ """
26
+ Feature:
27
+
28
+ @wip # Comment: blabla
29
+ Scenario: S1
30
+ Given a step passes
31
+
32
+ @wip @one # Comment: foobar
33
+ Scenario: S2
34
+ Given a step passes
35
+ """
36
+
37
+ Scenario: Scenario w/ comment on tag-line should run as normal
38
+ When I run "behave --wip features/syndrome111.feature"
39
+ Then it should pass with:
40
+ """
41
+ 1 feature passed, 0 failed, 0 skipped
42
+ 2 scenarios passed, 0 failed, 0 skipped
43
+ 2 steps passed, 0 failed, 0 skipped, 0 undefined
44
+ """
45
+
46
+ Scenario: Ensure 2nd scenario can be selected with other tag
47
+ When I run "behave -f plain --tags=one features/syndrome111.feature"
48
+ Then it should pass with:
49
+ """
50
+ 1 feature passed, 0 failed, 0 skipped
51
+ 1 scenario passed, 0 failed, 1 skipped
52
+ 1 step passed, 0 failed, 1 skipped, 0 undefined
53
+ """
@@ -0,0 +1,64 @@
1
+ @issue
2
+ @change_request
3
+ Feature: Issue #112: Improvement to AmbiguousStep error
4
+
5
+ . AmbiguousStep could be more useful if it also showed the existing string
6
+ . with which the new one is clashing. This is particularly useful
7
+ . if using step parameters.
8
+
9
+
10
+ Background:
11
+ Given a new working directory
12
+ And a file named "features/syndrome112.feature" with:
13
+ """
14
+ Feature:
15
+ Scenario:
16
+ Given I buy 10 oranges
17
+ """
18
+
19
+ Scenario: Good step ordering -- From specific to generic regular expression
20
+ Given a file named "features/steps/good_steps.py" with:
21
+ """
22
+ from behave import given, when, then
23
+
24
+ # -- ORDERING-IMPORTANT: From more specific steps to less specific.
25
+ @given(u'I buy {number:n} {items:w}')
26
+ def step_given_I_buy2(context, number, items):
27
+ pass
28
+
29
+ # -- OTHERWISE: Generic step matches all other patterns.
30
+ @given(u'I buy {amount} {product}')
31
+ def step_given_I_buy(context, amount, product):
32
+ pass
33
+ """
34
+ When I run "behave -c features/syndrome112.feature"
35
+ Then it should pass with:
36
+ """
37
+ 1 feature passed, 0 failed, 0 skipped
38
+ 1 scenario passed, 0 failed, 0 skipped
39
+ 1 step passed, 0 failed, 0 skipped, 0 undefined
40
+ """
41
+
42
+
43
+ Scenario: Bad step ordering causes AmbiguousStep
44
+ Given a file named "features/steps/bad_steps.py" with:
45
+ """
46
+ from behave import given, when, then
47
+
48
+ # -- ORDERING-VIOLATED: Generic step comes first.
49
+ @given(u'I buy {amount} {product}')
50
+ def step_given_I_buy(context, amount, product):
51
+ pass
52
+
53
+ # -- AMBIGUOUS-STEP: Will occur here.
54
+ @given(u'I buy {number:n} {items:w}')
55
+ def step_given_I_buy2(context, number, items):
56
+ pass
57
+ """
58
+ When I run "behave -c features/syndrome112.feature"
59
+ Then it should fail
60
+ And the command output should contain:
61
+ """
62
+ AmbiguousStep: @given('I buy {number:n} {items:w}') has already been defined in
63
+ existing step @given('I buy {amount} {product}') at features/steps/bad_steps.py:4
64
+ """
@@ -0,0 +1,118 @@
1
+ @issue
2
+ @change_request
3
+ Feature: Issue #114: Avoid unnecessary blank lines w/ --no-skipped option
4
+
5
+ . Unnessary blank lines appear when you use (for each skipped feature):
6
+ .
7
+ . behave -f progress --tags=@one --no-skipped ...
8
+
9
+ @setup
10
+ Scenario: Feature Setup
11
+ Given a new working directory
12
+ And a file named "features/steps/passing_steps.py" with:
13
+ """
14
+ from behave import step
15
+
16
+ @step(u'a step passes')
17
+ def step_passes(context):
18
+ pass
19
+ """
20
+ And a file named "features/e1.feature" with:
21
+ """
22
+ @example
23
+ Feature: E1
24
+ Scenario: S1.1
25
+ Given a step passes
26
+ """
27
+ And a file named "features/e2.feature" with:
28
+ """
29
+ @exclude
30
+ Feature: E2
31
+ Scenario: S2.1
32
+ Given a step passes
33
+ """
34
+ And a file named "features/e3.feature" with:
35
+ """
36
+ @example
37
+ Feature: E3
38
+ Scenario: S3.1
39
+ Given a step passes
40
+ """
41
+
42
+ Scenario: Run Features with tags and --show-skipped option
43
+ When I run "behave -f progress --tags=@example"
44
+ Then it should pass with:
45
+ """
46
+ 2 features passed, 0 failed, 1 skipped
47
+ 2 scenarios passed, 0 failed, 1 skipped
48
+ 2 steps passed, 0 failed, 1 skipped, 0 undefined
49
+ """
50
+ And the command output should contain:
51
+ """
52
+ features/e1.feature .
53
+ features/e2.feature S
54
+ features/e3.feature .
55
+ """
56
+
57
+ Scenario: Run Features with tag and --no-skipped option (CASE 1)
58
+ When I run "behave -f progress --tags=@example --no-skipped"
59
+ Then it should pass with:
60
+ """
61
+ 2 features passed, 0 failed, 1 skipped
62
+ 2 scenarios passed, 0 failed, 1 skipped
63
+ 2 steps passed, 0 failed, 1 skipped, 0 undefined
64
+ """
65
+ And the command output should contain exactly:
66
+ """
67
+ features/e1.feature .
68
+ features/e3.feature .
69
+ """
70
+ But the command output should not contain exactly:
71
+ """
72
+ features/e1.feature .
73
+
74
+ features/e3.feature .
75
+ """
76
+
77
+ Scenario: Run Features with other tag and --no-skipped option (CASE 2)
78
+ When I run "behave -f progress --tags=@exclude --no-skipped"
79
+ Then it should pass with:
80
+ """
81
+ 1 feature passed, 0 failed, 2 skipped
82
+ 1 scenario passed, 0 failed, 2 skipped
83
+ 1 step passed, 0 failed, 2 skipped, 0 undefined
84
+ """
85
+ And the command output should contain exactly:
86
+ """
87
+ features/e2.feature .
88
+ """
89
+
90
+ Scenario: Run Features with tag, --no-skipped and plain formatter (CASE 3)
91
+ When I run "behave -f plain --tags=@example --no-skipped -T"
92
+ Then it should pass with:
93
+ """
94
+ 2 features passed, 0 failed, 1 skipped
95
+ 2 scenarios passed, 0 failed, 1 skipped
96
+ 2 steps passed, 0 failed, 1 skipped, 0 undefined
97
+ """
98
+ And the command output should contain exactly:
99
+ """
100
+ Feature: E1
101
+
102
+ Scenario: S1.1
103
+ Given a step passes ... passed
104
+
105
+ Feature: E3
106
+
107
+ """
108
+ But the command output should not contain exactly:
109
+ """
110
+ Feature: E1
111
+
112
+ Scenario: S1.1
113
+ Given a step passes ... passed
114
+
115
+
116
+ Feature: E3
117
+
118
+ """
@@ -0,0 +1,71 @@
1
+ @issue
2
+ @change_request
3
+ Feature: Issue #116: SummaryReporter shows failed scenarios list
4
+
5
+ Scenario: Test Setup
6
+ Given a new working directory
7
+ And a file named "features/steps/passing_failing_steps.py" with:
8
+ """
9
+ from behave import step
10
+
11
+ @step(u'a step passes')
12
+ def step_passes(context):
13
+ pass
14
+
15
+ @step(u'a step fails')
16
+ def step_fails(context):
17
+ assert False, "FAILS"
18
+ """
19
+ And a file named "features/e1.feature" with:
20
+ """
21
+ Feature: E1
22
+
23
+ Scenario: E1.1
24
+ Given a step passes
25
+
26
+ @xfail
27
+ Scenario: E1.2 (XFAIL)
28
+ Given a step fails
29
+
30
+ Scenario: E1.3
31
+ Given a step passes
32
+ """
33
+ And a file named "features/e2.feature" with:
34
+ """
35
+ @example2
36
+ Feature: E2
37
+
38
+ @xfail
39
+ Scenario: E2.1 (XFAIL)
40
+ Given a step fails
41
+
42
+ Scenario: E2.2
43
+ Given a step passes
44
+ """
45
+
46
+ Scenario: Summary shows list of failed scenarios when at least one fails
47
+ When I run "behave -f plain features/"
48
+ Then it should fail
49
+ And the command output should contain:
50
+ """
51
+ Failing scenarios:
52
+ features/e1.feature:7 E1.2 (XFAIL)
53
+ features/e2.feature:5 E2.1 (XFAIL)
54
+
55
+ 0 features passed, 2 failed, 0 skipped
56
+ 3 scenarios passed, 2 failed, 0 skipped
57
+ 3 steps passed, 2 failed, 0 skipped, 0 undefined
58
+ """
59
+
60
+ Scenario: Summary hides list of failed scenarios when all scenarios pass
61
+ When I run "behave -f plain --tags=~@xfail features/"
62
+ Then it should pass with:
63
+ """
64
+ 2 features passed, 0 failed, 0 skipped
65
+ 3 scenarios passed, 0 failed, 2 skipped
66
+ 3 steps passed, 0 failed, 2 skipped, 0 undefined
67
+ """
68
+ But the command output should not contain:
69
+ """
70
+ Failing scenarios:
71
+ """