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,84 @@
1
+ @sequential
2
+ Feature: Select feature files by using regular expressions
3
+
4
+ As a tester
5
+ I want to include/exclude feature files into/from a test run by using wildcards
6
+ To be more flexible and avoid to specify all feature files
7
+
8
+ . SPECIFICATION:
9
+ . * behave provides --include and --exclude command line options
10
+ . * --include option selects a subset of all files that should be included
11
+ . * --exclude option is applied after include option is applied
12
+ .
13
+ . EXAMPLE:
14
+ . behave --include="features/ali.*\.feature" ...
15
+ . behave --exclude="features/ali.*" ...
16
+
17
+
18
+ Background:
19
+ Given behave has the following feature fileset:
20
+ """
21
+ features/alice.feature
22
+ features/bob.feature
23
+ features/barbi.feature
24
+ """
25
+
26
+ Scenario: Include only feature files
27
+ When behave includes feature files with "features/a.*"
28
+ And behave excludes no feature files
29
+ Then the following feature files are selected:
30
+ """
31
+ features/alice.feature
32
+ """
33
+
34
+ Scenario: Include more than one feature file
35
+ When behave includes feature files with "features/b.*"
36
+ Then the following feature files are selected:
37
+ """
38
+ features/bob.feature
39
+ features/barbi.feature
40
+ """
41
+
42
+
43
+ Scenario: Exclude only feature files
44
+ When behave excludes feature files with "features/a.*"
45
+ And behave includes all feature files
46
+ Then the following feature files are selected:
47
+ """
48
+ features/bob.feature
49
+ features/barbi.feature
50
+ """
51
+
52
+ Scenario: Exclude more than one feature file
53
+ When behave excludes feature files with "features/b.*"
54
+ Then the following feature files are selected:
55
+ """
56
+ features/alice.feature
57
+ """
58
+
59
+ Scenario: Include and exclude feature files
60
+
61
+ Ensure that exclude file pattern is applied after include file pattern.
62
+
63
+ When behave includes feature files with "features/.*a.*\.feature"
64
+ And behave excludes feature files with ".*/barbi.*"
65
+ Then the following feature files are selected:
66
+ """
67
+ features/alice.feature
68
+ """
69
+
70
+ Scenario: Include and exclude feature files (in 2 steps)
71
+
72
+ Show how file inclusion/exclusion works by emulating the two steps.
73
+
74
+ When behave includes feature files with "features/.*a.*\.feature"
75
+ Then the following feature files are selected:
76
+ """
77
+ features/alice.feature
78
+ features/barbi.feature
79
+ """
80
+ When behave excludes feature files with ".*/barbi.*"
81
+ Then the following feature files are selected:
82
+ """
83
+ features/alice.feature
84
+ """
@@ -0,0 +1,403 @@
1
+ @sequential
2
+ Feature: Select Scenarios by File Location
3
+
4
+ To simplify running only one scenario in a feature (or some scenarios)
5
+ As a tester
6
+ I want to select a scenario by using its file location,
7
+ like: "alice.feature:10" (schema: {filename}:{line})
8
+
9
+
10
+ . CONCEPT: File Location
11
+ . * A file location consists of file name and a positive line number
12
+ . * A file location is represented as "{filename}:{line}" (or "{filename}")
13
+ . * A file location with filename but without line number
14
+ . refers to the complete file
15
+ . * A file location with line number 0 (zero) refers to the complete file
16
+ .
17
+ . SPECIFICATION: Scenario selection by file locations
18
+ . * scenario.line == file_location.line selects scenario (preferred method).
19
+ . * Any line number in the following range is acceptable:
20
+ . scenario.line <= file_location.line < next_scenario.line
21
+ . * The first scenario is selected,
22
+ . if the file location line number is less than first scenario.line.
23
+ . * The last scenario is selected,
24
+ . if the file location line number is greater than the lines in the file.
25
+ .
26
+ . SPECIFICATION: Runner with scenario locations (file locations)
27
+ . * Adjacent file locations are merged if they refer to the same file, like:
28
+ .
29
+ . alice.feature:10
30
+ . alice.feature:20
31
+ .
32
+ . => MERGED: Selects/runs "alice.feature" with 2 scenarios.
33
+ .
34
+ . alice.feature
35
+ . alice.feature:20
36
+ .
37
+ . => MERGED: Selects "alice.feature" with all scenarios.
38
+ .
39
+ . alice.feature:10
40
+ . bob.feature:20
41
+ . alice.feature:20
42
+ .
43
+ . => NOT MERGED: Selects/runs "alice.feature" twice.
44
+ .
45
+ . * If file locations (scenario locations) are used,
46
+ . scenarios with @setup or @teardown tags are selected, too.
47
+ .
48
+ . REASON: Simplifies to use a Setup Scenario instead of a Background.
49
+ .
50
+ . * Additional scenario selection mechanisms, like tags, names,
51
+ . are applied afterwards.
52
+
53
+
54
+ @setup
55
+ Scenario: Feature Setup
56
+ Given a new working directory
57
+ And a file named "features/steps/steps.py" with:
58
+ """
59
+ from behave import step
60
+
61
+ @step('a step passes')
62
+ def step_passes(context):
63
+ pass
64
+ """
65
+ And a file named "features/alice.feature" with:
66
+ """
67
+ Feature: Alice
68
+
69
+ Scenario: Alice First
70
+ When a step passes
71
+
72
+ Scenario: Alice Last
73
+ Then a step passes
74
+ """
75
+ And a file named "features/bob.feature" with:
76
+ """
77
+ Feature: Bob
78
+
79
+ @setup
80
+ Scenario: Setup Bob
81
+ Given a step passes
82
+
83
+ Scenario: Bob in Berlin
84
+ When a step passes
85
+
86
+ Scenario: Bob in Paris
87
+ Then a step passes
88
+
89
+ @teardown
90
+ Scenario: Teardown Bob
91
+ Then a step passes
92
+ """
93
+ And a file named "behave.ini" with:
94
+ """
95
+ [behave]
96
+ show_skipped = false
97
+ show_timings = false
98
+ """
99
+
100
+
101
+ @file_location.select
102
+ Scenario: Select one scenario with its exact file location
103
+
104
+ CASE: scenario.line == file_location.line
105
+
106
+ When I run "behave -f plain --dry-run --no-skipped features/alice.feature:3"
107
+ Then it should pass with:
108
+ """
109
+ 0 features passed, 0 failed, 0 skipped, 1 untested
110
+ 0 scenarios passed, 0 failed, 1 skipped, 1 untested
111
+ """
112
+ And the command output should contain:
113
+ """
114
+ Feature: Alice
115
+ Scenario: Alice First
116
+ """
117
+ But the command output should not contain:
118
+ """
119
+ Scenario: Alice Last
120
+ """
121
+
122
+ @file_location.select
123
+ Scenario: Select one scenario with a larger file location
124
+
125
+ CASE: scenario.line <= file_location.line < next_scenario.line
126
+
127
+ When I run "behave -f plain --dry-run --no-skipped features/alice.feature:4"
128
+ Then it should pass with:
129
+ """
130
+ 0 features passed, 0 failed, 0 skipped, 1 untested
131
+ 0 scenarios passed, 0 failed, 1 skipped, 1 untested
132
+ """
133
+ And the command output should contain:
134
+ """
135
+ Feature: Alice
136
+ Scenario: Alice First
137
+ """
138
+ But the command output should not contain:
139
+ """
140
+ Scenario: Alice Last
141
+ """
142
+
143
+ @file_location.select
144
+ Scenario: Select next scenario with its exact location
145
+
146
+ CASE: scenario.line < file_location.line == next_scenario.line
147
+
148
+ When I run "behave -f plain --dry-run --no-skipped features/alice.feature:6"
149
+ Then it should pass with:
150
+ """
151
+ 0 features passed, 0 failed, 0 skipped, 1 untested
152
+ 0 scenarios passed, 0 failed, 1 skipped, 1 untested
153
+ """
154
+ And the command output should contain:
155
+ """
156
+ Feature: Alice
157
+ Scenario: Alice Last
158
+ """
159
+ But the command output should not contain:
160
+ """
161
+ Scenario: Alice First
162
+ """
163
+
164
+ @file_location.select_first
165
+ Scenario: Select first scenario if line number is smaller than first scenario line
166
+
167
+ CASE: 0 < file_location.line < first_scenario.line
168
+
169
+ When I run "behave -f plain --dry-run --no-skipped features/alice.feature:1"
170
+ Then it should pass with:
171
+ """
172
+ 0 features passed, 0 failed, 0 skipped, 1 untested
173
+ 0 scenarios passed, 0 failed, 1 skipped, 1 untested
174
+ """
175
+ And the command output should contain:
176
+ """
177
+ Feature: Alice
178
+ Scenario: Alice First
179
+ """
180
+ But the command output should not contain:
181
+ """
182
+ Scenario: Alice Last
183
+ """
184
+
185
+ @file_location.select_last
186
+ Scenario: Select last scenario when line number is too large
187
+
188
+ CASE: last_scenario.line < file.last_line < file_location.line
189
+
190
+ When I run "behave -f plain --dry-run --no-skipped features/alice.feature:100"
191
+ Then it should pass with:
192
+ """
193
+ 0 features passed, 0 failed, 0 skipped, 1 untested
194
+ 0 scenarios passed, 0 failed, 1 skipped, 1 untested
195
+ """
196
+ And the command output should contain:
197
+ """
198
+ Feature: Alice
199
+ Scenario: Alice Last
200
+ """
201
+ But the command output should not contain:
202
+ """
203
+ Scenario: Alice First
204
+ """
205
+
206
+
207
+ @file_location.select_all
208
+ Scenario: Select all scenarios with line number 0 (zero)
209
+ When I run "behave -f plain --dry-run --no-skipped features/alice.feature:0"
210
+ Then it should pass with:
211
+ """
212
+ 0 features passed, 0 failed, 0 skipped, 1 untested
213
+ 0 scenarios passed, 0 failed, 0 skipped, 2 untested
214
+ """
215
+ And the command output should contain "Scenario: Alice First"
216
+ And the command output should contain "Scenario: Alice Last"
217
+ But note that "all scenarios of this features are selected"
218
+
219
+
220
+ @file_location.select
221
+ @with.feature_configfile
222
+ Scenario: Select a scenario by using file locations from a features configfile
223
+ Given a file named "alice1.txt" with:
224
+ """
225
+ # -- FEATURES CONFIGFILE:
226
+ # Selects Alice First
227
+ features/alice.feature:3
228
+ """
229
+ When I run "behave -f plain --dry-run --no-skipped @alice1.txt"
230
+ Then it should pass with:
231
+ """
232
+ 0 features passed, 0 failed, 0 skipped, 1 untested
233
+ 0 scenarios passed, 0 failed, 1 skipped, 1 untested
234
+ """
235
+ And the command output should contain:
236
+ """
237
+ Feature: Alice
238
+ Scenario: Alice First
239
+ """
240
+ But the command output should not contain:
241
+ """
242
+ Scenario: Alice Last
243
+ """
244
+
245
+ @file_location.autoselect_setup_teardown
246
+ Scenario: Auto-select scenarios tagged with @setup or @teardown if file location is used
247
+ When I run "behave -f plain --dry-run --no-skipped features/bob.feature:7"
248
+ Then it should pass with:
249
+ """
250
+ 0 features passed, 0 failed, 0 skipped, 1 untested
251
+ 0 scenarios passed, 0 failed, 1 skipped, 3 untested
252
+ """
253
+ And the command output should contain "Scenario: Setup Bob"
254
+ And the command output should contain "Scenario: Bob in Berlin"
255
+ And the command output should contain "Scenario: Teardown Bob"
256
+ But the command output should not contain "Scenario: Bob in Paris"
257
+
258
+ @merge.file_locations
259
+ Scenario: Merge 2 adjacent file locations that refer to the same file
260
+ When I run "behave -f plain --dry-run --no-skipped features/alice.feature:3 features/alice.feature:6"
261
+ Then it should pass with:
262
+ """
263
+ 0 features passed, 0 failed, 0 skipped, 1 untested
264
+ 0 scenarios passed, 0 failed, 0 skipped, 2 untested
265
+ """
266
+ And the command output should contain:
267
+ """
268
+ Feature: Alice
269
+ Scenario: Alice First
270
+ When a step passes ... untested
271
+
272
+ Scenario: Alice Last
273
+ Then a step passes ... untested
274
+ """
275
+ But the command output should not contain:
276
+ """
277
+ Feature: Alice
278
+ Scenario: Alice First
279
+ When a step passes ... untested
280
+
281
+ Feature: Alice
282
+ Scenario: Alice Last
283
+ """
284
+ And note that "both file locations are merged"
285
+
286
+
287
+ @merge.file_locations
288
+ @file_location.select_all
289
+ Scenario: Merge filename and adjacent file location that refer to the same file
290
+ When I run "behave -f plain --dry-run --no-skipped features/alice.feature:3 features/alice.feature"
291
+ Then it should pass with:
292
+ """
293
+ 0 features passed, 0 failed, 0 skipped, 1 untested
294
+ 0 scenarios passed, 0 failed, 0 skipped, 2 untested
295
+ """
296
+ And the command output should contain:
297
+ """
298
+ Feature: Alice
299
+ Scenario: Alice First
300
+ When a step passes ... untested
301
+
302
+ Scenario: Alice Last
303
+ Then a step passes ... untested
304
+ """
305
+ But the command output should not contain:
306
+ """
307
+ Feature: Alice
308
+ Scenario: Alice First
309
+ When a step passes ... untested
310
+
311
+ Feature: Alice
312
+ Scenario: Alice First
313
+ When a step passes ... untested
314
+
315
+ Scenario: Alice Last
316
+ Then a step passes ... untested
317
+ """
318
+ And note that "duplicated file locations are removed in the merge"
319
+
320
+
321
+ @merge.file_locations
322
+ @with.feature_listfile
323
+ Scenario: Merge 2 adjacent file locations to same file from features-listfile
324
+ Given a file named "alice1_and_alice2.txt" with:
325
+ """
326
+ # -- FEATURES CONFIGFILE:
327
+ # Selects Alice First, Alice Last
328
+ features/alice.feature:3
329
+ features/alice.feature:6
330
+ """
331
+ When I run "behave -f plain --dry-run --no-skipped @alice1_and_alice2.txt"
332
+ Then it should pass with:
333
+ """
334
+ 0 features passed, 0 failed, 0 skipped, 1 untested
335
+ 0 scenarios passed, 0 failed, 0 skipped, 2 untested
336
+ """
337
+ And the command output should contain:
338
+ """
339
+ Feature: Alice
340
+ Scenario: Alice First
341
+ When a step passes ... untested
342
+
343
+ Scenario: Alice Last
344
+ Then a step passes ... untested
345
+ """
346
+ But the command output should not contain:
347
+ """
348
+ Feature: Alice
349
+ Scenario: Alice First
350
+ When a step passes ... untested
351
+
352
+ Feature: Alice
353
+ Scenario: Alice Last
354
+ Then a step passes ... untested
355
+ """
356
+
357
+ @no_merge.file_locations
358
+ @with.feature_listfile
359
+ Scenario: No merge occurs if file locations to same file are not adjacent
360
+ Given a file named "alice1_bob2_and_alice2.txt" with:
361
+ """
362
+ # -- FEATURES CONFIGFILE:
363
+ # Selects Alice First, Bob in Paris (Setup, Teardown), Alice Last
364
+ features/alice.feature:3
365
+ features/bob.feature:10
366
+ features/alice.feature:6
367
+ """
368
+ When I run "behave -f plain --dry-run --no-skipped @alice1_bob2_and_alice2.txt"
369
+ Then it should pass with:
370
+ """
371
+ 0 features passed, 0 failed, 0 skipped, 3 untested
372
+ 0 scenarios passed, 0 failed, 3 skipped, 5 untested
373
+ """
374
+ And the command output should contain:
375
+ """
376
+ Feature: Alice
377
+ Scenario: Alice First
378
+ When a step passes ... untested
379
+
380
+ Feature: Bob
381
+ Scenario: Setup Bob
382
+ Given a step passes ... untested
383
+
384
+ Scenario: Bob in Paris
385
+ Then a step passes ... untested
386
+
387
+ Scenario: Teardown Bob
388
+ Then a step passes ... untested
389
+
390
+ Feature: Alice
391
+ Scenario: Alice Last
392
+ Then a step passes ... untested
393
+ """
394
+ But the command output should not contain:
395
+ """
396
+ Feature: Alice
397
+ Scenario: Alice First
398
+ When a step passes ... untested
399
+
400
+ Scenario: Alice Last
401
+ Then a step passes ... untested
402
+ """
403
+ And note that "non-adjacent file locations to the same file are not merged"