~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

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

  • Committer: Canonical.com Patch Queue Manager
  • Date: 2010-09-01 08:02:42 UTC
  • mfrom: (5390.3.3 faster-revert-593560)
  • Revision ID: pqm@pqm.ubuntu.com-20100901080242-esg62ody4frwmy66
(spiv) Avoid repeatedly calling self.target.all_file_ids() in
 InterTree.iter_changes. (Andrew Bennetts)

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# Copyright (C) 2005-2010 Canonical Ltd
 
1
# Copyright (C) 2005, 2006 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
23
22
 
24
23
 
25
24
class TestVersionInfo(TestCaseWithTransport):
37
36
        self.build_tree(['branch/b'])
38
37
        wt.add('b')
39
38
        wt.commit('adding b', rev_id='r2')
 
39
 
 
40
        self.revisions = wt.branch.revision_history()
40
41
        return wt
41
42
 
42
43
    def test_basic(self):
43
 
        wt = self.create_tree()
 
44
        self.create_tree()
44
45
 
45
46
        txt = self.run_bzr('version-info branch')[0]
46
47
        self.assertContainsRe(txt, 'date:')
47
48
        self.assertContainsRe(txt, 'build-date:')
48
49
        self.assertContainsRe(txt, 'revno: 2')
49
 
        self.assertContainsRe(txt, 'revision-id: ' + wt.branch.last_revision())
 
50
        self.assertContainsRe(txt, 'revision-id: ' + self.revisions[-1])
50
51
 
51
52
    def test_all(self):
52
53
        """'--all' includes clean, revision history, and file revisions"""
53
 
        wt = self.create_tree()
 
54
        self.create_tree()
54
55
        txt = self.run_bzr('version-info branch --all')[0]
55
56
        self.assertContainsRe(txt, 'date:')
56
57
        self.assertContainsRe(txt, 'revno: 2')
57
 
        self.assertContainsRe(txt, 'revision-id: ' + wt.branch.last_revision())
 
58
        self.assertContainsRe(txt, 'revision-id: ' + self.revisions[-1])
58
59
        self.assertContainsRe(txt, 'clean: True')
59
60
        self.assertContainsRe(txt, 'revisions:')
60
 
        for rev_id in wt.branch.repository.all_revision_ids():
 
61
        for rev_id in self.revisions:
61
62
            self.assertContainsRe(txt, 'id: ' + rev_id)
62
63
        self.assertContainsRe(txt, 'message: adding a')
63
64
        self.assertContainsRe(txt, 'message: adding b')
150
151
            '"{revno} {branch_nick} {clean}\n" branch')
151
152
        self.assertEqual("2 branch 0\n", out)
152
153
        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')