diff options
author | Jesse Noller <jnoller@gmail.com> | 2009-04-02 05:17:26 (GMT) |
---|---|---|
committer | Jesse Noller <jnoller@gmail.com> | 2009-04-02 05:17:26 (GMT) |
commit | 7152f6d9156a19a9f1b31e313d2c19d840dc089d (patch) | |
tree | 69d6b77c1daaa07f9c7a1aa950ed65ae713f504c /Lib/test/test_multiprocessing.py | |
parent | d56bab47f1c8432f4d7d3b92d0b8f8320f369fb7 (diff) | |
download | cpython-7152f6d9156a19a9f1b31e313d2c19d840dc089d.zip cpython-7152f6d9156a19a9f1b31e313d2c19d840dc089d.tar.gz cpython-7152f6d9156a19a9f1b31e313d2c19d840dc089d.tar.bz2 |
Add custom initializer argument to multiprocess.Manager*, courtesy of lekma
Diffstat (limited to 'Lib/test/test_multiprocessing.py')
-rw-r--r-- | Lib/test/test_multiprocessing.py | 32 |
1 files changed, 31 insertions, 1 deletions
diff --git a/Lib/test/test_multiprocessing.py b/Lib/test/test_multiprocessing.py index 8ef2e2f..cbcb630 100644 --- a/Lib/test/test_multiprocessing.py +++ b/Lib/test/test_multiprocessing.py @@ -1831,7 +1831,37 @@ class OtherTest(unittest.TestCase): multiprocessing.connection.answer_challenge, _FakeConnection(), b'abc') -testcases_other = [OtherTest, TestInvalidHandle] +# +# Test Manager.start()/Pool.__init__() initializer feature - see issue 5585 +# + +def initializer(ns): + ns.test += 1 + +class TestInitializers(unittest.TestCase): + def setUp(self): + self.mgr = multiprocessing.Manager() + self.ns = self.mgr.Namespace() + self.ns.test = 0 + + def tearDown(self): + self.mgr.shutdown() + + def test_manager_initializer(self): + m = multiprocessing.managers.SyncManager() + self.assertRaises(TypeError, m.start, 1) + m.start(initializer, (self.ns,)) + self.assertEqual(self.ns.test, 1) + m.shutdown() + + def test_pool_initializer(self): + self.assertRaises(TypeError, multiprocessing.Pool, initializer=1) + p = multiprocessing.Pool(1, initializer, (self.ns,)) + p.close() + p.join() + self.assertEqual(self.ns.test, 1) + +testcases_other = [OtherTest, TestInvalidHandle, TestInitializers] # # |