~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

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

NEWS section template into a separate file

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# Copyright (C) 2005, 2006 Canonical Ltd
 
1
# Copyright (C) 2005, 2006, 2009 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
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., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 
15
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
16
16
 
17
17
"""Tests for the 'checkout' CLI command."""
18
18
 
28
28
    errors,
29
29
    workingtree,
30
30
    )
31
 
from bzrlib.tests.blackbox import ExternalBase
 
31
from bzrlib.tests.blackbox import (
 
32
    ExternalBase,
 
33
    )
 
34
from bzrlib.tests import (
 
35
    HardlinkFeature,
 
36
    KnownFailure,
 
37
    )
32
38
 
33
39
 
34
40
class TestCheckout(ExternalBase):
35
 
    
 
41
 
36
42
    def setUp(self):
37
43
        super(TestCheckout, self).setUp()
38
44
        tree = bzrdir.BzrDir.create_standalone_workingtree('branch')
137
143
        branch.bzrdir.destroy_workingtree()
138
144
        self.run_bzr('checkout -r 0')
139
145
        self.assertEqual('null:', tree.last_revision())
 
146
 
 
147
    def test_checkout_files_from(self):
 
148
        branch = _mod_branch.Branch.open('branch')
 
149
        self.run_bzr(['checkout', 'branch', 'branch2', '--files-from',
 
150
                      'branch'])
 
151
 
 
152
    def test_checkout_hardlink(self):
 
153
        self.requireFeature(HardlinkFeature)
 
154
        source = self.make_branch_and_tree('source')
 
155
        self.build_tree(['source/file1'])
 
156
        source.add('file1')
 
157
        source.commit('added file')
 
158
        out, err = self.run_bzr(['checkout', 'source', 'target',
 
159
            '--files-from', 'source',
 
160
            '--hardlink'])
 
161
        source_stat = os.stat('source/file1')
 
162
        target_stat = os.stat('target/file1')
 
163
        same_file = (source_stat == target_stat)
 
164
        if same_file:
 
165
            pass
 
166
        else:
 
167
            # https://bugs.edge.launchpad.net/bzr/+bug/408193
 
168
            self.assertContainsRe(err, "hardlinking working copy files is "
 
169
                "not currently supported")
 
170
            raise KnownFailure("--hardlink doesn't work in formats "
 
171
                "that support content filtering (#408193)")