~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/test_commit.py

  • Committer: Canonical.com Patch Queue Manager
  • Date: 2011-04-18 04:55:00 UTC
  • mfrom: (5784.2.1 754188-apport-test)
  • Revision ID: pqm@pqm.ubuntu.com-20110418045500-ce6lkgyiq7f47q43
(mbp) Rewrite test_report_bug_legacy away from using doctest (see bug
 764188) (Martin Pool)

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# Copyright (C) 2005-2010 Canonical Ltd
 
1
# Copyright (C) 2005-2011 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
21
21
from bzrlib import (
22
22
    bzrdir,
23
23
    errors,
24
 
    lockdir,
25
 
    osutils,
26
 
    tests,
27
24
    )
28
25
from bzrlib.branch import Branch
29
 
from bzrlib.bzrdir import BzrDir, BzrDirMetaFormat1
 
26
from bzrlib.bzrdir import BzrDirMetaFormat1
30
27
from bzrlib.commit import Commit, NullCommitReporter
31
28
from bzrlib.config import BranchConfig
32
29
from bzrlib.errors import (PointlessCommit, BzrError, SigningFailed,
33
30
                           LockContention)
34
 
from bzrlib.tests import SymlinkFeature, TestCaseWithTransport
35
 
from bzrlib.workingtree import WorkingTree
 
31
from bzrlib.tests import (
 
32
    SymlinkFeature,
 
33
    TestCaseWithTransport,
 
34
    test_foreign,
 
35
    )
36
36
 
37
37
 
38
38
# TODO: Test commit with some added, and added-but-missing files
107
107
        tree2.unlock()
108
108
        self.assertEqual('version 2', text)
109
109
 
 
110
    def test_commit_lossy_native(self):
 
111
        """Attempt a lossy commit to a native branch."""
 
112
        wt = self.make_branch_and_tree('.')
 
113
        b = wt.branch
 
114
        file('hello', 'w').write('hello world')
 
115
        wt.add('hello')
 
116
        revid = wt.commit(message='add hello', rev_id='revid', lossy=True)
 
117
        self.assertEquals('revid', revid)
 
118
 
 
119
    def test_commit_lossy_foreign(self):
 
120
        """Attempt a lossy commit to a foreign branch."""
 
121
        test_foreign.register_dummy_foreign_for_test(self)
 
122
        wt = self.make_branch_and_tree('.',
 
123
            format=test_foreign.DummyForeignVcsDirFormat())
 
124
        b = wt.branch
 
125
        file('hello', 'w').write('hello world')
 
126
        wt.add('hello')
 
127
        revid = wt.commit(message='add hello', lossy=True,
 
128
            timestamp=1302659388, timezone=0)
 
129
        self.assertEquals('dummy-v1:1302659388.0-0-UNKNOWN', revid)
 
130
 
 
131
    def test_commit_bound_lossy_foreign(self):
 
132
        """Attempt a lossy commit to a bzr branch bound to a foreign branch."""
 
133
        test_foreign.register_dummy_foreign_for_test(self)
 
134
        foreign_branch = self.make_branch('foreign',
 
135
            format=test_foreign.DummyForeignVcsDirFormat())
 
136
        wt = foreign_branch.create_checkout("local")
 
137
        b = wt.branch
 
138
        file('local/hello', 'w').write('hello world')
 
139
        wt.add('hello')
 
140
        revid = wt.commit(message='add hello', lossy=True,
 
141
            timestamp=1302659388, timezone=0)
 
142
        self.assertEquals('dummy-v1:1302659388.0-0-0', revid)
 
143
        self.assertEquals('dummy-v1:1302659388.0-0-0',
 
144
            foreign_branch.last_revision())
 
145
        self.assertEquals('dummy-v1:1302659388.0-0-0',
 
146
            wt.branch.last_revision())
 
147
 
110
148
    def test_missing_commit(self):
111
149
        """Test a commit with a missing file"""
112
150
        wt = self.make_branch_and_tree('.')
353
391
    def test_strict_commit_without_unknowns(self):
354
392
        """Try and commit with no unknown files and strict = True,
355
393
        should work."""
356
 
        from bzrlib.errors import StrictCommitFailed
357
394
        wt = self.make_branch_and_tree('.')
358
395
        b = wt.branch
359
396
        file('hello', 'w').write('hello world')
385
422
        wt = self.make_branch_and_tree('.')
386
423
        branch = wt.branch
387
424
        wt.commit("base", allow_pointless=True, rev_id='A')
388
 
        self.failIf(branch.repository.has_signature_for_revision_id('A'))
 
425
        self.assertFalse(branch.repository.has_signature_for_revision_id('A'))
389
426
        try:
390
427
            from bzrlib.testament import Testament
391
428
            # monkey patch gpg signing mechanism
409
446
        wt = self.make_branch_and_tree('.')
410
447
        branch = wt.branch
411
448
        wt.commit("base", allow_pointless=True, rev_id='A')
412
 
        self.failIf(branch.repository.has_signature_for_revision_id('A'))
 
449
        self.assertFalse(branch.repository.has_signature_for_revision_id('A'))
413
450
        try:
414
 
            from bzrlib.testament import Testament
415
451
            # monkey patch gpg signing mechanism
416
452
            bzrlib.gpg.GPGStrategy = bzrlib.gpg.DisabledGPGStrategy
417
453
            config = MustSignConfig(branch)
423
459
                              working_tree=wt)
424
460
            branch = Branch.open(self.get_url('.'))
425
461
            self.assertEqual(branch.revision_history(), ['A'])
426
 
            self.failIf(branch.repository.has_revision('B'))
 
462
            self.assertFalse(branch.repository.has_revision('B'))
427
463
        finally:
428
464
            bzrlib.gpg.GPGStrategy = oldstrategy
429
465