diff options
author | Hirokazu Yamamoto <ocean-city@m2.ccsnet.ne.jp> | 2008-08-20 04:20:53 +0000 |
---|---|---|
committer | Hirokazu Yamamoto <ocean-city@m2.ccsnet.ne.jp> | 2008-08-20 04:20:53 +0000 |
commit | 403f80fddcb2b424bb8a9c91ca3bb2d9ef34f71e (patch) | |
tree | 471954707df3920f4e21c70cf771800398eb3786 /Lib/test | |
parent | 7e2aae43f019966cdf8b276445d89dd936d7fc07 (diff) | |
download | cpython-403f80fddcb2b424bb8a9c91ca3bb2d9ef34f71e.tar.gz |
Backport r65900: fixed get_file_system in test_os.py ('path' is unicode on py3k and ansi on trunk)
Diffstat (limited to 'Lib/test')
-rw-r--r-- | Lib/test/test_os.py | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/Lib/test/test_os.py b/Lib/test/test_os.py index 89f564d4f5..a4417b016a 100644 --- a/Lib/test/test_os.py +++ b/Lib/test/test_os.py @@ -265,12 +265,15 @@ class StatAttributeTests(unittest.TestCase): # systems support centiseconds if sys.platform == 'win32': def get_file_system(path): - import os - root = os.path.splitdrive(os.path.realpath("."))[0] + '\\' + root = os.path.splitdrive(os.path.abspath(path))[0] + '\\' import ctypes - kernel32 = ctypes.windll.kernel32 - buf = ctypes.create_string_buffer("", 100) - if kernel32.GetVolumeInformationA(root, None, 0, None, None, None, buf, len(buf)): + from ctypes.wintypes import LPCWSTR, LPWSTR, DWORD + LPDWORD = ctypes.POINTER(DWORD) + f = ctypes.windll.kernel32.GetVolumeInformationW + f.argtypes = (LPCWSTR, LPWSTR, DWORD, + LPDWORD, LPDWORD, LPDWORD, LPWSTR, DWORD) + buf = ctypes.create_unicode_buffer("", 100) + if f(root, None, 0, None, None, None, buf, len(buf)): return buf.value if get_file_system(test_support.TESTFN) == "NTFS": |