~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/test_commit_merge.py

  • Committer: John Arbash Meinel
  • Date: 2007-03-14 20:15:52 UTC
  • mto: (2353.4.2 locking)
  • mto: This revision was merged to the branch mainline in revision 2360.
  • Revision ID: john@arbash-meinel.com-20070314201552-bjtfua57456dviep
Update the lock code and test code so that if more than one
lock implementation is available, they will both be tested.

It is quite a bit of overhead, for a case where we are likely to only have 1
real lock implementation per platform, but hey, for now we have 2.

Show diffs side-by-side

added added

removed removed

Lines of Context:
12
12
#
13
13
# You should have received a copy of the GNU General Public License
14
14
# along with this program; if not, write to the Free Software
15
 
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
 
15
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
16
16
 
17
17
 
18
18
import os
19
19
import shutil
20
20
 
21
 
from bzrlib import check, osutils
 
21
from bzrlib.tests import TestCaseWithTransport
22
22
from bzrlib.branch import Branch
23
23
from bzrlib.errors import PointlessCommit, BzrError
24
 
from bzrlib.tests import (
25
 
    SymlinkFeature,
26
 
    TestCaseWithTransport,
27
 
    )
28
24
from bzrlib.tests.test_revision import make_branches
 
25
from bzrlib import osutils
29
26
 
30
27
 
31
28
class TestCommitMerge(TestCaseWithTransport):
42
39
        bx = wtx.branch
43
40
        wty = wtx.bzrdir.sprout('y').open_workingtree()
44
41
        by = wty.branch
45
 
 
 
42
        
46
43
        wtx.commit('commit one', rev_id='x@u-0-1', allow_pointless=True)
47
44
        wty.commit('commit two', rev_id='y@u-0-1', allow_pointless=True)
48
45
 
49
 
        by.fetch(bx)
 
46
        self.assertEqual((1, []), by.fetch(bx))
50
47
        # just having the history there does nothing
51
48
        self.assertRaises(PointlessCommit,
52
49
                          wty.commit,
89
86
                          wty.commit,
90
87
                          'partial commit', allow_pointless=False,
91
88
                          specific_files=['ecks'])
92
 
 
 
89
        
93
90
        wty.commit('merge from x', rev_id='y@u-0-2', allow_pointless=False)
94
91
        tree = by.repository.revision_tree('y@u-0-2')
95
92
        inv = tree.inventory
96
93
        self.assertEquals(inv['ecks-id'].revision, 'x@u-0-1')
97
94
        self.assertEquals(inv['why-id'].revision, 'y@u-0-1')
98
95
 
99
 
        check.check_dwim(bx.base, False, True, True)
100
 
        check.check_dwim(by.base, False, True, True)
 
96
        bx.check()
 
97
        by.check()
 
98
        bx.repository.check([bx.last_revision()])
 
99
        by.repository.check([by.last_revision()])
101
100
 
102
101
    def test_merge_with_symlink(self):
103
 
        self.requireFeature(SymlinkFeature)
 
102
        if not osutils.has_symlinks():
 
103
            raise TestSkipped('Symlinks are not supported on this platform')
104
104
        tree_a = self.make_branch_and_tree('tree_a')
105
105
        os.symlink('target', osutils.pathjoin('tree_a', 'link'))
106
106
        tree_a.add('link')