mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 13:41:24 +00:00 
			
		
		
		
	Fix some errors that #7566 introduced on non-Windows platforms due to
an ImportError. Rearranged the import, faked out the implementation when the import fails, and reorganized a test that depends on Win32 behavior.
This commit is contained in:
		
							parent
							
								
									4bc12ef47d
								
							
						
					
					
						commit
						13a0db5ddb
					
				
					 2 changed files with 14 additions and 7 deletions
				
			
		|  | @ -10,7 +10,6 @@ | ||||||
| import stat | import stat | ||||||
| import genericpath | import genericpath | ||||||
| from genericpath import * | from genericpath import * | ||||||
| from nt import _getfileinformation |  | ||||||
| 
 | 
 | ||||||
| __all__ = ["normcase","isabs","join","splitdrive","split","splitext", | __all__ = ["normcase","isabs","join","splitdrive","split","splitext", | ||||||
|            "basename","dirname","commonprefix","getsize","getmtime", |            "basename","dirname","commonprefix","getsize","getmtime", | ||||||
|  | @ -656,4 +655,10 @@ def samefile(f1, f2): | ||||||
| 
 | 
 | ||||||
| def sameopenfile(f1, f2): | def sameopenfile(f1, f2): | ||||||
|     """Test whether two file objects reference the same file""" |     """Test whether two file objects reference the same file""" | ||||||
|  |     try: | ||||||
|  |         from nt import _getfileinformation | ||||||
|         return _getfileinformation(f1) == _getfileinformation(f2) |         return _getfileinformation(f1) == _getfileinformation(f2) | ||||||
|  |     except ImportError: | ||||||
|  |         # On other operating systems, return True if the file descriptors | ||||||
|  |         # are the same. | ||||||
|  |         return f1 == f2 | ||||||
|  |  | ||||||
|  | @ -1,5 +1,6 @@ | ||||||
| import ntpath | import ntpath | ||||||
| import os | import os | ||||||
|  | import sys | ||||||
| from test.support import TestFailed | from test.support import TestFailed | ||||||
| from test import support, test_genericpath | from test import support, test_genericpath | ||||||
| from tempfile import TemporaryFile | from tempfile import TemporaryFile | ||||||
|  | @ -244,7 +245,8 @@ def test_sameopenfile(self): | ||||||
|             self.assertTrue(ntpath.sameopenfile(tf1.fileno(), tf1.fileno())) |             self.assertTrue(ntpath.sameopenfile(tf1.fileno(), tf1.fileno())) | ||||||
|             # Make sure different files are really different |             # Make sure different files are really different | ||||||
|             self.assertFalse(ntpath.sameopenfile(tf1.fileno(), tf2.fileno())) |             self.assertFalse(ntpath.sameopenfile(tf1.fileno(), tf2.fileno())) | ||||||
|             # Make sure invalid values don't cause issues |             # Make sure invalid values don't cause issues on win32 | ||||||
|  |             if sys.platform == "win32": | ||||||
|                 with self.assertRaises(ValueError): |                 with self.assertRaises(ValueError): | ||||||
|                     # Invalid file descriptors shouldn't display assert |                     # Invalid file descriptors shouldn't display assert | ||||||
|                     # dialogs (#4804) |                     # dialogs (#4804) | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Brian Curtin
						Brian Curtin