summaryrefslogtreecommitdiff
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 +0000
committerKristján Valur Jónsson <kristjan@ccpgames.com>2009-07-11 08:44:43 +0000
commitef6007c1ae72f9d0d3607c381b99022b86c92fe9 (patch)
treed3d60c30fb2ff4f462cc8ac6bf8355a2b214e46f /Lib/test/test_xmlrpc.py
parent6cbfc12ccd28ec7b7deeff63cd80adcf93db8aa4 (diff)
downloadcpython-git-ef6007c1ae72f9d0d3607c381b99022b86c92fe9.tar.gz
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 ff0dec9d7a..92b5fe8fb7 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)