summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_xmlrpc.py
diff options
context:
space:
mode:
authorKristján Valur Jónsson <kristjan@ccpgames.com>2009-07-11 08:44:43 (GMT)
committerKristján Valur Jónsson <kristjan@ccpgames.com>2009-07-11 08:44:43 (GMT)
commitef6007c1ae72f9d0d3607c381b99022b86c92fe9 (patch)
treed3d60c30fb2ff4f462cc8ac6bf8355a2b214e46f /Lib/test/test_xmlrpc.py
parent6cbfc12ccd28ec7b7deeff63cd80adcf93db8aa4 (diff)
downloadcpython-ef6007c1ae72f9d0d3607c381b99022b86c92fe9.zip
cpython-ef6007c1ae72f9d0d3607c381b99022b86c92fe9.tar.gz
cpython-ef6007c1ae72f9d0d3607c381b99022b86c92fe9.tar.bz2
http://bugs.python.org/issue6460
Need to be careful with thread switching when testing the xmlrpc server. The server thread may not have updated stats when the client thread tests them.
Diffstat (limited to 'Lib/test/test_xmlrpc.py')
-rw-r--r--Lib/test/test_xmlrpc.py10
1 files changed, 8 insertions, 2 deletions
diff --git a/Lib/test/test_xmlrpc.py b/Lib/test/test_xmlrpc.py
index ff0dec9..92b5fe8 100644
--- a/Lib/test/test_xmlrpc.py
+++ b/Lib/test/test_xmlrpc.py
@@ -541,11 +541,17 @@ class KeepaliveServerTestCase(BaseServerTestCase):
def test_two(self):
p = xmlrpclib.ServerProxy(URL)
+ #do three requests.
self.assertEqual(p.pow(6,8), 6**8)
self.assertEqual(p.pow(6,8), 6**8)
+ self.assertEqual(p.pow(6,8), 6**8)
+
+ #they should have all been handled by a single request handler
self.assertEqual(len(self.RequestHandler.myRequests), 1)
- #we may or may not catch the final "append" with the empty line
- self.assertTrue(len(self.RequestHandler.myRequests[-1]) >= 2)
+
+ #check that we did at least two (the third may be pending append
+ #due to thread scheduling)
+ self.assertGreaterEqual(len(self.RequestHandler.myRequests[-1]), 2)
#A test case that verifies that gzip encoding works in both directions
#(for a request and the response)