[Python-checkins] r84564 - in python/branches/py3k/Lib: ntpath.py test/test_ntpath.py

brian.curtin python-checkins at python.org
Mon Sep 6 21:46:17 CEST 2010


Author: brian.curtin
Date: Mon Sep  6 21:46:17 2010
New Revision: 84564

Log:
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.


Modified:
   python/branches/py3k/Lib/ntpath.py
   python/branches/py3k/Lib/test/test_ntpath.py

Modified: python/branches/py3k/Lib/ntpath.py
==============================================================================
--- python/branches/py3k/Lib/ntpath.py	(original)
+++ python/branches/py3k/Lib/ntpath.py	Mon Sep  6 21:46:17 2010
@@ -10,7 +10,6 @@
 import stat
 import genericpath
 from genericpath import *
-from nt import _getfileinformation
 
 __all__ = ["normcase","isabs","join","splitdrive","split","splitext",
            "basename","dirname","commonprefix","getsize","getmtime",
@@ -656,4 +655,10 @@
 
 def sameopenfile(f1, f2):
     """Test whether two file objects reference the same file"""
-    return _getfileinformation(f1) == _getfileinformation(f2)
+    try:
+        from nt import _getfileinformation
+        return _getfileinformation(f1) == _getfileinformation(f2)
+    except ImportError:
+        # On other operating systems, return True if the file descriptors
+        # are the same.
+        return f1 == f2

Modified: python/branches/py3k/Lib/test/test_ntpath.py
==============================================================================
--- python/branches/py3k/Lib/test/test_ntpath.py	(original)
+++ python/branches/py3k/Lib/test/test_ntpath.py	Mon Sep  6 21:46:17 2010
@@ -1,5 +1,6 @@
 import ntpath
 import os
+import sys
 from test.support import TestFailed
 from test import support, test_genericpath
 from tempfile import TemporaryFile
@@ -244,11 +245,12 @@
             self.assertTrue(ntpath.sameopenfile(tf1.fileno(), tf1.fileno()))
             # Make sure different files are really different
             self.assertFalse(ntpath.sameopenfile(tf1.fileno(), tf2.fileno()))
-            # Make sure invalid values don't cause issues
-            with self.assertRaises(ValueError):
-                # Invalid file descriptors shouldn't display assert
-                # dialogs (#4804)
-                ntpath.sameopenfile(-1, -1)
+            # Make sure invalid values don't cause issues on win32
+            if sys.platform == "win32":
+                with self.assertRaises(ValueError):
+                    # Invalid file descriptors shouldn't display assert
+                    # dialogs (#4804)
+                    ntpath.sameopenfile(-1, -1)
 
 
 class NtCommonTest(test_genericpath.CommonTest):


More information about the Python-checkins mailing list