~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/test_osutils.py

  • Committer: Robert Collins
  • Date: 2006-06-09 15:34:26 UTC
  • mto: This revision was merged to the branch mainline in revision 3682.
  • Revision ID: robertc@robertcollins.net-20060609153426-803129580b26d89f
Add a replacement for os.listdir which returns file kind information from readdir when it is available. This drops our osutils.walkdirs time further, down to 77ms.

Show diffs side-by-side

added added

removed removed

Lines of Context:
25
25
import bzrlib
26
26
from bzrlib.errors import BzrBadParameterNotUnicode, InvalidURL
27
27
import bzrlib.osutils as osutils
 
28
import bzrlib.readdir as readdir
28
29
from bzrlib.tests import TestCaseInTempDir, TestCase, TestSkipped
29
30
 
30
31
 
259
260
        self.assertTrue(found_bzrdir)
260
261
        self.assertEqual(expected_dirblocks,
261
262
            [[line[0:3] for line in block] for block in result])
 
263
 
 
264
    def test_readdir(self):
 
265
        tree = [
 
266
            '.bzr/',
 
267
            '0file',
 
268
            '1dir/',
 
269
            '1dir/0file',
 
270
            '1dir/1dir/',
 
271
            '2file'
 
272
            ]
 
273
        self.build_tree(tree)
 
274
        expected_names = ['.bzr', '0file', '1dir', '2file']
 
275
        # read_dir either returns None, or a value
 
276
        read_result = readdir.read_dir('.')
 
277
        if read_result[0][1] is None:
 
278
            expected_kind = ['unknown', 'unknown', 'unknown', 'unknown']
 
279
        else:
 
280
            expected_kind = ['directory', 'file', 'directory', 'file']
 
281
        expected = zip(expected_names, expected_kind)
 
282
        self.assertEqual(expected, sorted(read_result))
 
283