mirror of
https://github.com/python/cpython.git
synced 2025-10-21 22:22:48 +00:00
Issue #15064: Make BaseManager.__enter__() start server if necessary.
This commit is contained in:
parent
9c1feb88f3
commit
ac38571f00
3 changed files with 31 additions and 9 deletions
|
@ -1888,7 +1888,27 @@ class _TestMyManager(BaseTestCase):
|
|||
def test_mymanager(self):
|
||||
manager = MyManager()
|
||||
manager.start()
|
||||
self.common(manager)
|
||||
manager.shutdown()
|
||||
|
||||
# If the manager process exited cleanly then the exitcode
|
||||
# will be zero. Otherwise (after a short timeout)
|
||||
# terminate() is used, resulting in an exitcode of -SIGTERM.
|
||||
self.assertEqual(manager._process.exitcode, 0)
|
||||
|
||||
def test_mymanager_context(self):
|
||||
with MyManager() as manager:
|
||||
self.common(manager)
|
||||
self.assertEqual(manager._process.exitcode, 0)
|
||||
|
||||
def test_mymanager_context_prestarted(self):
|
||||
manager = MyManager()
|
||||
manager.start()
|
||||
with manager:
|
||||
self.common(manager)
|
||||
self.assertEqual(manager._process.exitcode, 0)
|
||||
|
||||
def common(self, manager):
|
||||
foo = manager.Foo()
|
||||
bar = manager.Bar()
|
||||
baz = manager.baz()
|
||||
|
@ -1911,12 +1931,6 @@ class _TestMyManager(BaseTestCase):
|
|||
|
||||
self.assertEqual(list(baz), [i*i for i in range(10)])
|
||||
|
||||
manager.shutdown()
|
||||
|
||||
# If the manager process exited cleanly then the exitcode
|
||||
# will be zero. Otherwise (after a short timeout)
|
||||
# terminate() is used, resulting in an exitcode of -SIGTERM.
|
||||
self.assertEqual(manager._process.exitcode, 0)
|
||||
|
||||
#
|
||||
# Test of connecting to a remote server and using xmlrpclib for serialization
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue