-
Notifications
You must be signed in to change notification settings - Fork 323
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Mixing inclusion and exclusion tags causes unexpected behaviour #498
Comments
I'd like to second this. I was hoping to use |
brarcher
added a commit
to brarcher/lettuce
that referenced
this issue
Nov 22, 2016
If a user passes in a tag for which no scenario should run, e.g. --tag=-A then the expectation is that no scenario with that tag would run. However, the previous behavior was to a scenario with an inclusionary tag regardless of the exclusionary tag. For example, if a scenario's tags were: ['A', 'B] and the user specified: --tag=-A --tag=B the scenario would run. This change changes the behavior of scenario filtering: 1) If an exclusionary tag matches the scenario is rejected. 2) If an inclusionary tag matches the scenario is accepted. 3) If a tag with ~ matches then it is accepted with some probability gabrielfalcao#498
brarcher
added a commit
to brarcher/lettuce
that referenced
this issue
Nov 22, 2016
If a user passes in a tag for which no scenario should run, e.g. --tag=-A then the expectation is that no scenario with that tag would run. However, the previous behavior was to a scenario with an inclusionary tag regardless of the exclusionary tag. For example, if a scenario's tags were: ['A', 'B] and the user specified: --tag=-A --tag=B the scenario would run. This change changes the behavior of scenario filtering: 1) If there are inclusionary tags and none match, the scenario is rejected 2) If there are exclusionary tags and any match, the scenario is rejected 3) If there are ~ or ~- tags and none match, the scenario is rejected 4) If the above did not reject the scenario, it is accepted gabrielfalcao#498
brarcher
added a commit
to brarcher/lettuce
that referenced
this issue
Nov 22, 2016
If a user passes in a tag for which no scenario should run, e.g. --tag=-A then the expectation is that no scenario with that tag would run. However, the previous behavior was to include a scenario if an inclusion tag matches regardless if an exclusion tag also matches. scenario with an inclusionary. For example, if a scenario's tags were: ['A', 'B'] and the user specified: --tag=-A --tag=B the scenario would run. This change changes the behavior of scenario filtering: 1) If there are inclusionary tags and none match, the scenario is rejected 2) If there are exclusionary tags and any match, the scenario is rejected 3) If there are ~ or ~- tags and none match, the scenario is rejected 4) If the above did not reject the scenario, it is accepted gabrielfalcao#498
brarcher
added a commit
to brarcher/lettuce
that referenced
this issue
Nov 22, 2016
If a user passes in a tag for which no scenario should run, e.g. --tag=-A then the expectation is that no scenario with that tag would run. However, the previous behavior was to include a scenario if an inclusion tag matches regardless if an exclusion tag also matches. scenario with an inclusionary. For example, if a scenario's tags were: ['A', 'B'] and the user specified: --tag=-A --tag=B the scenario would run. This change changes the behavior of scenario filtering: 1) If there are inclusionary tags and none match, the scenario is rejected 2) If there are exclusionary tags and any match, the scenario is rejected 3) If there are ~ or ~- tags and none match, the scenario is rejected 4) If the above did not reject the scenario, it is accepted gabrielfalcao#498
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Feature file:
Python file:
Expected Result:
Running
lettuce --tag=include_tag --tag=-exclude_tag
will run only the second scenarioActual Result
Running
lettuce --tag=include_tag --tag=-exclude_tag
runs both scenariosThis behaviour means there is no way to run all scenarios that match tag "a" but don't match tag "b".
The text was updated successfully, but these errors were encountered: