Fix run skipped/ignored tests with --run-ignored#674
Fix run skipped/ignored tests with --run-ignored#674OmChillure wants to merge 3 commits intokarva-dev:mainfrom
Conversation
| } | ||
| } | ||
| RunIgnoredMode::Only => { | ||
| if !tags.has_skip_tag() { |
There was a problem hiding this comment.
Why do we not check should_skip here?
There was a problem hiding this comment.
I used has_skip_tag rather than should_skip so that tests with a skip decorator are included even when the skip condition evaluates to False (e.g. @karva.tags.skip(False,=reason=...)). should_skip would exclude those tests because the condition is inactive, but --run-ignored only targets any test decorated with skip, regardless of the condition.
There was a problem hiding this comment.
I'm not sure this should be the case. If a test is not skipped normally (if it has a conditional skip tag) then it runs when we run skipped tests, that doesn't seem right.
Another way I think of this is that if you run tests normally, then you run tests with --run-ignored only, all tests should have run once and only once.
There was a problem hiding this comment.
ahh yeah , I reconsidered the thinking using has_skip_tag would cause tests with a False condition to run in both normal and --run-ignored passes, breaking the once-and-only-once . will update to 'should_skip'
There was a problem hiding this comment.
fixed now
PS : I have used .0 extracts the bool from (bool, Option<String>); we don't need the reason here since we are overriding the skip. thats fine right?
Merging this PR will not alter performance
|
Fixes #548
Summary
This PR adds run-ignored support through a dedicated CLI option and fixes skip-handling behavior while preserving existing filter semantics.
You can now run:
What Changed
Added a new test CLI option: --run-ignored WHICH
Wired run-ignored mode through CLI, runner orchestration, worker settings, and semantic test execution.
Updated skip handling so:
Added Integration Coverage For
Behavior
Validation
Screenshots
Before

--run-ignored only

--run-ignored all

Notes
This PR introduces run-ignored behavior via a dedicated CLI option, not via filter expressions.