summaryrefslogtreecommitdiffstats
path: root/Lib
diff options
context:
space:
mode:
authorNeal Norwitz <nnorwitz@gmail.com>2008-08-25 01:50:24 (GMT)
committerNeal Norwitz <nnorwitz@gmail.com>2008-08-25 01:50:24 (GMT)
commit0c519b3a5e847eea0dffb51ac8df7c68891daf70 (patch)
treea120933ac036950f8e2a7e8b5a482858f672ce7a /Lib
parent971f10210ef593cd620af6c2178ed8265fb86946 (diff)
downloadcpython-0c519b3a5e847eea0dffb51ac8df7c68891daf70.zip
cpython-0c519b3a5e847eea0dffb51ac8df7c68891daf70.tar.gz
cpython-0c519b3a5e847eea0dffb51ac8df7c68891daf70.tar.bz2
Fix problem reported by pychecker where AuthenticationError wasn't imported.
Add some test coverage to this code. More tests should be added (TODO added). R=Brett TESTED=./python -E -tt ./Lib/test/regrtest.py test_multiprocessing
Diffstat (limited to 'Lib')
-rw-r--r--Lib/multiprocessing/connection.py2
-rw-r--r--Lib/test/test_multiprocessing.py34
2 files changed, 34 insertions, 2 deletions
diff --git a/Lib/multiprocessing/connection.py b/Lib/multiprocessing/connection.py
index cbdcf13..1f05658 100644
--- a/Lib/multiprocessing/connection.py
+++ b/Lib/multiprocessing/connection.py
@@ -17,7 +17,7 @@ import tempfile
import itertools
import _multiprocessing
-from multiprocessing import current_process
+from multiprocessing import current_process, AuthenticationError
from multiprocessing.util import get_temp_dir, Finalize, sub_debug, debug
from multiprocessing.forking import duplicate, close
diff --git a/Lib/test/test_multiprocessing.py b/Lib/test/test_multiprocessing.py
index b13d1da..d64c561 100644
--- a/Lib/test/test_multiprocessing.py
+++ b/Lib/test/test_multiprocessing.py
@@ -1736,6 +1736,37 @@ class ThreadsMixin(object):
testcases_threads = create_test_cases(ThreadsMixin, type='threads')
globals().update(testcases_threads)
+class OtherTest(unittest.TestCase):
+ # TODO: add more tests for deliver/answer challenge.
+ def test_deliver_challenge_auth_failure(self):
+ class _FakeConnection(object):
+ def recv_bytes(self, size):
+ return 'something bogus'
+ def send_bytes(self, data):
+ pass
+ self.assertRaises(multiprocessing.AuthenticationError,
+ multiprocessing.connection.deliver_challenge,
+ _FakeConnection(), b'abc')
+
+ def test_answer_challenge_auth_failure(self):
+ class _FakeConnection(object):
+ def __init__(self):
+ self.count = 0
+ def recv_bytes(self, size):
+ self.count += 1
+ if self.count == 1:
+ return multiprocessing.connection.CHALLENGE
+ elif self.count == 2:
+ return 'something bogus'
+ return ''
+ def send_bytes(self, data):
+ pass
+ self.assertRaises(multiprocessing.AuthenticationError,
+ multiprocessing.connection.answer_challenge,
+ _FakeConnection(), b'abc')
+
+testcases_other = [OtherTest]
+
#
#
#
@@ -1764,7 +1795,8 @@ def test_main(run=None):
testcases = (
sorted(testcases_processes.values(), key=lambda tc:tc.__name__) +
sorted(testcases_threads.values(), key=lambda tc:tc.__name__) +
- sorted(testcases_manager.values(), key=lambda tc:tc.__name__)
+ sorted(testcases_manager.values(), key=lambda tc:tc.__name__) +
+ testcases_other
)
loadTestsFromTestCase = unittest.defaultTestLoader.loadTestsFromTestCase