@@ -261,41 +261,16 @@ def test_dependencies(self):
261261 assert os .path .exists (os .path .join (check .outputdir , 'out.txt' ))
262262
263263 def test_sigterm (self ):
264- # Wrapper of self.runall which is used from a child process and
265- # passes any exception, number of cases and failures to the parent
266- # process
267- def _runall (checks , ns ):
268- exc = None
269- try :
270- self .runall (checks )
271- except BaseException as e :
272- exc = e
273- finally :
274- ns .exc = exc
275- ns .num_cases = self .runner .stats .num_cases ()
276- ns .num_failures = len (self .runner .stats .failures ())
277-
278- with multiprocessing .Manager () as manager :
279- ns = manager .Namespace ()
280- p = multiprocessing .Process (target = _runall ,
281- args = ([SleepCheck (20 )], ns ))
282-
283- p .start ()
284-
285- # Allow some time so that the SleepCheck is submitted.
286- # The sleep time of the submitted test is much larger to
287- # ensure that it does not finish before the termination signal
288- time .sleep (0.2 )
289- p .terminate ()
290- p .join ()
291-
292- # Either the test is submitted and it fails due to the termination
293- # or it is not yet submitted when the termination signal is sent
294- assert (ns .num_cases , ns .num_failures ) in {(1 , 1 ), (0 , 0 )}
295- with pytest .raises (ReframeForceExitError ,
296- match = 'received TERM signal' ):
297- if ns .exc :
298- raise ns .exc
264+ self .loader = RegressionCheckLoader (
265+ ['unittests/resources/checks_unlisted/selfkill.py' ]
266+ )
267+ checks = self .loader .load_all ()
268+ with pytest .raises (ReframeForceExitError ,
269+ match = 'received TERM signal' ):
270+ self .runall (checks )
271+
272+ assert self .runner .stats .num_cases () == 1
273+ assert len (self .runner .stats .failures ()) == 1
299274
300275 def test_dependencies_with_retries (self ):
301276 self .runner ._max_retries = 2
0 commit comments