/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

Viewing changes to bzrlib/tests/workingtree_implementations/test_walkdirs.py

Adjust walkdirs tests to talk a lock around walk_dirs.

Show diffs side-by-side

added added

removed removed

Lines of Context:
37
37
        u_d_stat = os.lstat('unknown dir')
38
38
        u_d_f_stat = os.lstat('unknown dir/a file')
39
39
        expected_dirblocks = [
40
 
            (('', tree.inventory.root.file_id),
 
40
            (('', tree.path2id('')),
41
41
             [
42
42
              ('unknown dir', 'unknown dir', 'directory', u_d_stat, None, None),
43
43
              ('unknown file', 'unknown file', 'file', u_f_stat, None, None),
55
55
        # test that its iterable by iterating:
56
56
        result = []
57
57
        tree, expected_dirblocks = self.get_tree_with_unknowns()
 
58
        tree.lock_read()
58
59
        for dirinfo, dirblock in tree.walkdirs():
59
60
            result.append((dirinfo, list(dirblock)))
 
61
        tree.unlock()
60
62
        # check each return value for debugging ease.
61
63
        for pos, item in enumerate(expected_dirblocks):
62
64
            self.assertEqual(item, result[pos])
66
68
        """Doing a walkdir when the requested prefix is unknown but on disk."""
67
69
        result = []
68
70
        tree, expected_dirblocks = self.get_tree_with_unknowns()
 
71
        tree.lock_read()
69
72
        for dirinfo, dirblock in tree.walkdirs('unknown dir'):
70
73
            result.append((dirinfo, list(dirblock)))
 
74
        tree.unlock()
71
75
        # check each return value for debugging ease.
72
76
        for pos, item in enumerate(expected_dirblocks[1:]):
73
77
            self.assertEqual(item, result[pos])
91
95
        tree.bzrdir.root_transport.delete_tree('missing dir')
92
96
        tree.bzrdir.root_transport.delete('missing file')
93
97
        expected_dirblocks = [
94
 
            (('', tree.inventory.root.file_id),
 
98
            (('', tree.path2id('')),
95
99
             [
96
100
              ('missing dir', 'missing dir', 'unknown', None, 'a dir', 'directory'),
97
101
              ('missing file', 'missing file', 'unknown', None, 'a file', 'file'),
109
113
        # test that its iterable by iterating:
110
114
        result = []
111
115
        tree, expected_dirblocks = self.get_tree_with_missings()
 
116
        tree.lock_read()
112
117
        for dirinfo, dirblock in tree.walkdirs():
113
118
            result.append((dirinfo, list(dirblock)))
 
119
        tree.unlock()
114
120
        # check each return value for debugging ease.
115
121
        for pos, item in enumerate(expected_dirblocks):
116
122
            self.assertEqual(item, result[pos])
120
126
        """Doing a walkdir when the requested prefix is missing but on disk."""
121
127
        result = []
122
128
        tree, expected_dirblocks = self.get_tree_with_missings()
 
129
        tree.lock_read()
123
130
        for dirinfo, dirblock in tree.walkdirs('missing dir'):
124
131
            result.append((dirinfo, list(dirblock)))
 
132
        tree.unlock()
125
133
        # check each return value for debugging ease.
126
134
        for pos, item in enumerate(expected_dirblocks[1:]):
127
135
            self.assertEqual(item, result[pos])
158
166
        link1_stat = os.lstat('link1')
159
167
        link2_stat = os.lstat('link2')
160
168
        expected_dirblocks = [
161
 
             (('', tree.inventory.root.file_id),
 
169
             (('', tree.path2id('')),
162
170
              [('dir1', 'dir1', 'file', dir1_stat, 'dir1', 'directory'),
163
171
               ('dir2', 'dir2', 'symlink', dir2_stat, 'dir2', 'directory'),
164
172
               ('file1', 'file1', 'directory', file1_stat, 'file1', 'file'),
184
192
              ]
185
193
             ),
186
194
            ]
 
195
        tree.lock_read()
187
196
        result = list(tree.walkdirs())
 
197
        tree.unlock()
188
198
        # check each return value for debugging ease.
189
199
        for pos, item in enumerate(expected_dirblocks):
190
200
            self.assertEqual(item, result[pos])