/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/blackbox/test_remove.py

  • Committer: Jelmer Vernooij
  • Date: 2018-02-18 21:42:57 UTC
  • mto: This revision was merged to the branch mainline in revision 6859.
  • Revision ID: jelmer@jelmer.uk-20180218214257-jpevutp1wa30tz3v
Update TODO to reference Breezy, not Bazaar.

Show diffs side-by-side

added added

removed removed

Lines of Context:
23
23
    features,
24
24
    TestCaseWithTransport,
25
25
    TestSkipped,
26
 
    TestNotApplicable,
27
26
    )
28
27
from breezy.workingtree import WorkingTree
29
28
from breezy import osutils
30
29
 
31
 
_id = b'-id'
32
 
a = 'a'
33
 
b = 'b/'
34
 
c = 'b/c'
35
 
d = 'd/'
36
 
files = (a, b, c, d)
 
30
_id='-id'
 
31
a='a'
 
32
b='b/'
 
33
c='b/c'
 
34
d='d/'
 
35
files=(a, b, c, d)
37
36
 
38
37
 
39
38
class TestRemove(TestCaseWithTransport):
40
39
 
41
40
    def _make_tree_and_add(self, paths):
42
41
        tree = self.make_branch_and_tree('.')
43
 
        with tree.lock_write():
 
42
        tree.lock_write()
 
43
        try:
44
44
            self.build_tree(paths)
45
45
            for path in paths:
46
 
                file_id = path.replace('/', '_').encode('utf-8') + _id
 
46
                file_id=str(path).replace('/', '_') + _id
47
47
                tree.add(path, file_id)
 
48
        finally:
 
49
            tree.unlock()
48
50
        return tree
49
51
 
50
52
    def assertFilesDeleted(self, files):
51
53
        for f in files:
52
 
            id = f.encode('utf-8') + _id
 
54
            id=f+_id
53
55
            self.assertNotInWorkingTree(f)
54
56
            self.assertPathDoesNotExist(f)
55
57
 
59
61
            self.assertPathExists(f)
60
62
 
61
63
    def changeFile(self, file_name):
62
 
        with open(file_name, 'ab') as f:
63
 
            f.write(b"\nsome other new content!")
 
64
        f = file(file_name, 'ab')
 
65
        f.write("\nsome other new content!")
 
66
        f.close()
64
67
 
65
68
    def run_bzr_remove_changed_files(self, files_to_remove, working_dir=None):
66
69
        self.run_bzr(['remove'] + list(files_to_remove),
67
 
                     working_dir=working_dir)
 
70
           working_dir=working_dir)
68
71
 
69
72
    def test_remove_new_no_files_specified(self):
70
73
        tree = self.make_branch_and_tree('.')
71
74
        self.run_bzr_error(["brz: ERROR: No matching files."], 'remove --new')
72
 
        self.run_bzr_error(
73
 
            ["brz: ERROR: No matching files."], 'remove --new .')
 
75
        self.run_bzr_error(["brz: ERROR: No matching files."], 'remove --new .')
74
76
 
75
77
    def test_remove_no_files_specified(self):
76
78
        tree = self._make_tree_and_add(['foo'])
217
219
    def test_remove_deleted_files(self):
218
220
        tree = self._make_tree_and_add(files)
219
221
        self.run_bzr("commit -m 'added files'")
220
 
        my_files = [f for f in files]
 
222
        my_files=[f for f in files]
221
223
        my_files.sort(reverse=True)
222
224
        for f in my_files:
223
225
            osutils.delete_any(f)
240
242
        self.run_bzr("commit -m 'added files'")
241
243
        self.run_bzr('remove a b b/c d',
242
244
                     error_regexes=["deleted a", "deleted b", "deleted b/c",
243
 
                                    "deleted d"])
 
245
                     "deleted d"])
244
246
        self.assertFilesDeleted(files)
245
247
 
246
248
    def test_remove_keep_files(self):
248
250
        self.run_bzr("commit -m 'added files'")
249
251
        self.run_bzr('remove --keep a b b/c d',
250
252
                     error_regexes=["removed a", "removed b", "removed b/c",
251
 
                                    "removed d"])
 
253
                     "removed d"])
252
254
        self.assertFilesUnversioned(files)
253
255
 
254
256
    def test_remove_with_new(self):
263
265
                     error_regexes=["removed b", "removed b/c"])
264
266
        tree = WorkingTree.open('.')
265
267
        self.assertInWorkingTree(a)
266
 
        self.assertEqual(tree.path2id(a), a.encode('utf-8') + _id)
 
268
        self.assertEqual(tree.path2id(a), a + _id)
267
269
        self.assertFilesUnversioned([b, c])
268
270
 
269
271
    def test_remove_with_new_in_dir2(self):
272
274
                     error_regexes=["removed a", "removed b", "removed b/c"])
273
275
        tree = WorkingTree.open('.')
274
276
        self.assertFilesUnversioned(files)
275
 
 
276
 
    def test_remove_backslash(self):
277
 
        # pad.lv/176263
278
 
        if os.path.sep == '\\':
279
 
            raise TestNotApplicable(
280
 
                'unable to add filenames with backslashes where '
281
 
                ' it is the path separator')
282
 
        tree = self.make_branch_and_tree('.')
283
 
        self.build_tree(['\\'])
284
 
        self.assertEqual('adding \\\n', self.run_bzr('add \\\\')[0])
285
 
        self.assertEqual('\\\n', self.run_bzr('ls --versioned')[0])
286
 
        self.assertEqual('', self.run_bzr('rm \\\\')[0])
287
 
        self.assertEqual('', self.run_bzr('ls --versioned')[0])