MCPcopy Index your code
hub / github.com/RustPython/RustPython / _kill_process

Method _kill_process

Lib/test/_test_multiprocessing.py:523–576  ·  view source on GitHub ↗
(self, meth)

Source from the content-addressed store, hash-verified

521 time.sleep(delay)
522
523 def _kill_process(self, meth):
524 if self.TYPE == 'threads':
525 self.skipTest('test not appropriate for {}'.format(self.TYPE))
526
527 event = self.Event()
528 p = self.Process(target=self._sleep_some_event, args=(event,))
529 p.daemon = True
530 p.start()
531
532 self.assertEqual(p.is_alive(), True)
533 self.assertIn(p, self.active_children())
534 self.assertEqual(p.exitcode, None)
535
536 join = TimingWrapper(p.join)
537
538 self.assertEqual(join(0), None)
539 self.assertTimingAlmostEqual(join.elapsed, 0.0)
540 self.assertEqual(p.is_alive(), True)
541
542 self.assertEqual(join(-1), None)
543 self.assertTimingAlmostEqual(join.elapsed, 0.0)
544 self.assertEqual(p.is_alive(), True)
545
546 timeout = support.SHORT_TIMEOUT
547 if not event.wait(timeout):
548 p.terminate()
549 p.join()
550 self.fail(f"event not signaled in {timeout} seconds")
551
552 meth(p)
553
554 if hasattr(signal, 'alarm'):
555 # On the Gentoo buildbot waitpid() often seems to block forever.
556 # We use alarm() to interrupt it if it blocks for too long.
557 def handler(*args):
558 raise RuntimeError('join took too long: %s' % p)
559 old_handler = signal.signal(signal.SIGALRM, handler)
560 try:
561 signal.alarm(10)
562 self.assertEqual(join(), None)
563 finally:
564 signal.alarm(0)
565 signal.signal(signal.SIGALRM, old_handler)
566 else:
567 self.assertEqual(join(), None)
568
569 self.assertTimingAlmostEqual(join.elapsed, 0.0)
570
571 self.assertEqual(p.is_alive(), False)
572 self.assertNotIn(p, self.active_children())
573
574 p.join()
575
576 return p.exitcode
577
578 def test_terminate(self):
579 exitcode = self._kill_process(multiprocessing.Process.terminate)

Callers 2

test_terminateMethod · 0.95
test_killMethod · 0.95

Calls 15

waitMethod · 0.95
terminateMethod · 0.95
TimingWrapperClass · 0.85
methFunction · 0.85
hasattrFunction · 0.85
skipTestMethod · 0.80
EventMethod · 0.80
assertInMethod · 0.80
assertNotInMethod · 0.80
joinFunction · 0.50
formatMethod · 0.45

Tested by

no test coverage detected