~abentley/bzrtools/bzrtools.dev

« back to all changes in this revision

Viewing changes to tests/blackbox.py

  • Committer: Aaron Bentley
  • Date: 2008-02-25 07:19:24 UTC
  • mfrom: (605.1.1 bzrtools.mongrel)
  • Revision ID: aaron@aaronbentley.com-20080225071924-2gskmt4ixo6n0nuo
Add support for hard-link in cbranch

Show diffs side-by-side

added added

removed removed

Lines of Context:
2
2
import os.path
3
3
from unittest import makeSuite
4
4
 
5
 
from bzrlib import branch
6
 
from bzrlib.tests import TestCaseWithTransport
 
5
from bzrlib import branch, osutils, workingtree
 
6
from bzrlib.config import LocationConfig
 
7
from bzrlib.transport import get_transport
 
8
from bzrlib.tests import TestCaseWithTransport, HardlinkFeature
7
9
 
8
10
 
9
11
class TestBzrTools(TestCaseWithTransport):
164
166
        self.run_bzr('import source-0.1 import5')
165
167
        self.failUnlessExists('import5/src/myfile')
166
168
 
 
169
    def test_cbranch(self):
 
170
        source = self.make_branch_and_tree('source')
 
171
        config = LocationConfig(osutils.abspath('target'))
 
172
        config.set_user_option('cbranch_target', 'target_branch')
 
173
        self.run_bzr('cbranch source target')
 
174
        checkout = workingtree.WorkingTree.open('target')
 
175
        self.assertEqual(checkout.branch.base,
 
176
                         get_transport('target').base)
 
177
        self.assertEqual(checkout.branch.get_master_branch().base,
 
178
                         get_transport('target_branch').base)
 
179
        self.assertEqual(checkout.branch.get_master_branch().get_parent(),
 
180
                         get_transport('source').base)
 
181
 
 
182
    def test_cbranch_hardlink(self):
 
183
        self.requireFeature(HardlinkFeature)
 
184
        source = self.make_branch_and_tree('source')
 
185
        self.build_tree(['source/file'])
 
186
        source.add('file')
 
187
        source.commit('added file')
 
188
        config = LocationConfig(osutils.abspath('target'))
 
189
        config.set_user_option('cbranch_target', 'target_branch')
 
190
        self.run_bzr('cbranch source target --lightweight')
 
191
        checkout = workingtree.WorkingTree.open('target')
 
192
        self.assertNotEqual(os.lstat(checkout.abspath('file')).st_ino,
 
193
                            os.lstat(source.abspath('file')).st_ino)
 
194
        config = LocationConfig(osutils.abspath('target2'))
 
195
        config.set_user_option('cbranch_target', 'target_branch2')
 
196
        self.run_bzr('cbranch source target2 --lightweight --hardlink')
 
197
        checkout2 = workingtree.WorkingTree.open('target2')
 
198
        self.assertEqual(os.lstat(checkout2.abspath('file')).st_ino,
 
199
                         os.lstat(source.abspath('file')).st_ino)
 
200
 
167
201
def test_suite():
168
202
    return makeSuite(TestBzrTools)