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

  • Committer: Jelmer Vernooij
  • Date: 2020-03-22 01:35:14 UTC
  • mfrom: (7490.7.6 work)
  • mto: This revision was merged to the branch mainline in revision 7499.
  • Revision ID: jelmer@jelmer.uk-20200322013514-7vw1ntwho04rcuj3
merge lp:brz/3.1.

Show diffs side-by-side

added added

removed removed

Lines of Context:
27
27
 
28
28
    def test_cat(self):
29
29
        tree = self.make_branch_and_tree('branch')
30
 
        self.build_tree_contents([('branch/a', 'foo\n')])
 
30
        self.build_tree_contents([('branch/a', b'foo\n')])
31
31
        tree.add('a')
32
32
        # 'brz cat' without an option should cat the last revision
33
33
        self.run_bzr(['cat', 'a'], retcode=3, working_dir='branch')
34
34
 
35
35
        tree.commit(message='1')
36
 
        self.build_tree_contents([('branch/a', 'baz\n')])
 
36
        self.build_tree_contents([('branch/a', b'baz\n')])
37
37
 
38
38
        self.assertEqual('foo\n',
39
 
                          self.run_bzr(['cat', 'a'], working_dir='branch')[0])
 
39
                         self.run_bzr(['cat', 'a'], working_dir='branch')[0])
40
40
 
41
41
        # On Windows, we used to have a bug where newlines got changed into
42
42
        # crlf, whereas cat ought to write out the file exactly as it's
43
43
        # recorded (by default.)  That problem can't be reproduced in-process,
44
 
        # so we need just one test here that 
45
 
        self.assertEqual('foo\n',
46
 
                          self.run_bzr_subprocess(['cat', 'a'],
47
 
                                                  working_dir='branch')[0])
 
44
        # so we need just one test here that
 
45
        self.assertEqual(b'foo\n',
 
46
                         self.run_bzr_subprocess(['cat', 'a'],
 
47
                                                 working_dir='branch')[0])
48
48
 
49
49
        tree.commit(message='2')
50
50
        self.assertEqual(
59
59
        rev_id = tree.branch.last_revision()
60
60
 
61
61
        self.assertEqual(
62
 
            'baz\n', self.run_bzr(['cat', 'a', '-r', 'revid:%s' % rev_id],
63
 
                                  working_dir='branch')[0])
 
62
            'baz\n', self.run_bzr(
 
63
                ['cat', 'a', '-r', 'revid:%s' % rev_id.decode('utf-8')],
 
64
                working_dir='branch')[0])
64
65
 
65
66
        self.assertEqual('foo\n',
66
 
                          self.run_bzr(['cat', 'branch/a',
67
 
                                        '-r', 'revno:1:branch'])[0])
 
67
                         self.run_bzr(['cat', 'branch/a',
 
68
                                       '-r', 'revno:1:branch'])[0])
68
69
        self.run_bzr(['cat', 'a'], retcode=3)
69
70
        self.run_bzr(['cat', 'a', '-r', 'revno:1:branch-that-does-not-exist'],
70
71
                     retcode=3)
77
78
        # current trees later in the test case
78
79
        # a-rev-tree is special because it appears in both the revision
79
80
        # tree and the working tree
80
 
        self.build_tree_contents([('a-rev-tree', 'foo\n'),
81
 
            ('c-rev', 'baz\n'), ('d-rev', 'bar\n'), ('e-rev', 'qux\n')])
82
 
        tree.lock_write()
83
 
        try:
 
81
        self.build_tree_contents([('a-rev-tree', b'foo\n'),
 
82
                                  ('c-rev', b'baz\n'), ('d-rev', b'bar\n'), ('e-rev', b'qux\n')])
 
83
        with tree.lock_write():
84
84
            tree.add(['a-rev-tree', 'c-rev', 'd-rev', 'e-rev'])
85
 
            tree.commit('add test files', rev_id='first')
 
85
            tree.commit('add test files', rev_id=b'first')
86
86
            # remove currently uses self._write_inventory -
87
87
            # work around that for now.
88
88
            tree.flush()
90
90
            tree.rename_one('a-rev-tree', 'b-tree')
91
91
            tree.rename_one('c-rev', 'a-rev-tree')
92
92
            tree.rename_one('e-rev', 'old-rev')
93
 
            self.build_tree_contents([('e-rev', 'new\n')])
 
93
            self.build_tree_contents([('e-rev', b'new\n')])
94
94
            tree.add(['e-rev'])
95
 
        finally:
96
 
            # calling brz as another process require free lock on win32
97
 
            tree.unlock()
98
95
 
99
96
        # 'b-tree' is not present in the old tree.
100
97
        self.run_bzr_error(["^brz: ERROR: u?'b-tree' "
103
100
 
104
101
        # get to the old file automatically
105
102
        out, err = self.run_bzr('cat d-rev')
 
103
        self.assertEqual('', err)
106
104
        self.assertEqual('bar\n', out)
107
 
        self.assertEqual('', err)
108
105
 
109
106
        out, err = \
110
 
                self.run_bzr('cat a-rev-tree --name-from-revision')
 
107
            self.run_bzr('cat a-rev-tree --name-from-revision')
111
108
        self.assertEqual('foo\n', out)
112
109
        self.assertEqual('', err)
113
110
 
165
162
        from ...tree import Tree
166
163
        wt = self.make_branch_and_tree('.')
167
164
        self.build_tree_contents([
168
 
            ('README', "junk\nline 1 of README\nline 2 of README\n"),
 
165
            ('README', b"junk\nline 1 of README\nline 2 of README\n"),
169
166
            ])
170
167
        wt.add('README')
171
168
        wt.commit('Making sure there is a basis_tree available')
172
169
        url = self.get_readonly_url() + '/README'
173
170
        real_content_filter_stack = Tree._content_filter_stack
 
171
 
174
172
        def _custom_content_filter_stack(tree, path=None, file_id=None):
175
173
            return _stack_2
176
174
        Tree._content_filter_stack = _custom_content_filter_stack
223
221
    def test_simple_branch_cat(self):
224
222
        self.setup_smart_server_with_call_log()
225
223
        t = self.make_branch_and_tree('branch')
226
 
        self.build_tree_contents([('branch/foo', 'thecontents')])
 
224
        self.build_tree_contents([('branch/foo', b'thecontents')])
227
225
        t.add("foo")
228
226
        t.commit("message")
229
227
        self.reset_smart_call_log()