~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

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

  • Committer: Patch Queue Manager
  • Date: 2015-12-17 18:39:00 UTC
  • mfrom: (6606.1.2 fix-float)
  • Revision ID: pqm@pqm.ubuntu.com-20151217183900-0719du2uv1kwu3lc
(vila) Inline testtools private method to fix an issue in xenial (the
 private implementation has changed in an backward incompatible way).
 (Jelmer Vernooij)

Show diffs side-by-side

added added

removed removed

Lines of Context:
19
19
import os
20
20
 
21
21
from bzrlib.tests import TestCaseWithTransport
 
22
from bzrlib.version_info_formats import VersionInfoBuilder
22
23
 
23
24
 
24
25
class TestVersionInfo(TestCaseWithTransport):
36
37
        self.build_tree(['branch/b'])
37
38
        wt.add('b')
38
39
        wt.commit('adding b', rev_id='r2')
39
 
 
40
 
        self.revisions = wt.branch.revision_history()
41
40
        return wt
42
41
 
43
42
    def test_basic(self):
44
 
        self.create_tree()
 
43
        wt = self.create_tree()
45
44
 
46
45
        txt = self.run_bzr('version-info branch')[0]
47
46
        self.assertContainsRe(txt, 'date:')
48
47
        self.assertContainsRe(txt, 'build-date:')
49
48
        self.assertContainsRe(txt, 'revno: 2')
50
 
        self.assertContainsRe(txt, 'revision-id: ' + self.revisions[-1])
 
49
        self.assertContainsRe(txt, 'revision-id: ' + wt.branch.last_revision())
51
50
 
52
51
    def test_all(self):
53
52
        """'--all' includes clean, revision history, and file revisions"""
54
 
        self.create_tree()
 
53
        wt = self.create_tree()
55
54
        txt = self.run_bzr('version-info branch --all')[0]
56
55
        self.assertContainsRe(txt, 'date:')
57
56
        self.assertContainsRe(txt, 'revno: 2')
58
 
        self.assertContainsRe(txt, 'revision-id: ' + self.revisions[-1])
 
57
        self.assertContainsRe(txt, 'revision-id: ' + wt.branch.last_revision())
59
58
        self.assertContainsRe(txt, 'clean: True')
60
59
        self.assertContainsRe(txt, 'revisions:')
61
 
        for rev_id in self.revisions:
 
60
        for rev_id in wt.branch.repository.all_revision_ids():
62
61
            self.assertContainsRe(txt, 'id: ' + rev_id)
63
62
        self.assertContainsRe(txt, 'message: adding a')
64
63
        self.assertContainsRe(txt, 'message: adding b')
151
150
            '"{revno} {branch_nick} {clean}\n" branch')
152
151
        self.assertEqual("2 branch 0\n", out)
153
152
        self.assertEqual("", err)
154
 
    
 
153
 
 
154
    def test_custom_no_clean_in_template(self):
 
155
        def should_not_be_called(self):
 
156
            raise AssertionError("Method on %r should not have been used" % (self,))
 
157
        self.overrideAttr(VersionInfoBuilder, "_extract_file_revisions",
 
158
                          should_not_be_called)
 
159
        self.create_tree()
 
160
        out, err = self.run_bzr('version-info --custom --template=r{revno} branch')
 
161
        self.assertEqual("r2", out)
 
162
        self.assertEqual("", err)
 
163
 
155
164
    def test_non_ascii(self):
156
165
        """Test that we can output non-ascii data"""
157
 
        
 
166
 
158
167
        commit_message = u'Non-ascii message with character not in latin-1: \u1234'
159
 
        
 
168
 
160
169
        tree = self.make_branch_and_tree('.')
161
170
        self.build_tree(['a_file'])
162
171
        tree.add('a_file')
163
172
        tree.commit(commit_message)
164
173
        out, err = self.run_bzr(
165
174
            ['version-info', '--include-history'], encoding='latin-1')
166
 
        
 
175
 
167
176
        self.assertContainsString(out, commit_message.encode('utf-8'))
168
177
 
 
178
    def test_revision(self):
 
179
        tree = self.create_tree()
 
180
        branch = self.make_branch('just_branch')
 
181
        branch.pull(tree.branch)
169
182
 
 
183
        txt = self.run_bzr('version-info -r1 just_branch')[0]
 
184
        self.assertStartsWith(txt, 'revision-id: r1\n')