/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-09-13 00:18:48 UTC
  • mto: This revision was merged to the branch mainline in revision 7106.
  • Revision ID: jelmer@jelmer.uk-20180913001848-lubi2t2lfm0bkgv2
Fix redirection handling for git.

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
        with open('file', 'rb') as f:
 
70
            self.assertEqual(b'spam', f.read())
72
71
 
73
72
    def test_revert_in_subdir(self):
74
73
        self.helper()
93
92
        """Test that revert DIRECTORY does what's expected"""
94
93
        self._prepare_rename_mod_tree()
95
94
        self.run_bzr('revert a')
96
 
        self.failUnlessExists('a/b')
97
 
        self.failUnlessExists('a/d')
98
 
        self.failIfExists('a/g')
 
95
        self.assertPathExists('a/b')
 
96
        self.assertPathExists('a/d')
 
97
        self.assertPathDoesNotExist('a/g')
99
98
        self.expectFailure(
100
99
            "j is in the delta revert applies because j was renamed too",
101
 
            self.failUnlessExists, 'j')
102
 
        self.failUnlessExists('h')
 
100
            self.assertPathExists, 'j')
 
101
        self.assertPathExists('h')
103
102
        self.run_bzr('revert f')
104
 
        self.failIfExists('j')
105
 
        self.failIfExists('h')
106
 
        self.failUnlessExists('a/d/e')
 
103
        self.assertPathDoesNotExist('j')
 
104
        self.assertPathDoesNotExist('h')
 
105
        self.assertPathExists('a/d/e')
107
106
 
108
107
    def test_revert_chatter(self):
109
108
        self._prepare_rename_mod_tree()
120
119
    def test_revert(self):
121
120
        self.run_bzr('init')
122
121
 
123
 
        file('hello', 'wt').write('foo')
 
122
        with open('hello', 'wt') as f: f.write('foo')
124
123
        self.run_bzr('add hello')
125
124
        self.run_bzr('commit -m setup hello')
126
125
 
127
 
        file('goodbye', 'wt').write('baz')
 
126
        with open('goodbye', 'wt') as f: f.write('baz')
128
127
        self.run_bzr('add goodbye')
129
128
        self.run_bzr('commit -m setup goodbye')
130
129
 
131
 
        file('hello', 'wt').write('bar')
132
 
        file('goodbye', 'wt').write('qux')
 
130
        with open('hello', 'wt') as f: f.write('bar')
 
131
        with open('goodbye', 'wt') as f: f.write('qux')
133
132
        self.run_bzr('revert hello')
134
 
        self.check_file_contents('hello', 'foo')
135
 
        self.check_file_contents('goodbye', 'qux')
 
133
        self.check_file_contents('hello', b'foo')
 
134
        self.check_file_contents('goodbye', b'qux')
136
135
        self.run_bzr('revert')
137
 
        self.check_file_contents('goodbye', 'baz')
 
136
        self.check_file_contents('goodbye', b'baz')
138
137
 
139
138
        os.mkdir('revertdir')
140
139
        self.run_bzr('add revertdir')
142
141
        os.rmdir('revertdir')
143
142
        self.run_bzr('revert')
144
143
 
145
 
        if bzrlib.osutils.has_symlinks():
 
144
        if breezy.osutils.has_symlinks():
146
145
            os.symlink('/unlikely/to/exist', 'symlink')
147
146
            self.run_bzr('add symlink')
148
147
            self.run_bzr('commit -m f')
149
148
            os.unlink('symlink')
150
149
            self.run_bzr('revert')
151
 
            self.failUnlessExists('symlink')
 
150
            self.assertPathExists('symlink')
152
151
            os.unlink('symlink')
153
152
            os.symlink('a-different-path', 'symlink')
154
153
            self.run_bzr('revert')
157
156
        else:
158
157
            self.log("skipping revert symlink tests")
159
158
 
160
 
        file('hello', 'wt').write('xyz')
 
159
        with open('hello', 'wt') as f: f.write('xyz')
161
160
        self.run_bzr('commit -m xyz hello')
162
161
        self.run_bzr('revert -r 1 hello')
163
 
        self.check_file_contents('hello', 'foo')
 
162
        self.check_file_contents('hello', b'foo')
164
163
        self.run_bzr('revert hello')
165
 
        self.check_file_contents('hello', 'xyz')
 
164
        self.check_file_contents('hello', b'xyz')
166
165
        os.chdir('revertdir')
167
166
        self.run_bzr('revert')
168
167
        os.chdir('..')
197
196
        self.run_bzr(['revert', '--forget-merges'])
198
197
        self.build_tree(['file'])
199
198
        first_rev_id = tree.commit('initial commit')
200
 
        self.build_tree_contents([('file', 'new content')])
 
199
        self.build_tree_contents([('file', b'new content')])
201
200
        existing_parents = tree.get_parent_ids()
202
 
        self.assertEquals([first_rev_id], existing_parents)
203
 
        merged_parents = existing_parents + ['merged-in-rev']
 
201
        self.assertEqual([first_rev_id], existing_parents)
 
202
        merged_parents = existing_parents + [b'merged-in-rev']
204
203
        tree.set_parent_ids(merged_parents)
205
 
        self.assertEquals(merged_parents, tree.get_parent_ids())
 
204
        self.assertEqual(merged_parents, tree.get_parent_ids())
206
205
        self.run_bzr(['revert', '--forget-merges'])
207
 
        self.assertEquals([first_rev_id], tree.get_parent_ids())
 
206
        self.assertEqual([first_rev_id], tree.get_parent_ids())
208
207
        # changed files are not reverted
209
 
        self.assertFileEqual('new content', 'file')
 
208
        self.assertFileEqual(b'new content', 'file')
210
209
        # you can give it the path of a tree
211
210
        self.run_bzr(['revert', '--forget-merges', tree.abspath('.')])