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,42 @@
1
+ @issue
2
+ @unicode
3
+ Feature: Issue #449 -- Unicode output problem when fails with Russion text
4
+
5
+ . Either Exception text (as summary) or traceback python line shows
6
+ . special characters correctly.
7
+
8
+ Scenario:
9
+ Given a new working directory
10
+ And a file named "features/steps/problematic_steps.py" with:
11
+ """
12
+ # -*- coding: UTF-8 -*-
13
+ # NOTE: Python2 requires encoding to decode special chars correctly.
14
+ from behave import step
15
+ from hamcrest.core import assert_that, equal_to
16
+
17
+ @step("Russian text")
18
+ def step_russian_text(stop):
19
+ assert_that(False, equal_to(True), u"Всё очень плохо") # cyrillic
20
+ """
21
+ And a file named "behave.ini" with:
22
+ """
23
+ [behave]
24
+ show_timings = false
25
+ """
26
+ And a file named "features/syndrome.feature" with:
27
+ """
28
+ Feature:
29
+ Scenario:
30
+ Given Russian text
31
+ """
32
+ When I run "behave -f plain features/syndrome.feature"
33
+ Then it should fail with:
34
+ """
35
+ Scenario:
36
+ Given Russian text ... failed
37
+ Assertion Failed: Всё очень плохо
38
+ """
39
+ But the command output should not contain:
40
+ """
41
+ Assertion Failed: 'ascii' codec can't encode characters in position
42
+ """
@@ -0,0 +1,42 @@
1
+ @issue
2
+ @unicode
3
+ Feature: Issue #453 -- Unicode output problem when Exception is raised in step
4
+
5
+ . Either Exception text (as summary) or traceback python line shows
6
+ . special characters incorrectly.
7
+ .
8
+ . Result (of failed step):
9
+ . File "features/steps/steps.py", line 8, in foo
10
+ . raise Exception(u"по ����ки") <-- This is not
11
+ . Exception: по русски <-- This is OK
12
+
13
+
14
+ Scenario:
15
+ Given a new working directory
16
+ And a file named "features/steps/problematic_steps.py" with:
17
+ """
18
+ # -*- coding: UTF-8 -*-
19
+ from behave import step
20
+
21
+ @step(u'an exception with special chars is raised')
22
+ def step_exception_raised(context):
23
+ raise Exception(u"по русски")
24
+ """
25
+ And a file named "features/syndrome.feature" with:
26
+ """
27
+ Feature:
28
+ Scenario:
29
+ Given an exception with special chars is raised
30
+ """
31
+ When I run "behave -f plain features/syndrome.feature"
32
+ Then it should fail with:
33
+ """
34
+ Scenario:
35
+ Given an exception with special chars is raised ... failed
36
+ """
37
+ And the command output should contain:
38
+ """
39
+ File "features/steps/problematic_steps.py", line 6, in step_exception_raised
40
+ raise Exception(u"по русски")
41
+ Exception: по русски
42
+ """
@@ -0,0 +1,65 @@
1
+ @not_reproducible
2
+ @issue
3
+ Feature: Issue #457 -- Double-quotes in error messages of JUnit XML reports
4
+
5
+ STATUS: Problem is currently not reproducible.
6
+ XML attributes are escaped correctly even when double-quotes are used.
7
+
8
+ @setup
9
+ Scenario: Feature Setup
10
+ Given a new working directory
11
+ And a file named "features/steps/fail_steps.py" with:
12
+ """
13
+ from behave import step
14
+
15
+ @step('{word:w} step fails with message')
16
+ def step_fails(context, word):
17
+ assert context.text
18
+ assert False, "FAILED: "+ context.text
19
+
20
+ @step('{word:w} step fails with error and message')
21
+ def step_fails2(context, word):
22
+ assert context.text
23
+ raise RuntimeError(context.text)
24
+ """
25
+
26
+
27
+ Scenario: Use failing assertation in a JUnit XML report
28
+ Given a file named "features/fails1.feature" with:
29
+ """
30
+ Feature:
31
+ Scenario: Alice
32
+ Given a step fails with message:
33
+ '''
34
+ My name is "Alice"
35
+ '''
36
+ """
37
+ When I run "behave --junit features/fails1.feature"
38
+ Then it should fail with:
39
+ """
40
+ 0 scenarios passed, 1 failed, 0 skipped
41
+ """
42
+ And the file "reports/TESTS-fails1.xml" should contain:
43
+ """
44
+ <failure message="FAILED: My name is &quot;Alice&quot;"
45
+ """
46
+
47
+ Scenario: Use exception in a JUnit XML report
48
+ Given a file named "features/fails2.feature" with:
49
+ """
50
+ Feature:
51
+ Scenario: Bob
52
+ Given a step fails with error and message:
53
+ '''
54
+ My name is "Bob" and <here> I am
55
+ '''
56
+ """
57
+ When I run "behave --junit features/fails2.feature"
58
+ Then it should fail with:
59
+ """
60
+ 0 scenarios passed, 1 failed, 0 skipped
61
+ """
62
+ And the file "reports/TESTS-fails2.xml" should contain:
63
+ """
64
+ <error message="My name is &quot;Bob&quot; and &lt;here&gt; I am"
65
+ """
@@ -0,0 +1,38 @@
1
+ @issue
2
+ Feature: Issue #462-- Invalid JSON output when --include option selects no features
3
+
4
+ . Invalid JSON output is generated when no features are selected in a test-run.
5
+ . For example, this may be the case when the --include option is used.
6
+
7
+
8
+ Background:
9
+ Given a new working directory
10
+ And a file named "features/steps/pass_steps.py" with:
11
+ """
12
+ from behave import step
13
+
14
+ @step('{word:w} step passes')
15
+ def step_passes(context, word):
16
+ pass
17
+ """
18
+ And a file named "features/passing.feature" with:
19
+ """
20
+ Feature:
21
+ Scenario:
22
+ Given a step passes
23
+ """
24
+
25
+
26
+ Scenario: Include Option selects no feature files
27
+ When I run "behave -f json -i __unknown__.feature"
28
+ Then it should pass with:
29
+ """
30
+ 0 features passed, 0 failed, 0 skipped
31
+ 0 scenarios passed, 0 failed, 0 skipped
32
+ """
33
+ And the command output should contain:
34
+ """
35
+ [
36
+ ]
37
+ """
38
+
@@ -0,0 +1,39 @@
1
+ @issue
2
+ Feature: Issue #467 -- Scenario status when scenario w/o steps is skipped
3
+
4
+ . The scenario.status should be "skipped"
5
+ . if you try to skip a scenario without any steps.
6
+
7
+
8
+ Scenario: Skip scenario without steps
9
+ Given a new working directory
10
+ And a file named "features/steps/pass_steps.py" with:
11
+ """
12
+ from behave import step
13
+
14
+ @step('{word:w} step passes')
15
+ def step_passes(context, word):
16
+ pass
17
+ """
18
+ And a file named "features/without_steps.feature" with:
19
+ """
20
+ Feature:
21
+ @skip_this
22
+ Scenario: Without steps
23
+ """
24
+ And a file named "features/environment.py" with:
25
+ """
26
+ def before_scenario(context, scenario):
27
+ if "skip_this" in scenario.tags:
28
+ scenario.skip()
29
+ """
30
+ When I run "behave -f plain features/without_steps.feature"
31
+ Then it should pass with:
32
+ """
33
+ Feature:
34
+ Scenario: Without steps
35
+
36
+ 0 features passed, 0 failed, 1 skipped
37
+ 0 scenarios passed, 0 failed, 1 skipped
38
+ """
39
+ But note that "the scenario without steps is skipped"
@@ -0,0 +1,92 @@
1
+ @issue
2
+ @unicode
3
+ @not_reproducible
4
+ Feature: Issue #487 -- UnicodeEncodeError with ZBSP in multi-line text
5
+
6
+ . NOTE: I use ZBSP (zero-width space) in multiline text
7
+ . Traceback (most recent call last):
8
+ . File "/usr/bin/behave-2", line 9, in <module>
9
+ . load_entry_point('behave==1.2.5', 'console_scripts', 'behave')()
10
+ . File "/usr/lib/python2.7/site-packages/behave/__main__.py", line 111, in main
11
+ . print(u"ParseError: %s" % e)
12
+ . UnicodeEncodeError: 'ascii' codec can't encode characters in position 92-103: ordinal not in range(128)
13
+ .
14
+ . ANALYSIS:
15
+ . ParseError indicates that the problem occured while parsing the
16
+ . feature file. Feature file encoding is assumed
17
+
18
+ @not.with_ci=appveyor
19
+ Scenario:
20
+ Given a new working directory
21
+ And a file named "features/steps/pass_steps.py" with:
22
+ """
23
+ from behave import step
24
+
25
+ @step('{word:w} step passes')
26
+ def step_passes(context, word):
27
+ pass
28
+ """
29
+ And a file named "features/steps/steps.py" with:
30
+ """
31
+ # -*- coding: latin-1 -*-
32
+ from __future__ import print_function
33
+ from behave import step
34
+
35
+ @step('I use {special_unicode_char:w} in text')
36
+ def step_use_ZBSP_with_text(context, special_unicode_char):
37
+ assert context.text
38
+ print(u"TEXT: %s" % context.text)
39
+ """
40
+ And a file named "behave.ini" with:
41
+ """
42
+ [behave]
43
+ show_timings = false
44
+ """
45
+ And a file named "features/syndrome.feature" with:
46
+ """
47
+ Feature:
48
+
49
+ Scenario Outline: Use special unicode char (<comment>)
50
+ Given I use ZBSP in text:
51
+ '''
52
+ HERE we use a ==><special_unicode_char><== SPECIAL UNICODE CHAR.
53
+ '''
54
+
55
+ Examples:
56
+ | special_unicode_char | comment |
57
+ | ⌘ | MACOS command key symbol |
58
+ | © | copyright sign |
59
+ | € | Euro sign (currency) |
60
+ | xxx XXX | special space |
61
+ """
62
+ When I run "behave -f plain features/syndrome.feature"
63
+ Then it should pass with:
64
+ """
65
+ 4 scenarios passed, 0 failed, 0 skipped
66
+ """
67
+ And the command output should contain:
68
+ '''
69
+ Scenario Outline: Use special unicode char (MACOS command key symbol) -- @1.1
70
+ Given I use ZBSP in text ... passed
71
+ """
72
+ HERE we use a ==>⌘<== SPECIAL UNICODE CHAR.
73
+ """
74
+
75
+ Scenario Outline: Use special unicode char (copyright sign) -- @1.2
76
+ Given I use ZBSP in text ... passed
77
+ """
78
+ HERE we use a ==>©<== SPECIAL UNICODE CHAR.
79
+ """
80
+
81
+ Scenario Outline: Use special unicode char (Euro sign (currency)) -- @1.3
82
+ Given I use ZBSP in text ... passed
83
+ """
84
+ HERE we use a ==>€<== SPECIAL UNICODE CHAR.
85
+ """
86
+
87
+ Scenario Outline: Use special unicode char (special space) -- @1.4
88
+ Given I use ZBSP in text ... passed
89
+ """
90
+ HERE we use a ==>xxx XXX<== SPECIAL UNICODE CHAR.
91
+ """
92
+ '''
@@ -0,0 +1,77 @@
1
+ @issue
2
+ @user_error
3
+ @python2.problem
4
+ Feature: Issue #506 -- Behave stops on error
5
+
6
+ . ANALYSIS:
7
+ . Using exception.__cause__ = original_exception causes problems in Python2
8
+ . When you use the Python3 chained-exception mechanism,
9
+ . you should better ensure that the "original_exception.__traceback__" attribute
10
+ . exists. Otherwise, a new exception (missing attribute) is raised
11
+ . when you format the traceback,
12
+
13
+ Scenario:
14
+ Given a new working directory
15
+ And a file named "features/steps/pass_steps.py" with:
16
+ """
17
+ from behave import step
18
+
19
+ @step('{word:w} step passes')
20
+ def step_passes(context, word):
21
+ pass
22
+
23
+ """
24
+ And a file named "features/steps/steps.py" with:
25
+ """
26
+ from behave import when, then
27
+ from behave._types import ChainedExceptionUtil
28
+ import copy
29
+
30
+ @when('I bad chained-exception causes my step to fail')
31
+ def step_bad_usage_of_chained_exception(context):
32
+ # -- BAD IMPLEMENATION:
33
+ exception = ZeroDivisionError('integer division or modulo by zero')
34
+ exception.__cause__ = copy.copy(exception)
35
+ raise exception
36
+
37
+ @when('a chained-exception causes my step to fail')
38
+ def step_chained_exception_causes_failure(context):
39
+ try:
40
+ raise ZeroDivisionError("OOPS-1")
41
+ except ZeroDivisionError as e:
42
+ e2 = RuntimeError("OOPS-2")
43
+ ChainedExceptionUtil.set_cause(e2, e)
44
+ raise e2
45
+
46
+ @then('this step must be executed')
47
+ def step_check_step(context):
48
+ pass
49
+ """
50
+ And a file named "features/syndrome.feature" with:
51
+ """
52
+ Feature: Failing step which can lead to stop behave
53
+
54
+ @failing
55
+ Scenario: Run stopping behave scenario
56
+ When a chained-exception causes my step to fail
57
+ Then this step must be executed
58
+ """
59
+ When I run "behave -f plain features/syndrome.feature"
60
+ Then it should fail with:
61
+ """
62
+ 0 scenarios passed, 1 failed, 0 skipped
63
+ """
64
+ And the command output should contain:
65
+ """
66
+ ZeroDivisionError: OOPS-1
67
+
68
+ The above exception was the direct cause of the following exception:
69
+
70
+ Traceback (most recent call last):
71
+ """
72
+ And the command output should contain:
73
+ """
74
+ File "features/steps/steps.py", line 19, in step_chained_exception_causes_failure
75
+ raise e2
76
+ RuntimeError: OOPS-2
77
+ """
@@ -0,0 +1,51 @@
1
+ @issue
2
+ @junit
3
+ @wip
4
+ Feature: Issue #510 -- JUnit XML output is not well-formed (in some cases)
5
+
6
+ . Special control characters in JUnit stdout/stderr sections
7
+ . are directly written to CDATA XML sections.
8
+ .
9
+ . According to the XML charset specification only the following unicode
10
+ . codepoints (characters) are allowed in a CDATA section:
11
+ .
12
+ . Char ::= #x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF]
13
+ . /* any Unicode character, excluding the surrogate blocks, FFFE, and FFFF. */
14
+ .
15
+ . [XML-charsets] "The normative reference is XML 1.0 (Fifth Edition),
16
+ . section 2.2, https://www.w3.org/TR/REC-xml/#charsets
17
+
18
+
19
+ @use.with_xmllint=yes
20
+ @xfail
21
+ Scenario:
22
+ Given a new working directory
23
+ And a file named "features/steps/special_char_steps.py" with:
24
+ """
25
+ # -*- coding: UTF-8 -*-
26
+ from __future__ import print_function
27
+ from behave import step
28
+
29
+ @step(u'we print ^D')
30
+ def step_print_special_char_control_d(context):
31
+ print(u"\004")
32
+ """
33
+ And a file named "features/special_char.feature" with:
34
+ """
35
+ Feature: An illegal char
36
+ Scenario: Control-D
37
+ When we print ^D
38
+ """
39
+ When I run "behave --junit features/special_char.feature"
40
+ Then it should pass with:
41
+ """
42
+ 1 scenario passed, 0 failed, 0 skipped
43
+ """
44
+ When I run "xmllint reports/TESTS-special_char.xml"
45
+ Then it should pass
46
+ And the command output should not contain "parser error"
47
+ And the command output should not contain:
48
+ """
49
+ reports/TESTS-special_char.xml:12: parser error : PCDATA invalid Char value 4
50
+ """
51
+ And note that "xmllint reports additional correlated errors"