~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/test_osutils.py

(jelmer) Reduce the number of connections made during "bzr branch
 --stacked". (Jelmer Vernooij)

Show diffs side-by-side

added added

removed removed

Lines of Context:
20
20
import errno
21
21
import os
22
22
import re
23
 
import select
24
23
import socket
25
24
import sys
26
25
import time
1217
1216
        self.requireFeature(UTF8DirReaderFeature)
1218
1217
        self._save_platform_info()
1219
1218
        win32utils.winver = None # Avoid the win32 detection code
1220
 
        osutils._fs_enc = 'utf-8'
 
1219
        osutils._fs_enc = 'UTF-8'
1221
1220
        self.assertDirReaderIs(
1222
1221
            UTF8DirReaderFeature.module.UTF8DirReader)
1223
1222
 
1225
1224
        self.requireFeature(UTF8DirReaderFeature)
1226
1225
        self._save_platform_info()
1227
1226
        win32utils.winver = None # Avoid the win32 detection code
1228
 
        osutils._fs_enc = 'ascii'
 
1227
        osutils._fs_enc = 'US-ASCII'
 
1228
        self.assertDirReaderIs(
 
1229
            UTF8DirReaderFeature.module.UTF8DirReader)
 
1230
 
 
1231
    def test_force_walkdirs_utf8_fs_ANSI(self):
 
1232
        self.requireFeature(UTF8DirReaderFeature)
 
1233
        self._save_platform_info()
 
1234
        win32utils.winver = None # Avoid the win32 detection code
 
1235
        osutils._fs_enc = 'ANSI_X3.4-1968'
1229
1236
        self.assertDirReaderIs(
1230
1237
            UTF8DirReaderFeature.module.UTF8DirReader)
1231
1238
 
1232
1239
    def test_force_walkdirs_utf8_fs_latin1(self):
1233
1240
        self._save_platform_info()
1234
1241
        win32utils.winver = None # Avoid the win32 detection code
1235
 
        osutils._fs_enc = 'iso-8859-1'
 
1242
        osutils._fs_enc = 'latin1'
1236
1243
        self.assertDirReaderIs(osutils.UnicodeDirReader)
1237
1244
 
1238
1245
    def test_force_walkdirs_utf8_nt(self):
2115
2122
        self.overrideEnv('LOGNAME', u'jrandom\xb6'.encode(ue))
2116
2123
        self.assertEqual(u'jrandom\xb6', osutils.getuser_unicode())
2117
2124
 
 
2125
    def test_no_username_bug_660174(self):
 
2126
        self.requireFeature(features.win32_feature)
 
2127
        for name in ('LOGNAME', 'USER', 'LNAME', 'USERNAME'):
 
2128
            self.overrideEnv(name, None)
 
2129
        self.assertEqual(u'UNKNOWN', osutils.getuser_unicode())
 
2130
 
2118
2131
 
2119
2132
class TestBackupNames(tests.TestCase):
2120
2133
 
2166
2179
        self.assertTrue(osutils.find_executable_on_path('sh') is not None)
2167
2180
        self.assertTrue(
2168
2181
            osutils.find_executable_on_path('THIS SHOULD NOT EXIST') is None)
2169
 
 
2170
 
 
2171
 
class TestEnvironmentErrors(tests.TestCase):
2172
 
    """Test handling of environmental errors"""
2173
 
 
2174
 
    def test_is_oserror(self):
2175
 
        self.assertTrue(osutils.is_environment_error(
2176
 
            OSError(errno.EINVAL, "Invalid parameter")))
2177
 
 
2178
 
    def test_is_ioerror(self):
2179
 
        self.assertTrue(osutils.is_environment_error(
2180
 
            IOError(errno.EINVAL, "Invalid parameter")))
2181
 
 
2182
 
    def test_is_socket_error(self):
2183
 
        self.assertTrue(osutils.is_environment_error(
2184
 
            socket.error(errno.EINVAL, "Invalid parameter")))
2185
 
 
2186
 
    def test_is_select_error(self):
2187
 
        self.assertTrue(osutils.is_environment_error(
2188
 
            select.error(errno.EINVAL, "Invalid parameter")))
2189
 
 
2190
 
    def test_is_pywintypes_error(self):
2191
 
        self.requireFeature(features.pywintypes)
2192
 
        import pywintypes
2193
 
        self.assertTrue(osutils.is_environment_error(
2194
 
            pywintypes.error(errno.EINVAL, "Invalid parameter", "Caller")))