@@ -81,6 +81,7 @@ def __call__(self, queue, interrupt_flag, setup_flag=None, teardown_flag=None):
81
81
will be run before this method returns. If an error occurs
82
82
while destroying the fixture, then the 'teardown_flag' will be set.
83
83
"""
84
+ setup_succeeded = True
84
85
if setup_flag is not None :
85
86
try :
86
87
setup_succeeded = self .setup_fixture ()
@@ -98,19 +99,20 @@ def __call__(self, queue, interrupt_flag, setup_flag=None, teardown_flag=None):
98
99
setup_succeeded = False
99
100
100
101
if not setup_succeeded :
102
+ setup_flag .set ()
101
103
self ._interrupt_all_jobs (queue , interrupt_flag )
102
- return
103
104
104
- try :
105
- self ._run (queue , interrupt_flag )
106
- except errors .StopExecution as err :
107
- # Stop running tests immediately.
108
- self .logger .error ("Received a StopExecution exception: %s." , err )
109
- self ._interrupt_all_jobs (queue , interrupt_flag )
110
- except : # pylint: disable=bare-except
111
- # Unknown error, stop execution.
112
- self .logger .exception ("Encountered an error during test execution." )
113
- self ._interrupt_all_jobs (queue , interrupt_flag )
105
+ if setup_succeeded :
106
+ try :
107
+ self ._run (queue , interrupt_flag )
108
+ except errors .StopExecution as err :
109
+ # Stop running tests immediately.
110
+ self .logger .error ("Received a StopExecution exception: %s." , err )
111
+ self ._interrupt_all_jobs (queue , interrupt_flag )
112
+ except : # pylint: disable=bare-except
113
+ # Unknown error, stop execution.
114
+ self .logger .exception ("Encountered an error during test execution." )
115
+ self ._interrupt_all_jobs (queue , interrupt_flag )
114
116
115
117
if teardown_flag is not None :
116
118
try :
0 commit comments