~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: 2016-02-01 19:56:05 UTC
  • mfrom: (6615.1.1 trunk)
  • Revision ID: pqm@pqm.ubuntu.com-20160201195605-o7rl92wf6uyum3fk
(vila) Open trunk again as 2.8b1 (Vincent Ladeuil)

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# Copyright (C) 2005, 2006 Canonical Ltd
 
1
# Copyright (C) 2005-2010 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
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)
 
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
 
 
164
    def test_non_ascii(self):
 
165
        """Test that we can output non-ascii data"""
 
166
 
 
167
        commit_message = u'Non-ascii message with character not in latin-1: \u1234'
 
168
 
 
169
        tree = self.make_branch_and_tree('.')
 
170
        self.build_tree(['a_file'])
 
171
        tree.add('a_file')
 
172
        tree.commit(commit_message)
 
173
        out, err = self.run_bzr(
 
174
            ['version-info', '--include-history'], encoding='latin-1')
 
175
 
 
176
        self.assertContainsString(out, commit_message.encode('utf-8'))
 
177
 
 
178
    def test_revision(self):
 
179
        tree = self.create_tree()
 
180
        branch = self.make_branch('just_branch')
 
181
        branch.pull(tree.branch)
 
182
 
 
183
        txt = self.run_bzr('version-info -r1 just_branch')[0]
 
184
        self.assertStartsWith(txt, 'revision-id: r1\n')