mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 10:26:02 +00:00 
			
		
		
		
	 a786b026c9
			
		
	
	
		a786b026c9
		
	
	
	
	
		
			
			svn+ssh://pythondev@svn.python.org/python/trunk ........ r65910 | benjamin.peterson | 2008-08-20 09:07:59 -0500 (Wed, 20 Aug 2008) | 1 line fix up the multiprocessing docs a little ........ r65977 | christian.heimes | 2008-08-22 14:47:25 -0500 (Fri, 22 Aug 2008) | 3 lines Silenced compiler warning Objects/stringlib/find.h:97: warning: 'stringlib_contains_obj' defined but not used Reviewed by Benjamin Peterson ........ r65980 | christian.heimes | 2008-08-22 15:10:27 -0500 (Fri, 22 Aug 2008) | 3 lines Fixed two format strings in the _collections module. For example Modules/_collectionsmodule.c:674: warning: format '%i' expects type 'int', but argument 2 has type 'Py_ssize_t' Reviewed by Benjamin Peterson ........ r65984 | christian.heimes | 2008-08-22 16:23:47 -0500 (Fri, 22 Aug 2008) | 1 line d is the correct format string ........ r65986 | mark.hammond | 2008-08-22 19:59:14 -0500 (Fri, 22 Aug 2008) | 2 lines Fix bug 3625: test issues on 64bit windows. r=pitrou ........ r66000 | benjamin.peterson | 2008-08-23 15:27:43 -0500 (Sat, 23 Aug 2008) | 5 lines #3643 add a few more checks to _testcapi to prevent segfaults Author: Victor Stinner Reviewer: Benjamin Peterson ........ r66011 | neal.norwitz | 2008-08-24 12:27:43 -0500 (Sun, 24 Aug 2008) | 1 line Ignore a couple more tests that report leaks inconsistently. ........ r66012 | neal.norwitz | 2008-08-24 12:29:53 -0500 (Sun, 24 Aug 2008) | 1 line Use the actual blacklist of leaky tests ........ r66014 | georg.brandl | 2008-08-24 13:11:07 -0500 (Sun, 24 Aug 2008) | 2 lines #3654: fix duplicate test method name. Review by Benjamin P. ........ r66017 | benjamin.peterson | 2008-08-24 16:55:03 -0500 (Sun, 24 Aug 2008) | 1 line remove note about unimplemented feature ........ r66020 | brett.cannon | 2008-08-24 18:15:19 -0500 (Sun, 24 Aug 2008) | 1 line Clarify that some attributes/methods are listed somewhat separately because they are not part of the threading API. ........
		
			
				
	
	
		
			78 lines
		
	
	
	
		
			2.5 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			78 lines
		
	
	
	
		
			2.5 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| import sys
 | |
| from test import support, list_tests
 | |
| 
 | |
| class ListTest(list_tests.CommonTest):
 | |
|     type2test = list
 | |
| 
 | |
|     def test_basic(self):
 | |
|         self.assertEqual(list([]), [])
 | |
|         l0_3 = [0, 1, 2, 3]
 | |
|         l0_3_bis = list(l0_3)
 | |
|         self.assertEqual(l0_3, l0_3_bis)
 | |
|         self.assert_(l0_3 is not l0_3_bis)
 | |
|         self.assertEqual(list(()), [])
 | |
|         self.assertEqual(list((0, 1, 2, 3)), [0, 1, 2, 3])
 | |
|         self.assertEqual(list(''), [])
 | |
|         self.assertEqual(list('spam'), ['s', 'p', 'a', 'm'])
 | |
| 
 | |
|         if sys.maxsize == 0x7fffffff:
 | |
|             # This test can currently only work on 32-bit machines.
 | |
|             # XXX If/when PySequence_Length() returns a ssize_t, it should be
 | |
|             # XXX re-enabled.
 | |
|             # Verify clearing of bug #556025.
 | |
|             # This assumes that the max data size (sys.maxint) == max
 | |
|             # address size this also assumes that the address size is at
 | |
|             # least 4 bytes with 8 byte addresses, the bug is not well
 | |
|             # tested
 | |
|             #
 | |
|             # Note: This test is expected to SEGV under Cygwin 1.3.12 or
 | |
|             # earlier due to a newlib bug.  See the following mailing list
 | |
|             # thread for the details:
 | |
| 
 | |
|             #     http://sources.redhat.com/ml/newlib/2002/msg00369.html
 | |
|             self.assertRaises(MemoryError, list, range(sys.maxsize // 2))
 | |
| 
 | |
|         # This code used to segfault in Py2.4a3
 | |
|         x = []
 | |
|         x.extend(-y for y in x)
 | |
|         self.assertEqual(x, [])
 | |
| 
 | |
|     def test_truth(self):
 | |
|         super().test_truth()
 | |
|         self.assert_(not [])
 | |
|         self.assert_([42])
 | |
| 
 | |
|     def test_identity(self):
 | |
|         self.assert_([] is not [])
 | |
| 
 | |
|     def test_len(self):
 | |
|         super().test_len()
 | |
|         self.assertEqual(len([]), 0)
 | |
|         self.assertEqual(len([0]), 1)
 | |
|         self.assertEqual(len([0, 1, 2]), 3)
 | |
| 
 | |
|     def test_overflow(self):
 | |
|         lst = [4, 5, 6, 7]
 | |
|         n = int((sys.maxsize*2+2) // len(lst))
 | |
|         def mul(a, b): return a * b
 | |
|         def imul(a, b): a *= b
 | |
|         self.assertRaises((MemoryError, OverflowError), mul, lst, n)
 | |
|         self.assertRaises((MemoryError, OverflowError), imul, lst, n)
 | |
| 
 | |
| def test_main(verbose=None):
 | |
|     support.run_unittest(ListTest)
 | |
| 
 | |
|     # verify reference counting
 | |
|     import sys
 | |
|     if verbose and hasattr(sys, "gettotalrefcount"):
 | |
|         import gc
 | |
|         counts = [None] * 5
 | |
|         for i in range(len(counts)):
 | |
|             support.run_unittest(ListTest)
 | |
|             gc.collect()
 | |
|             counts[i] = sys.gettotalrefcount()
 | |
|         print(counts)
 | |
| 
 | |
| 
 | |
| if __name__ == "__main__":
 | |
|     test_main(verbose=True)
 |