-
Notifications
You must be signed in to change notification settings - Fork 2.4k
Enable continuable failures via robot:continue-on-failure test or kw tag #3925
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
Enable continuable failures via robot:continue-on-failure test or kw tag #3925
Conversation
Finished with the code, please review, @pekkaklarck |
…treatment of continuable keywords
Codecov Report
@@ Coverage Diff @@
## master #3925 +/- ##
==========================================
- Coverage 75.15% 75.09% -0.06%
==========================================
Files 222 222
Lines 18816 18831 +15
Branches 3076 3079 +3
==========================================
- Hits 14140 14139 -1
- Misses 4148 4157 +9
- Partials 528 535 +7
Continue to review full report at Codecov.
|
@pekkaklarck , I understand you're now looking at 4.1 features. Would you consider this one to be part of 4.1? Please let me know what you think of the approach and the implementation. main discussion point is how to treat continuable keywords in such a scenario:
I feel we should still continue, i.e. not change the semantic of continuable keywords. |
Yeah, this definitely fits well for RF 4.1. Tuesday we'll have one week from RF 4.0.3 and I believe that's enough time to see are there new critical regressions. That means we can start RF 4.1 work for real. I have a training course on Tuesday, though, so most likely it'll be Wednesday before I really get started. |
Codecov Report
@@ Coverage Diff @@
## master #3925 +/- ##
==========================================
- Coverage 75.11% 75.05% -0.05%
==========================================
Files 222 222
Lines 18840 18855 +15
Branches 3083 3086 +3
==========================================
Hits 14150 14150
- Misses 4163 4172 +9
- Partials 527 533 +6
Continue to review full report at Codecov.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I only looked at code at this point and it mostly looks pretty good. For things that should still be changed see individual comments.
The main problem now is that we apparently haven't yet agreed on how to handle nested robot:continue-on-failure
usage (see my comment to issue #2285). The current implementation gets the default value from the test case, but doesn't look at possible parent user keywords. I think that's a bit odd and we either should either look at all parents or none. This might be best to discuss further on Slack and once we have agreed on the design then document it here and in comments of #2285.
No longer inherit from test case tag removed `robot:no-continue-on-failure` handling refactored atest cases added IF handling fixed tag handling for for/if in user keyword
…k into 2285-continue-tag
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Awesome work with code, tests and docs! I added several comments about various smallish things that can still be enhanced but this now looks really good.
@@ -199,16 +197,16 @@ Recursive Continue in test without tag and two nested UK with and without recurs | |||
Failure in user keyword with recursive tag run_kw=Failure in user keyword without tag | |||
Fail This should not be executed | |||
|
|||
Recursive Continue in test without tag and two nested UK without and with recursive tag | |||
No recursive continue in user keyword |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this name accurate? Doesn't the test validate recursive continue works also with nested keywords?
This PR implements one of the features in #2285 , the ability to control continuable failures via test or keyword tags.
We introduce
robot:continue-on-failure
as a test or user-keyword tag to denote all failures within the test (and within all user keywords executed within) or within a user-keyword to be continuable.