mirror of https://github.com/python/cpython
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
|
@ -10,7 +10,6 @@ import sys
|
||||||
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 @@ class TestNtpath(unittest.TestCase):
|
||||||
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…
Reference in New Issue