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.
- checksums.yaml +7 -0
- data/.cane +0 -0
- data/.gitignore +17 -0
- data/.tailor +4 -0
- data/.travis.yml +11 -0
- data/CHANGELOG.md +3 -0
- data/Gemfile +3 -0
- data/LICENSE +15 -0
- data/README.md +41 -0
- data/Rakefile +68 -0
- data/busser-behave.gemspec +30 -0
- data/features/plugin_install_command.feature +11 -0
- data/features/plugin_list_command.feature +8 -0
- data/features/support/env.rb +13 -0
- data/features/test_command.feature +31 -0
- data/lib/busser/behave/version.rb +26 -0
- data/lib/busser/runner_plugin/behave.rb +37 -0
- data/vendor/behave/CHANGES.rst +483 -0
- data/vendor/behave/LICENSE +23 -0
- data/vendor/behave/MANIFEST.in +37 -0
- data/vendor/behave/PROJECT_INFO.rst +21 -0
- data/vendor/behave/README.rst +112 -0
- data/vendor/behave/VERSION.txt +1 -0
- data/vendor/behave/behave.ini +22 -0
- data/vendor/behave/behave/__init__.py +30 -0
- data/vendor/behave/behave/__main__.py +187 -0
- data/vendor/behave/behave/_stepimport.py +185 -0
- data/vendor/behave/behave/_types.py +134 -0
- data/vendor/behave/behave/api/__init__.py +7 -0
- data/vendor/behave/behave/api/async_step.py +283 -0
- data/vendor/behave/behave/capture.py +227 -0
- data/vendor/behave/behave/compat/__init__.py +5 -0
- data/vendor/behave/behave/compat/collections.py +20 -0
- data/vendor/behave/behave/configuration.py +788 -0
- data/vendor/behave/behave/contrib/__init__.py +0 -0
- data/vendor/behave/behave/contrib/scenario_autoretry.py +73 -0
- data/vendor/behave/behave/formatter/__init__.py +12 -0
- data/vendor/behave/behave/formatter/_builtins.py +39 -0
- data/vendor/behave/behave/formatter/_registry.py +135 -0
- data/vendor/behave/behave/formatter/ansi_escapes.py +91 -0
- data/vendor/behave/behave/formatter/base.py +200 -0
- data/vendor/behave/behave/formatter/formatters.py +57 -0
- data/vendor/behave/behave/formatter/json.py +253 -0
- data/vendor/behave/behave/formatter/null.py +12 -0
- data/vendor/behave/behave/formatter/plain.py +158 -0
- data/vendor/behave/behave/formatter/pretty.py +351 -0
- data/vendor/behave/behave/formatter/progress.py +287 -0
- data/vendor/behave/behave/formatter/rerun.py +114 -0
- data/vendor/behave/behave/formatter/sphinx_steps.py +372 -0
- data/vendor/behave/behave/formatter/sphinx_util.py +118 -0
- data/vendor/behave/behave/formatter/steps.py +497 -0
- data/vendor/behave/behave/formatter/tags.py +178 -0
- data/vendor/behave/behave/i18n.py +614 -0
- data/vendor/behave/behave/importer.py +102 -0
- data/vendor/behave/behave/json_parser.py +264 -0
- data/vendor/behave/behave/log_capture.py +233 -0
- data/vendor/behave/behave/matchers.py +402 -0
- data/vendor/behave/behave/model.py +1737 -0
- data/vendor/behave/behave/model_core.py +416 -0
- data/vendor/behave/behave/model_describe.py +105 -0
- data/vendor/behave/behave/parser.py +615 -0
- data/vendor/behave/behave/reporter/__init__.py +0 -0
- data/vendor/behave/behave/reporter/base.py +45 -0
- data/vendor/behave/behave/reporter/junit.py +473 -0
- data/vendor/behave/behave/reporter/summary.py +94 -0
- data/vendor/behave/behave/runner.py +753 -0
- data/vendor/behave/behave/runner_util.py +417 -0
- data/vendor/behave/behave/step_registry.py +112 -0
- data/vendor/behave/behave/tag_expression.py +111 -0
- data/vendor/behave/behave/tag_matcher.py +465 -0
- data/vendor/behave/behave/textutil.py +137 -0
- data/vendor/behave/behave/userdata.py +130 -0
- data/vendor/behave/behave4cmd0/__all_steps__.py +12 -0
- data/vendor/behave/behave4cmd0/__init__.py +5 -0
- data/vendor/behave/behave4cmd0/__setup.py +11 -0
- data/vendor/behave/behave4cmd0/command_shell.py +216 -0
- data/vendor/behave/behave4cmd0/command_shell_proc.py +256 -0
- data/vendor/behave/behave4cmd0/command_steps.py +532 -0
- data/vendor/behave/behave4cmd0/command_util.py +147 -0
- data/vendor/behave/behave4cmd0/failing_steps.py +49 -0
- data/vendor/behave/behave4cmd0/log/__init__.py +1 -0
- data/vendor/behave/behave4cmd0/log/steps.py +395 -0
- data/vendor/behave/behave4cmd0/note_steps.py +29 -0
- data/vendor/behave/behave4cmd0/passing_steps.py +36 -0
- data/vendor/behave/behave4cmd0/pathutil.py +146 -0
- data/vendor/behave/behave4cmd0/setup_command_shell.py +24 -0
- data/vendor/behave/behave4cmd0/textutil.py +304 -0
- data/vendor/behave/bin/behave +44 -0
- data/vendor/behave/bin/behave.cmd +10 -0
- data/vendor/behave/bin/behave.junit_filter.py +85 -0
- data/vendor/behave/bin/behave.step_durations.py +163 -0
- data/vendor/behave/bin/behave2cucumber_json.py +63 -0
- data/vendor/behave/bin/behave_cmd.py +44 -0
- data/vendor/behave/bin/convert_i18n_yaml.py +77 -0
- data/vendor/behave/bin/explore_platform_encoding.py +24 -0
- data/vendor/behave/bin/i18n.yml +621 -0
- data/vendor/behave/bin/invoke +8 -0
- data/vendor/behave/bin/invoke.cmd +9 -0
- data/vendor/behave/bin/json.format.py +167 -0
- data/vendor/behave/bin/jsonschema_validate.py +122 -0
- data/vendor/behave/bin/make_localpi.py +279 -0
- data/vendor/behave/bin/project_bootstrap.sh +30 -0
- data/vendor/behave/bin/toxcmd.py +270 -0
- data/vendor/behave/bin/toxcmd3.py +270 -0
- data/vendor/behave/conftest.py +27 -0
- data/vendor/behave/docs/Makefile +154 -0
- data/vendor/behave/docs/_static/agogo.css +501 -0
- data/vendor/behave/docs/_static/behave_logo.png +0 -0
- data/vendor/behave/docs/_static/behave_logo1.png +0 -0
- data/vendor/behave/docs/_static/behave_logo2.png +0 -0
- data/vendor/behave/docs/_static/behave_logo3.png +0 -0
- data/vendor/behave/docs/_themes/LICENSE +45 -0
- data/vendor/behave/docs/_themes/kr/layout.html +17 -0
- data/vendor/behave/docs/_themes/kr/relations.html +19 -0
- data/vendor/behave/docs/_themes/kr/static/flasky.css_t +480 -0
- data/vendor/behave/docs/_themes/kr/static/small_flask.css +90 -0
- data/vendor/behave/docs/_themes/kr/theme.conf +7 -0
- data/vendor/behave/docs/_themes/kr_small/layout.html +22 -0
- data/vendor/behave/docs/_themes/kr_small/static/flasky.css_t +287 -0
- data/vendor/behave/docs/_themes/kr_small/theme.conf +10 -0
- data/vendor/behave/docs/api.rst +408 -0
- data/vendor/behave/docs/appendix.rst +19 -0
- data/vendor/behave/docs/behave.rst +640 -0
- data/vendor/behave/docs/behave.rst-template +86 -0
- data/vendor/behave/docs/behave_ecosystem.rst +81 -0
- data/vendor/behave/docs/comparison.rst +85 -0
- data/vendor/behave/docs/conf.py +293 -0
- data/vendor/behave/docs/context_attributes.rst +66 -0
- data/vendor/behave/docs/django.rst +192 -0
- data/vendor/behave/docs/formatters.rst +61 -0
- data/vendor/behave/docs/gherkin.rst +673 -0
- data/vendor/behave/docs/index.rst +57 -0
- data/vendor/behave/docs/install.rst +60 -0
- data/vendor/behave/docs/more_info.rst +184 -0
- data/vendor/behave/docs/new_and_noteworthy.rst +18 -0
- data/vendor/behave/docs/new_and_noteworthy_v1.2.4.rst +11 -0
- data/vendor/behave/docs/new_and_noteworthy_v1.2.5.rst +814 -0
- data/vendor/behave/docs/new_and_noteworthy_v1.2.6.rst +255 -0
- data/vendor/behave/docs/parse_builtin_types.rst +59 -0
- data/vendor/behave/docs/philosophy.rst +235 -0
- data/vendor/behave/docs/regular_expressions.rst +71 -0
- data/vendor/behave/docs/related.rst +14 -0
- data/vendor/behave/docs/test_domains.rst +62 -0
- data/vendor/behave/docs/tutorial.rst +636 -0
- data/vendor/behave/docs/update_behave_rst.py +100 -0
- data/vendor/behave/etc/json/behave.json-schema +172 -0
- data/vendor/behave/etc/junit.xml/behave_junit.xsd +103 -0
- data/vendor/behave/etc/junit.xml/junit-4.xsd +92 -0
- data/vendor/behave/examples/async_step/README.txt +8 -0
- data/vendor/behave/examples/async_step/behave.ini +14 -0
- data/vendor/behave/examples/async_step/features/async_dispatch.feature +8 -0
- data/vendor/behave/examples/async_step/features/async_run.feature +6 -0
- data/vendor/behave/examples/async_step/features/environment.py +28 -0
- data/vendor/behave/examples/async_step/features/steps/async_dispatch_steps.py +26 -0
- data/vendor/behave/examples/async_step/features/steps/async_steps34.py +10 -0
- data/vendor/behave/examples/async_step/features/steps/async_steps35.py +10 -0
- data/vendor/behave/examples/async_step/testrun_example.async_dispatch.txt +11 -0
- data/vendor/behave/examples/async_step/testrun_example.async_run.txt +9 -0
- data/vendor/behave/examples/env_vars/README.rst +26 -0
- data/vendor/behave/examples/env_vars/behave.ini +15 -0
- data/vendor/behave/examples/env_vars/behave_run.output_example.txt +12 -0
- data/vendor/behave/examples/env_vars/features/env_var.feature +6 -0
- data/vendor/behave/examples/env_vars/features/steps/env_var_steps.py +38 -0
- data/vendor/behave/features/README.txt +12 -0
- data/vendor/behave/features/background.feature +392 -0
- data/vendor/behave/features/capture_stderr.feature +172 -0
- data/vendor/behave/features/capture_stdout.feature +125 -0
- data/vendor/behave/features/cmdline.lang_list.feature +33 -0
- data/vendor/behave/features/configuration.default_paths.feature +116 -0
- data/vendor/behave/features/context.global_params.feature +35 -0
- data/vendor/behave/features/context.local_params.feature +17 -0
- data/vendor/behave/features/directory_layout.advanced.feature +147 -0
- data/vendor/behave/features/directory_layout.basic.feature +75 -0
- data/vendor/behave/features/directory_layout.basic2.feature +87 -0
- data/vendor/behave/features/environment.py +53 -0
- data/vendor/behave/features/exploratory_testing.with_table.feature +141 -0
- data/vendor/behave/features/feature.description.feature +0 -0
- data/vendor/behave/features/feature.exclude_from_run.feature +96 -0
- data/vendor/behave/features/formatter.help.feature +30 -0
- data/vendor/behave/features/formatter.json.feature +420 -0
- data/vendor/behave/features/formatter.progress3.feature +235 -0
- data/vendor/behave/features/formatter.rerun.feature +296 -0
- data/vendor/behave/features/formatter.steps.feature +181 -0
- data/vendor/behave/features/formatter.steps_catalog.feature +100 -0
- data/vendor/behave/features/formatter.steps_doc.feature +140 -0
- data/vendor/behave/features/formatter.steps_usage.feature +404 -0
- data/vendor/behave/features/formatter.tags.feature +134 -0
- data/vendor/behave/features/formatter.tags_location.feature +183 -0
- data/vendor/behave/features/formatter.user_defined.feature +196 -0
- data/vendor/behave/features/i18n.unicode_problems.feature +445 -0
- data/vendor/behave/features/logcapture.clear_handlers.feature +114 -0
- data/vendor/behave/features/logcapture.feature +188 -0
- data/vendor/behave/features/logcapture.filter.feature +130 -0
- data/vendor/behave/features/logging.no_capture.feature +99 -0
- data/vendor/behave/features/logging.setup_format.feature +157 -0
- data/vendor/behave/features/logging.setup_level.feature +168 -0
- data/vendor/behave/features/logging.setup_with_configfile.feature +137 -0
- data/vendor/behave/features/parser.background.sad_cases.feature +129 -0
- data/vendor/behave/features/parser.feature.sad_cases.feature +144 -0
- data/vendor/behave/features/runner.abort_by_user.feature +305 -0
- data/vendor/behave/features/runner.continue_after_failed_step.feature +136 -0
- data/vendor/behave/features/runner.default_format.feature +175 -0
- data/vendor/behave/features/runner.dry_run.feature +184 -0
- data/vendor/behave/features/runner.feature_listfile.feature +223 -0
- data/vendor/behave/features/runner.hook_errors.feature +382 -0
- data/vendor/behave/features/runner.multiple_formatters.feature +285 -0
- data/vendor/behave/features/runner.scenario_autoretry.feature +131 -0
- data/vendor/behave/features/runner.select_files_by_regexp.example.feature +71 -0
- data/vendor/behave/features/runner.select_files_by_regexp.feature +84 -0
- data/vendor/behave/features/runner.select_scenarios_by_file_location.feature +403 -0
- data/vendor/behave/features/runner.select_scenarios_by_name.feature +289 -0
- data/vendor/behave/features/runner.select_scenarios_by_tag.feature +225 -0
- data/vendor/behave/features/runner.stop_after_failure.feature +122 -0
- data/vendor/behave/features/runner.tag_logic.feature +67 -0
- data/vendor/behave/features/runner.unknown_formatter.feature +23 -0
- data/vendor/behave/features/runner.use_stage_implementations.feature +126 -0
- data/vendor/behave/features/scenario.description.feature +171 -0
- data/vendor/behave/features/scenario.exclude_from_run.feature +217 -0
- data/vendor/behave/features/scenario_outline.basics.feature +100 -0
- data/vendor/behave/features/scenario_outline.improved.feature +177 -0
- data/vendor/behave/features/scenario_outline.name_annotation.feature +157 -0
- data/vendor/behave/features/scenario_outline.parametrized.feature +401 -0
- data/vendor/behave/features/scenario_outline.tagged_examples.feature +118 -0
- data/vendor/behave/features/step.async_steps.feature +225 -0
- data/vendor/behave/features/step.duplicated_step.feature +106 -0
- data/vendor/behave/features/step.execute_steps.feature +59 -0
- data/vendor/behave/features/step.execute_steps.with_table.feature +65 -0
- data/vendor/behave/features/step.import_other_step_module.feature +103 -0
- data/vendor/behave/features/step.pending_steps.feature +128 -0
- data/vendor/behave/features/step.undefined_steps.feature +307 -0
- data/vendor/behave/features/step.use_step_library.feature +44 -0
- data/vendor/behave/features/step_dialect.generic_steps.feature +189 -0
- data/vendor/behave/features/step_dialect.given_when_then.feature +89 -0
- data/vendor/behave/features/step_param.builtin_types.with_float.feature +239 -0
- data/vendor/behave/features/step_param.builtin_types.with_integer.feature +305 -0
- data/vendor/behave/features/step_param.custom_types.feature +134 -0
- data/vendor/behave/features/steps/behave_active_tags_steps.py +86 -0
- data/vendor/behave/features/steps/behave_context_steps.py +67 -0
- data/vendor/behave/features/steps/behave_model_tag_logic_steps.py +105 -0
- data/vendor/behave/features/steps/behave_model_util.py +105 -0
- data/vendor/behave/features/steps/behave_select_files_steps.py +83 -0
- data/vendor/behave/features/steps/behave_tag_expression_steps.py +166 -0
- data/vendor/behave/features/steps/behave_undefined_steps.py +101 -0
- data/vendor/behave/features/steps/use_steplib_behave4cmd.py +12 -0
- data/vendor/behave/features/summary.undefined_steps.feature +114 -0
- data/vendor/behave/features/tags.active_tags.feature +385 -0
- data/vendor/behave/features/tags.default_tags.feature +104 -0
- data/vendor/behave/features/tags.tag_expression.feature +105 -0
- data/vendor/behave/features/userdata.feature +331 -0
- data/vendor/behave/invoke.yaml +21 -0
- data/vendor/behave/issue.features/README.txt +17 -0
- data/vendor/behave/issue.features/environment.py +97 -0
- data/vendor/behave/issue.features/issue0030.feature +21 -0
- data/vendor/behave/issue.features/issue0031.feature +16 -0
- data/vendor/behave/issue.features/issue0032.feature +28 -0
- data/vendor/behave/issue.features/issue0035.feature +74 -0
- data/vendor/behave/issue.features/issue0040.feature +154 -0
- data/vendor/behave/issue.features/issue0041.feature +135 -0
- data/vendor/behave/issue.features/issue0042.feature +230 -0
- data/vendor/behave/issue.features/issue0044.feature +51 -0
- data/vendor/behave/issue.features/issue0046.feature +77 -0
- data/vendor/behave/issue.features/issue0052.feature +66 -0
- data/vendor/behave/issue.features/issue0059.feature +29 -0
- data/vendor/behave/issue.features/issue0063.feature +102 -0
- data/vendor/behave/issue.features/issue0064.feature +97 -0
- data/vendor/behave/issue.features/issue0065.feature +18 -0
- data/vendor/behave/issue.features/issue0066.feature +80 -0
- data/vendor/behave/issue.features/issue0067.feature +90 -0
- data/vendor/behave/issue.features/issue0069.feature +64 -0
- data/vendor/behave/issue.features/issue0072.feature +32 -0
- data/vendor/behave/issue.features/issue0073.feature +228 -0
- data/vendor/behave/issue.features/issue0075.feature +18 -0
- data/vendor/behave/issue.features/issue0077.feature +89 -0
- data/vendor/behave/issue.features/issue0080.feature +49 -0
- data/vendor/behave/issue.features/issue0081.feature +138 -0
- data/vendor/behave/issue.features/issue0083.feature +69 -0
- data/vendor/behave/issue.features/issue0084.feature +69 -0
- data/vendor/behave/issue.features/issue0085.feature +119 -0
- data/vendor/behave/issue.features/issue0092.feature +66 -0
- data/vendor/behave/issue.features/issue0096.feature +173 -0
- data/vendor/behave/issue.features/issue0099.feature +130 -0
- data/vendor/behave/issue.features/issue0109.feature +60 -0
- data/vendor/behave/issue.features/issue0111.feature +53 -0
- data/vendor/behave/issue.features/issue0112.feature +64 -0
- data/vendor/behave/issue.features/issue0114.feature +118 -0
- data/vendor/behave/issue.features/issue0116.feature +71 -0
- data/vendor/behave/issue.features/issue0125.feature +49 -0
- data/vendor/behave/issue.features/issue0127.feature +64 -0
- data/vendor/behave/issue.features/issue0139.feature +67 -0
- data/vendor/behave/issue.features/issue0142.feature +37 -0
- data/vendor/behave/issue.features/issue0143.feature +54 -0
- data/vendor/behave/issue.features/issue0145.feature +63 -0
- data/vendor/behave/issue.features/issue0148.feature +105 -0
- data/vendor/behave/issue.features/issue0152.feature +52 -0
- data/vendor/behave/issue.features/issue0159.feature +74 -0
- data/vendor/behave/issue.features/issue0162.feature +86 -0
- data/vendor/behave/issue.features/issue0171.feature +16 -0
- data/vendor/behave/issue.features/issue0172.feature +51 -0
- data/vendor/behave/issue.features/issue0175.feature +91 -0
- data/vendor/behave/issue.features/issue0177.feature +40 -0
- data/vendor/behave/issue.features/issue0181.feature +36 -0
- data/vendor/behave/issue.features/issue0184.feature +144 -0
- data/vendor/behave/issue.features/issue0186.feature +12 -0
- data/vendor/behave/issue.features/issue0188.feature +60 -0
- data/vendor/behave/issue.features/issue0191.feature +178 -0
- data/vendor/behave/issue.features/issue0194.feature +215 -0
- data/vendor/behave/issue.features/issue0197.feature +11 -0
- data/vendor/behave/issue.features/issue0216.feature +129 -0
- data/vendor/behave/issue.features/issue0226.feature +51 -0
- data/vendor/behave/issue.features/issue0228.feature +41 -0
- data/vendor/behave/issue.features/issue0230.feature +46 -0
- data/vendor/behave/issue.features/issue0231.feature +77 -0
- data/vendor/behave/issue.features/issue0238.feature +52 -0
- data/vendor/behave/issue.features/issue0251.feature +15 -0
- data/vendor/behave/issue.features/issue0280.feature +118 -0
- data/vendor/behave/issue.features/issue0288.feature +95 -0
- data/vendor/behave/issue.features/issue0300.feature +49 -0
- data/vendor/behave/issue.features/issue0302.feature +91 -0
- data/vendor/behave/issue.features/issue0309.feature +52 -0
- data/vendor/behave/issue.features/issue0330.feature +124 -0
- data/vendor/behave/issue.features/issue0349.feature +9 -0
- data/vendor/behave/issue.features/issue0361.feature +79 -0
- data/vendor/behave/issue.features/issue0383.feature +76 -0
- data/vendor/behave/issue.features/issue0384.feature +103 -0
- data/vendor/behave/issue.features/issue0385.feature +109 -0
- data/vendor/behave/issue.features/issue0424.feature +66 -0
- data/vendor/behave/issue.features/issue0446.feature +116 -0
- data/vendor/behave/issue.features/issue0449.feature +42 -0
- data/vendor/behave/issue.features/issue0453.feature +42 -0
- data/vendor/behave/issue.features/issue0457.feature +65 -0
- data/vendor/behave/issue.features/issue0462.feature +38 -0
- data/vendor/behave/issue.features/issue0476.feature +39 -0
- data/vendor/behave/issue.features/issue0487.feature +92 -0
- data/vendor/behave/issue.features/issue0506.feature +77 -0
- data/vendor/behave/issue.features/issue0510.feature +51 -0
- data/vendor/behave/issue.features/requirements.txt +12 -0
- data/vendor/behave/issue.features/steps/ansi_steps.py +20 -0
- data/vendor/behave/issue.features/steps/behave_hooks_steps.py +10 -0
- data/vendor/behave/issue.features/steps/use_steplib_behave4cmd.py +13 -0
- data/vendor/behave/more.features/formatter.json.validate_output.feature +37 -0
- data/vendor/behave/more.features/steps/tutorial_steps.py +16 -0
- data/vendor/behave/more.features/steps/use_steplib_behave4cmd.py +7 -0
- data/vendor/behave/more.features/tutorial.feature +6 -0
- data/vendor/behave/py.requirements/README.txt +5 -0
- data/vendor/behave/py.requirements/all.txt +16 -0
- data/vendor/behave/py.requirements/basic.txt +21 -0
- data/vendor/behave/py.requirements/develop.txt +28 -0
- data/vendor/behave/py.requirements/docs.txt +6 -0
- data/vendor/behave/py.requirements/json.txt +7 -0
- data/vendor/behave/py.requirements/more_py26.txt +8 -0
- data/vendor/behave/py.requirements/testing.txt +10 -0
- data/vendor/behave/pytest.ini +24 -0
- data/vendor/behave/setup.cfg +29 -0
- data/vendor/behave/setup.py +118 -0
- data/vendor/behave/setuptools_behave.py +130 -0
- data/vendor/behave/tasks/__behave.py +45 -0
- data/vendor/behave/tasks/__init__.py +55 -0
- data/vendor/behave/tasks/__main__.py +70 -0
- data/vendor/behave/tasks/_setup.py +135 -0
- data/vendor/behave/tasks/_vendor/README.rst +35 -0
- data/vendor/behave/tasks/_vendor/invoke.zip +0 -0
- data/vendor/behave/tasks/_vendor/path.py +1725 -0
- data/vendor/behave/tasks/_vendor/pathlib.py +1280 -0
- data/vendor/behave/tasks/_vendor/six.py +868 -0
- data/vendor/behave/tasks/clean.py +246 -0
- data/vendor/behave/tasks/docs.py +97 -0
- data/vendor/behave/tasks/requirements.txt +17 -0
- data/vendor/behave/tasks/test.py +192 -0
- data/vendor/behave/test/__init__.py +0 -0
- data/vendor/behave/test/_importer_candidate.py +3 -0
- data/vendor/behave/test/reporters/__init__.py +0 -0
- data/vendor/behave/test/reporters/test_summary.py +240 -0
- data/vendor/behave/test/test_ansi_escapes.py +73 -0
- data/vendor/behave/test/test_configuration.py +172 -0
- data/vendor/behave/test/test_formatter.py +265 -0
- data/vendor/behave/test/test_formatter_progress.py +39 -0
- data/vendor/behave/test/test_formatter_rerun.py +97 -0
- data/vendor/behave/test/test_formatter_tags.py +57 -0
- data/vendor/behave/test/test_importer.py +151 -0
- data/vendor/behave/test/test_log_capture.py +29 -0
- data/vendor/behave/test/test_matchers.py +236 -0
- data/vendor/behave/test/test_model.py +871 -0
- data/vendor/behave/test/test_parser.py +1590 -0
- data/vendor/behave/test/test_runner.py +1074 -0
- data/vendor/behave/test/test_step_registry.py +96 -0
- data/vendor/behave/test/test_tag_expression.py +506 -0
- data/vendor/behave/test/test_tag_expression2.py +462 -0
- data/vendor/behave/test/test_tag_matcher.py +729 -0
- data/vendor/behave/test/test_userdata.py +184 -0
- data/vendor/behave/tests/README.txt +12 -0
- data/vendor/behave/tests/__init__.py +0 -0
- data/vendor/behave/tests/api/__ONLY_PY34_or_newer.txt +0 -0
- data/vendor/behave/tests/api/__init__.py +0 -0
- data/vendor/behave/tests/api/_test_async_step34.py +130 -0
- data/vendor/behave/tests/api/_test_async_step35.py +75 -0
- data/vendor/behave/tests/api/test_async_step.py +18 -0
- data/vendor/behave/tests/api/testing_support.py +94 -0
- data/vendor/behave/tests/api/testing_support_async.py +21 -0
- data/vendor/behave/tests/issues/test_issue0336.py +66 -0
- data/vendor/behave/tests/issues/test_issue0449.py +55 -0
- data/vendor/behave/tests/issues/test_issue0453.py +62 -0
- data/vendor/behave/tests/issues/test_issue0458.py +54 -0
- data/vendor/behave/tests/issues/test_issue0495.py +65 -0
- data/vendor/behave/tests/unit/__init__.py +0 -0
- data/vendor/behave/tests/unit/test_behave4cmd_command_shell_proc.py +135 -0
- data/vendor/behave/tests/unit/test_capture.py +280 -0
- data/vendor/behave/tests/unit/test_model_core.py +56 -0
- data/vendor/behave/tests/unit/test_textutil.py +267 -0
- data/vendor/behave/tools/test-features/background.feature +9 -0
- data/vendor/behave/tools/test-features/environment.py +8 -0
- data/vendor/behave/tools/test-features/french.feature +11 -0
- data/vendor/behave/tools/test-features/outline.feature +39 -0
- data/vendor/behave/tools/test-features/parse.feature +10 -0
- data/vendor/behave/tools/test-features/step-data.feature +60 -0
- data/vendor/behave/tools/test-features/steps/steps.py +120 -0
- data/vendor/behave/tools/test-features/tags.feature +18 -0
- data/vendor/behave/tox.ini +159 -0
- 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"
|