From ccfdcd0cb25290d6250e4e4e5a55f3ee1bf31087 Mon Sep 17 00:00:00 2001 From: Hirokazu Yamamoto Date: Wed, 20 Aug 2008 04:13:28 +0000 Subject: fixed get_file_system in test_os.py ('path' is unicode on py3k and ansi on trunk) --- Lib/test/test_os.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/Lib/test/test_os.py b/Lib/test/test_os.py index b644bdc..5e605d2 100644 --- a/Lib/test/test_os.py +++ b/Lib/test/test_os.py @@ -294,12 +294,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": -- cgit v0.12