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,74 @@
|
|
|
1
|
+
@issue
|
|
2
|
+
Feature: Issue #159: output stream is wrapped twice in the codecs.StreamWriter
|
|
3
|
+
|
|
4
|
+
@setup
|
|
5
|
+
Scenario: Feature Setup
|
|
6
|
+
Given a new working directory
|
|
7
|
+
And a file named "features/steps/steps.py" with:
|
|
8
|
+
"""
|
|
9
|
+
# -*- coding: utf-8 -*-
|
|
10
|
+
from behave import step
|
|
11
|
+
|
|
12
|
+
@step('firstname is "{name}"')
|
|
13
|
+
def step_impl(context, name):
|
|
14
|
+
pass
|
|
15
|
+
|
|
16
|
+
@step(u'full name is Loïc "{name}"')
|
|
17
|
+
def step_impl(context, name):
|
|
18
|
+
pass
|
|
19
|
+
"""
|
|
20
|
+
|
|
21
|
+
Scenario: Single feature, pass (a)
|
|
22
|
+
Given a file named "features/issue159_stream_writer.feature" with:
|
|
23
|
+
"""
|
|
24
|
+
Feature:
|
|
25
|
+
Scenario:
|
|
26
|
+
When firstname is "Loïc"
|
|
27
|
+
"""
|
|
28
|
+
When I run "behave -f plain features/"
|
|
29
|
+
Then it should pass
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
Scenario: Single feature, pass (b)
|
|
33
|
+
Given a file named "features/issue159_stream_writer.feature" with:
|
|
34
|
+
"""
|
|
35
|
+
Feature:
|
|
36
|
+
Scenario:
|
|
37
|
+
When full name is Loïc "Dupont"
|
|
38
|
+
"""
|
|
39
|
+
When I run "behave -f plain features/"
|
|
40
|
+
Then it should pass
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
Scenario: Two features, FAIL (a)
|
|
44
|
+
Given a file named "features/issue159_stream_writer.feature" with:
|
|
45
|
+
"""
|
|
46
|
+
Feature:
|
|
47
|
+
Scenario:
|
|
48
|
+
When full name is Loïc "Dupont"
|
|
49
|
+
"""
|
|
50
|
+
And a file named "features/issue159_stream_writer_again.feature" with:
|
|
51
|
+
"""
|
|
52
|
+
Feature:
|
|
53
|
+
Scenario:
|
|
54
|
+
When full name is Loïc "Dupond"
|
|
55
|
+
"""
|
|
56
|
+
When I run "behave -f plain features/"
|
|
57
|
+
Then it should pass
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
Scenario: Two features, FAIL (b)
|
|
61
|
+
Given a file named "features/issue159_stream_writer.feature" with:
|
|
62
|
+
"""
|
|
63
|
+
Feature:
|
|
64
|
+
Scenario:
|
|
65
|
+
When firstname is "Loïc"
|
|
66
|
+
"""
|
|
67
|
+
And a file named "features/issue159_stream_writer_again.feature" with:
|
|
68
|
+
"""
|
|
69
|
+
Feature:
|
|
70
|
+
Scenario:
|
|
71
|
+
When firstname is "Loïc"
|
|
72
|
+
"""
|
|
73
|
+
When I run "behave -f plain features/"
|
|
74
|
+
Then it should pass
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
@issue
|
|
2
|
+
Feature: Issue #162 Unnecessary ContextMaskWarnings when assert fails or exception is raised
|
|
3
|
+
|
|
4
|
+
. Behave shows unnecessary ContextMaskWarnings related to:
|
|
5
|
+
.
|
|
6
|
+
. * tags
|
|
7
|
+
. * capture_stdout
|
|
8
|
+
. * capture_stderr
|
|
9
|
+
. * log_capture
|
|
10
|
+
.
|
|
11
|
+
. if:
|
|
12
|
+
.
|
|
13
|
+
. * an assertion fails in a step-definition/step-function
|
|
14
|
+
. * an exception is raised by a step-definition/step-function
|
|
15
|
+
.
|
|
16
|
+
. and an additional scenario follows.
|
|
17
|
+
. REASON: Context "behave" mode is not restored when an exception is raised.
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
@setup
|
|
21
|
+
Scenario: Feature Setup
|
|
22
|
+
Given a new working directory
|
|
23
|
+
And a file named "features/steps/steps.py" with:
|
|
24
|
+
"""
|
|
25
|
+
from behave import step
|
|
26
|
+
|
|
27
|
+
@step('a step passes')
|
|
28
|
+
def step_passes(context):
|
|
29
|
+
pass
|
|
30
|
+
|
|
31
|
+
@step('a step assert fails')
|
|
32
|
+
def step_assert_fails(context):
|
|
33
|
+
assert False, "XFAIL-STEP"
|
|
34
|
+
|
|
35
|
+
@step('an exception is raised')
|
|
36
|
+
def step_raises_exception(context):
|
|
37
|
+
raise RuntimeError("XFAIL-STEP")
|
|
38
|
+
"""
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
Scenario: Assertion fails in a step
|
|
42
|
+
Given a file named "features/example0162_assert_fails.feature" with:
|
|
43
|
+
"""
|
|
44
|
+
Feature:
|
|
45
|
+
Scenario:
|
|
46
|
+
Given a step passes
|
|
47
|
+
When a step assert fails
|
|
48
|
+
Then a step passes
|
|
49
|
+
|
|
50
|
+
Scenario:
|
|
51
|
+
Given a step passes
|
|
52
|
+
"""
|
|
53
|
+
When I run "behave -f plain features/example0162_assert_fails.feature"
|
|
54
|
+
Then it should fail with:
|
|
55
|
+
"""
|
|
56
|
+
1 scenario passed, 1 failed, 0 skipped
|
|
57
|
+
2 steps passed, 1 failed, 1 skipped, 0 undefined
|
|
58
|
+
"""
|
|
59
|
+
But the command output should not contain:
|
|
60
|
+
"""
|
|
61
|
+
ContextMaskWarning: user code is masking context attribute
|
|
62
|
+
"""
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
Scenario: Exception is raised in a step
|
|
66
|
+
Given a file named "features/example0162_exception_raised.feature" with:
|
|
67
|
+
"""
|
|
68
|
+
Feature:
|
|
69
|
+
Scenario:
|
|
70
|
+
Given a step passes
|
|
71
|
+
When an exception is raised
|
|
72
|
+
Then a step passes
|
|
73
|
+
|
|
74
|
+
Scenario:
|
|
75
|
+
Given a step passes
|
|
76
|
+
"""
|
|
77
|
+
When I run "behave -f plain features/example0162_exception_raised.feature"
|
|
78
|
+
Then it should fail with:
|
|
79
|
+
"""
|
|
80
|
+
1 scenario passed, 1 failed, 0 skipped
|
|
81
|
+
2 steps passed, 1 failed, 1 skipped, 0 undefined
|
|
82
|
+
"""
|
|
83
|
+
But the command output should not contain:
|
|
84
|
+
"""
|
|
85
|
+
ContextMaskWarning: user code is masking context attribute
|
|
86
|
+
"""
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
@issue
|
|
2
|
+
Feature: Issue #171: Importing step from other step file fails with AmbiguousStep Error
|
|
3
|
+
|
|
4
|
+
. When a step module imports another step module
|
|
5
|
+
. this should not cause AmbiguousStep errors
|
|
6
|
+
. due to duplicated registration of the same step functions.
|
|
7
|
+
.
|
|
8
|
+
. NOTES:
|
|
9
|
+
. * In general you should avoid this case (provided as example here).
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
@reuse.colocated_test
|
|
13
|
+
Scenario: Step module imports other step module
|
|
14
|
+
Given I use the current directory as working directory
|
|
15
|
+
When I run "behave -f plain features/step.import_other_step_module.feature"
|
|
16
|
+
Then it should pass
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
@issue
|
|
2
|
+
Feature: Issue #172 Junit report file name populated incorrectly when running against a feature file
|
|
3
|
+
|
|
4
|
+
@setup
|
|
5
|
+
Scenario: Feature Setup
|
|
6
|
+
Given a new working directory
|
|
7
|
+
And a file named "features/steps/steps.py" with:
|
|
8
|
+
"""
|
|
9
|
+
from behave import step
|
|
10
|
+
|
|
11
|
+
@step('a step passes')
|
|
12
|
+
def step_passes(context):
|
|
13
|
+
pass
|
|
14
|
+
"""
|
|
15
|
+
And a file named "features/feature_in_root_folder.feature" with:
|
|
16
|
+
"""
|
|
17
|
+
Feature:
|
|
18
|
+
Scenario:
|
|
19
|
+
Given a step passes
|
|
20
|
+
"""
|
|
21
|
+
And a file named "features/subfolder/feature_in_subfolder.feature" with:
|
|
22
|
+
"""
|
|
23
|
+
Feature:
|
|
24
|
+
Scenario:
|
|
25
|
+
Given a step passes
|
|
26
|
+
"""
|
|
27
|
+
|
|
28
|
+
Scenario: Running behave for one feature in root folder
|
|
29
|
+
When I run "behave --junit --junit-directory=test_results features/feature_in_root_folder.feature"
|
|
30
|
+
Then it should pass with:
|
|
31
|
+
"""
|
|
32
|
+
1 feature passed, 0 failed, 0 skipped
|
|
33
|
+
"""
|
|
34
|
+
And a file named "test_results/TESTS-feature_in_root_folder.xml" exists
|
|
35
|
+
|
|
36
|
+
Scenario: Running behave for one feature in a subfolder
|
|
37
|
+
When I run "behave --junit --junit-directory=test_results features/subfolder/feature_in_subfolder.feature"
|
|
38
|
+
Then it should pass with:
|
|
39
|
+
"""
|
|
40
|
+
1 feature passed, 0 failed, 0 skipped
|
|
41
|
+
"""
|
|
42
|
+
And a file named "test_results/TESTS-subfolder.feature_in_subfolder.xml" exists
|
|
43
|
+
|
|
44
|
+
Scenario: Running behave for all features
|
|
45
|
+
When I run "behave --junit --junit-directory=test_results"
|
|
46
|
+
Then it should pass with:
|
|
47
|
+
"""
|
|
48
|
+
2 features passed, 0 failed, 0 skipped
|
|
49
|
+
"""
|
|
50
|
+
And a file named "test_results/TESTS-feature_in_root_folder.xml" exists
|
|
51
|
+
And a file named "test_results/TESTS-subfolder.feature_in_subfolder.xml" exists
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
@issue
|
|
2
|
+
Feature: Issue #175: Scenario isn't marked as 'failed' when Background step fails
|
|
3
|
+
|
|
4
|
+
Scenario has currently status "skipped" when a background step fails.
|
|
5
|
+
Expected is that scenario status should be "failed".
|
|
6
|
+
Ensure that this is the case.
|
|
7
|
+
|
|
8
|
+
RELATED: features/background.feature
|
|
9
|
+
REUSE: Scenario from there (as copy).
|
|
10
|
+
|
|
11
|
+
. NOTE:
|
|
12
|
+
. Cucumber has a slightly different behaviour.
|
|
13
|
+
. When a background step fails the first scenario is marked as failed.
|
|
14
|
+
. But the remaining scenarios are marked as skipped.
|
|
15
|
+
.
|
|
16
|
+
. This can lead to problems when you have sporadic background step failures.
|
|
17
|
+
. For this reason, behave retries the background steps for each scenario.
|
|
18
|
+
.
|
|
19
|
+
. SEE ALSO:
|
|
20
|
+
. * https://github.com/cucumber/cucumber/blob/master/features/docs/gherkin/background.feature
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
@setup
|
|
24
|
+
Scenario: Feature Setup
|
|
25
|
+
Given a new working directory
|
|
26
|
+
And a file named "features/steps/background_steps.py" with:
|
|
27
|
+
"""
|
|
28
|
+
from behave import step
|
|
29
|
+
|
|
30
|
+
@step('{word} background step {outcome}')
|
|
31
|
+
def step_background_step_passes_or_fails(context, word, outcome):
|
|
32
|
+
if outcome == "fails":
|
|
33
|
+
assert False, "XFAIL: background step"
|
|
34
|
+
elif outcome == "passes":
|
|
35
|
+
pass
|
|
36
|
+
else:
|
|
37
|
+
message = "Unexpected outcome=%s. Use: passes, fails"
|
|
38
|
+
raise RuntimeError(message % outcome)
|
|
39
|
+
"""
|
|
40
|
+
And a file named "features/steps/passing_steps.py" with:
|
|
41
|
+
"""
|
|
42
|
+
from behave import step
|
|
43
|
+
|
|
44
|
+
@step('{word} step passes')
|
|
45
|
+
def step_passes(context, word):
|
|
46
|
+
pass
|
|
47
|
+
|
|
48
|
+
@step('{word} step fails')
|
|
49
|
+
def step_passes(context, word):
|
|
50
|
+
assert False, "XFAIL"
|
|
51
|
+
"""
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
Scenario: Failing Background Step causes all Scenarios to fail
|
|
55
|
+
Given a file named "features/example.background_step_fails.feature" with:
|
|
56
|
+
"""
|
|
57
|
+
Feature:
|
|
58
|
+
|
|
59
|
+
Background: B1
|
|
60
|
+
Given a background step passes
|
|
61
|
+
And a background step fails
|
|
62
|
+
And another background step passes
|
|
63
|
+
|
|
64
|
+
Scenario: S1
|
|
65
|
+
When a step passes
|
|
66
|
+
|
|
67
|
+
Scenario: S2
|
|
68
|
+
Then a step passes
|
|
69
|
+
And another step passes
|
|
70
|
+
"""
|
|
71
|
+
When I run "behave -f plain -T features/example.background_step_fails.feature"
|
|
72
|
+
Then it should fail with:
|
|
73
|
+
"""
|
|
74
|
+
0 scenarios passed, 2 failed, 0 skipped
|
|
75
|
+
2 steps passed, 2 failed, 5 skipped, 0 undefined
|
|
76
|
+
"""
|
|
77
|
+
And the command output should contain:
|
|
78
|
+
"""
|
|
79
|
+
Feature:
|
|
80
|
+
Background: B1
|
|
81
|
+
|
|
82
|
+
Scenario: S1
|
|
83
|
+
Given a background step passes ... passed
|
|
84
|
+
And a background step fails ... failed
|
|
85
|
+
Assertion Failed: XFAIL: background step
|
|
86
|
+
|
|
87
|
+
Scenario: S2
|
|
88
|
+
Given a background step passes ... passed
|
|
89
|
+
And a background step fails ... failed
|
|
90
|
+
Assertion Failed: XFAIL: background step
|
|
91
|
+
"""
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
@issue
|
|
2
|
+
Feature: Issue #177: Cannot setup logging_format
|
|
3
|
+
|
|
4
|
+
. DESCPRIPTION:
|
|
5
|
+
. When the logging_format is set in the behave configuration file
|
|
6
|
+
. or on command-line, an exception is thrown, because
|
|
7
|
+
. the ConfigParser tries to replace the placeholders in the format string
|
|
8
|
+
. with option values in the configuration file (which do not exist).
|
|
9
|
+
.
|
|
10
|
+
. SOLUTION:
|
|
11
|
+
. The format string must be processed as raw value (by the ConfigParser).
|
|
12
|
+
.
|
|
13
|
+
. RELATED:
|
|
14
|
+
. * features/logging.setup_format.feature
|
|
15
|
+
. * features/logging.setup_level.feature
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
@reuse.colocated_test
|
|
19
|
+
Scenario: Setup logging_format
|
|
20
|
+
Given I use the current directory as working directory
|
|
21
|
+
When I run "behave -f plain features/logging.setup_format.feature"
|
|
22
|
+
Then it should pass
|
|
23
|
+
And the command output should not contain:
|
|
24
|
+
"""
|
|
25
|
+
Traceback (most recent call last):
|
|
26
|
+
"""
|
|
27
|
+
And the command output should not contain:
|
|
28
|
+
"""
|
|
29
|
+
ConfigParser.InterpolationMissingOptionError: Bad value
|
|
30
|
+
"""
|
|
31
|
+
|
|
32
|
+
@reuse.colocated_test
|
|
33
|
+
Scenario: Setup logging_level
|
|
34
|
+
|
|
35
|
+
Ensure that the problem that was also mentioned, works as expected.
|
|
36
|
+
Note that this "problem" never existed (hint: missing user knowledge).
|
|
37
|
+
|
|
38
|
+
Given I use the current directory as working directory
|
|
39
|
+
When I run "behave -f plain features/logging.setup_level.feature"
|
|
40
|
+
Then it should pass
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
@issue
|
|
2
|
+
Feature: Issue #181: Escape apostrophes in undefined steps snippets
|
|
3
|
+
|
|
4
|
+
. I have noticed that, for the following line in my features file:
|
|
5
|
+
.
|
|
6
|
+
. Then I'm redirected to http://www.example.com
|
|
7
|
+
.
|
|
8
|
+
. Behave outputs the following:
|
|
9
|
+
.
|
|
10
|
+
. @then(u'I'm redirected to http://www.example.com')
|
|
11
|
+
. def step_impl(context):
|
|
12
|
+
. assert False
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
Scenario:
|
|
16
|
+
Given a new working directory
|
|
17
|
+
And an empty file named "features/steps/steps.py"
|
|
18
|
+
And a file named "features/issue181_example.feature" with
|
|
19
|
+
"""
|
|
20
|
+
Feature:
|
|
21
|
+
Scenario:
|
|
22
|
+
Given I'm using an "undefined step"
|
|
23
|
+
"""
|
|
24
|
+
When I run "behave -f plain features/issue181_example.feature"
|
|
25
|
+
Then it should fail with:
|
|
26
|
+
"""
|
|
27
|
+
0 steps passed, 0 failed, 0 skipped, 1 undefined
|
|
28
|
+
"""
|
|
29
|
+
And the command output should contain:
|
|
30
|
+
"""
|
|
31
|
+
You can implement step definitions for undefined steps with these snippets:
|
|
32
|
+
|
|
33
|
+
@given(u'I\'m using an "undefined step"')
|
|
34
|
+
def step_impl(context):
|
|
35
|
+
raise NotImplementedError(u'STEP: Given I\'m using an "undefined step"')
|
|
36
|
+
"""
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
@issue
|
|
2
|
+
Feature: Issue #184: TypeError when running behave with --include option
|
|
3
|
+
|
|
4
|
+
. Running behave with option '--include' causes fail with following error:
|
|
5
|
+
.
|
|
6
|
+
. Traceback (most recent call last):
|
|
7
|
+
. File "/.../bin/behave", line 8, in
|
|
8
|
+
. load_entry_point('behave==1.2.3', 'console_scripts', 'behave')()
|
|
9
|
+
. File "/.../lib/python2.7/site-packages/behave/__main__.py", line 111, in main
|
|
10
|
+
. ...
|
|
11
|
+
. File "/.../lib/python2.7/site-packages/behave/runner.py", line 490, in run_with_paths
|
|
12
|
+
. if not self.config.exclude(filename) ]
|
|
13
|
+
. File "/.../lib/python2.7/site-packages/behave/configuration.py", line 488, in exclude
|
|
14
|
+
. if self.include_re and self.include_re.search(filename) is None:
|
|
15
|
+
. TypeError: expected string or buffer
|
|
16
|
+
.
|
|
17
|
+
. RELATED:
|
|
18
|
+
. * features/runner.select_files_by_regexp.feature
|
|
19
|
+
. * features/runner.select_files_by_regexp2.feature
|
|
20
|
+
|
|
21
|
+
@setup
|
|
22
|
+
Scenario: Feature Setup
|
|
23
|
+
Given a new working directory
|
|
24
|
+
And a file named "features/steps/passing_steps.py" with:
|
|
25
|
+
"""
|
|
26
|
+
from behave import step
|
|
27
|
+
|
|
28
|
+
@step('{word:w} step passes')
|
|
29
|
+
def step_passes(context, word):
|
|
30
|
+
pass
|
|
31
|
+
"""
|
|
32
|
+
And a file named "features/alice.feature" with:
|
|
33
|
+
"""
|
|
34
|
+
Feature: Alice
|
|
35
|
+
Scenario: A1
|
|
36
|
+
Given a step passes
|
|
37
|
+
"""
|
|
38
|
+
And a file named "features/bob.feature" with:
|
|
39
|
+
"""
|
|
40
|
+
Feature: Bob
|
|
41
|
+
Scenario: B1
|
|
42
|
+
When another step passes
|
|
43
|
+
|
|
44
|
+
Scenario: B2
|
|
45
|
+
Then another step passes
|
|
46
|
+
"""
|
|
47
|
+
|
|
48
|
+
Scenario: Use --include command-line option to select some features
|
|
49
|
+
When I run "behave -f plain --include='features/a.*\.feature'"
|
|
50
|
+
Then it should pass with:
|
|
51
|
+
"""
|
|
52
|
+
1 feature passed, 0 failed, 0 skipped
|
|
53
|
+
1 scenario passed, 0 failed, 0 skipped
|
|
54
|
+
"""
|
|
55
|
+
And the command output should contain:
|
|
56
|
+
"""
|
|
57
|
+
Feature: Alice
|
|
58
|
+
"""
|
|
59
|
+
But the command output should not contain:
|
|
60
|
+
"""
|
|
61
|
+
Feature: Bob
|
|
62
|
+
"""
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
Scenario: Use --include command-line option to select all features
|
|
66
|
+
When I run "behave -f plain --include='.*\.feature'"
|
|
67
|
+
Then it should pass with:
|
|
68
|
+
"""
|
|
69
|
+
2 features passed, 0 failed, 0 skipped
|
|
70
|
+
3 scenarios passed, 0 failed, 0 skipped
|
|
71
|
+
"""
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
Scenario: Use --exclude command-line option
|
|
75
|
+
When I run "behave -f plain --exclude='features/a.*\.feature'"
|
|
76
|
+
Then it should pass with:
|
|
77
|
+
"""
|
|
78
|
+
1 feature passed, 0 failed, 0 skipped
|
|
79
|
+
2 scenarios passed, 0 failed, 0 skipped
|
|
80
|
+
"""
|
|
81
|
+
And the command output should contain:
|
|
82
|
+
"""
|
|
83
|
+
Feature: Bob
|
|
84
|
+
"""
|
|
85
|
+
But the command output should not contain:
|
|
86
|
+
"""
|
|
87
|
+
Feature: Alice
|
|
88
|
+
"""
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
Scenario: Use --include and --exclude command-line options
|
|
92
|
+
When I run "behave -f plain --include='.*\.feature' --exclude='features/a.*\.feature'"
|
|
93
|
+
Then it should pass with:
|
|
94
|
+
"""
|
|
95
|
+
1 feature passed, 0 failed, 0 skipped
|
|
96
|
+
2 scenarios passed, 0 failed, 0 skipped
|
|
97
|
+
"""
|
|
98
|
+
And the command output should contain:
|
|
99
|
+
"""
|
|
100
|
+
Feature: Bob
|
|
101
|
+
"""
|
|
102
|
+
But the command output should not contain:
|
|
103
|
+
"""
|
|
104
|
+
Feature: Alice
|
|
105
|
+
"""
|
|
106
|
+
|
|
107
|
+
Scenario: Use --include command-line option with file location
|
|
108
|
+
When I run "behave -f plain --include='features/a.*\.feature' features/alice.feature:3"
|
|
109
|
+
Then it should pass with:
|
|
110
|
+
"""
|
|
111
|
+
1 feature passed, 0 failed, 0 skipped
|
|
112
|
+
1 scenario passed, 0 failed, 0 skipped
|
|
113
|
+
"""
|
|
114
|
+
And the command output should contain:
|
|
115
|
+
"""
|
|
116
|
+
Feature: Alice
|
|
117
|
+
"""
|
|
118
|
+
But the command output should not contain:
|
|
119
|
+
"""
|
|
120
|
+
Feature: Bob
|
|
121
|
+
"""
|
|
122
|
+
|
|
123
|
+
Scenario: Use --exclude command-line option with feature list file
|
|
124
|
+
Given a file named "selected.txt" with:
|
|
125
|
+
"""
|
|
126
|
+
# -- FEATURE-LIST FILE:
|
|
127
|
+
features/alice.feature:3
|
|
128
|
+
features/bob.feature:7
|
|
129
|
+
"""
|
|
130
|
+
When I run "behave -f plain --no-skipped --exclude='.*/a.*\.feature' @selected.txt"
|
|
131
|
+
Then it should pass with:
|
|
132
|
+
"""
|
|
133
|
+
1 feature passed, 0 failed, 0 skipped
|
|
134
|
+
1 scenario passed, 0 failed, 1 skipped
|
|
135
|
+
"""
|
|
136
|
+
And the command output should contain:
|
|
137
|
+
"""
|
|
138
|
+
Feature: Bob
|
|
139
|
+
Scenario: B2
|
|
140
|
+
"""
|
|
141
|
+
But the command output should not contain:
|
|
142
|
+
"""
|
|
143
|
+
Feature: Alice
|
|
144
|
+
"""
|