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,285 @@
1
+ Feature: Multiple Formatter with different outputs
2
+
3
+ . SPECIFICATION: Command-line option --format
4
+ . * Each --format option specifies one formatter to use.
5
+ .
6
+ . SPECIFICATION: Command-line option --outfile
7
+ . * Multiple --outfile options can be provided
8
+ . * The nth --outfile option is used for the nth formatter
9
+ . * If less --outfile options are provided than formatter,
10
+ . the remaining formatter use stdout as output stream.
11
+ . Therefore, the last formatter should in general use stdout.
12
+ .
13
+ . SPECIFICATION: Configuration file
14
+ . * Option format with one or more formatters can be used (optional).
15
+ . * Formatters specified in the configuration file are always executed.
16
+ . * If not enough outfiles are specified, the outfiles list is extended
17
+ . by using an outfile "${format}.output" for each missing outfile.
18
+ .
19
+ . RELATED TO:
20
+ . * issue #47 Formatter chain is broken
21
+
22
+
23
+ @setup
24
+ Scenario: Test Setup
25
+ Given a new working directory
26
+ And a file named "features/steps/passing_steps.py" with:
27
+ """
28
+ from behave import step
29
+
30
+ @step('a step passes')
31
+ def step_passes(context):
32
+ pass
33
+ """
34
+ And a file named "features/alice.feature" with:
35
+ """
36
+ Feature: Alice
37
+ Scenario: A1
38
+ Given a step passes
39
+ When a step passes
40
+ Then a step passes
41
+ """
42
+ And a file named "features/bob.feature" with:
43
+ """
44
+ Feature: Bob
45
+ Scenario: B1
46
+ When a step passes
47
+ Then a step passes
48
+ """
49
+
50
+ @no_configfile
51
+ Scenario: One formatter, no outfile (use stdout instead)
52
+ Given a file named "behave.ini" does not exist
53
+ When I run "behave -f plain -T features/"
54
+ Then it should pass with:
55
+ """
56
+ 2 features passed, 0 failed, 0 skipped
57
+ 2 scenarios passed, 0 failed, 0 skipped
58
+ """
59
+ And the command output should contain:
60
+ """
61
+ Feature: Alice
62
+ Scenario: A1
63
+ Given a step passes ... passed
64
+ When a step passes ... passed
65
+ Then a step passes ... passed
66
+
67
+ Feature: Bob
68
+ Scenario: B1
69
+ When a step passes ... passed
70
+ Then a step passes ... passed
71
+ """
72
+
73
+ @no_configfile
74
+ Scenario: One formatter, one outfile
75
+ Given a file named "behave.ini" does not exist
76
+ When I run "behave -f plain --outfile=output/plain.out -T features/"
77
+ Then it should pass with:
78
+ """
79
+ 2 features passed, 0 failed, 0 skipped
80
+ 2 scenarios passed, 0 failed, 0 skipped
81
+ """
82
+ And the command output should not contain:
83
+ """
84
+ Feature: Alice
85
+ Scenario: A1
86
+ """
87
+ But a file named "output/plain.out" should exist
88
+ And the file "output/plain.out" should contain:
89
+ """
90
+ Feature: Alice
91
+ Scenario: A1
92
+ Given a step passes ... passed
93
+ When a step passes ... passed
94
+ Then a step passes ... passed
95
+
96
+ Feature: Bob
97
+ Scenario: B1
98
+ When a step passes ... passed
99
+ Then a step passes ... passed
100
+ """
101
+
102
+ @no_configfile
103
+ Scenario: Two formatter, one outfile
104
+ Given a file named "behave.ini" does not exist
105
+ When I run "behave -f plain -o output/plain.out -f progress -T features/"
106
+ Then it should pass with:
107
+ """
108
+ 2 features passed, 0 failed, 0 skipped
109
+ 2 scenarios passed, 0 failed, 0 skipped
110
+ """
111
+ And the command output should contain:
112
+ """
113
+ features/alice.feature .
114
+ features/bob.feature .
115
+ """
116
+ But a file named "output/plain.out" should exist
117
+ And the file "output/plain.out" should contain:
118
+ """
119
+ Feature: Alice
120
+ Scenario: A1
121
+ Given a step passes ... passed
122
+ When a step passes ... passed
123
+ Then a step passes ... passed
124
+
125
+ Feature: Bob
126
+ Scenario: B1
127
+ When a step passes ... passed
128
+ Then a step passes ... passed
129
+ """
130
+
131
+
132
+ @no_configfile
133
+ Scenario: More outfiles than formatter should fail with CONFIG-ERROR
134
+ Given a file named "behave.ini" does not exist
135
+ When I run "behave -f plain -o plain.output -o xxx.output features/"
136
+ Then it should fail with:
137
+ """
138
+ CONFIG-ERROR: More outfiles (2) than formatters (1).
139
+ """
140
+
141
+ @with_configfile
142
+ Scenario: Use default formatter and outfile from behave configuration file
143
+ Given a file named "behave.ini" with:
144
+ """
145
+ [behave]
146
+ format = plain
147
+ outfiles = output/plain.out
148
+ show_timings = false
149
+ """
150
+ And I remove the directory "output"
151
+ When I run "behave features/"
152
+ Then it should pass
153
+ And the command output should not contain:
154
+ """
155
+ Feature: Alice
156
+ Scenario: A1
157
+ """
158
+ But a file named "output/plain.out" should exist
159
+ And the file "output/plain.out" should contain:
160
+ """
161
+ Feature: Alice
162
+ Scenario: A1
163
+ Given a step passes ... passed
164
+ When a step passes ... passed
165
+ Then a step passes ... passed
166
+
167
+ Feature: Bob
168
+ Scenario: B1
169
+ When a step passes ... passed
170
+ Then a step passes ... passed
171
+ """
172
+
173
+ @with_configfile
174
+ Scenario: Use default formatter and another without outfile from behave configuration file
175
+ Given a file named "behave.ini" with:
176
+ """
177
+ [behave]
178
+ default_format = plain
179
+ format = progress
180
+ # -- OOPS: No outfile specified => Use "${format}.output" as outfile
181
+ show_timings = false
182
+ """
183
+ And I remove the directory "output"
184
+ When I run "behave features/"
185
+ Then it should pass
186
+ And the command output should contain:
187
+ """
188
+ Feature: Alice
189
+ Scenario: A1
190
+ Given a step passes ... passed
191
+ When a step passes ... passed
192
+ Then a step passes ... passed
193
+
194
+ Feature: Bob
195
+ Scenario: B1
196
+ When a step passes ... passed
197
+ Then a step passes ... passed
198
+ """
199
+ And a file named "progress.output" should exist
200
+ And the file "progress.output" should contain:
201
+ """
202
+ features/alice.feature .
203
+ features/bob.feature .
204
+ """
205
+
206
+
207
+ @with_configfile
208
+ Scenario: Command-line formatter/outfile extend behave configuration file args
209
+ Given a file named "behave.ini" with:
210
+ """
211
+ [behave]
212
+ show_timings = false
213
+ format = plain
214
+ outfiles = output/plain.out
215
+ """
216
+ And I remove the directory "output"
217
+ When I run "behave -c -f pretty -o output/pretty.out -f progress -o output/progress.out features/"
218
+ Then it should pass
219
+ And the file "output/progress.out" should contain:
220
+ """
221
+ features/alice.feature .
222
+ features/bob.feature .
223
+ """
224
+ And the file "output/pretty.out" should contain:
225
+ """
226
+ Feature: Alice # features/alice.feature:1
227
+ Scenario: A1 # features/alice.feature:2
228
+ Given a step passes # features/steps/passing_steps.py:3
229
+ When a step passes # features/steps/passing_steps.py:3
230
+ Then a step passes # features/steps/passing_steps.py:3
231
+
232
+ Feature: Bob # features/bob.feature:1
233
+ Scenario: B1 # features/bob.feature:2
234
+ When a step passes # features/steps/passing_steps.py:3
235
+ Then a step passes # features/steps/passing_steps.py:3
236
+ """
237
+ And a file named "output/plain.out" should exist
238
+ And the file "output/plain.out" should contain:
239
+ """
240
+ Feature: Alice
241
+ Scenario: A1
242
+ Given a step passes ... passed
243
+ When a step passes ... passed
244
+ Then a step passes ... passed
245
+
246
+ Feature: Bob
247
+ Scenario: B1
248
+ When a step passes ... passed
249
+ Then a step passes ... passed
250
+ """
251
+
252
+
253
+ @with_configfile
254
+ Scenario: Combination of formatter from configfile and command-line cannot cause outfile offsets
255
+ Given a file named "behave.ini" with:
256
+ """
257
+ [behave]
258
+ show_timings = false
259
+ format = plain
260
+ # -- OOPS: No outfiles defined => Use "${format}.output" as outfile.
261
+ """
262
+ And I remove the directory "output"
263
+ When I run "behave -f progress -o output/progress.out features/"
264
+ Then it should pass
265
+ And the command output should not contain:
266
+ """
267
+ Feature: Alice
268
+ Scenario: A1
269
+ Given a step passes ... passed
270
+ When a step passes ... passed
271
+ Then a step passes ... passed
272
+ """
273
+ But the file "plain.output" should contain:
274
+ """
275
+ Feature: Alice
276
+ Scenario: A1
277
+ Given a step passes ... passed
278
+ When a step passes ... passed
279
+ Then a step passes ... passed
280
+ """
281
+ And the file "output/progress.out" should contain:
282
+ """
283
+ features/alice.feature .
284
+ features/bob.feature .
285
+ """
@@ -0,0 +1,131 @@
1
+ Feature: Auto-retry failed scenarios (a number of times)
2
+
3
+ As a tester in an unreliable environment
4
+ I want that failed scenarios are automatically retried a number of times
5
+ So that these scenarios are passing
6
+
7
+ NOTE:
8
+ This problem should occur rather seldom, but may occur when the server or
9
+ network infrastructure, etc. is unreliable and causes random failures.
10
+
11
+
12
+ @setup
13
+ Scenario: Feature Setup
14
+ Given a new working directory
15
+ And a file named "features/steps/unreliable_steps.py" with:
16
+ """
17
+ from behave import given, step
18
+
19
+ unreliable_step_passed_calls = 0
20
+
21
+ @step(u'{word:w} unreliable step fails sometimes')
22
+ def step_unreliable_step_fails_sometimes(context, word):
23
+ global unreliable_step_passed_calls
24
+ userdata = context.config.userdata
25
+ fault_pos = userdata.getint("UNRELIABLE_FAULTPOS", 0)
26
+ if fault_pos <= 0:
27
+ return
28
+
29
+ # -- NORMAL CASE: Unreliable step should every N calls.
30
+ unreliable_step_passed_calls += 1
31
+ if unreliable_step_passed_calls >= fault_pos:
32
+ unreliable_step_passed_calls = 0
33
+ assert False, "UNRELIABLE-STEP FAILURE"
34
+ """
35
+ And a file named "features/steps/reuse_steps.py" with:
36
+ """
37
+ import behave4cmd0.passing_steps
38
+ """
39
+ And a file named "features/environment.py" with:
40
+ """
41
+ from behave.contrib.scenario_autoretry import patch_scenario_with_autoretry
42
+
43
+ def before_feature(context, feature):
44
+ for scenario in feature.scenarios:
45
+ if "autoretry" in scenario.effective_tags:
46
+ patch_scenario_with_autoretry(scenario, max_attempts=2)
47
+ """
48
+ And a file named "features/unreliable.feature" with:
49
+ """
50
+ @autoretry
51
+ Feature: Alice
52
+ Scenario: A1
53
+ Given a step passes
54
+ When an unreliable step fails sometimes
55
+ Then another unreliable step fails sometimes
56
+
57
+ Scenario: A2
58
+ Given an unreliable step fails sometimes
59
+ Then another step passes
60
+ """
61
+ And a file named "behave.ini" with:
62
+ """
63
+ [behave]
64
+ show_timings = false
65
+ """
66
+
67
+
68
+ Scenario: Retry failed scenarios
69
+ When I run "behave -f plain -D UNRELIABLE_FAULTPOS=3 features/unreliable.feature"
70
+ Then it should pass with:
71
+ """
72
+ 2 scenarios passed, 0 failed, 0 skipped
73
+ 5 steps passed, 0 failed, 0 skipped, 0 undefined
74
+ """
75
+ And the command output should contain:
76
+ """
77
+ AUTO-RETRY SCENARIO (attempt 1)
78
+ """
79
+ But the command output should not contain:
80
+ """
81
+ AUTO-RETRY SCENARIO (attempt 2)
82
+ """
83
+ And the command output should contain:
84
+ """
85
+ Scenario: A1
86
+ Given a step passes ... passed
87
+ When an unreliable step fails sometimes ... passed
88
+ Then another unreliable step fails sometimes ... passed
89
+
90
+ Scenario: A2
91
+ Given an unreliable step fails sometimes ... failed
92
+ Assertion Failed: UNRELIABLE-STEP FAILURE
93
+ AUTO-RETRY SCENARIO (attempt 1)
94
+
95
+ Scenario: A2
96
+ Given an unreliable step fails sometimes ... passed
97
+ Then another step passes ... passed
98
+ """
99
+
100
+ Scenario: Scenarios failures are accepted after N=2 attempts
101
+ When I run "behave -f plain -D UNRELIABLE_FAULTPOS=2 features/unreliable.feature"
102
+ Then it should fail with:
103
+ """
104
+ 1 scenario passed, 1 failed, 0 skipped
105
+ 4 steps passed, 1 failed, 0 skipped, 0 undefined
106
+ """
107
+ And the command output should not contain:
108
+ """
109
+ AUTO-RETRY SCENARIO (attempt 2)
110
+ SCENARIO-FAILURE ACCEPTED (after 2 attempts)
111
+ """
112
+ And the command output should contain:
113
+ """
114
+ Scenario: A1
115
+ Given a step passes ... passed
116
+ When an unreliable step fails sometimes ... passed
117
+ Then another unreliable step fails sometimes ... failed
118
+ Assertion Failed: UNRELIABLE-STEP FAILURE
119
+ AUTO-RETRY SCENARIO (attempt 1)
120
+
121
+ Scenario: A1
122
+ Given a step passes ... passed
123
+ When an unreliable step fails sometimes ... passed
124
+ Then another unreliable step fails sometimes ... failed
125
+ Assertion Failed: UNRELIABLE-STEP FAILURE
126
+ AUTO-RETRY SCENARIO FAILED (after 2 attempts)
127
+
128
+ Scenario: A2
129
+ Given an unreliable step fails sometimes ... passed
130
+ Then another step passes ... passed
131
+ """
@@ -0,0 +1,71 @@
1
+ Feature: Select feature files by using regular expressions (self-test)
2
+
3
+ Use behave self-tests to ensure that --incude/--exclude options work.
4
+ RELATED: runner.select_files_by_regexp.feature
5
+
6
+ @setup
7
+ Scenario: Feature Setup
8
+ Given a new working directory
9
+ And an empty file named "features/steps/steps.py"
10
+ And a file named "features/alice.feature" with:
11
+ """
12
+ Feature: Alice
13
+ Scenario: A1
14
+ """
15
+ And a file named "features/barbi.feature" with:
16
+ """
17
+ Feature: Barbi
18
+ Scenario: B1
19
+ """
20
+ And a file named "features/bob.feature" with:
21
+ """
22
+ Feature: Bob
23
+ Scenario: B2
24
+ """
25
+
26
+
27
+ Scenario: Include only feature files
28
+
29
+ Select the following feature files: barbi.feature, bob.feature
30
+
31
+ When I run "behave --include='features/b.*' -f plain features/"
32
+ Then it should pass with:
33
+ """
34
+ 2 features passed, 0 failed, 0 skipped
35
+ """
36
+ And the command output should contain:
37
+ """
38
+ Feature: Barbi
39
+ Scenario: B1
40
+
41
+ Feature: Bob
42
+ Scenario: B2
43
+ """
44
+
45
+ Scenario: Exclude only feature files
46
+
47
+ Select the following feature files: alice.feature
48
+
49
+ When I run "behave --exclude='features/b.*' -f plain features/"
50
+ Then it should pass with:
51
+ """
52
+ 1 feature passed, 0 failed, 0 skipped
53
+ """
54
+ And the command output should contain:
55
+ """
56
+ Feature: Alice
57
+ """
58
+
59
+ Scenario: Include and exclude feature files
60
+
61
+ Select the following feature files: alice.feature
62
+
63
+ When I run "behave --include='features/.*a.*\.feature' --exclude='.*/barbi.*' -f plain features/"
64
+ Then it should pass with:
65
+ """
66
+ 1 feature passed, 0 failed, 0 skipped
67
+ """
68
+ And the command output should contain:
69
+ """
70
+ Feature: Alice
71
+ """