/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 breezy/tests/per_workingtree/test_walkdirs.py

  • Committer: Jelmer Vernooij
  • Date: 2018-03-24 17:48:04 UTC
  • mfrom: (6921 work)
  • mto: This revision was merged to the branch mainline in revision 6923.
  • Revision ID: jelmer@jelmer.uk-20180324174804-xf22o05byoj12x1q
Merge trunk.

Show diffs side-by-side

added added

removed removed

Lines of Context:
109
109
 
110
110
        expected_dirblocks = [
111
111
            (('', tree.path2id('')),
112
 
             [dirblocks[1].as_tuple(), dirblocks[3].as_tuple(),
113
 
              dirblocks[0].as_tuple()]
 
112
             ([dirblocks[1].as_tuple(), dirblocks[3].as_tuple()]
 
113
                 if (tree.has_versioned_directories() or file_status != self.missing) else []) +
 
114
             [dirblocks[0].as_tuple()]
114
115
            ),
115
116
            (dirblocks[1].as_dir_tuple(),
116
117
             [dirblocks[2].as_tuple()]
117
118
            ),
118
 
            (dirblocks[3].as_dir_tuple(),
119
 
             []
120
 
            ),
121
119
            ]
 
120
        if (tree.has_versioned_directories() or
 
121
            file_status != self.missing):
 
122
            expected_dirblocks.append(
 
123
                (dirblocks[3].as_dir_tuple(),
 
124
                 []
 
125
                ))
122
126
        if prefix:
123
127
            expected_dirblocks = [e for e in expected_dirblocks
124
128
                if len(e) > 0 and len(e[0]) > 0 and e[0][0] == prefix]
196
200
        link2_stat = os.lstat('link2')
197
201
        expected_dirblocks = [
198
202
             (('', tree.path2id('')),
199
 
              [('dir1', 'dir1', 'file', dir1_stat, tree.path2id('dir1'), 'directory'),
200
 
               ('dir2', 'dir2', 'symlink', dir2_stat, tree.path2id('dir2'), 'directory'),
 
203
              [('dir1', 'dir1', 'file', dir1_stat, tree.path2id('dir1'),
 
204
                  'directory' if tree.has_versioned_directories() else None),
 
205
               ('dir2', 'dir2', 'symlink', dir2_stat, tree.path2id('dir2'),
 
206
                   'directory' if tree.has_versioned_directories() else None),
201
207
               ('file1', 'file1', 'directory', file1_stat, tree.path2id('file1'), 'file'),
202
208
               ('file2', 'file2', 'symlink', file2_stat, tree.path2id('file2'), 'file'),
203
209
               ('link1', 'link1', 'file', link1_stat, tree.path2id('link1'), 'symlink'),
204
210
               ('link2', 'link2', 'directory', link2_stat, tree.path2id('link2'), 'symlink'),
205
211
              ]
206
 
             ),
 
212
             )]
 
213
        if tree.has_versioned_directories():
 
214
            expected_dirblocks.extend([
207
215
             (('dir1', tree.path2id('dir1')),
208
216
              [
209
217
              ]
211
219
             (('dir2', tree.path2id('dir2')),
212
220
              [
213
221
              ]
214
 
             ),
 
222
             )])
 
223
        expected_dirblocks.extend([
215
224
             (('file1', None),
216
225
              [
217
226
              ]
220
229
              [
221
230
              ]
222
231
             ),
223
 
            ]
224
 
        tree.lock_read()
225
 
        result = list(tree.walkdirs())
226
 
        tree.unlock()
 
232
            ])
 
233
        with tree.lock_read():
 
234
            result = list(tree.walkdirs())
227
235
        # check each return value for debugging ease.
228
236
        for pos, item in enumerate(expected_dirblocks):
229
237
            self.assertEqual(item, result[pos])
242
250
        self.build_tree(changed_paths)
243
251
        dir1_stat = os.lstat('dir1')
244
252
        file1_stat = os.lstat('file1')
245
 
        expected_dirblocks = [
246
 
             (('', tree.path2id('')),
247
 
              [('dir1', 'dir1', 'file', dir1_stat, tree.path2id('dir1'), 'directory'),
248
 
               ('file1', 'file1', 'directory', file1_stat, tree.path2id('file1'), 'file'),
249
 
              ]
250
 
             ),
251
 
             (('dir1', tree.path2id('dir1')),
252
 
              [
253
 
              ]
254
 
             ),
255
 
             (('file1', None),
256
 
              [
257
 
              ]
258
 
             ),
259
 
            ]
260
 
        tree.lock_read()
261
 
        result = list(tree.walkdirs())
262
 
        tree.unlock()
 
253
        if tree.has_versioned_directories():
 
254
            expected_dirblocks = [
 
255
                 (('', tree.path2id('')),
 
256
                  [('dir1', 'dir1', 'file', dir1_stat, tree.path2id('dir1'), 'directory'),
 
257
                   ('file1', 'file1', 'directory', file1_stat, tree.path2id('file1'), 'file'),
 
258
                  ]
 
259
                 ),
 
260
                 (('dir1', tree.path2id('dir1')),
 
261
                  [
 
262
                  ]
 
263
                 ),
 
264
                 (('file1', None),
 
265
                  [
 
266
                  ]
 
267
                 ),
 
268
                ]
 
269
        else:
 
270
            expected_dirblocks = [
 
271
                 (('', tree.path2id('')),
 
272
                  [('dir1', 'dir1', 'file', dir1_stat, tree.path2id('dir1'), None),
 
273
                   ('file1', 'file1', 'directory', file1_stat, tree.path2id('file1'), 'file'),
 
274
                  ]
 
275
                 ),
 
276
                 (('file1', None),
 
277
                  [
 
278
                  ]
 
279
                 ),
 
280
                ]
 
281
        with tree.lock_read():
 
282
            result = list(tree.walkdirs())
263
283
        # check each return value for debugging ease.
264
284
        for pos, item in enumerate(expected_dirblocks):
265
285
            self.assertEqual(item, result[pos])