~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/osutils.py

  • Committer: Vincent Ladeuil
  • Date: 2009-04-10 12:01:07 UTC
  • mto: (4331.1.1 integration)
  • mto: This revision was merged to the branch mainline in revision 4332.
  • Revision ID: v.ladeuil+lp@free.fr-20090410120107-aobdk07exibcr7nr
Start DirReader parametrized tests.

* bzrlib/tests/test_osutils.py:
(load_tests, TestDirReader): Start parametrized tests for the
various supported DirReader subclasses.

* bzrlib/osutils.py:
(_walkdirs_utf8): Clean DirReader selection to make it more
obvious that UnicodeDirReader is the fallback in all cases.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1392
1392
            #       for win98 anyway.
1393
1393
            try:
1394
1394
                from bzrlib._walkdirs_win32 import Win32ReadDir
1395
 
            except ImportError:
1396
 
                _selected_dir_reader = UnicodeDirReader()
1397
 
            else:
1398
1395
                _selected_dir_reader = Win32ReadDir()
1399
 
        elif fs_encoding not in ('UTF-8', 'US-ASCII', 'ANSI_X3.4-1968'):
 
1396
            except ImportError:
 
1397
                pass
 
1398
        elif fs_encoding in ('UTF-8', 'US-ASCII', 'ANSI_X3.4-1968'):
1400
1399
            # ANSI_X3.4-1968 is a form of ASCII
1401
 
            _selected_dir_reader = UnicodeDirReader()
1402
 
        else:
1403
1400
            try:
1404
1401
                from bzrlib._readdir_pyx import UTF8DirReader
1405
 
            except ImportError:
1406
 
                # No optimised code path
1407
 
                _selected_dir_reader = UnicodeDirReader()
1408
 
            else:
1409
1402
                _selected_dir_reader = UTF8DirReader()
 
1403
            except ImportError:
 
1404
                pass
 
1405
 
 
1406
    if _selected_dir_reader is None:
 
1407
        # Fallback to the python version
 
1408
        _selected_dir_reader = UnicodeDirReader()
 
1409
 
1410
1410
    # 0 - relpath, 1- basename, 2- kind, 3- stat, 4-toppath
1411
1411
    # But we don't actually uses 1-3 in pending, so set them to None
1412
1412
    pending = [[_selected_dir_reader.top_prefix_to_starting_dir(top, prefix)]]