Rev 1750: Review feedback. in http://people.ubuntu.com/~robertc/baz2.0/readdir
Robert Collins
robertc at robertcollins.net
Tue Sep 2 04:03:19 BST 2008
At http://people.ubuntu.com/~robertc/baz2.0/readdir
------------------------------------------------------------
revno: 1750
revision-id: robertc at robertcollins.net-20080902030315-0ri2lp0vefnivjhm
parent: robertc at robertcollins.net-20080820034904-kmsanmn54239kiom
committer: Robert Collins <robertc at robertcollins.net>
branch nick: readdir
timestamp: Tue 2008-09-02 13:03:15 +1000
message:
Review feedback.
modified:
bzrlib/_readdir_pyx.pyx readdir.pyx-20060609152855-rm6v321vuaqyh9tu-1
bzrlib/tests/test_osutils.py test_osutils.py-20051201224856-e48ee24c12182989
=== modified file 'bzrlib/_readdir_pyx.pyx'
--- a/bzrlib/_readdir_pyx.pyx 2008-08-20 03:30:17 +0000
+++ b/bzrlib/_readdir_pyx.pyx 2008-09-02 03:03:15 +0000
@@ -105,7 +105,7 @@
name = entry.d_name
if not (name[0] == dot and (
(name[1] == 0) or
- (name[1] == dot and name [2] == 0))
+ (name[1] == dot and name[2] == 0))
):
result.append((entry.d_ino, entry.d_name))
finally:
=== modified file 'bzrlib/tests/test_osutils.py'
--- a/bzrlib/tests/test_osutils.py 2008-08-20 03:30:17 +0000
+++ b/bzrlib/tests/test_osutils.py 2008-09-02 03:03:15 +0000
@@ -60,11 +60,11 @@
to_adapt, result = split_suite_by_re(standard_tests, "readdir")
adapter = TestScenarioApplier()
from bzrlib import _readdir_py
- adapter.scenarios = [('python', {'read_dir':_readdir_py.read_dir})]
+ adapter.scenarios = [('python', {'read_dir': _readdir_py.read_dir})]
try:
from bzrlib import _readdir_pyx
adapter.scenarios.append(
- (('pyrex', {'read_dir':_readdir_pyx.read_dir})))
+ (('pyrex', {'read_dir': _readdir_pyx.read_dir})))
except ImportError:
pass
adapt_tests(to_adapt, adapter, result)
@@ -751,19 +751,23 @@
]
self.build_tree(tree)
expected_names = ['.bzr', '0file', '1dir', '2file']
- # read_dir either returns None, or a value
+ # read_dir returns pairs, which form a table with either None in all
+ # the first columns, or a sort key to get best on-disk-read order,
+ # and the disk path name in utf-8 encoding in the second column.
read_result = self.read_dir('.')
+ # The second column is always the names, and every name except "." and
+ # ".." should be present.
+ names = sorted([row[1] for row in read_result])
+ self.assertEqual(expected_names, names)
+ expected_sort_key = None
if read_result[0][0] is None:
- # No innate sort:
- expected_keys = [None, None, None, None]
- expected = zip(expected_keys, expected_names)
- expected.sort()
- self.assertEqual(expected, sorted(read_result))
+ # No sort key returned - all keys must None
+ operator = self.assertEqual
else:
- # Check that the names we need are present in the second
- # column
- names = sorted([result[1] for result in read_result])
- self.assertEqual(expected_names, names)
+ # A sort key in the first row implies sort keys in the other rows.
+ operator = self.assertNotEqual
+ for row in read_result:
+ operator(None, row[0])
def test_walkdirs(self):
tree = [
More information about the bazaar-commits
mailing list