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.
diff --git a/Lib/ntpath.py b/Lib/ntpath.py
index eae3cf3..4a121f52 100644
--- a/Lib/ntpath.py
+++ b/Lib/ntpath.py
@@ -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