~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/win32utils.py

(gz) Never raise KnownFailure in tests,
 use knownFailure method instead (Martin [gz])

Show diffs side-by-side

added added

removed removed

Lines of Context:
25
25
import sys
26
26
 
27
27
from bzrlib import cmdline
28
 
from bzrlib.i18n import gettext
29
28
 
30
29
# Windows version
31
30
if sys.platform == 'win32':
68
67
        create_buffer = ctypes.create_unicode_buffer
69
68
        suffix = 'W'
70
69
try:
 
70
    import win32file
71
71
    import pywintypes
72
 
    has_pywintypes = True
73
 
except ImportError:
74
 
    has_pywintypes = has_win32file = has_win32api = False
75
 
else:
76
 
    try:
77
 
        import win32file
78
 
        has_win32file = True
79
 
    except ImportError:
80
 
        has_win32file = False
81
 
    try:
82
 
        import win32api
83
 
        has_win32api = True
84
 
    except ImportError:
85
 
        has_win32api = False
 
72
    has_win32file = True
 
73
except ImportError:
 
74
    has_win32file = False
 
75
try:
 
76
    import win32api
 
77
    has_win32api = True
 
78
except ImportError:
 
79
    has_win32api = False
86
80
 
87
81
# pulling in win32com.shell is a bit of overhead, and normally we don't need
88
82
# it as ctypes is preferred and common.  lazy_imports and "optional"
134
128
            ctypes.byref(mem_struct),
135
129
            ctypes.sizeof(mem_struct))
136
130
        if not ret:
137
 
            trace.note(gettext('Failed to GetProcessMemoryInfo()'))
 
131
            trace.note('Failed to GetProcessMemoryInfo()')
138
132
            return
139
133
        info = {'PageFaultCount': mem_struct.PageFaultCount,
140
134
                'PeakWorkingSetSize': mem_struct.PeakWorkingSetSize,
155
149
        proc = win32process.GetCurrentProcess()
156
150
        info = win32process.GetProcessMemoryInfo(proc)
157
151
    else:
158
 
        trace.note(gettext('Cannot debug memory on win32 without ctypes'
159
 
                   ' or win32process'))
 
152
        trace.note('Cannot debug memory on win32 without ctypes'
 
153
                   ' or win32process')
160
154
        return
161
155
    if short:
162
156
        # using base-2 units (see HACKING.txt).
163
 
        trace.note(gettext('WorkingSize {0:>7}KiB'
164
 
                   '\tPeakWorking {1:>7}KiB\t{2}').format(
 
157
        trace.note('WorkingSize %7dKiB'
 
158
                   '\tPeakWorking %7dKiB\t%s',
165
159
                   info['WorkingSetSize'] / 1024,
166
160
                   info['PeakWorkingSetSize'] / 1024,
167
 
                   message))
 
161
                   message)
168
162
        return
169
163
    if message:
170
164
        trace.note('%s', message)
171
 
    trace.note(gettext('WorkingSize       %8d KiB'), info['WorkingSetSize'] / 1024)
172
 
    trace.note(gettext('PeakWorking       %8d KiB'), info['PeakWorkingSetSize'] / 1024)
173
 
    trace.note(gettext('PagefileUsage     %8d KiB'), info.get('PagefileUsage', 0) / 1024)
174
 
    trace.note(gettext('PeakPagefileUsage %8d KiB'),
 
165
    trace.note('WorkingSize       %8d KiB', info['WorkingSetSize'] / 1024)
 
166
    trace.note('PeakWorking       %8d KiB', info['PeakWorkingSetSize'] / 1024)
 
167
    trace.note('PagefileUsage     %8d KiB', info.get('PagefileUsage', 0) / 1024)
 
168
    trace.note('PeakPagefileUsage %8d KiB',
175
169
               info.get('PeakPagefileUsage', 0) / 1024)
176
 
    trace.note(gettext('PrivateUsage      %8d KiB'), info.get('PrivateUsage', 0) / 1024)
177
 
    trace.note(gettext('PageFaultCount    %8d'), info.get('PageFaultCount', 0))
 
170
    trace.note('PrivateUsage      %8d KiB', info.get('PrivateUsage', 0) / 1024)
 
171
    trace.note('PageFaultCount    %8d', info.get('PageFaultCount', 0))
178
172
 
179
173
 
180
174
def get_console_size(defaultx=80, defaulty=25):
620
614
        _CloseHandle(handle)
621
615
        return False
622
616
    is_local_pid_dead = _ctypes_is_local_pid_dead
623
 
 
624
 
 
625
 
def _is_pywintypes_error(evalue):
626
 
    """True if exception instance is an error from pywin32"""
627
 
    if has_pywintypes and isinstance(evalue, pywintypes.error):
628
 
        return True
629
 
    return False