~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/blackbox/test_cat.py

  • Committer: Canonical.com Patch Queue Manager
  • Date: 2011-06-30 18:28:17 UTC
  • mfrom: (5967.10.2 test-cat)
  • Revision ID: pqm@pqm.ubuntu.com-20110630182817-83a5q9r9rxfkdn8r
(mbp) don't use subprocesses for testing cat (Martin Pool)

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# Copyright (C) 2005-2010 Canonical Ltd
2
 
# -*- coding: utf-8 -*-
 
1
# Copyright (C) 2005-2011 Canonical Ltd
3
2
#
4
3
# This program is free software; you can redistribute it and/or modify
5
4
# it under the terms of the GNU General Public License as published by
38
37
        tree.commit(message='1')
39
38
        self.build_tree_contents([('a', 'baz\n')])
40
39
 
41
 
        # We use run_bzr_subprocess rather than run_bzr here so that we can
42
 
        # test mangling of line-endings on Windows.
 
40
        self.assertEquals(self.run_bzr(['cat', 'a'])[0], 'foo\n')
 
41
 
 
42
        # On Windows, we used to have a bug where newlines got changed into
 
43
        # crlf, whereas cat ought to write out the file exactly as it's
 
44
        # recorded (by default.)  That problem can't be reproduced in-process,
 
45
        # so we need just one test here that 
43
46
        self.assertEquals(self.run_bzr_subprocess(['cat', 'a'])[0], 'foo\n')
44
47
 
45
48
        tree.commit(message='2')
46
 
        self.assertEquals(self.run_bzr_subprocess(['cat', 'a'])[0], 'baz\n')
47
 
        self.assertEquals(self.run_bzr_subprocess(
 
49
        self.assertEquals(self.run_bzr(['cat', 'a'])[0], 'baz\n')
 
50
        self.assertEquals(self.run_bzr(
48
51
            ['cat', 'a', '-r', '1'])[0],
49
52
            'foo\n')
50
 
        self.assertEquals(self.run_bzr_subprocess(
 
53
        self.assertEquals(self.run_bzr(
51
54
            ['cat', 'a', '-r', '-1'])[0],
52
55
            'baz\n')
53
56
 
54
57
        rev_id = tree.branch.last_revision()
55
58
 
56
 
        self.assertEquals(self.run_bzr_subprocess(
 
59
        self.assertEquals(self.run_bzr(
57
60
            ['cat', 'a', '-r', 'revid:%s' % rev_id])[0],
58
61
            'baz\n')
59
62
 
60
63
        os.chdir('..')
61
64
 
62
 
        self.assertEquals(self.run_bzr_subprocess(
 
65
        self.assertEquals(self.run_bzr(
63
66
            ['cat', 'branch/a', '-r', 'revno:1:branch'])[0],
64
67
            'foo\n')
65
68
        self.run_bzr(['cat', 'a'], retcode=3)
100
103
                           'cat b-tree --name-from-revision')
101
104
 
102
105
        # get to the old file automatically
103
 
        out, err = self.run_bzr_subprocess('cat d-rev')
 
106
        out, err = self.run_bzr('cat d-rev')
104
107
        self.assertEqual('bar\n', out)
105
108
        self.assertEqual('', err)
106
109
 
107
110
        out, err = \
108
 
                self.run_bzr_subprocess('cat a-rev-tree --name-from-revision')
 
111
                self.run_bzr('cat a-rev-tree --name-from-revision')
109
112
        self.assertEqual('foo\n', out)
110
113
        self.assertEqual('', err)
111
114
 
112
 
        out, err = self.run_bzr_subprocess('cat a-rev-tree')
 
115
        out, err = self.run_bzr('cat a-rev-tree')
113
116
        self.assertEqual('baz\n', out)
114
117
        self.assertEqual('', err)
115
118
 
116
119
        # the actual file-id for e-rev doesn't exist in the old tree
117
 
        out, err = self.run_bzr_subprocess('cat e-rev -rrevid:first')
 
120
        out, err = self.run_bzr('cat e-rev -rrevid:first')
118
121
        self.assertEqual('qux\n', out)
119
122
        self.assertEqual('', err)
120
123
 
125
128
        wt.commit('Making sure there is a basis_tree available')
126
129
 
127
130
        url = self.get_readonly_url() + '/README'
128
 
        out, err = self.run_bzr_subprocess(['cat', url])
 
131
        out, err = self.run_bzr(['cat', url])
129
132
        self.assertEqual('contents of README\n', out)
130
133
 
131
134
    def test_cat_branch_revspec(self):
136
139
        wt = self.make_branch_and_tree('b')
137
140
        os.chdir('b')
138
141
 
139
 
        out, err = self.run_bzr_subprocess(
 
142
        out, err = self.run_bzr(
140
143
            ['cat', '-r', 'branch:../a', 'README'])
141
144
        self.assertEqual('contents of a/README\n', out)
142
145
 
148
151
        url = self.get_readonly_url() + '/README'
149
152
 
150
153
        # Test unfiltered output
151
 
        out, err = self.run_bzr_subprocess(['cat', url])
 
154
        out, err = self.run_bzr(['cat', url])
152
155
        self.assertEqual('contents of README\n', out)
153
156
 
154
157
        # Test --filters option is legal but has no impact if no filters
155
 
        out, err = self.run_bzr_subprocess(['cat', '--filters', url])
 
158
        out, err = self.run_bzr(['cat', '--filters', url])
156
159
        self.assertEqual('contents of README\n', out)
157
160
 
158
161
    def test_cat_filters_applied(self):
192
195
        wt.branch.bzrdir.destroy_workingtree()
193
196
 
194
197
        url = self.get_readonly_url() + '/README'
195
 
        out, err = self.run_bzr_subprocess(['cat', url])
 
198
        out, err = self.run_bzr(['cat', url])
196
199
        self.assertEqual('contents of README\n', out)
197
200
 
198
201
    def test_cat_nonexistent_branch(self):
206
209
        wt.add('README')
207
210
        wt.commit('Making sure there is a basis_tree available')
208
211
 
209
 
        out, err = self.run_bzr_subprocess(['cat', '--directory=a', 'README'])
 
212
        out, err = self.run_bzr(['cat', '--directory=a', 'README'])
210
213
        self.assertEqual('contents of a/README\n', out)
211
214
 
212
215
    def test_cat_remote_directory(self):
216
219
        wt.commit('Making sure there is a basis_tree available')
217
220
 
218
221
        url = self.get_readonly_url() + '/a'
219
 
        out, err = self.run_bzr_subprocess(['cat', '-d', url, 'README'])
 
222
        out, err = self.run_bzr(['cat', '-d', url, 'README'])
220
223
        self.assertEqual('contents of a/README\n', out)