mirror of
				https://github.com/python/cpython.git
				synced 2025-11-01 06:01:29 +00:00 
			
		
		
		
	Merged revisions 79297,79310,79382,79425-79427,79450 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk ........ r79297 | florent.xicluna | 2010-03-22 18:18:18 +0100 (lun, 22 mar 2010) | 2 lines #7668: Fix test_httpservers failure when sys.executable contains non-ASCII bytes. ........ r79310 | florent.xicluna | 2010-03-22 23:52:11 +0100 (lun, 22 mar 2010) | 2 lines Issue #8205: Remove the "Modules" directory from sys.path when Python is running from the build directory (POSIX only). ........ r79382 | florent.xicluna | 2010-03-24 20:33:25 +0100 (mer, 24 mar 2010) | 2 lines Skip tests which depend on multiprocessing.sharedctypes, if _ctypes is not available. ........ r79425 | florent.xicluna | 2010-03-25 21:32:07 +0100 (jeu, 25 mar 2010) | 2 lines Syntax cleanup `== None` -> `is None` ........ r79426 | florent.xicluna | 2010-03-25 21:33:49 +0100 (jeu, 25 mar 2010) | 2 lines #8207: Fix test_pep277 on OS X ........ r79427 | florent.xicluna | 2010-03-25 21:39:10 +0100 (jeu, 25 mar 2010) | 2 lines Fix test_unittest and test_warnings when running "python -Werror -m test.regrtest" ........ r79450 | florent.xicluna | 2010-03-26 20:32:44 +0100 (ven, 26 mar 2010) | 2 lines Ensure that the failed or unexpected tests are sorted before printing. ........
This commit is contained in:
		
							parent
							
								
									c049d870b5
								
							
						
					
					
						commit
						fd1b0930ce
					
				
					 12 changed files with 97 additions and 81 deletions
				
			
		|  | @ -63,6 +63,16 @@ def latin(s): | |||
| 
 | ||||
| WIN32 = (sys.platform == "win32") | ||||
| 
 | ||||
| # | ||||
| # Some tests require ctypes | ||||
| # | ||||
| 
 | ||||
| try: | ||||
|     from ctypes import Structure, Value, copy, c_int, c_double | ||||
| except ImportError: | ||||
|     Structure = object | ||||
|     c_int = c_double = None | ||||
| 
 | ||||
| # | ||||
| # Creates a wrapper for a function which records the time it takes to finish | ||||
| # | ||||
|  | @ -506,7 +516,7 @@ def test_task_done(self): | |||
|         queue = self.JoinableQueue() | ||||
| 
 | ||||
|         if sys.version_info < (2, 5) and not hasattr(queue, 'task_done'): | ||||
|             return | ||||
|             self.skipTest("requires 'queue.task_done()' method") | ||||
| 
 | ||||
|         workers = [self.Process(target=self._test_task_done, args=(queue,)) | ||||
|                    for i in range(4)] | ||||
|  | @ -783,6 +793,8 @@ def test_event(self): | |||
| 
 | ||||
| class _TestValue(BaseTestCase): | ||||
| 
 | ||||
|     ALLOWED_TYPES = ('processes',) | ||||
| 
 | ||||
|     codes_values = [ | ||||
|         ('i', 4343, 24234), | ||||
|         ('d', 3.625, -4.25), | ||||
|  | @ -795,10 +807,8 @@ def _test(self, values): | |||
|             sv.value = cv[2] | ||||
| 
 | ||||
| 
 | ||||
|     @unittest.skipIf(c_int is None, "requires _ctypes") | ||||
|     def test_value(self, raw=False): | ||||
|         if self.TYPE != 'processes': | ||||
|             return | ||||
| 
 | ||||
|         if raw: | ||||
|             values = [self.RawValue(code, value) | ||||
|                       for code, value, _ in self.codes_values] | ||||
|  | @ -816,13 +826,12 @@ def test_value(self, raw=False): | |||
|         for sv, cv in zip(values, self.codes_values): | ||||
|             self.assertEqual(sv.value, cv[2]) | ||||
| 
 | ||||
|     @unittest.skipIf(c_int is None, "requires _ctypes") | ||||
|     def test_rawvalue(self): | ||||
|         self.test_value(raw=True) | ||||
| 
 | ||||
|     @unittest.skipIf(c_int is None, "requires _ctypes") | ||||
|     def test_getobj_getlock(self): | ||||
|         if self.TYPE != 'processes': | ||||
|             return | ||||
| 
 | ||||
|         val1 = self.Value('i', 5) | ||||
|         lock1 = val1.get_lock() | ||||
|         obj1 = val1.get_obj() | ||||
|  | @ -850,14 +859,14 @@ def test_getobj_getlock(self): | |||
| 
 | ||||
| class _TestArray(BaseTestCase): | ||||
| 
 | ||||
|     ALLOWED_TYPES = ('processes',) | ||||
| 
 | ||||
|     def f(self, seq): | ||||
|         for i in range(1, len(seq)): | ||||
|             seq[i] += seq[i-1] | ||||
| 
 | ||||
|     @unittest.skipIf(c_int is None, "requires _ctypes") | ||||
|     def test_array(self, raw=False): | ||||
|         if self.TYPE != 'processes': | ||||
|             return | ||||
| 
 | ||||
|         seq = [680, 626, 934, 821, 150, 233, 548, 982, 714, 831] | ||||
|         if raw: | ||||
|             arr = self.RawArray('i', seq) | ||||
|  | @ -880,13 +889,12 @@ def test_array(self, raw=False): | |||
| 
 | ||||
|         self.assertEqual(list(arr[:]), seq) | ||||
| 
 | ||||
|     @unittest.skipIf(c_int is None, "requires _ctypes") | ||||
|     def test_rawarray(self): | ||||
|         self.test_array(raw=True) | ||||
| 
 | ||||
|     @unittest.skipIf(c_int is None, "requires _ctypes") | ||||
|     def test_getobj_getlock_obj(self): | ||||
|         if self.TYPE != 'processes': | ||||
|             return | ||||
| 
 | ||||
|         arr1 = self.Array('i', list(range(10))) | ||||
|         lock1 = arr1.get_lock() | ||||
|         obj1 = arr1.get_obj() | ||||
|  | @ -1570,12 +1578,6 @@ def test_heap(self): | |||
| # | ||||
| # | ||||
| 
 | ||||
| try: | ||||
|     from ctypes import Structure, Value, copy, c_int, c_double | ||||
| except ImportError: | ||||
|     Structure = object | ||||
|     c_int = c_double = None | ||||
| 
 | ||||
| class _Foo(Structure): | ||||
|     _fields_ = [ | ||||
|         ('x', c_int), | ||||
|  | @ -1595,10 +1597,8 @@ def _double(self, x, y, foo, arr, string): | |||
|         for i in range(len(arr)): | ||||
|             arr[i] *= 2 | ||||
| 
 | ||||
|     @unittest.skipIf(c_int is None, "requires _ctypes") | ||||
|     def test_sharedctypes(self, lock=False): | ||||
|         if c_int is None: | ||||
|             return | ||||
| 
 | ||||
|         x = Value('i', 7, lock=lock) | ||||
|         y = Value(c_double, 1.0/3.0, lock=lock) | ||||
|         foo = Value(_Foo, 3, 2, lock=lock) | ||||
|  | @ -1621,10 +1621,8 @@ def test_sharedctypes(self, lock=False): | |||
|     def test_synchronize(self): | ||||
|         self.test_sharedctypes(lock=True) | ||||
| 
 | ||||
|     @unittest.skipIf(c_int is None, "requires _ctypes") | ||||
|     def test_copy(self): | ||||
|         if c_int is None: | ||||
|             return | ||||
| 
 | ||||
|         foo = _Foo(2, 5.0) | ||||
|         bar = copy(foo) | ||||
|         foo.x = 0 | ||||
|  | @ -1696,13 +1694,17 @@ class _TestImportStar(BaseTestCase): | |||
|     ALLOWED_TYPES = ('processes',) | ||||
| 
 | ||||
|     def test_import(self): | ||||
|         modules = ( | ||||
|         modules = [ | ||||
|             'multiprocessing', 'multiprocessing.connection', | ||||
|             'multiprocessing.heap', 'multiprocessing.managers', | ||||
|             'multiprocessing.pool', 'multiprocessing.process', | ||||
|             'multiprocessing.reduction', 'multiprocessing.sharedctypes', | ||||
|             'multiprocessing.reduction', | ||||
|             'multiprocessing.synchronize', 'multiprocessing.util' | ||||
|             ) | ||||
|             ] | ||||
| 
 | ||||
|         if c_int is not None: | ||||
|             # This module requires _ctypes | ||||
|             modules.append('multiprocessing.sharedctypes') | ||||
| 
 | ||||
|         for name in modules: | ||||
|             __import__(name) | ||||
|  | @ -1782,12 +1784,12 @@ def test_level(self): | |||
| 
 | ||||
| class TestInvalidHandle(unittest.TestCase): | ||||
| 
 | ||||
|     @unittest.skipIf(WIN32, "skipped on Windows") | ||||
|     def test_invalid_handles(self): | ||||
|         if WIN32: | ||||
|             return | ||||
|         conn = _multiprocessing.Connection(44977608) | ||||
|         self.assertRaises(IOError, conn.poll) | ||||
|         self.assertRaises(IOError, _multiprocessing.Connection, -1) | ||||
| 
 | ||||
| # | ||||
| # Functions used to create test cases from the base ones in this module | ||||
| # | ||||
|  | @ -1804,7 +1806,7 @@ def get_attributes(Source, names): | |||
| def create_test_cases(Mixin, type): | ||||
|     result = {} | ||||
|     glob = globals() | ||||
|     Type = type[0].upper() + type[1:] | ||||
|     Type = type.capitalize() | ||||
| 
 | ||||
|     for name in list(glob.keys()): | ||||
|         if name.startswith('_Test'): | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Florent Xicluna
						Florent Xicluna