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

  • Committer: Jelmer Vernooij
  • Date: 2018-07-08 14:45:27 UTC
  • mto: This revision was merged to the branch mainline in revision 7036.
  • Revision ID: jelmer@jelmer.uk-20180708144527-codhlvdcdg9y0nji
Fix a bunch of merge tests.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# Copyright (C) 2005, 2007 Canonical Ltd
 
1
# Copyright (C) 2006, 2007, 2009, 2010, 2011, 2016 Canonical Ltd
2
2
#
3
3
# This program is free software; you can redistribute it and/or modify
4
4
# it under the terms of the GNU General Public License as published by
14
14
# along with this program; if not, write to the Free Software
15
15
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
16
16
 
17
 
"""Black-box tests for bzr revert."""
 
17
"""Black-box tests for brz revert."""
18
18
 
19
19
import os
20
20
 
21
 
import bzrlib.osutils
22
 
from bzrlib.tests.blackbox import ExternalBase
23
 
from bzrlib.trace import mutter
24
 
from bzrlib.workingtree import WorkingTree
25
 
 
26
 
 
27
 
class TestRevert(ExternalBase):
 
21
import breezy.osutils
 
22
from breezy.tests import TestCaseWithTransport
 
23
from breezy.trace import mutter
 
24
from breezy.workingtree import WorkingTree
 
25
 
 
26
 
 
27
class TestRevert(TestCaseWithTransport):
28
28
 
29
29
    def _prepare_tree(self):
30
30
        self.run_bzr('init')
31
31
        self.run_bzr('mkdir dir')
32
32
 
33
 
        f = file('dir/file', 'wb')
34
 
        f.write('spam')
35
 
        f.close()
 
33
        with open('dir/file', 'wb') as f:
 
34
            f.write(b'spam')
36
35
        self.run_bzr('add dir/file')
37
36
 
38
37
        self.run_bzr('commit -m1')
39
38
 
40
39
        # modify file
41
 
        f = file('dir/file', 'wb')
42
 
        f.write('eggs')
43
 
        f.close()
 
40
        with open('dir/file', 'wb') as f:
 
41
            f.write(b'eggs')
44
42
 
45
43
        # check status
46
 
        self.assertEquals('modified:\n  dir/file\n', self.run_bzr('status')[0])
 
44
        self.assertEqual('modified:\n  dir/file\n', self.run_bzr('status')[0])
47
45
 
48
46
    def _prepare_rename_mod_tree(self):
49
47
        self.build_tree(['a/', 'a/b', 'a/c', 'a/d/', 'a/d/e', 'f/', 'f/g',
66
64
        os.chdir('dir')
67
65
        mutter('cd dir\n')
68
66
 
69
 
        self.assertEquals('1\n', self.run_bzr('revno')[0])
 
67
        self.assertEqual('1\n', self.run_bzr('revno')[0])
70
68
        self.run_bzr('revert %s file' % param)
71
 
        self.assertEquals('spam', open('file', 'rb').read())
 
69
        self.assertEqual('spam', open('file', 'rb').read())
72
70
 
73
71
    def test_revert_in_subdir(self):
74
72
        self.helper()
93
91
        """Test that revert DIRECTORY does what's expected"""
94
92
        self._prepare_rename_mod_tree()
95
93
        self.run_bzr('revert a')
96
 
        self.failUnlessExists('a/b')
97
 
        self.failUnlessExists('a/d')
98
 
        self.failIfExists('a/g')
 
94
        self.assertPathExists('a/b')
 
95
        self.assertPathExists('a/d')
 
96
        self.assertPathDoesNotExist('a/g')
99
97
        self.expectFailure(
100
98
            "j is in the delta revert applies because j was renamed too",
101
 
            self.failUnlessExists, 'j')
102
 
        self.failUnlessExists('h')
 
99
            self.assertPathExists, 'j')
 
100
        self.assertPathExists('h')
103
101
        self.run_bzr('revert f')
104
 
        self.failIfExists('j')
105
 
        self.failIfExists('h')
106
 
        self.failUnlessExists('a/d/e')
 
102
        self.assertPathDoesNotExist('j')
 
103
        self.assertPathDoesNotExist('h')
 
104
        self.assertPathExists('a/d/e')
107
105
 
108
106
    def test_revert_chatter(self):
109
107
        self._prepare_rename_mod_tree()
120
118
    def test_revert(self):
121
119
        self.run_bzr('init')
122
120
 
123
 
        file('hello', 'wt').write('foo')
 
121
        with open('hello', 'wt') as f: f.write('foo')
124
122
        self.run_bzr('add hello')
125
123
        self.run_bzr('commit -m setup hello')
126
124
 
127
 
        file('goodbye', 'wt').write('baz')
 
125
        with open('goodbye', 'wt') as f: f.write('baz')
128
126
        self.run_bzr('add goodbye')
129
127
        self.run_bzr('commit -m setup goodbye')
130
128
 
131
 
        file('hello', 'wt').write('bar')
132
 
        file('goodbye', 'wt').write('qux')
 
129
        with open('hello', 'wt') as f: f.write('bar')
 
130
        with open('goodbye', 'wt') as f: f.write('qux')
133
131
        self.run_bzr('revert hello')
134
 
        self.check_file_contents('hello', 'foo')
135
 
        self.check_file_contents('goodbye', 'qux')
 
132
        self.check_file_contents('hello', b'foo')
 
133
        self.check_file_contents('goodbye', b'qux')
136
134
        self.run_bzr('revert')
137
 
        self.check_file_contents('goodbye', 'baz')
 
135
        self.check_file_contents('goodbye', b'baz')
138
136
 
139
137
        os.mkdir('revertdir')
140
138
        self.run_bzr('add revertdir')
142
140
        os.rmdir('revertdir')
143
141
        self.run_bzr('revert')
144
142
 
145
 
        if bzrlib.osutils.has_symlinks():
 
143
        if breezy.osutils.has_symlinks():
146
144
            os.symlink('/unlikely/to/exist', 'symlink')
147
145
            self.run_bzr('add symlink')
148
146
            self.run_bzr('commit -m f')
149
147
            os.unlink('symlink')
150
148
            self.run_bzr('revert')
151
 
            self.failUnlessExists('symlink')
 
149
            self.assertPathExists('symlink')
152
150
            os.unlink('symlink')
153
151
            os.symlink('a-different-path', 'symlink')
154
152
            self.run_bzr('revert')
157
155
        else:
158
156
            self.log("skipping revert symlink tests")
159
157
 
160
 
        file('hello', 'wt').write('xyz')
 
158
        with open('hello', 'wt') as f: f.write('xyz')
161
159
        self.run_bzr('commit -m xyz hello')
162
160
        self.run_bzr('revert -r 1 hello')
163
 
        self.check_file_contents('hello', 'foo')
 
161
        self.check_file_contents('hello', b'foo')
164
162
        self.run_bzr('revert hello')
165
 
        self.check_file_contents('hello', 'xyz')
 
163
        self.check_file_contents('hello', b'xyz')
166
164
        os.chdir('revertdir')
167
165
        self.run_bzr('revert')
168
166
        os.chdir('..')
174
172
        self.build_tree(['file'])
175
173
        tree.add(['file'])
176
174
        out, err = self.run_bzr('revert')
177
 
        self.assertEqual('', out)
178
 
        self.assertEqual('-   file\n', err)
 
175
        self.assertEqual(b'', out)
 
176
        self.assertEqual(b'-   file\n', err)
179
177
 
180
178
    def test_revert_removing_file(self):
181
179
        # this tests the UI reports reverting a file which has been committed
186
184
        tree.add(['file'])
187
185
        tree.commit('add file')
188
186
        out, err = self.run_bzr('revert -r -2')
189
 
        self.assertEqual('', out)
190
 
        self.assertEqual('-D  file\n', err)
 
187
        self.assertEqual(b'', out)
 
188
        self.assertEqual(b'-D  file\n', err)
191
189
 
192
190
    def test_revert_forget_merges(self):
193
191
        # revert --forget-merges removes any pending merges into the tree, but
197
195
        self.run_bzr(['revert', '--forget-merges'])
198
196
        self.build_tree(['file'])
199
197
        first_rev_id = tree.commit('initial commit')
200
 
        self.build_tree_contents([('file', 'new content')])
 
198
        self.build_tree_contents([('file', b'new content')])
201
199
        existing_parents = tree.get_parent_ids()
202
 
        self.assertEquals([first_rev_id], existing_parents)
 
200
        self.assertEqual([first_rev_id], existing_parents)
203
201
        merged_parents = existing_parents + ['merged-in-rev']
204
202
        tree.set_parent_ids(merged_parents)
205
 
        self.assertEquals(merged_parents, tree.get_parent_ids())
 
203
        self.assertEqual(merged_parents, tree.get_parent_ids())
206
204
        self.run_bzr(['revert', '--forget-merges'])
207
 
        self.assertEquals([first_rev_id], tree.get_parent_ids())
 
205
        self.assertEqual([first_rev_id], tree.get_parent_ids())
208
206
        # changed files are not reverted
209
207
        self.assertFileEqual('new content', 'file')
210
208
        # you can give it the path of a tree