mirror of
https://github.com/python/cpython.git
synced 2025-08-31 05:58:33 +00:00
bpo-37244: Fix test_multiprocessing.test_resource_tracker() (GH-14288)
Increase robustness of test_resource_tracker(): retry for 60 seconds.
This commit is contained in:
parent
594d9b9f58
commit
e1a63c4f21
1 changed files with 15 additions and 6 deletions
|
@ -5010,12 +5010,21 @@ class TestResourceTracker(unittest.TestCase):
|
||||||
_resource_unlink(name1, rtype)
|
_resource_unlink(name1, rtype)
|
||||||
p.terminate()
|
p.terminate()
|
||||||
p.wait()
|
p.wait()
|
||||||
time.sleep(2.0)
|
|
||||||
with self.assertRaises(OSError) as ctx:
|
deadline = time.monotonic() + 60
|
||||||
_resource_unlink(name2, rtype)
|
while time.monotonic() < deadline:
|
||||||
# docs say it should be ENOENT, but OSX seems to give EINVAL
|
time.sleep(.5)
|
||||||
self.assertIn(
|
try:
|
||||||
ctx.exception.errno, (errno.ENOENT, errno.EINVAL))
|
_resource_unlink(name2, rtype)
|
||||||
|
except OSError as e:
|
||||||
|
# docs say it should be ENOENT, but OSX seems to give
|
||||||
|
# EINVAL
|
||||||
|
self.assertIn(e.errno, (errno.ENOENT, errno.EINVAL))
|
||||||
|
break
|
||||||
|
else:
|
||||||
|
raise AssertionError(
|
||||||
|
f"A {rtype} resource was leaked after a process was "
|
||||||
|
f"abruptly terminated.")
|
||||||
err = p.stderr.read().decode('utf-8')
|
err = p.stderr.read().decode('utf-8')
|
||||||
p.stderr.close()
|
p.stderr.close()
|
||||||
expected = ('resource_tracker: There appear to be 2 leaked {} '
|
expected = ('resource_tracker: There appear to be 2 leaked {} '
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue