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,49 @@
1
+ @issue
2
+ Feature: Issue #125: Duplicate "Captured stdout" if substep has failed
3
+
4
+
5
+ Background: Test Setup
6
+ Given a new working directory
7
+ And a file named "features/steps/steps.py" with:
8
+ """
9
+ from behave import step
10
+
11
+ @step('a step fails with stdout "{message}"')
12
+ def step_fails_with_stdout(context, message):
13
+ print(message)
14
+ assert False, 'EXPECT: Step fails with stdout.'
15
+
16
+ @step('substep fails with stdout "{message}"')
17
+ def substep_fails_with_stdout(context, message):
18
+ context.execute_steps(u'When a step fails with stdout "%s"' % message)
19
+ """
20
+
21
+ Scenario: Subprocess call shows generated output
22
+ Given a file named "features/issue125_example.feature" with:
23
+ """
24
+ Feature:
25
+ Scenario:
26
+ When substep fails with stdout "Hello"
27
+ """
28
+ When I run "behave -f plain --no-timings features/issue125_example.feature"
29
+ Then it should fail with:
30
+ """
31
+ 0 scenarios passed, 1 failed, 0 skipped
32
+ 0 steps passed, 1 failed, 0 skipped, 0 undefined
33
+ """
34
+ And the command output should contain:
35
+ """
36
+ Feature:
37
+ Scenario:
38
+ When substep fails with stdout "Hello" ... failed
39
+
40
+ Assertion Failed: FAILED SUB-STEP: When a step fails with stdout "Hello"
41
+ Substep info: Assertion Failed: EXPECT: Step fails with stdout.
42
+ """
43
+ And the command output should contain 1 times:
44
+ """
45
+ Captured stdout:
46
+ Hello
47
+ """
48
+ But note that "the captured output should not be contained multiple times"
49
+
@@ -0,0 +1,64 @@
1
+ @issue
2
+ Feature: Issue #127: Strip trailing colons
3
+
4
+ . Trailing colon in a step is stripped by the Gherkin parser.
5
+ . Undefined step snippets should not suggest the step with a trailing colon.
6
+ .
7
+ . GENERAL RULE (by looking at the parser):
8
+ . 1. Colon in step in feature file is OK
9
+ . (parser strips this for step-with-table or step-with-multiline-text).
10
+ . 2. Step definitions in Python files should not end with a colon
11
+ . (used in @given/@when/@then decorators).
12
+
13
+
14
+ Background:
15
+ Given a new working directory
16
+ And a file named "features/example127.feature" with:
17
+ """
18
+ Feature:
19
+ Scenario:
20
+ Given the following superusers exist:
21
+ | Name | User Id |
22
+ | Alice | 101 |
23
+ | Bob | 102 |
24
+ """
25
+
26
+ Scenario: Step Definition has no trailing colon (GOOD CASE)
27
+ Given a file named "features/steps/good_steps.py" with:
28
+ """
29
+ from behave import given
30
+
31
+ @given(u'the following superusers exist')
32
+ def step_given_following_superusers_exist(context):
33
+ pass
34
+ """
35
+ When I run "behave -f plain features/example127.feature"
36
+ Then it should pass
37
+ And the command output should not contain:
38
+ """
39
+ You can implement step definitions for undefined steps with these snippets:
40
+
41
+ @given(u'the following superusers exist:')
42
+ def step_impl(context):
43
+ raise NotImplementedError(u'STEP: Given the following superusers exist:')
44
+ """
45
+
46
+ Scenario: Step Definition has trailing colon (BAD CASE)
47
+ Given a file named "features/steps/bad_steps.py" with:
48
+ """
49
+ from behave import given
50
+
51
+ @given(u'the following superusers exist:')
52
+ def step_given_following_superusers_exist(context):
53
+ pass
54
+ """
55
+ When I run "behave -f plain features/example127.feature"
56
+ Then it should fail
57
+ And the command output should contain:
58
+ """
59
+ You can implement step definitions for undefined steps with these snippets:
60
+
61
+ @given(u'the following superusers exist')
62
+ def step_impl(context):
63
+ raise NotImplementedError(u'STEP: Given the following superusers exist')
64
+ """
@@ -0,0 +1,67 @@
1
+ @issue
2
+ @not_reproducible
3
+ Feature: Issue #139: Wrong steps seem to be executed when using --wip
4
+
5
+ . RELATED-TO: issue #35
6
+ . behave --format=plain --tags @one" seems to execute right scenario w/ wrong steps
7
+ .
8
+ . If you have a feature file with two scenarios where the second is tagged
9
+ . with @wip, running behave -w will output step names from the first scenario.
10
+ . It does seem to run the correct code for the steps.
11
+
12
+
13
+ Scenario:
14
+ Given a new working directory
15
+ And a file named "features/steps/steps.py" with:
16
+ """
17
+ from behave import given, when, then, step
18
+
19
+ @step('a step passes')
20
+ def step_passes(context):
21
+ pass
22
+
23
+ @step('a step fails')
24
+ def step_fails(context):
25
+ assert False, "XFAIL"
26
+
27
+ @when('I run a test step')
28
+ def step_impl(context):
29
+ pass
30
+
31
+ @when('I run some other test step')
32
+ def step_impl(context):
33
+ pass
34
+
35
+ @then('I should not see a failure here')
36
+ def step_impl(context):
37
+ pass
38
+ """
39
+ And a file named "features/issue0139_example.feature" with:
40
+ """
41
+ Feature: Bug in wip/behave -w
42
+
43
+ Scenario: This is strange
44
+ Given a step passes
45
+ When a step passes
46
+ Then a step fails
47
+
48
+ @wip
49
+ Scenario: Demonstrate bug
50
+ When I run a test step
51
+ And I run some other test step
52
+ Then I should not see a failure here
53
+ """
54
+ When I run "behave -w -f plain -T features/issue0139_example.feature"
55
+ Then it should pass
56
+ And the command output should contain:
57
+ """
58
+ Feature: Bug in wip/behave -w
59
+ Scenario: This is strange
60
+ Scenario: Demonstrate bug
61
+ When I run a test step ... passed
62
+ And I run some other test step ... passed
63
+ Then I should not see a failure here ... passed
64
+ """
65
+
66
+
67
+
@@ -0,0 +1,37 @@
1
+ @issue
2
+ @not_reproducible
3
+ Feature: Issue #142: --junit flag fails to output with step table data: TypeError: <Row [u'data', u'value']> is not JSON serializable
4
+
5
+ DUPLICATES: issue #67 (already fixed).
6
+
7
+ Scenario:
8
+ Given a new working directory
9
+ And a file named "features/steps/steps.py" with:
10
+ """
11
+ from behave import given, when, then, step
12
+
13
+ @then('use table data with')
14
+ def step_impl(context):
15
+ pass
16
+ """
17
+ And a file named "features/issue0142_example.feature" with:
18
+ """
19
+ Feature:
20
+ Scenario: Use a table
21
+ Then use table data with:
22
+ | data | value |
23
+ | behave outputs junit with tables | false |
24
+ """
25
+ When I run "behave --junit -f json features/issue0142_example.feature"
26
+ Then it should pass
27
+ But the command output should not contain:
28
+ """
29
+ TypeError: <Row [u'behave outputs junit with tables', u'false']> is not JSON serializable
30
+ """
31
+ And the command output should not contain:
32
+ """
33
+ Traceback (most recent call last):
34
+ """
35
+
36
+
37
+
@@ -0,0 +1,54 @@
1
+ @issue
2
+ Feature: Issue #143: Logging starts with a StreamHandler way too early
3
+
4
+ . This verifies that some imported library or other item has not made a
5
+ . call to logging too soon, which would add a StreamHandler.
6
+
7
+
8
+ @setup
9
+ Scenario: Feature Setup
10
+ Given a new working directory
11
+ And a file named "features/steps/steps.py" with:
12
+ """
13
+ import logging
14
+ from behave import given, when, then, step
15
+
16
+ @step('I create {count:n} log records')
17
+ def step_create_log_records(context, count):
18
+ for i in range(count):
19
+ logging.debug('Some debug logging')
20
+ """
21
+ And a file named "features/issue0143_example.feature" with:
22
+ """
23
+ Feature: Logging should not be output unless there is a failure
24
+
25
+ Scenario: A passing test
26
+ Given I create 4 log records
27
+ """
28
+
29
+ Scenario: Ensure that no log-ouput occurs with enabled log-capture
30
+ Given an empty file named "features/environment.py"
31
+ When I run "behave -f plain --logcapture features/issue0143_example.feature"
32
+ Then it should pass
33
+ And the command output should not contain:
34
+ """
35
+ DEBUG:root:Some debug logging
36
+ """
37
+
38
+
39
+ Scenario: Ensure that log-ouput occurs with disabled log-capture
40
+ Given a file named "features/environment.py" with:
41
+ """
42
+ import logging
43
+
44
+ def before_all(context):
45
+ # -- basicConfig() will not set level if setup is already done.
46
+ logging.basicConfig()
47
+ logging.getLogger().setLevel(logging.DEBUG)
48
+ """
49
+ When I run "behave -f plain --no-logcapture features/issue0143_example.feature"
50
+ Then it should pass
51
+ And the command output should contain:
52
+ """
53
+ DEBUG:root:Some debug logging
54
+ """
@@ -0,0 +1,63 @@
1
+ @issue
2
+ Feature: Issue #145: before_feature/after_feature should not be skipped
3
+
4
+ Hooks before_feature(), after_feature() (and before_step()) are skipped
5
+ if --tags options select feature tag and scenario tag.
6
+
7
+ SEE ALSO: https://github.com/cucumber/cucumber/wiki/Tags
8
+
9
+ @setup
10
+ Scenario: Setup
11
+ Given a new working directory
12
+ And a file named "features/steps/steps.py" with:
13
+ """
14
+ from behave import step
15
+
16
+ @step('a step passes')
17
+ def step_passes(context):
18
+ pass
19
+ """
20
+ And a file named "features/issue0145_example.feature" with:
21
+ """
22
+ @feature
23
+ Feature: Feature-145
24
+
25
+ @scenario
26
+ Scenario: Scenario-145
27
+ Given a step passes
28
+ When a step passes
29
+ Then a step passes
30
+ """
31
+ And a file named "features/environment.py" with:
32
+ """
33
+ from __future__ import print_function
34
+
35
+ def before_feature(context, feature):
36
+ print("hooks.before_feature: %s called." % feature.name)
37
+
38
+ def after_feature(context, feature):
39
+ print("hooks.after_feature: %s called." % feature.name)
40
+ """
41
+
42
+ Scenario: Select only @scenario tag
43
+ When I run "behave -f plain -T --tags=@scenario features/issue0145_example.feature"
44
+ Then it should pass with:
45
+ """
46
+ 1 feature passed, 0 failed, 0 skipped
47
+ 1 scenario passed, 0 failed, 0 skipped
48
+ 3 steps passed, 0 failed, 0 skipped, 0 undefined
49
+ """
50
+ And the behave hook "before_feature" was called
51
+ And the behave hook "after_feature" was called
52
+
53
+ Scenario: Select @feature tag and @scenario tag (logical-and, fails if not fixed)
54
+ When I run "behave -f plain -T --tags=@feature --tags=@scenario features/issue0145_example.feature"
55
+ Then it should pass with:
56
+ """
57
+ 1 feature passed, 0 failed, 0 skipped
58
+ 1 scenario passed, 0 failed, 0 skipped
59
+ 3 steps passed, 0 failed, 0 skipped, 0 undefined
60
+ """
61
+ And the behave hook "before_feature" was called
62
+ And the behave hook "after_feature" was called
63
+
@@ -0,0 +1,105 @@
1
+ @issue
2
+ @already_fixed
3
+ Feature: Issue #148: Substeps do not fail
4
+
5
+ FIXED-BY: issue #117 context.execute_steps() should support table and multi-line text.
6
+ RELATED-TO: issue #96
7
+
8
+ @setup
9
+ Scenario: Setup
10
+ Given a new working directory
11
+ And a file named "features/steps/passing_steps.py" with:
12
+ """
13
+ @step('a step passes')
14
+ def step_passes(context):
15
+ pass
16
+
17
+ @step('a step fails')
18
+ def step_fails(context):
19
+ assert False, "XFAIL"
20
+ """
21
+ And a file named "features/issue0148_example.feature" with:
22
+ """
23
+ Feature: Sub steps
24
+
25
+ @xfail
26
+ Scenario: Failing test without substeps
27
+ Given a step passes
28
+ When a step fails
29
+ Then a step passes
30
+
31
+ @xfail
32
+ Scenario: Failing test with substeps
33
+ Given a step passes
34
+ When I do something with stupid substeps
35
+ Then a step passes
36
+ """
37
+
38
+ Scenario: Missing Step Keywords in Substeps
39
+ Given a file named "features/steps/substeps.py" with:
40
+ """
41
+ @When('I do something with stupid substeps')
42
+ def step(context):
43
+ context.execute_steps(u'''
44
+ I do something stupid
45
+ there is a second stupid step
46
+ ''') # Given/When/Then keywords are missing in substeps above.
47
+ """
48
+ When I run "behave -f plain -T features/issue0148_example.feature"
49
+ Then it should fail with:
50
+ """
51
+ 0 features passed, 1 failed, 0 skipped
52
+ 0 scenarios passed, 2 failed, 0 skipped
53
+ 2 steps passed, 2 failed, 2 skipped, 0 undefined
54
+ """
55
+ And the command output should contain:
56
+ """
57
+ Scenario: Failing test without substeps
58
+ Given a step passes ... passed
59
+ When a step fails ... failed
60
+ """
61
+ And the command output should contain:
62
+ """
63
+ Scenario: Failing test with substeps
64
+ Given a step passes ... passed
65
+ When I do something with stupid substeps ... failed
66
+ """
67
+ And the command output should contain:
68
+ """
69
+ ParserError: Failed to parse <string>:
70
+ Parser failure in state steps, at line 2: "I do something stupid"
71
+ """
72
+
73
+
74
+ Scenario: Use Step Keywords in Substeps
75
+ Given a file named "features/steps/substeps.py" with:
76
+ """
77
+ @when('I do something with stupid substeps')
78
+ def step(context):
79
+ context.execute_steps(u'''
80
+ When a step fails
81
+ Then a step fails
82
+ ''')
83
+ """
84
+ When I run "behave -f plain -T features/issue0148_example.feature"
85
+ Then it should fail with:
86
+ """
87
+ 0 features passed, 1 failed, 0 skipped
88
+ 0 scenarios passed, 2 failed, 0 skipped
89
+ 2 steps passed, 2 failed, 2 skipped, 0 undefined
90
+ """
91
+ And the command output should contain:
92
+ """
93
+ Scenario: Failing test with substeps
94
+ Given a step passes ... passed
95
+ When I do something with stupid substeps ... failed
96
+ Assertion Failed: FAILED SUB-STEP: When a step fails
97
+ Substep info: Assertion Failed: XFAIL
98
+ """
99
+ But the command output should not contain:
100
+ """
101
+
102
+ ParserError: Failed to parse <string>
103
+ """
104
+
105
+
@@ -0,0 +1,52 @@
1
+ @issue
2
+ Feature: Issue #152: Fix encoding issues
3
+
4
+ . I fixed two encoding issues in pretty formatter and in JUnit serialization.
5
+ . Now it's possible to use accented letters in feature files and
6
+ . create JUnit reports from the tests.
7
+
8
+
9
+ Scenario: Ensure JUnit reports can be created from a foreign language
10
+ Given a new working directory
11
+ And an empty file named "features/steps/steps.py"
12
+ And a file named "features/eins.feature" with:
13
+ """
14
+ # language: de
15
+ Funktionalität: Die Welt ist schön
16
+ Szenario: Was wäre wenn die schöne, neue Welt untergeht
17
+ """
18
+ When I run "behave -f plain --junit --no-timings features/eins.feature"
19
+ Then it should pass with:
20
+ """
21
+ 1 feature passed, 0 failed, 0 skipped
22
+ 1 scenario passed, 0 failed, 0 skipped
23
+ 0 steps passed, 0 failed, 0 skipped, 0 undefined
24
+ """
25
+ And the command output should contain:
26
+ """
27
+ Funktionalität: Die Welt ist schön
28
+ Szenario: Was wäre wenn die schöne, neue Welt untergeht
29
+ """
30
+
31
+
32
+ @reuse.colocated_test
33
+ Scenario: Ensure JUnit reports can be created from a foreign language
34
+ Given I use the current directory as working directory
35
+ When I run "behave -f plain --junit --no-timings tools/test-features/french.feature"
36
+ Then it should pass with:
37
+ """
38
+ 1 feature passed, 0 failed, 0 skipped
39
+ 2 scenarios passed, 0 failed, 0 skipped
40
+ 5 steps passed, 0 failed, 0 skipped, 0 undefined
41
+ """
42
+ And the command output should contain:
43
+ """
44
+ Fonctionnalité: testing stuff
45
+ Scénario: test stuff
46
+ Etant donné I am testing stuff ... passed
47
+ Quand I exercise it work ... passed
48
+ Alors it will work ... passed
49
+ Scénario: test more stuff
50
+ Etant donné I am testing stuff ... passed
51
+ Alors it will work ... passed
52
+ """