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,74 @@
1
+ @issue
2
+ Feature: Issue #159: output stream is wrapped twice in the codecs.StreamWriter
3
+
4
+ @setup
5
+ Scenario: Feature Setup
6
+ Given a new working directory
7
+ And a file named "features/steps/steps.py" with:
8
+ """
9
+ # -*- coding: utf-8 -*-
10
+ from behave import step
11
+
12
+ @step('firstname is "{name}"')
13
+ def step_impl(context, name):
14
+ pass
15
+
16
+ @step(u'full name is Loïc "{name}"')
17
+ def step_impl(context, name):
18
+ pass
19
+ """
20
+
21
+ Scenario: Single feature, pass (a)
22
+ Given a file named "features/issue159_stream_writer.feature" with:
23
+ """
24
+ Feature:
25
+ Scenario:
26
+ When firstname is "Loïc"
27
+ """
28
+ When I run "behave -f plain features/"
29
+ Then it should pass
30
+
31
+
32
+ Scenario: Single feature, pass (b)
33
+ Given a file named "features/issue159_stream_writer.feature" with:
34
+ """
35
+ Feature:
36
+ Scenario:
37
+ When full name is Loïc "Dupont"
38
+ """
39
+ When I run "behave -f plain features/"
40
+ Then it should pass
41
+
42
+
43
+ Scenario: Two features, FAIL (a)
44
+ Given a file named "features/issue159_stream_writer.feature" with:
45
+ """
46
+ Feature:
47
+ Scenario:
48
+ When full name is Loïc "Dupont"
49
+ """
50
+ And a file named "features/issue159_stream_writer_again.feature" with:
51
+ """
52
+ Feature:
53
+ Scenario:
54
+ When full name is Loïc "Dupond"
55
+ """
56
+ When I run "behave -f plain features/"
57
+ Then it should pass
58
+
59
+
60
+ Scenario: Two features, FAIL (b)
61
+ Given a file named "features/issue159_stream_writer.feature" with:
62
+ """
63
+ Feature:
64
+ Scenario:
65
+ When firstname is "Loïc"
66
+ """
67
+ And a file named "features/issue159_stream_writer_again.feature" with:
68
+ """
69
+ Feature:
70
+ Scenario:
71
+ When firstname is "Loïc"
72
+ """
73
+ When I run "behave -f plain features/"
74
+ Then it should pass
@@ -0,0 +1,86 @@
1
+ @issue
2
+ Feature: Issue #162 Unnecessary ContextMaskWarnings when assert fails or exception is raised
3
+
4
+ . Behave shows unnecessary ContextMaskWarnings related to:
5
+ .
6
+ . * tags
7
+ . * capture_stdout
8
+ . * capture_stderr
9
+ . * log_capture
10
+ .
11
+ . if:
12
+ .
13
+ . * an assertion fails in a step-definition/step-function
14
+ . * an exception is raised by a step-definition/step-function
15
+ .
16
+ . and an additional scenario follows.
17
+ . REASON: Context "behave" mode is not restored when an exception is raised.
18
+
19
+
20
+ @setup
21
+ Scenario: Feature Setup
22
+ Given a new working directory
23
+ And a file named "features/steps/steps.py" with:
24
+ """
25
+ from behave import step
26
+
27
+ @step('a step passes')
28
+ def step_passes(context):
29
+ pass
30
+
31
+ @step('a step assert fails')
32
+ def step_assert_fails(context):
33
+ assert False, "XFAIL-STEP"
34
+
35
+ @step('an exception is raised')
36
+ def step_raises_exception(context):
37
+ raise RuntimeError("XFAIL-STEP")
38
+ """
39
+
40
+
41
+ Scenario: Assertion fails in a step
42
+ Given a file named "features/example0162_assert_fails.feature" with:
43
+ """
44
+ Feature:
45
+ Scenario:
46
+ Given a step passes
47
+ When a step assert fails
48
+ Then a step passes
49
+
50
+ Scenario:
51
+ Given a step passes
52
+ """
53
+ When I run "behave -f plain features/example0162_assert_fails.feature"
54
+ Then it should fail with:
55
+ """
56
+ 1 scenario passed, 1 failed, 0 skipped
57
+ 2 steps passed, 1 failed, 1 skipped, 0 undefined
58
+ """
59
+ But the command output should not contain:
60
+ """
61
+ ContextMaskWarning: user code is masking context attribute
62
+ """
63
+
64
+
65
+ Scenario: Exception is raised in a step
66
+ Given a file named "features/example0162_exception_raised.feature" with:
67
+ """
68
+ Feature:
69
+ Scenario:
70
+ Given a step passes
71
+ When an exception is raised
72
+ Then a step passes
73
+
74
+ Scenario:
75
+ Given a step passes
76
+ """
77
+ When I run "behave -f plain features/example0162_exception_raised.feature"
78
+ Then it should fail with:
79
+ """
80
+ 1 scenario passed, 1 failed, 0 skipped
81
+ 2 steps passed, 1 failed, 1 skipped, 0 undefined
82
+ """
83
+ But the command output should not contain:
84
+ """
85
+ ContextMaskWarning: user code is masking context attribute
86
+ """
@@ -0,0 +1,16 @@
1
+ @issue
2
+ Feature: Issue #171: Importing step from other step file fails with AmbiguousStep Error
3
+
4
+ . When a step module imports another step module
5
+ . this should not cause AmbiguousStep errors
6
+ . due to duplicated registration of the same step functions.
7
+ .
8
+ . NOTES:
9
+ . * In general you should avoid this case (provided as example here).
10
+
11
+
12
+ @reuse.colocated_test
13
+ Scenario: Step module imports other step module
14
+ Given I use the current directory as working directory
15
+ When I run "behave -f plain features/step.import_other_step_module.feature"
16
+ Then it should pass
@@ -0,0 +1,51 @@
1
+ @issue
2
+ Feature: Issue #172 Junit report file name populated incorrectly when running against a feature file
3
+
4
+ @setup
5
+ Scenario: Feature 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 passes')
12
+ def step_passes(context):
13
+ pass
14
+ """
15
+ And a file named "features/feature_in_root_folder.feature" with:
16
+ """
17
+ Feature:
18
+ Scenario:
19
+ Given a step passes
20
+ """
21
+ And a file named "features/subfolder/feature_in_subfolder.feature" with:
22
+ """
23
+ Feature:
24
+ Scenario:
25
+ Given a step passes
26
+ """
27
+
28
+ Scenario: Running behave for one feature in root folder
29
+ When I run "behave --junit --junit-directory=test_results features/feature_in_root_folder.feature"
30
+ Then it should pass with:
31
+ """
32
+ 1 feature passed, 0 failed, 0 skipped
33
+ """
34
+ And a file named "test_results/TESTS-feature_in_root_folder.xml" exists
35
+
36
+ Scenario: Running behave for one feature in a subfolder
37
+ When I run "behave --junit --junit-directory=test_results features/subfolder/feature_in_subfolder.feature"
38
+ Then it should pass with:
39
+ """
40
+ 1 feature passed, 0 failed, 0 skipped
41
+ """
42
+ And a file named "test_results/TESTS-subfolder.feature_in_subfolder.xml" exists
43
+
44
+ Scenario: Running behave for all features
45
+ When I run "behave --junit --junit-directory=test_results"
46
+ Then it should pass with:
47
+ """
48
+ 2 features passed, 0 failed, 0 skipped
49
+ """
50
+ And a file named "test_results/TESTS-feature_in_root_folder.xml" exists
51
+ And a file named "test_results/TESTS-subfolder.feature_in_subfolder.xml" exists
@@ -0,0 +1,91 @@
1
+ @issue
2
+ Feature: Issue #175: Scenario isn't marked as 'failed' when Background step fails
3
+
4
+ Scenario has currently status "skipped" when a background step fails.
5
+ Expected is that scenario status should be "failed".
6
+ Ensure that this is the case.
7
+
8
+ RELATED: features/background.feature
9
+ REUSE: Scenario from there (as copy).
10
+
11
+ . NOTE:
12
+ . Cucumber has a slightly different behaviour.
13
+ . When a background step fails the first scenario is marked as failed.
14
+ . But the remaining scenarios are marked as skipped.
15
+ .
16
+ . This can lead to problems when you have sporadic background step failures.
17
+ . For this reason, behave retries the background steps for each scenario.
18
+ .
19
+ . SEE ALSO:
20
+ . * https://github.com/cucumber/cucumber/blob/master/features/docs/gherkin/background.feature
21
+
22
+
23
+ @setup
24
+ Scenario: Feature Setup
25
+ Given a new working directory
26
+ And a file named "features/steps/background_steps.py" with:
27
+ """
28
+ from behave import step
29
+
30
+ @step('{word} background step {outcome}')
31
+ def step_background_step_passes_or_fails(context, word, outcome):
32
+ if outcome == "fails":
33
+ assert False, "XFAIL: background step"
34
+ elif outcome == "passes":
35
+ pass
36
+ else:
37
+ message = "Unexpected outcome=%s. Use: passes, fails"
38
+ raise RuntimeError(message % outcome)
39
+ """
40
+ And a file named "features/steps/passing_steps.py" with:
41
+ """
42
+ from behave import step
43
+
44
+ @step('{word} step passes')
45
+ def step_passes(context, word):
46
+ pass
47
+
48
+ @step('{word} step fails')
49
+ def step_passes(context, word):
50
+ assert False, "XFAIL"
51
+ """
52
+
53
+
54
+ Scenario: Failing Background Step causes all Scenarios to fail
55
+ Given a file named "features/example.background_step_fails.feature" with:
56
+ """
57
+ Feature:
58
+
59
+ Background: B1
60
+ Given a background step passes
61
+ And a background step fails
62
+ And another background step passes
63
+
64
+ Scenario: S1
65
+ When a step passes
66
+
67
+ Scenario: S2
68
+ Then a step passes
69
+ And another step passes
70
+ """
71
+ When I run "behave -f plain -T features/example.background_step_fails.feature"
72
+ Then it should fail with:
73
+ """
74
+ 0 scenarios passed, 2 failed, 0 skipped
75
+ 2 steps passed, 2 failed, 5 skipped, 0 undefined
76
+ """
77
+ And the command output should contain:
78
+ """
79
+ Feature:
80
+ Background: B1
81
+
82
+ Scenario: S1
83
+ Given a background step passes ... passed
84
+ And a background step fails ... failed
85
+ Assertion Failed: XFAIL: background step
86
+
87
+ Scenario: S2
88
+ Given a background step passes ... passed
89
+ And a background step fails ... failed
90
+ Assertion Failed: XFAIL: background step
91
+ """
@@ -0,0 +1,40 @@
1
+ @issue
2
+ Feature: Issue #177: Cannot setup logging_format
3
+
4
+ . DESCPRIPTION:
5
+ . When the logging_format is set in the behave configuration file
6
+ . or on command-line, an exception is thrown, because
7
+ . the ConfigParser tries to replace the placeholders in the format string
8
+ . with option values in the configuration file (which do not exist).
9
+ .
10
+ . SOLUTION:
11
+ . The format string must be processed as raw value (by the ConfigParser).
12
+ .
13
+ . RELATED:
14
+ . * features/logging.setup_format.feature
15
+ . * features/logging.setup_level.feature
16
+
17
+
18
+ @reuse.colocated_test
19
+ Scenario: Setup logging_format
20
+ Given I use the current directory as working directory
21
+ When I run "behave -f plain features/logging.setup_format.feature"
22
+ Then it should pass
23
+ And the command output should not contain:
24
+ """
25
+ Traceback (most recent call last):
26
+ """
27
+ And the command output should not contain:
28
+ """
29
+ ConfigParser.InterpolationMissingOptionError: Bad value
30
+ """
31
+
32
+ @reuse.colocated_test
33
+ Scenario: Setup logging_level
34
+
35
+ Ensure that the problem that was also mentioned, works as expected.
36
+ Note that this "problem" never existed (hint: missing user knowledge).
37
+
38
+ Given I use the current directory as working directory
39
+ When I run "behave -f plain features/logging.setup_level.feature"
40
+ Then it should pass
@@ -0,0 +1,36 @@
1
+ @issue
2
+ Feature: Issue #181: Escape apostrophes in undefined steps snippets
3
+
4
+ . I have noticed that, for the following line in my features file:
5
+ .
6
+ . Then I'm redirected to http://www.example.com
7
+ .
8
+ . Behave outputs the following:
9
+ .
10
+ . @then(u'I'm redirected to http://www.example.com')
11
+ . def step_impl(context):
12
+ . assert False
13
+
14
+
15
+ Scenario:
16
+ Given a new working directory
17
+ And an empty file named "features/steps/steps.py"
18
+ And a file named "features/issue181_example.feature" with
19
+ """
20
+ Feature:
21
+ Scenario:
22
+ Given I'm using an "undefined step"
23
+ """
24
+ When I run "behave -f plain features/issue181_example.feature"
25
+ Then it should fail with:
26
+ """
27
+ 0 steps passed, 0 failed, 0 skipped, 1 undefined
28
+ """
29
+ And the command output should contain:
30
+ """
31
+ You can implement step definitions for undefined steps with these snippets:
32
+
33
+ @given(u'I\'m using an "undefined step"')
34
+ def step_impl(context):
35
+ raise NotImplementedError(u'STEP: Given I\'m using an "undefined step"')
36
+ """
@@ -0,0 +1,144 @@
1
+ @issue
2
+ Feature: Issue #184: TypeError when running behave with --include option
3
+
4
+ . Running behave with option '--include' causes fail with following error:
5
+ .
6
+ . Traceback (most recent call last):
7
+ . File "/.../bin/behave", line 8, in
8
+ . load_entry_point('behave==1.2.3', 'console_scripts', 'behave')()
9
+ . File "/.../lib/python2.7/site-packages/behave/__main__.py", line 111, in main
10
+ . ...
11
+ . File "/.../lib/python2.7/site-packages/behave/runner.py", line 490, in run_with_paths
12
+ . if not self.config.exclude(filename) ]
13
+ . File "/.../lib/python2.7/site-packages/behave/configuration.py", line 488, in exclude
14
+ . if self.include_re and self.include_re.search(filename) is None:
15
+ . TypeError: expected string or buffer
16
+ .
17
+ . RELATED:
18
+ . * features/runner.select_files_by_regexp.feature
19
+ . * features/runner.select_files_by_regexp2.feature
20
+
21
+ @setup
22
+ Scenario: Feature Setup
23
+ Given a new working directory
24
+ And a file named "features/steps/passing_steps.py" with:
25
+ """
26
+ from behave import step
27
+
28
+ @step('{word:w} step passes')
29
+ def step_passes(context, word):
30
+ pass
31
+ """
32
+ And a file named "features/alice.feature" with:
33
+ """
34
+ Feature: Alice
35
+ Scenario: A1
36
+ Given a step passes
37
+ """
38
+ And a file named "features/bob.feature" with:
39
+ """
40
+ Feature: Bob
41
+ Scenario: B1
42
+ When another step passes
43
+
44
+ Scenario: B2
45
+ Then another step passes
46
+ """
47
+
48
+ Scenario: Use --include command-line option to select some features
49
+ When I run "behave -f plain --include='features/a.*\.feature'"
50
+ Then it should pass with:
51
+ """
52
+ 1 feature passed, 0 failed, 0 skipped
53
+ 1 scenario passed, 0 failed, 0 skipped
54
+ """
55
+ And the command output should contain:
56
+ """
57
+ Feature: Alice
58
+ """
59
+ But the command output should not contain:
60
+ """
61
+ Feature: Bob
62
+ """
63
+
64
+
65
+ Scenario: Use --include command-line option to select all features
66
+ When I run "behave -f plain --include='.*\.feature'"
67
+ Then it should pass with:
68
+ """
69
+ 2 features passed, 0 failed, 0 skipped
70
+ 3 scenarios passed, 0 failed, 0 skipped
71
+ """
72
+
73
+
74
+ Scenario: Use --exclude command-line option
75
+ When I run "behave -f plain --exclude='features/a.*\.feature'"
76
+ Then it should pass with:
77
+ """
78
+ 1 feature passed, 0 failed, 0 skipped
79
+ 2 scenarios passed, 0 failed, 0 skipped
80
+ """
81
+ And the command output should contain:
82
+ """
83
+ Feature: Bob
84
+ """
85
+ But the command output should not contain:
86
+ """
87
+ Feature: Alice
88
+ """
89
+
90
+
91
+ Scenario: Use --include and --exclude command-line options
92
+ When I run "behave -f plain --include='.*\.feature' --exclude='features/a.*\.feature'"
93
+ Then it should pass with:
94
+ """
95
+ 1 feature passed, 0 failed, 0 skipped
96
+ 2 scenarios passed, 0 failed, 0 skipped
97
+ """
98
+ And the command output should contain:
99
+ """
100
+ Feature: Bob
101
+ """
102
+ But the command output should not contain:
103
+ """
104
+ Feature: Alice
105
+ """
106
+
107
+ Scenario: Use --include command-line option with file location
108
+ When I run "behave -f plain --include='features/a.*\.feature' features/alice.feature:3"
109
+ Then it should pass with:
110
+ """
111
+ 1 feature passed, 0 failed, 0 skipped
112
+ 1 scenario passed, 0 failed, 0 skipped
113
+ """
114
+ And the command output should contain:
115
+ """
116
+ Feature: Alice
117
+ """
118
+ But the command output should not contain:
119
+ """
120
+ Feature: Bob
121
+ """
122
+
123
+ Scenario: Use --exclude command-line option with feature list file
124
+ Given a file named "selected.txt" with:
125
+ """
126
+ # -- FEATURE-LIST FILE:
127
+ features/alice.feature:3
128
+ features/bob.feature:7
129
+ """
130
+ When I run "behave -f plain --no-skipped --exclude='.*/a.*\.feature' @selected.txt"
131
+ Then it should pass with:
132
+ """
133
+ 1 feature passed, 0 failed, 0 skipped
134
+ 1 scenario passed, 0 failed, 1 skipped
135
+ """
136
+ And the command output should contain:
137
+ """
138
+ Feature: Bob
139
+ Scenario: B2
140
+ """
141
+ But the command output should not contain:
142
+ """
143
+ Feature: Alice
144
+ """