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,285 @@
|
|
|
1
|
+
Feature: Multiple Formatter with different outputs
|
|
2
|
+
|
|
3
|
+
. SPECIFICATION: Command-line option --format
|
|
4
|
+
. * Each --format option specifies one formatter to use.
|
|
5
|
+
.
|
|
6
|
+
. SPECIFICATION: Command-line option --outfile
|
|
7
|
+
. * Multiple --outfile options can be provided
|
|
8
|
+
. * The nth --outfile option is used for the nth formatter
|
|
9
|
+
. * If less --outfile options are provided than formatter,
|
|
10
|
+
. the remaining formatter use stdout as output stream.
|
|
11
|
+
. Therefore, the last formatter should in general use stdout.
|
|
12
|
+
.
|
|
13
|
+
. SPECIFICATION: Configuration file
|
|
14
|
+
. * Option format with one or more formatters can be used (optional).
|
|
15
|
+
. * Formatters specified in the configuration file are always executed.
|
|
16
|
+
. * If not enough outfiles are specified, the outfiles list is extended
|
|
17
|
+
. by using an outfile "${format}.output" for each missing outfile.
|
|
18
|
+
.
|
|
19
|
+
. RELATED TO:
|
|
20
|
+
. * issue #47 Formatter chain is broken
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
@setup
|
|
24
|
+
Scenario: Test Setup
|
|
25
|
+
Given a new working directory
|
|
26
|
+
And a file named "features/steps/passing_steps.py" with:
|
|
27
|
+
"""
|
|
28
|
+
from behave import step
|
|
29
|
+
|
|
30
|
+
@step('a step passes')
|
|
31
|
+
def step_passes(context):
|
|
32
|
+
pass
|
|
33
|
+
"""
|
|
34
|
+
And a file named "features/alice.feature" with:
|
|
35
|
+
"""
|
|
36
|
+
Feature: Alice
|
|
37
|
+
Scenario: A1
|
|
38
|
+
Given a step passes
|
|
39
|
+
When a step passes
|
|
40
|
+
Then a step passes
|
|
41
|
+
"""
|
|
42
|
+
And a file named "features/bob.feature" with:
|
|
43
|
+
"""
|
|
44
|
+
Feature: Bob
|
|
45
|
+
Scenario: B1
|
|
46
|
+
When a step passes
|
|
47
|
+
Then a step passes
|
|
48
|
+
"""
|
|
49
|
+
|
|
50
|
+
@no_configfile
|
|
51
|
+
Scenario: One formatter, no outfile (use stdout instead)
|
|
52
|
+
Given a file named "behave.ini" does not exist
|
|
53
|
+
When I run "behave -f plain -T features/"
|
|
54
|
+
Then it should pass with:
|
|
55
|
+
"""
|
|
56
|
+
2 features passed, 0 failed, 0 skipped
|
|
57
|
+
2 scenarios passed, 0 failed, 0 skipped
|
|
58
|
+
"""
|
|
59
|
+
And the command output should contain:
|
|
60
|
+
"""
|
|
61
|
+
Feature: Alice
|
|
62
|
+
Scenario: A1
|
|
63
|
+
Given a step passes ... passed
|
|
64
|
+
When a step passes ... passed
|
|
65
|
+
Then a step passes ... passed
|
|
66
|
+
|
|
67
|
+
Feature: Bob
|
|
68
|
+
Scenario: B1
|
|
69
|
+
When a step passes ... passed
|
|
70
|
+
Then a step passes ... passed
|
|
71
|
+
"""
|
|
72
|
+
|
|
73
|
+
@no_configfile
|
|
74
|
+
Scenario: One formatter, one outfile
|
|
75
|
+
Given a file named "behave.ini" does not exist
|
|
76
|
+
When I run "behave -f plain --outfile=output/plain.out -T features/"
|
|
77
|
+
Then it should pass with:
|
|
78
|
+
"""
|
|
79
|
+
2 features passed, 0 failed, 0 skipped
|
|
80
|
+
2 scenarios passed, 0 failed, 0 skipped
|
|
81
|
+
"""
|
|
82
|
+
And the command output should not contain:
|
|
83
|
+
"""
|
|
84
|
+
Feature: Alice
|
|
85
|
+
Scenario: A1
|
|
86
|
+
"""
|
|
87
|
+
But a file named "output/plain.out" should exist
|
|
88
|
+
And the file "output/plain.out" should contain:
|
|
89
|
+
"""
|
|
90
|
+
Feature: Alice
|
|
91
|
+
Scenario: A1
|
|
92
|
+
Given a step passes ... passed
|
|
93
|
+
When a step passes ... passed
|
|
94
|
+
Then a step passes ... passed
|
|
95
|
+
|
|
96
|
+
Feature: Bob
|
|
97
|
+
Scenario: B1
|
|
98
|
+
When a step passes ... passed
|
|
99
|
+
Then a step passes ... passed
|
|
100
|
+
"""
|
|
101
|
+
|
|
102
|
+
@no_configfile
|
|
103
|
+
Scenario: Two formatter, one outfile
|
|
104
|
+
Given a file named "behave.ini" does not exist
|
|
105
|
+
When I run "behave -f plain -o output/plain.out -f progress -T features/"
|
|
106
|
+
Then it should pass with:
|
|
107
|
+
"""
|
|
108
|
+
2 features passed, 0 failed, 0 skipped
|
|
109
|
+
2 scenarios passed, 0 failed, 0 skipped
|
|
110
|
+
"""
|
|
111
|
+
And the command output should contain:
|
|
112
|
+
"""
|
|
113
|
+
features/alice.feature .
|
|
114
|
+
features/bob.feature .
|
|
115
|
+
"""
|
|
116
|
+
But a file named "output/plain.out" should exist
|
|
117
|
+
And the file "output/plain.out" should contain:
|
|
118
|
+
"""
|
|
119
|
+
Feature: Alice
|
|
120
|
+
Scenario: A1
|
|
121
|
+
Given a step passes ... passed
|
|
122
|
+
When a step passes ... passed
|
|
123
|
+
Then a step passes ... passed
|
|
124
|
+
|
|
125
|
+
Feature: Bob
|
|
126
|
+
Scenario: B1
|
|
127
|
+
When a step passes ... passed
|
|
128
|
+
Then a step passes ... passed
|
|
129
|
+
"""
|
|
130
|
+
|
|
131
|
+
|
|
132
|
+
@no_configfile
|
|
133
|
+
Scenario: More outfiles than formatter should fail with CONFIG-ERROR
|
|
134
|
+
Given a file named "behave.ini" does not exist
|
|
135
|
+
When I run "behave -f plain -o plain.output -o xxx.output features/"
|
|
136
|
+
Then it should fail with:
|
|
137
|
+
"""
|
|
138
|
+
CONFIG-ERROR: More outfiles (2) than formatters (1).
|
|
139
|
+
"""
|
|
140
|
+
|
|
141
|
+
@with_configfile
|
|
142
|
+
Scenario: Use default formatter and outfile from behave configuration file
|
|
143
|
+
Given a file named "behave.ini" with:
|
|
144
|
+
"""
|
|
145
|
+
[behave]
|
|
146
|
+
format = plain
|
|
147
|
+
outfiles = output/plain.out
|
|
148
|
+
show_timings = false
|
|
149
|
+
"""
|
|
150
|
+
And I remove the directory "output"
|
|
151
|
+
When I run "behave features/"
|
|
152
|
+
Then it should pass
|
|
153
|
+
And the command output should not contain:
|
|
154
|
+
"""
|
|
155
|
+
Feature: Alice
|
|
156
|
+
Scenario: A1
|
|
157
|
+
"""
|
|
158
|
+
But a file named "output/plain.out" should exist
|
|
159
|
+
And the file "output/plain.out" should contain:
|
|
160
|
+
"""
|
|
161
|
+
Feature: Alice
|
|
162
|
+
Scenario: A1
|
|
163
|
+
Given a step passes ... passed
|
|
164
|
+
When a step passes ... passed
|
|
165
|
+
Then a step passes ... passed
|
|
166
|
+
|
|
167
|
+
Feature: Bob
|
|
168
|
+
Scenario: B1
|
|
169
|
+
When a step passes ... passed
|
|
170
|
+
Then a step passes ... passed
|
|
171
|
+
"""
|
|
172
|
+
|
|
173
|
+
@with_configfile
|
|
174
|
+
Scenario: Use default formatter and another without outfile from behave configuration file
|
|
175
|
+
Given a file named "behave.ini" with:
|
|
176
|
+
"""
|
|
177
|
+
[behave]
|
|
178
|
+
default_format = plain
|
|
179
|
+
format = progress
|
|
180
|
+
# -- OOPS: No outfile specified => Use "${format}.output" as outfile
|
|
181
|
+
show_timings = false
|
|
182
|
+
"""
|
|
183
|
+
And I remove the directory "output"
|
|
184
|
+
When I run "behave features/"
|
|
185
|
+
Then it should pass
|
|
186
|
+
And the command output should contain:
|
|
187
|
+
"""
|
|
188
|
+
Feature: Alice
|
|
189
|
+
Scenario: A1
|
|
190
|
+
Given a step passes ... passed
|
|
191
|
+
When a step passes ... passed
|
|
192
|
+
Then a step passes ... passed
|
|
193
|
+
|
|
194
|
+
Feature: Bob
|
|
195
|
+
Scenario: B1
|
|
196
|
+
When a step passes ... passed
|
|
197
|
+
Then a step passes ... passed
|
|
198
|
+
"""
|
|
199
|
+
And a file named "progress.output" should exist
|
|
200
|
+
And the file "progress.output" should contain:
|
|
201
|
+
"""
|
|
202
|
+
features/alice.feature .
|
|
203
|
+
features/bob.feature .
|
|
204
|
+
"""
|
|
205
|
+
|
|
206
|
+
|
|
207
|
+
@with_configfile
|
|
208
|
+
Scenario: Command-line formatter/outfile extend behave configuration file args
|
|
209
|
+
Given a file named "behave.ini" with:
|
|
210
|
+
"""
|
|
211
|
+
[behave]
|
|
212
|
+
show_timings = false
|
|
213
|
+
format = plain
|
|
214
|
+
outfiles = output/plain.out
|
|
215
|
+
"""
|
|
216
|
+
And I remove the directory "output"
|
|
217
|
+
When I run "behave -c -f pretty -o output/pretty.out -f progress -o output/progress.out features/"
|
|
218
|
+
Then it should pass
|
|
219
|
+
And the file "output/progress.out" should contain:
|
|
220
|
+
"""
|
|
221
|
+
features/alice.feature .
|
|
222
|
+
features/bob.feature .
|
|
223
|
+
"""
|
|
224
|
+
And the file "output/pretty.out" should contain:
|
|
225
|
+
"""
|
|
226
|
+
Feature: Alice # features/alice.feature:1
|
|
227
|
+
Scenario: A1 # features/alice.feature:2
|
|
228
|
+
Given a step passes # features/steps/passing_steps.py:3
|
|
229
|
+
When a step passes # features/steps/passing_steps.py:3
|
|
230
|
+
Then a step passes # features/steps/passing_steps.py:3
|
|
231
|
+
|
|
232
|
+
Feature: Bob # features/bob.feature:1
|
|
233
|
+
Scenario: B1 # features/bob.feature:2
|
|
234
|
+
When a step passes # features/steps/passing_steps.py:3
|
|
235
|
+
Then a step passes # features/steps/passing_steps.py:3
|
|
236
|
+
"""
|
|
237
|
+
And a file named "output/plain.out" should exist
|
|
238
|
+
And the file "output/plain.out" should contain:
|
|
239
|
+
"""
|
|
240
|
+
Feature: Alice
|
|
241
|
+
Scenario: A1
|
|
242
|
+
Given a step passes ... passed
|
|
243
|
+
When a step passes ... passed
|
|
244
|
+
Then a step passes ... passed
|
|
245
|
+
|
|
246
|
+
Feature: Bob
|
|
247
|
+
Scenario: B1
|
|
248
|
+
When a step passes ... passed
|
|
249
|
+
Then a step passes ... passed
|
|
250
|
+
"""
|
|
251
|
+
|
|
252
|
+
|
|
253
|
+
@with_configfile
|
|
254
|
+
Scenario: Combination of formatter from configfile and command-line cannot cause outfile offsets
|
|
255
|
+
Given a file named "behave.ini" with:
|
|
256
|
+
"""
|
|
257
|
+
[behave]
|
|
258
|
+
show_timings = false
|
|
259
|
+
format = plain
|
|
260
|
+
# -- OOPS: No outfiles defined => Use "${format}.output" as outfile.
|
|
261
|
+
"""
|
|
262
|
+
And I remove the directory "output"
|
|
263
|
+
When I run "behave -f progress -o output/progress.out features/"
|
|
264
|
+
Then it should pass
|
|
265
|
+
And the command output should not contain:
|
|
266
|
+
"""
|
|
267
|
+
Feature: Alice
|
|
268
|
+
Scenario: A1
|
|
269
|
+
Given a step passes ... passed
|
|
270
|
+
When a step passes ... passed
|
|
271
|
+
Then a step passes ... passed
|
|
272
|
+
"""
|
|
273
|
+
But the file "plain.output" should contain:
|
|
274
|
+
"""
|
|
275
|
+
Feature: Alice
|
|
276
|
+
Scenario: A1
|
|
277
|
+
Given a step passes ... passed
|
|
278
|
+
When a step passes ... passed
|
|
279
|
+
Then a step passes ... passed
|
|
280
|
+
"""
|
|
281
|
+
And the file "output/progress.out" should contain:
|
|
282
|
+
"""
|
|
283
|
+
features/alice.feature .
|
|
284
|
+
features/bob.feature .
|
|
285
|
+
"""
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
Feature: Auto-retry failed scenarios (a number of times)
|
|
2
|
+
|
|
3
|
+
As a tester in an unreliable environment
|
|
4
|
+
I want that failed scenarios are automatically retried a number of times
|
|
5
|
+
So that these scenarios are passing
|
|
6
|
+
|
|
7
|
+
NOTE:
|
|
8
|
+
This problem should occur rather seldom, but may occur when the server or
|
|
9
|
+
network infrastructure, etc. is unreliable and causes random failures.
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
@setup
|
|
13
|
+
Scenario: Feature Setup
|
|
14
|
+
Given a new working directory
|
|
15
|
+
And a file named "features/steps/unreliable_steps.py" with:
|
|
16
|
+
"""
|
|
17
|
+
from behave import given, step
|
|
18
|
+
|
|
19
|
+
unreliable_step_passed_calls = 0
|
|
20
|
+
|
|
21
|
+
@step(u'{word:w} unreliable step fails sometimes')
|
|
22
|
+
def step_unreliable_step_fails_sometimes(context, word):
|
|
23
|
+
global unreliable_step_passed_calls
|
|
24
|
+
userdata = context.config.userdata
|
|
25
|
+
fault_pos = userdata.getint("UNRELIABLE_FAULTPOS", 0)
|
|
26
|
+
if fault_pos <= 0:
|
|
27
|
+
return
|
|
28
|
+
|
|
29
|
+
# -- NORMAL CASE: Unreliable step should every N calls.
|
|
30
|
+
unreliable_step_passed_calls += 1
|
|
31
|
+
if unreliable_step_passed_calls >= fault_pos:
|
|
32
|
+
unreliable_step_passed_calls = 0
|
|
33
|
+
assert False, "UNRELIABLE-STEP FAILURE"
|
|
34
|
+
"""
|
|
35
|
+
And a file named "features/steps/reuse_steps.py" with:
|
|
36
|
+
"""
|
|
37
|
+
import behave4cmd0.passing_steps
|
|
38
|
+
"""
|
|
39
|
+
And a file named "features/environment.py" with:
|
|
40
|
+
"""
|
|
41
|
+
from behave.contrib.scenario_autoretry import patch_scenario_with_autoretry
|
|
42
|
+
|
|
43
|
+
def before_feature(context, feature):
|
|
44
|
+
for scenario in feature.scenarios:
|
|
45
|
+
if "autoretry" in scenario.effective_tags:
|
|
46
|
+
patch_scenario_with_autoretry(scenario, max_attempts=2)
|
|
47
|
+
"""
|
|
48
|
+
And a file named "features/unreliable.feature" with:
|
|
49
|
+
"""
|
|
50
|
+
@autoretry
|
|
51
|
+
Feature: Alice
|
|
52
|
+
Scenario: A1
|
|
53
|
+
Given a step passes
|
|
54
|
+
When an unreliable step fails sometimes
|
|
55
|
+
Then another unreliable step fails sometimes
|
|
56
|
+
|
|
57
|
+
Scenario: A2
|
|
58
|
+
Given an unreliable step fails sometimes
|
|
59
|
+
Then another step passes
|
|
60
|
+
"""
|
|
61
|
+
And a file named "behave.ini" with:
|
|
62
|
+
"""
|
|
63
|
+
[behave]
|
|
64
|
+
show_timings = false
|
|
65
|
+
"""
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
Scenario: Retry failed scenarios
|
|
69
|
+
When I run "behave -f plain -D UNRELIABLE_FAULTPOS=3 features/unreliable.feature"
|
|
70
|
+
Then it should pass with:
|
|
71
|
+
"""
|
|
72
|
+
2 scenarios passed, 0 failed, 0 skipped
|
|
73
|
+
5 steps passed, 0 failed, 0 skipped, 0 undefined
|
|
74
|
+
"""
|
|
75
|
+
And the command output should contain:
|
|
76
|
+
"""
|
|
77
|
+
AUTO-RETRY SCENARIO (attempt 1)
|
|
78
|
+
"""
|
|
79
|
+
But the command output should not contain:
|
|
80
|
+
"""
|
|
81
|
+
AUTO-RETRY SCENARIO (attempt 2)
|
|
82
|
+
"""
|
|
83
|
+
And the command output should contain:
|
|
84
|
+
"""
|
|
85
|
+
Scenario: A1
|
|
86
|
+
Given a step passes ... passed
|
|
87
|
+
When an unreliable step fails sometimes ... passed
|
|
88
|
+
Then another unreliable step fails sometimes ... passed
|
|
89
|
+
|
|
90
|
+
Scenario: A2
|
|
91
|
+
Given an unreliable step fails sometimes ... failed
|
|
92
|
+
Assertion Failed: UNRELIABLE-STEP FAILURE
|
|
93
|
+
AUTO-RETRY SCENARIO (attempt 1)
|
|
94
|
+
|
|
95
|
+
Scenario: A2
|
|
96
|
+
Given an unreliable step fails sometimes ... passed
|
|
97
|
+
Then another step passes ... passed
|
|
98
|
+
"""
|
|
99
|
+
|
|
100
|
+
Scenario: Scenarios failures are accepted after N=2 attempts
|
|
101
|
+
When I run "behave -f plain -D UNRELIABLE_FAULTPOS=2 features/unreliable.feature"
|
|
102
|
+
Then it should fail with:
|
|
103
|
+
"""
|
|
104
|
+
1 scenario passed, 1 failed, 0 skipped
|
|
105
|
+
4 steps passed, 1 failed, 0 skipped, 0 undefined
|
|
106
|
+
"""
|
|
107
|
+
And the command output should not contain:
|
|
108
|
+
"""
|
|
109
|
+
AUTO-RETRY SCENARIO (attempt 2)
|
|
110
|
+
SCENARIO-FAILURE ACCEPTED (after 2 attempts)
|
|
111
|
+
"""
|
|
112
|
+
And the command output should contain:
|
|
113
|
+
"""
|
|
114
|
+
Scenario: A1
|
|
115
|
+
Given a step passes ... passed
|
|
116
|
+
When an unreliable step fails sometimes ... passed
|
|
117
|
+
Then another unreliable step fails sometimes ... failed
|
|
118
|
+
Assertion Failed: UNRELIABLE-STEP FAILURE
|
|
119
|
+
AUTO-RETRY SCENARIO (attempt 1)
|
|
120
|
+
|
|
121
|
+
Scenario: A1
|
|
122
|
+
Given a step passes ... passed
|
|
123
|
+
When an unreliable step fails sometimes ... passed
|
|
124
|
+
Then another unreliable step fails sometimes ... failed
|
|
125
|
+
Assertion Failed: UNRELIABLE-STEP FAILURE
|
|
126
|
+
AUTO-RETRY SCENARIO FAILED (after 2 attempts)
|
|
127
|
+
|
|
128
|
+
Scenario: A2
|
|
129
|
+
Given an unreliable step fails sometimes ... passed
|
|
130
|
+
Then another step passes ... passed
|
|
131
|
+
"""
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
Feature: Select feature files by using regular expressions (self-test)
|
|
2
|
+
|
|
3
|
+
Use behave self-tests to ensure that --incude/--exclude options work.
|
|
4
|
+
RELATED: runner.select_files_by_regexp.feature
|
|
5
|
+
|
|
6
|
+
@setup
|
|
7
|
+
Scenario: Feature Setup
|
|
8
|
+
Given a new working directory
|
|
9
|
+
And an empty file named "features/steps/steps.py"
|
|
10
|
+
And a file named "features/alice.feature" with:
|
|
11
|
+
"""
|
|
12
|
+
Feature: Alice
|
|
13
|
+
Scenario: A1
|
|
14
|
+
"""
|
|
15
|
+
And a file named "features/barbi.feature" with:
|
|
16
|
+
"""
|
|
17
|
+
Feature: Barbi
|
|
18
|
+
Scenario: B1
|
|
19
|
+
"""
|
|
20
|
+
And a file named "features/bob.feature" with:
|
|
21
|
+
"""
|
|
22
|
+
Feature: Bob
|
|
23
|
+
Scenario: B2
|
|
24
|
+
"""
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
Scenario: Include only feature files
|
|
28
|
+
|
|
29
|
+
Select the following feature files: barbi.feature, bob.feature
|
|
30
|
+
|
|
31
|
+
When I run "behave --include='features/b.*' -f plain features/"
|
|
32
|
+
Then it should pass with:
|
|
33
|
+
"""
|
|
34
|
+
2 features passed, 0 failed, 0 skipped
|
|
35
|
+
"""
|
|
36
|
+
And the command output should contain:
|
|
37
|
+
"""
|
|
38
|
+
Feature: Barbi
|
|
39
|
+
Scenario: B1
|
|
40
|
+
|
|
41
|
+
Feature: Bob
|
|
42
|
+
Scenario: B2
|
|
43
|
+
"""
|
|
44
|
+
|
|
45
|
+
Scenario: Exclude only feature files
|
|
46
|
+
|
|
47
|
+
Select the following feature files: alice.feature
|
|
48
|
+
|
|
49
|
+
When I run "behave --exclude='features/b.*' -f plain features/"
|
|
50
|
+
Then it should pass with:
|
|
51
|
+
"""
|
|
52
|
+
1 feature passed, 0 failed, 0 skipped
|
|
53
|
+
"""
|
|
54
|
+
And the command output should contain:
|
|
55
|
+
"""
|
|
56
|
+
Feature: Alice
|
|
57
|
+
"""
|
|
58
|
+
|
|
59
|
+
Scenario: Include and exclude feature files
|
|
60
|
+
|
|
61
|
+
Select the following feature files: alice.feature
|
|
62
|
+
|
|
63
|
+
When I run "behave --include='features/.*a.*\.feature' --exclude='.*/barbi.*' -f plain features/"
|
|
64
|
+
Then it should pass with:
|
|
65
|
+
"""
|
|
66
|
+
1 feature passed, 0 failed, 0 skipped
|
|
67
|
+
"""
|
|
68
|
+
And the command output should contain:
|
|
69
|
+
"""
|
|
70
|
+
Feature: Alice
|
|
71
|
+
"""
|