~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

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

  • Committer: Jelmer Vernooij
  • Date: 2012-02-20 12:19:29 UTC
  • mfrom: (6437.23.11 2.5)
  • mto: (6581.1.1 trunk)
  • mto: This revision was merged to the branch mainline in revision 6582.
  • Revision ID: jelmer@samba.org-20120220121929-7ni2psvjoatm1yp4
Merge bzr/2.5.

Show diffs side-by-side

added added

removed removed

Lines of Context:
21
21
import os
22
22
 
23
23
from bzrlib import tests
 
24
from bzrlib.tests.matchers import ContainsNoVfsCalls
 
25
 
24
26
 
25
27
class TestRevno(tests.TestCaseWithTransport):
26
28
 
34
36
        bzr('init')
35
37
        self.assertEquals(int(bzr('revno')), 0)
36
38
 
37
 
        open('foo', 'wb').write('foo\n')
 
39
        with open('foo', 'wb') as f: f.write('foo\n')
38
40
        bzr('add foo')
39
41
        bzr('commit -m foo')
40
42
        self.assertEquals(int(bzr('revno')), 1)
117
119
        out, err = self.run_bzr('revno --tree checkout_b')
118
120
        self.assertEqual('', err)
119
121
        self.assertEqual('???\n', out)
 
122
 
 
123
    def test_revno_with_revision(self):
 
124
        wt = self.make_branch_and_tree('.')
 
125
        revid1 = wt.commit('rev1')
 
126
        revid2 = wt.commit('rev2')
 
127
 
 
128
        out, err = self.run_bzr('revno -r-2 .')
 
129
        self.assertEqual('1\n', out)
 
130
 
 
131
        out, err = self.run_bzr('revno -rrevid:%s .' % revid1)
 
132
        self.assertEqual('1\n', out)
 
133
 
 
134
    def test_revno_and_tree_mutually_exclusive(self):
 
135
        wt = self.make_branch_and_tree('.')
 
136
        out, err = self.run_bzr('revno -r-2 --tree .', retcode=3)
 
137
        self.assertEqual('', out)
 
138
        self.assertEqual(
 
139
            'bzr: ERROR: --tree and --revision can not be used together\n',
 
140
            err)
 
141
 
 
142
 
 
143
class TestSmartServerRevno(tests.TestCaseWithTransport):
 
144
 
 
145
    def test_simple_branch_revno(self):
 
146
        self.setup_smart_server_with_call_log()
 
147
        t = self.make_branch_and_tree('branch')
 
148
        self.build_tree_contents([('branch/foo', 'thecontents')])
 
149
        t.add("foo")
 
150
        revid = t.commit("message")
 
151
        self.reset_smart_call_log()
 
152
        out, err = self.run_bzr(['revno', self.get_url('branch')])
 
153
        # This figure represent the amount of work to perform this use case. It
 
154
        # is entirely ok to reduce this number if a test fails due to rpc_count
 
155
        # being too low. If rpc_count increases, more network roundtrips have
 
156
        # become necessary for this use case. Please do not adjust this number
 
157
        # upwards without agreement from bzr's network support maintainers.
 
158
        self.assertThat(self.hpss_calls, ContainsNoVfsCalls)
 
159
        self.assertLength(1, self.hpss_connections)
 
160
        self.assertLength(6, self.hpss_calls)
 
161
 
 
162
    def test_simple_branch_revno_lookup(self):
 
163
        self.setup_smart_server_with_call_log()
 
164
        t = self.make_branch_and_tree('branch')
 
165
        self.build_tree_contents([('branch/foo', 'thecontents')])
 
166
        t.add("foo")
 
167
        revid1 = t.commit("message")
 
168
        revid2 = t.commit("message")
 
169
        self.reset_smart_call_log()
 
170
        out, err = self.run_bzr(['revno', '-rrevid:' + revid1,
 
171
            self.get_url('branch')])
 
172
        # This figure represent the amount of work to perform this use case. It
 
173
        # is entirely ok to reduce this number if a test fails due to rpc_count
 
174
        # being too low. If rpc_count increases, more network roundtrips have
 
175
        # become necessary for this use case. Please do not adjust this number
 
176
        # upwards without agreement from bzr's network support maintainers.
 
177
        self.assertLength(5, self.hpss_calls)
 
178
        self.assertLength(1, self.hpss_connections)
 
179
        self.assertThat(self.hpss_calls, ContainsNoVfsCalls)