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,188 @@
1
+ @logging
2
+ @capture
3
+ Feature: Capture log output
4
+
5
+ As a tester
6
+ I want that log output is captured
7
+ But log-records are only shown when failures/errors occur
8
+ So that failure diagnostics are simplified
9
+
10
+ . SPECIFICATION:
11
+ . * log_capture mode is enabled per default
12
+ . * log_capture mode can be defined on command-line
13
+ . * log_capture mode can be defined in behave configuration file
14
+ . * In log_capture mode: Captured log-records are only shown if a scenario fails
15
+ .
16
+ . RELATED:
17
+ . * logcapture.*.feature
18
+ . * logging.*.feature
19
+
20
+ @setup
21
+ Scenario: Feature Setup
22
+ Given a new working directory
23
+ And a file named "features/steps/use_behave4cmd_steps.py" with:
24
+ """
25
+ import behave4cmd0.log.steps
26
+ import behave4cmd0.failing_steps
27
+ import behave4cmd0.passing_steps
28
+ """
29
+ And a file named "features/environment.py" with:
30
+ """
31
+ def before_all(context):
32
+ context.config.setup_logging()
33
+ # -- SAME-AS:
34
+ # import logging
35
+ # logging.basicConfig(level=context.config.logging_level)
36
+ """
37
+ And a file named "features/example.log_and_pass.feature" with:
38
+ """
39
+ Feature:
40
+ Scenario: Passing
41
+ Given I create log records with:
42
+ | category | level | message |
43
+ | root | FATAL | Hello Alice |
44
+ | foo | ERROR | Hello Bob |
45
+ | foo.bar | WARN | Hello Charly |
46
+ | bar | INFO | Hello Dora |
47
+ | baz | DEBUG | Hello Emily |
48
+ When another step passes
49
+ """
50
+ And a file named "features/example.log_and_fail.feature" with:
51
+ """
52
+ Feature:
53
+ Scenario: Failing
54
+ Given I create log records with:
55
+ | category | level | message |
56
+ | root | FATAL | Hello Alice |
57
+ | foo | ERROR | Hello Bob |
58
+ | foo.bar | WARN | Hello Charly |
59
+ | bar | INFO | Hello Dora |
60
+ | baz | DEBUG | Hello Emily |
61
+ When another step fails
62
+ """
63
+
64
+
65
+ Scenario: Captured log is suppressed if scenario passes
66
+ When I run "behave -f plain -T --logcapture features/example.log_and_pass.feature"
67
+ Then it should pass with:
68
+ """
69
+ 1 scenario passed, 0 failed, 0 skipped
70
+ 2 steps passed, 0 failed, 0 skipped, 0 undefined
71
+ """
72
+ And the command output should contain:
73
+ """
74
+ Scenario: Passing
75
+ Given I create log records with ... passed
76
+ | category | level | message |
77
+ | root | FATAL | Hello Alice |
78
+ | foo | ERROR | Hello Bob |
79
+ | foo.bar | WARN | Hello Charly |
80
+ | bar | INFO | Hello Dora |
81
+ | baz | DEBUG | Hello Emily |
82
+ When another step passes ... passed
83
+ """
84
+ And the command output should not contain:
85
+ """
86
+ Captured logging:
87
+ """
88
+ But the command output should not contain the following log records:
89
+ | category | level | message |
90
+ | root | FATAL | Hello Alice |
91
+ | foo | ERROR | Hello Bob |
92
+ | foo.bar | WARN | Hello Charly |
93
+ | bar | INFO | Hello Dora |
94
+ | baz | DEBUG | Hello Emily |
95
+
96
+
97
+ Scenario: Captured log is shown up to first failure if scenario fails
98
+ When I run "behave -f plain -T --logcapture features/example.log_and_fail.feature"
99
+ Then it should fail with:
100
+ """
101
+ 0 scenarios passed, 1 failed, 0 skipped
102
+ 1 step passed, 1 failed, 0 skipped, 0 undefined
103
+ """
104
+ And the command output should contain:
105
+ """
106
+ Feature:
107
+ Scenario: Failing
108
+ Given I create log records with ... passed
109
+ | category | level | message |
110
+ | root | FATAL | Hello Alice |
111
+ | foo | ERROR | Hello Bob |
112
+ | foo.bar | WARN | Hello Charly |
113
+ | bar | INFO | Hello Dora |
114
+ | baz | DEBUG | Hello Emily |
115
+ When another step fails ... failed
116
+ Assertion Failed: EXPECT: Failing step
117
+ Captured logging:
118
+ CRITICAL:root:Hello Alice
119
+ ERROR:foo:Hello Bob
120
+ WARNING:foo.bar:Hello Charly
121
+ INFO:bar:Hello Dora
122
+ """
123
+ And the command output should contain the following log records:
124
+ | category | level | message |
125
+ | root | FATAL | Hello Alice |
126
+ | foo | ERROR | Hello Bob |
127
+ | foo.bar | WARN | Hello Charly |
128
+ | bar | INFO | Hello Dora |
129
+ But the command output should not contain the following log records:
130
+ | category | level | message | Comment |
131
+ | baz | DEBUG | Hello Emily | Log-level too low: filtered-out |
132
+
133
+
134
+ Scenario: Captured log is shown up to first failure if log_record.level is not too low
135
+
136
+ Ensure that only log-records are shown that exceed the logging-level.
137
+
138
+ When I run "behave -f plain --logcapture --logging-level=ERROR features/example.log_and_fail.feature"
139
+ Then it should fail
140
+ And the command output should contain the following log records:
141
+ | category | level | message |
142
+ | root | FATAL | Hello Alice |
143
+ | foo | ERROR | Hello Bob |
144
+ But the command output should not contain the following log records:
145
+ | category | level | message |
146
+ | foo.bar | WARN | Hello Charly |
147
+ | bar | INFO | Hello Dora |
148
+ | baz | DEBUG | Hello Emily |
149
+
150
+
151
+ Scenario: Logcapture mode is enabled per default
152
+ When I run "behave -f plain features/example.log_and_fail.feature"
153
+ Then it should fail
154
+ And the command output should contain "Captured logging:"
155
+
156
+
157
+ Scenario: Logcapture mode can be enabled on command-line
158
+ When I run "behave -f plain --logcapture features/example.log_and_fail.feature"
159
+ Then it should fail
160
+ And the command output should contain "Captured logging:"
161
+
162
+
163
+ Scenario: Logcapture mode can be disabled on command-line
164
+ When I run "behave -f plain --no-logcapture features/example.log_and_fail.feature"
165
+ Then it should fail
166
+ And the command output should not contain "Captured logging:"
167
+
168
+
169
+ Scenario: Logcapture mode can be enabled in configfile
170
+ Given a file named "behave.ini" with:
171
+ """
172
+ [behave]
173
+ log_capture = true
174
+ """
175
+ When I run "behave -f plain features/example.log_and_fail.feature"
176
+ Then it should fail
177
+ And the command output should contain "Captured logging:"
178
+
179
+
180
+ Scenario: Logcapture mode can be disabled in configfile
181
+ Given a file named "behave.ini" with:
182
+ """
183
+ [behave]
184
+ log_capture = false
185
+ """
186
+ When I run "behave -f plain features/example.log_and_fail.feature"
187
+ Then it should fail
188
+ And the command output should not contain "Captured logging:"
@@ -0,0 +1,130 @@
1
+ Feature: Use logging_filter with logcapture
2
+
3
+ PRECONDITION: log_capture mode is enabled (config.log_capture = true).
4
+
5
+ As a tester
6
+ In log-capture mode
7
+ I want to include/exclude log-records from some logging categories
8
+ So that the output is not cluttered with unneeded information in case of failures.
9
+
10
+ Background:
11
+ Given I define the log record schema:
12
+ | category | level | message |
13
+ | root | ERROR | __LOG_MESSAGE__ |
14
+
15
+ @setup
16
+ Scenario: Feature Setup
17
+ Given a new working directory
18
+ And a file named "features/steps/use_behave4cmd_steps.py" with:
19
+ """
20
+ import behave4cmd0.log.steps
21
+ import behave4cmd0.failing_steps
22
+ import behave4cmd0.passing_steps
23
+ """
24
+ And a file named "features/logging.failing_example.feature" with:
25
+ """
26
+ Feature:
27
+ Scenario: Failing
28
+ Given I create log records with:
29
+ | category | level | message |
30
+ | root | ERROR | __LOG_MESSAGE__ |
31
+ | foo | ERROR | __LOG_MESSAGE__ |
32
+ | foo.bar | ERROR | __LOG_MESSAGE__ |
33
+ | bar | ERROR | __LOG_MESSAGE__ |
34
+ When another step fails
35
+ """
36
+ And a file named "behave.ini" with:
37
+ """
38
+ [behave]
39
+ log_capture = true
40
+ logging_level = WARN
41
+ """
42
+
43
+
44
+ Scenario: Include only a logging category
45
+ When I run "behave --logcapture --logging-filter=foo features/logging.failing_example.feature"
46
+ Then it should fail with:
47
+ """
48
+ 0 scenarios passed, 1 failed, 0 skipped
49
+ 1 step passed, 1 failed, 0 skipped, 0 undefined
50
+ """
51
+ And the command output should contain log records from categories:
52
+ | category |
53
+ | foo |
54
+ But the command output should not contain log records from categories:
55
+ | category | Comment |
56
+ | root | Not included: filtered-out |
57
+ | foo.bar | Not included: filtered-out |
58
+ | bar | Not included: filtered-out |
59
+
60
+
61
+ Scenario: Include only a logging sub-category
62
+ When I run "behave --logcapture --logging-filter=foo.bar features/logging.failing_example.feature"
63
+ Then it should fail
64
+ And the command output should contain log records from categories:
65
+ | category | Comment |
66
+ | foo.bar | Included |
67
+ But the command output should not contain log records from categories:
68
+ | category | Comment |
69
+ | root | Not included: filtered-out |
70
+ | foo | Not included: filtered-out |
71
+ | bar | Not included: filtered-out |
72
+
73
+
74
+ Scenario: Exclude a logging category
75
+ When I run "behave --logcapture --logging-filter=-foo features/logging.failing_example.feature"
76
+ Then it should fail
77
+ And the command output should contain log records from categories:
78
+ | category | Comment |
79
+ | root | Not excluded: foo |
80
+ | foo.bar | Not excluded: foo |
81
+ | bar | Not excluded: foo |
82
+ But the command output should not contain log records from categories:
83
+ | category | Comment |
84
+ | foo | Excluded |
85
+
86
+
87
+ Scenario: Include several logging categories
88
+ When I run "behave --logcapture --logging-filter=foo,bar features/logging.failing_example.feature"
89
+ Then it should fail
90
+ And the command output should contain log records from categories:
91
+ | category | Comment |
92
+ | foo | Included: foo |
93
+ | bar | Included: bar |
94
+ But the command output should not contain log records from categories:
95
+ | category | Comment |
96
+ | root | Not included: filtered-out |
97
+ | foo.bar | Not included (sub-category) |
98
+
99
+
100
+ Scenario: Include/exclude several logging categories
101
+ When I run "behave --logcapture --logging-filter=foo.bar,-bar features/logging.failing_example.feature"
102
+ Then it should fail
103
+ And the command output should contain log records from categories:
104
+ | category | Comment |
105
+ | root | Not excluded: bar |
106
+ | foo | Not excluded: bar |
107
+ | foo.bar | Included |
108
+ But the command output should not contain log records from categories:
109
+ | category | Comment |
110
+ | bar | Excluded: filtered-out |
111
+
112
+
113
+ Scenario: Include/exclude several logging categories with configfile
114
+ Given a file named "behave.ini" with:
115
+ """
116
+ [behave]
117
+ log_capture = true
118
+ logging_level = WARN
119
+ logging_filter = foo.bar,-bar
120
+ """
121
+ When I run "behave --logcapture features/logging.failing_example.feature"
122
+ Then it should fail
123
+ And the command output should contain log records from categories:
124
+ | category | Comment |
125
+ | root | Not excluded: bar |
126
+ | foo | Not excluded: bar |
127
+ | foo.bar | Included |
128
+ But the command output should not contain log records from categories:
129
+ | category | Comment |
130
+ | bar | Excluded: filtered-out |
@@ -0,0 +1,99 @@
1
+ @logging
2
+ @no_capture
3
+ Feature: No-logcapture mode (normal mode) shows log-records
4
+
5
+ As a tester
6
+ I want that sometimes that log output is not captured
7
+ So that I can see progress even in case of success (or failures)
8
+
9
+
10
+ @setup
11
+ Scenario: Feature Setup
12
+ Given a new working directory
13
+ And a file named "features/steps/use_behave4cmd_steps.py" with:
14
+ """
15
+ import behave4cmd0.log.steps
16
+ import behave4cmd0.failing_steps
17
+ import behave4cmd0.passing_steps
18
+ """
19
+
20
+
21
+ Scenario: Log records are shown when scenario passes (CASE 1)
22
+
23
+ Ensure that log-records are filtered out if log_record.level is too low.
24
+
25
+ Given a file named "features/environment.py" with:
26
+ """
27
+ def before_all(context):
28
+ import logging
29
+ context.config.setup_logging(logging.WARN)
30
+ # -- SAME AS:
31
+ # logging.basicConfig()
32
+ # logging.getLogger().setLevel(logging.WARN)
33
+ """
34
+ And a file named "features/logging.passing_example.feature" with:
35
+ """
36
+ Feature:
37
+ Scenario: Passing
38
+ Given I create log records with:
39
+ | category | level | message |
40
+ | root | ERROR | Hello Alice |
41
+ | root | WARN | Hello Bob |
42
+ | root | INFO | Hello Charly |
43
+ | root | DEBUG | Hello Doro |
44
+ When another step passes
45
+ """
46
+ When I run "behave -f plain -T --no-logcapture features/logging.passing_example.feature"
47
+ Then it should pass
48
+ And the command output should contain the following log records:
49
+ | category | level | message |
50
+ | root | ERROR | Hello Alice |
51
+ | root | WARN | Hello Bob |
52
+ But the command output should not contain the following log records:
53
+ | category | level | message | Comment |
54
+ | root | INFO | Hello Charly | Filtered-out |
55
+ | root | DEBUG | Hello Doro | Filtered-out |
56
+ And note that "log_records with level below WARN are filtered out"
57
+
58
+
59
+ @no_capture
60
+ Scenario: Log records are shown up to first failing step (CASE 2)
61
+
62
+ Ensure that log-records are filtered out if log_record.level is too low.
63
+
64
+ Given a file named "features/environment.py" with:
65
+ """
66
+ def before_all(context):
67
+ context.config.setup_logging()
68
+ """
69
+ And a file named "features/logging.failing_example.feature" with:
70
+ """
71
+ Feature:
72
+ Scenario: Failing
73
+ Given I create log records with:
74
+ | category | level | message |
75
+ | root | ERROR | Hello Alice |
76
+ | root | WARN | Hello Bob |
77
+ | root | INFO | Hello Charly |
78
+ | root | DEBUG | Hello Doro |
79
+ When another step fails
80
+ Then I create log records with:
81
+ | category | level | message |
82
+ | root | ERROR | Hello2 Zerberus |
83
+ """
84
+ When I run "behave -f plain -T --no-logcapture --logging-level=ERROR features/logging.failing_example.feature"
85
+ Then it should fail with:
86
+ """
87
+ 0 scenarios passed, 1 failed, 0 skipped
88
+ 1 step passed, 1 failed, 1 skipped, 0 undefined
89
+ """
90
+ And the command output should contain the following log records:
91
+ | category | level | message |
92
+ | root | ERROR | Hello Alice |
93
+ But the command output should not contain the following log records:
94
+ | category | level | message | Comment |
95
+ | root | WARN | Hello Bob | Filtered-out |
96
+ | root | INFO | Hello Charly | Filtered-out |
97
+ | root | DEBUG | Hello Doro | Filtered-out |
98
+ | root | ERROR | Hello2 Zerberus | Skipped |
99
+ And note that "log_records with level below ERROR are filtered out"
@@ -0,0 +1,157 @@
1
+ Feature: Setup logging_format
2
+
3
+ As a tester
4
+ I want to configure the logging_format for log_capture mode
5
+ So that log-records are shown in my preferred format.
6
+
7
+ As a tester
8
+ I want to configure the logging_format for logging mode (no-log_capture)
9
+ So that log-records are shown in my preferred format.
10
+
11
+ . SPECIFICATION:
12
+ . * logging_format can be defined on command-line
13
+ . * logging_format can be defined in behave configuration file
14
+ .
15
+ . NOTE:
16
+ . The log record format can also be defined in a logging configuration file.
17
+
18
+ @setup
19
+ Scenario: Feature Setup
20
+ Given a new working directory
21
+ And a file named "features/steps/use_behave4cmd_steps.py" with:
22
+ """
23
+ import behave4cmd0.log.steps
24
+ import behave4cmd0.failing_steps
25
+ import behave4cmd0.passing_steps
26
+ """
27
+ And a file named "features/environment.py" with:
28
+ """
29
+ def before_all(context):
30
+ context.config.setup_logging()
31
+ """
32
+ And a file named "features/example.log_and_fail.feature" with:
33
+ """
34
+ Feature:
35
+ Scenario: Failing
36
+ Given I create log records with:
37
+ | category | level | message |
38
+ | root | ERROR | Hello Alice |
39
+ | root | WARN | Hello Bob |
40
+ When a step fails
41
+ """
42
+
43
+ @capture
44
+ Scenario: Use logging_format on command-line (case: log_capture mode)
45
+ Given a file named "behave.ini" with:
46
+ """
47
+ [behave]
48
+ log_capture = true
49
+ logging_level = WARN
50
+ """
51
+ When I run "behave -f plain -T --logging-format='LOG.%(levelname)-8s %(name)-10s: %(message)s' features/"
52
+ Then it should fail with:
53
+ """
54
+ 0 scenarios passed, 1 failed, 0 skipped
55
+ 1 step passed, 1 failed, 0 skipped, 0 undefined
56
+ """
57
+ And the command output should contain "Captured logging:"
58
+ And the command output should contain:
59
+ """
60
+ Captured logging:
61
+ LOG.ERROR root : Hello Alice
62
+ LOG.WARNING root : Hello Bob
63
+ """
64
+ When I use the log record configuration:
65
+ | property | value |
66
+ | format | LOG.%(levelname)-8s %(name)-10s: %(message)s |
67
+ Then the command output should contain the following log records:
68
+ | category | level | message |
69
+ | root | ERROR | Hello Alice |
70
+ | root | WARN | Hello Bob |
71
+
72
+
73
+ @capture
74
+ Scenario: Use logging_format in config-file (case: log_capture mode)
75
+ Given a file named "behave.ini" with:
76
+ """
77
+ [behave]
78
+ log_capture = true
79
+ logging_level = WARN
80
+ logging_format = LOG.%(levelname)-8s %(name)-10s: %(message)s
81
+ """
82
+ When I run "behave -f plain features/"
83
+ Then it should fail
84
+ And the command output should contain "Captured logging:"
85
+ And the command output should contain:
86
+ """
87
+ Captured logging:
88
+ LOG.ERROR root : Hello Alice
89
+ LOG.WARNING root : Hello Bob
90
+ """
91
+
92
+ @no_capture
93
+ Scenario: Use logging_format on command-line (case: logging mode)
94
+ Given a file named "behave.ini" with:
95
+ """
96
+ [behave]
97
+ log_capture = false
98
+ logging_level = WARN
99
+ """
100
+ When I run "behave -f plain -T --logging-format='LOG.%(levelname)-8s %(name)-10s: %(message)s' features/"
101
+ Then it should fail with:
102
+ """
103
+ 0 scenarios passed, 1 failed, 0 skipped
104
+ 1 step passed, 1 failed, 0 skipped, 0 undefined
105
+ """
106
+ And the command output should not contain "Captured logging:"
107
+ And the command output should contain:
108
+ """
109
+ LOG.ERROR root : Hello Alice
110
+ LOG.WARNING root : Hello Bob
111
+ """
112
+ When I use the log record configuration:
113
+ | property | value |
114
+ | format | LOG.%(levelname)-8s %(name)-10s: %(message)s |
115
+ Then the command output should contain the following log records:
116
+ | category | level | message |
117
+ | root | ERROR | Hello Alice |
118
+ | root | WARN | Hello Bob |
119
+
120
+
121
+ @no_capture
122
+ Scenario: Use logging_format in config-file (case: logging mode)
123
+ Given a file named "behave.ini" with:
124
+ """
125
+ [behave]
126
+ log_capture = false
127
+ logging_level = WARN
128
+ logging_format = LOG.%(levelname)-8s %(name)-10s: %(message)s
129
+ """
130
+ When I run "behave -f plain features/"
131
+ Then it should fail
132
+ And the command output should not contain "Captured logging:"
133
+ And the command output should contain:
134
+ """
135
+ LOG.ERROR root : Hello Alice
136
+ LOG.WARNING root : Hello Bob
137
+ """
138
+
139
+ @capture
140
+ Scenario: Use logging_datefmt in config-file
141
+
142
+ Ensure that "logging_datefmt" option can be used.
143
+
144
+ Given a file named "behave.ini" with:
145
+ """
146
+ [behave]
147
+ logging_format = %(asctime)s LOG.%(levelname)-8s %(name)s: %(message)s
148
+ logging_datefmt = %Y-%m-%dT%H:%M:%S
149
+ """
150
+ When I run "behave -f plain features/"
151
+ Then it should fail with:
152
+ """
153
+ 0 scenarios passed, 1 failed, 0 skipped
154
+ 1 step passed, 1 failed, 0 skipped, 0 undefined
155
+ """
156
+ And the command output should contain "LOG.ERROR root: Hello Alice"
157
+ And the command output should contain "LOG.WARNING root: Hello Bob"