8
8
import pytest
9
9
10
10
__version__ = "0.2"
11
+ from blessings import Terminal
11
12
13
+ terminal = Terminal ()
12
14
13
15
class DependencyItemStatus (object ):
14
16
"""Status of a test item in a dependency manager.
@@ -59,10 +61,13 @@ def addResult(self, item, marker, rep):
59
61
status = self .results .setdefault (name , DependencyItemStatus ())
60
62
status .addResult (rep )
61
63
62
- def checkDepend (self , depends ):
64
+ def checkDepend (self , depends , item ):
63
65
for i in depends :
64
66
if not (i in self .results and self .results [i ].isSuccess ()):
65
- pytest .skip ("depends on %s" % i )
67
+ msg = "%s depends on %s %s" % (terminal .yellow (item .name ),
68
+ terminal .yellow (i ),
69
+ terminal .red ('(failed)' ))
70
+ pytest .skip (msg )
66
71
67
72
68
73
def depends (request , other ):
@@ -84,7 +89,7 @@ def depends(request, other):
84
89
"""
85
90
item = request .node
86
91
manager = DependencyManager .getManager (item )
87
- manager .checkDepend (other )
92
+ manager .checkDepend (other , item )
88
93
89
94
90
95
@pytest .hookimpl (tryfirst = True , hookwrapper = True )
@@ -108,4 +113,4 @@ def pytest_runtest_setup(item):
108
113
depends = marker .kwargs .get ('depends' )
109
114
if depends :
110
115
manager = DependencyManager .getManager (item )
111
- manager .checkDepend (depends )
116
+ manager .checkDepend (depends , item )
0 commit comments