Skip to content

Commit 0d557d5

Browse files
committed
Skip dependencies in case of expected failures
1 parent 1539922 commit 0d557d5

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

reframe/frontend/executors/policies.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -209,13 +209,14 @@ def runcase(self, case):
209209
for c in case.deps if c in self._task_index):
210210
raise TaskDependencyError('dependencies failed')
211211

212-
if any(self._task_index[c].skipped
212+
if any(self._task_index[c].skipped or self._task_index[c].xfailed
213213
for c in case.deps if c in self._task_index):
214214

215215
# We raise the SkipTestError here and catch it immediately in
216216
# order for `skip()` to get the correct exception context.
217217
try:
218-
raise SkipTestError('skipped due to skipped dependencies')
218+
raise SkipTestError('skipped due to skipped or '
219+
'xfailed dependencies')
219220
except SkipTestError as e:
220221
task.skip()
221222
raise TaskExit from e
@@ -480,7 +481,8 @@ def _advance_all(self, tasks, timeout=None):
480481
def _advance_startup(self, task):
481482
if self.deps_skipped(task):
482483
try:
483-
raise SkipTestError('skipped due to skipped dependencies')
484+
raise SkipTestError('skipped due to skipped or '
485+
'xfailed dependencies')
484486
except SkipTestError:
485487
task.skip()
486488
self._current_tasks.remove(task)
@@ -606,7 +608,7 @@ def deps_succeeded(self, task):
606608

607609
def deps_skipped(self, task):
608610
# NOTE: Restored dependencies are not in the task_index
609-
return any(self._task_index[c].skipped
611+
return any(self._task_index[c].skipped or self._task_index[c].xfailed
610612
for c in task.testcase.deps if c in self._task_index)
611613

612614
def _abortall(self, cause):

0 commit comments

Comments
 (0)