mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 05:31:20 +00:00 
			
		
		
		
	Fix for issue5040. Adding test for Content-Length
This commit is contained in:
		
							parent
							
								
									2ecd3c36b5
								
							
						
					
					
						commit
						20d114cad2
					
				
					 2 changed files with 29 additions and 1 deletions
				
			
		|  | @ -580,7 +580,7 @@ def handle_get(self): | ||||||
|              'explain' : explain |              'explain' : explain | ||||||
|             } |             } | ||||||
|         print 'Status: %d %s' % (code, message) |         print 'Status: %d %s' % (code, message) | ||||||
|         print 'Content-Type: text/html' |         print 'Content-Type: %s' % BaseHTTPServer.DEFAULT_ERROR_CONTENT_TYPE | ||||||
|         print 'Content-Length: %d' % len(response) |         print 'Content-Length: %d' % len(response) | ||||||
|         print |         print | ||||||
|         sys.stdout.write(response) |         sys.stdout.write(response) | ||||||
|  |  | ||||||
|  | @ -11,6 +11,7 @@ | ||||||
| import socket | import socket | ||||||
| import StringIO | import StringIO | ||||||
| import os | import os | ||||||
|  | import re | ||||||
| from test import test_support | from test import test_support | ||||||
| 
 | 
 | ||||||
| try: | try: | ||||||
|  | @ -385,6 +386,21 @@ def test_simple1(self): | ||||||
|                 # protocol error; provide additional information in test output |                 # protocol error; provide additional information in test output | ||||||
|                 self.fail("%s\n%s" % (e, getattr(e, "headers", ""))) |                 self.fail("%s\n%s" % (e, getattr(e, "headers", ""))) | ||||||
| 
 | 
 | ||||||
|  |     def test_nonascii(self): | ||||||
|  |         start_string = 'P\N{LATIN SMALL LETTER Y WITH CIRCUMFLEX}t' | ||||||
|  |         end_string = 'h\N{LATIN SMALL LETTER O WITH HORN}n' | ||||||
|  | 
 | ||||||
|  |         try: | ||||||
|  |             p = xmlrpclib.ServerProxy(URL) | ||||||
|  |             self.assertEqual(p.add(start_string, end_string), | ||||||
|  |                              start_string + end_string) | ||||||
|  |         except (xmlrpclib.ProtocolError, socket.error) as e: | ||||||
|  |             # ignore failures due to non-blocking socket unavailable errors. | ||||||
|  |             if not is_unavailable_exception(e): | ||||||
|  |                 # protocol error; provide additional information in test output | ||||||
|  |                 self.fail("%s\n%s" % (e, getattr(e, "headers", ""))) | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|     # [ch] The test 404 is causing lots of false alarms. |     # [ch] The test 404 is causing lots of false alarms. | ||||||
|     def XXXtest_404(self): |     def XXXtest_404(self): | ||||||
|         # send POST with httplib, it should return 404 header and |         # send POST with httplib, it should return 404 header and | ||||||
|  | @ -646,6 +662,18 @@ def test_cgi_xmlrpc_response(self): | ||||||
|         # start with 44th char so as not to get http header, we just need only xml |         # start with 44th char so as not to get http header, we just need only xml | ||||||
|         self.assertRaises(xmlrpclib.Fault, xmlrpclib.loads, handle[44:]) |         self.assertRaises(xmlrpclib.Fault, xmlrpclib.loads, handle[44:]) | ||||||
| 
 | 
 | ||||||
|  |         # Also test the content-length returned  by handle_request | ||||||
|  |         # Using the same test method inorder to avoid all the datapassing | ||||||
|  |         # boilerplate code. | ||||||
|  |         # Test for bug: http://bugs.python.org/issue5040 | ||||||
|  | 
 | ||||||
|  |         content = handle[handle.find("<?xml"):] | ||||||
|  | 
 | ||||||
|  |         self.assertEquals( | ||||||
|  |             int(re.search('Content-Length: (\d+)', handle).group(1)), | ||||||
|  |             len(content)) | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|         os.remove("xmldata.txt") |         os.remove("xmldata.txt") | ||||||
|         os.remove(test_support.TESTFN) |         os.remove(test_support.TESTFN) | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Senthil Kumaran
						Senthil Kumaran