From 1bbb19aad2a94e2abf62064c5f0ad618e2b5c43d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kristj=C3=A1n=20Valur=20J=C3=B3nsson?= Date: Sat, 11 Jul 2009 21:57:16 +0000 Subject: merging revision 73932 from trunk: 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. --- Lib/test/test_xmlrpc.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/Lib/test/test_xmlrpc.py b/Lib/test/test_xmlrpc.py index 100a93c..8461628 100644 --- a/Lib/test/test_xmlrpc.py +++ b/Lib/test/test_xmlrpc.py @@ -507,11 +507,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) -- cgit v0.12