~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

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

  • Committer: Canonical.com Patch Queue Manager
  • Date: 2011-08-17 08:40:16 UTC
  • mfrom: (5642.4.6 712474-module-available)
  • Revision ID: pqm@pqm.ubuntu.com-20110817084016-600z65qzqmmt44w7
(vila) ModuleAvailableFeature don't try to imported already imported
 modules. (Vincent Ladeuil)

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# Copyright (C) 2005, 2006, 2009 Canonical Ltd
 
1
# Copyright (C) 2006, 2007, 2009, 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
28
28
    errors,
29
29
    workingtree,
30
30
    )
31
 
from bzrlib.tests.blackbox import (
32
 
    ExternalBase,
33
 
    )
34
 
from bzrlib.tests import (
 
31
from bzrlib.tests import (
 
32
    TestCaseWithTransport,
 
33
    )
 
34
from bzrlib.tests import (
 
35
    KnownFailure,
 
36
    )
 
37
from bzrlib.tests.features import (
35
38
    HardlinkFeature,
36
 
    KnownFailure,
37
39
    )
38
40
 
39
41
 
40
 
class TestCheckout(ExternalBase):
 
42
class TestCheckout(TestCaseWithTransport):
41
43
 
42
44
    def setUp(self):
43
45
        super(TestCheckout, self).setUp()
64
66
                         result.open_branch().bzrdir.root_transport.base)
65
67
 
66
68
    def test_checkout_dash_r(self):
67
 
        self.run_bzr('checkout -r -2 branch checkout')
 
69
        out, err = self.run_bzr(['checkout', '-r', '-2', 'branch', 'checkout'])
68
70
        # the working tree should now be at revision '1' with the content
69
71
        # from 1.
70
72
        result = bzrdir.BzrDir.open('checkout')
71
73
        self.assertEqual(['1'], result.open_workingtree().get_parent_ids())
72
 
        self.failIfExists('checkout/added_in_2')
 
74
        self.assertPathDoesNotExist('checkout/added_in_2')
73
75
 
74
76
    def test_checkout_light_dash_r(self):
75
 
        self.run_bzr('checkout --lightweight -r -2 branch checkout')
 
77
        out, err = self.run_bzr(['checkout','--lightweight', '-r', '-2',
 
78
            'branch', 'checkout'])
76
79
        # the working tree should now be at revision '1' with the content
77
80
        # from 1.
78
81
        result = bzrdir.BzrDir.open('checkout')
79
82
        self.assertEqual(['1'], result.open_workingtree().get_parent_ids())
80
 
        self.failIfExists('checkout/added_in_2')
 
83
        self.assertPathDoesNotExist('checkout/added_in_2')
81
84
 
82
85
    def test_checkout_reconstitutes_working_trees(self):
83
86
        # doing a 'bzr checkout' in the directory of a branch with no tree
123
126
            cmd.append('--lightweight')
124
127
        self.run_bzr('checkout source target')
125
128
        # files with unique content should be moved
126
 
        self.failUnlessExists('target/file2.moved')
 
129
        self.assertPathExists('target/file2.moved')
127
130
        # files with content matching tree should not be moved
128
 
        self.failIfExists('target/file1.moved')
 
131
        self.assertPathDoesNotExist('target/file1.moved')
129
132
 
130
133
    def test_checkout_existing_dir_heavy(self):
131
134
        self._test_checkout_existing_dir(False)
155
158
        self.build_tree(['source/file1'])
156
159
        source.add('file1')
157
160
        source.commit('added file')
158
 
        out, err = self.run_bzr(['checkout', 'source', 'target',
159
 
            '--files-from', 'source',
160
 
            '--hardlink'])
 
161
        out, err = self.run_bzr('checkout source target --hardlink')
161
162
        source_stat = os.stat('source/file1')
162
163
        target_stat = os.stat('target/file1')
163
164
        self.assertEqual(source_stat, target_stat)
 
165
 
 
166
    def test_checkout_hardlink_files_from(self):
 
167
        self.requireFeature(HardlinkFeature)
 
168
        source = self.make_branch_and_tree('source')
 
169
        self.build_tree(['source/file1'])
 
170
        source.add('file1')
 
171
        source.commit('added file')
 
172
        source.bzrdir.sprout('second')
 
173
        out, err = self.run_bzr('checkout source target --hardlink'
 
174
                                ' --files-from second')
 
175
        second_stat = os.stat('second/file1')
 
176
        target_stat = os.stat('target/file1')
 
177
        self.assertEqual(second_stat, target_stat)