/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_paths2ids.py

  • Committer: Jelmer Vernooij
  • Date: 2018-11-16 23:15:15 UTC
  • mfrom: (7180 work)
  • mto: This revision was merged to the branch mainline in revision 7183.
  • Revision ID: jelmer@jelmer.uk-20181116231515-zqd2yn6kj8lfydyp
Merge trunk.

Show diffs side-by-side

added added

removed removed

Lines of Context:
45
45
class TestPaths2Ids(TestCaseWithWorkingTree):
46
46
 
47
47
    def assertExpectedIds(self, ids, tree, paths, trees=None,
48
 
        require_versioned=True):
 
48
                          require_versioned=True):
49
49
        """Run paths2ids for tree, and check the result."""
50
50
        tree.lock_read()
51
51
        if trees:
52
52
            for t in trees:
53
53
                t.lock_read()
54
54
            result = tree.paths2ids(paths, trees,
55
 
                require_versioned=require_versioned)
 
55
                                    require_versioned=require_versioned)
56
56
            for t in trees:
57
57
                t.unlock()
58
58
        else:
59
59
            result = tree.paths2ids(paths,
60
 
                require_versioned=require_versioned)
 
60
                                    require_versioned=require_versioned)
61
61
        self.assertEqual(set(ids), result)
62
62
        tree.unlock()
63
63
 
77
77
            raise TestNotApplicable(
78
78
                "test not applicable on non-inventory tests")
79
79
 
80
 
 
81
80
        self.assertExpectedIds([tree.path2id('')], tree, [''])
82
81
 
83
82
    def test_find_tree_and_clone_roots(self):
86
85
            raise TestNotApplicable(
87
86
                "test not applicable on non-inventory tests")
88
87
 
89
 
 
90
88
        clone = tree.controldir.clone('clone').open_workingtree()
91
89
        clone.lock_tree_write()
92
90
        clone_root_id = b'new-id'
93
91
        clone.set_root_id(clone_root_id)
94
92
        tree_root_id = tree.path2id('')
95
93
        clone.unlock()
96
 
        self.assertExpectedIds([tree_root_id, clone_root_id], tree, [''], [clone])
 
94
        self.assertExpectedIds(
 
95
            [tree_root_id, clone_root_id], tree, [''], [clone])
97
96
 
98
97
    def test_find_tree_basis_roots(self):
99
98
        tree = self.make_branch_and_tree('tree')
107
106
        tree_root_id = b'new-id'
108
107
        tree.set_root_id(tree_root_id)
109
108
        tree.unlock()
110
 
        self.assertExpectedIds([tree_root_id, basis_root_id], tree, [''], [basis])
 
109
        self.assertExpectedIds(
 
110
            [tree_root_id, basis_root_id], tree, [''], [basis])
111
111
 
112
112
    def test_find_children_of_moved_directories(self):
113
113
        """Check the basic nasty corner case that path2ids should handle.
155
155
            raise TestNotApplicable(
156
156
                "test not applicable on non-inventory tests")
157
157
 
158
 
 
159
158
        self.build_tree(
160
159
            ['tree/dir/', 'tree/dir/child-moves', 'tree/dir/child-stays',
161
160
             'tree/dir/child-goes'])
185
184
            raise TestNotApplicable(
186
185
                "test not applicable on non-inventory tests")
187
186
 
188
 
 
189
187
        self.build_tree(['tree/unversioned'])
190
 
        self.assertExpectedIds([], tree, ['unversioned'], require_versioned=False)
 
188
        self.assertExpectedIds([], tree, ['unversioned'],
 
189
                               require_versioned=False)
191
190
        tree.lock_read()
192
 
        self.assertRaises(errors.PathsNotVersionedError, tree.paths2ids, ['unversioned'])
 
191
        self.assertRaises(errors.PathsNotVersionedError,
 
192
                          tree.paths2ids, ['unversioned'])
193
193
        tree.unlock()
194
194
 
195
195
    def test_unversioned_in_one_of_multiple_trees(self):
221
221
        tree.commit('make basis')
222
222
        basis = tree.basis_tree()
223
223
        self.assertExpectedIds([], tree, ['unversioned'], [basis],
224
 
            require_versioned=False)
 
224
                               require_versioned=False)
225
225
        tree.lock_read()
226
226
        basis.lock_read()
227
227
        self.assertRaises(errors.PathsNotVersionedError, tree.paths2ids,
228
 
            ['unversioned'], [basis])
 
228
                          ['unversioned'], [basis])
229
229
        self.assertRaises(errors.PathsNotVersionedError, basis.paths2ids,
230
 
            ['unversioned'], [tree])
 
230
                          ['unversioned'], [tree])
231
231
        basis.unlock()
232
232
        tree.unlock()
233
233
 
242
242
        self.assertExpectedIds([], tree, [u"\xa7"], require_versioned=False)
243
243
        self.addCleanup(tree.lock_read().unlock)
244
244
        e = self.assertRaises(errors.PathsNotVersionedError,
245
 
            tree.paths2ids, [u"\xa7"])
 
245
                              tree.paths2ids, [u"\xa7"])
246
246
        self.assertEqual([u"\xa7"], e.paths)