From 928d6159ed9870580736979baf021287a96afd93 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Sun, 15 Jul 2018 12:02:50 +0000 Subject: oeqa/decorator: Improve reliability Checking if the dependency had any failure is unreliable, for example if the underlying data doesn't get transferred and the list is empty, success of the dependency is assumed. Since we now have success data available, change the code to use it. (From OE-Core rev: 4abba4c30d5a6163a968a119395a679e5e281ab4) Signed-off-by: Richard Purdie --- meta/lib/oeqa/core/decorator/depends.py | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) (limited to 'meta/lib/oeqa/core') diff --git a/meta/lib/oeqa/core/decorator/depends.py b/meta/lib/oeqa/core/decorator/depends.py index 69c604d8f4..950dbaa67a 100644 --- a/meta/lib/oeqa/core/decorator/depends.py +++ b/meta/lib/oeqa/core/decorator/depends.py @@ -63,13 +63,15 @@ def _order_test_case_by_depends(cases, depends): return [cases[case_id] for case_id in cases_ordered] def _skipTestDependency(case, depends): - skipReasons = ['errors', 'failures', 'skipped'] - - for reason in skipReasons: - for test, _ in getattr(case.tc.results, reason): - if test.id() in depends: - raise SkipTest("Test case %s depends on %s and was in %s." \ - % (case.id(), test.id(), reason)) + for dep in depends: + found = False + for test, _ in case.tc.results.successes: + if test.id() == dep: + found = True + break + if not found: + raise SkipTest("Test case %s depends on %s but it didn't pass/run." \ + % (case.id(), dep)) @registerDecorator class OETestDepends(OETestDiscover): -- cgit v1.2.3-54-g00ecf