~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

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

  • Committer: Danny van Heumen
  • Date: 2010-03-09 21:42:11 UTC
  • mto: (4634.139.5 2.0)
  • mto: This revision was merged to the branch mainline in revision 5160.
  • Revision ID: danny@dannyvanheumen.nl-20100309214211-iqh42x6qcikgd9p3
Reverted now-useless TODO list.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# Copyright (C) 2006-2010 Canonical Ltd
 
1
# Copyright (C) 2006 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
19
19
 
20
20
import os
21
21
 
22
 
from bzrlib import shelf
23
 
from bzrlib.tests import TestCaseWithTransport
24
 
 
25
 
 
26
 
class TestRemoveTree(TestCaseWithTransport):
 
22
from bzrlib.tests.blackbox import ExternalBase
 
23
 
 
24
 
 
25
class TestRemoveTree(ExternalBase):
27
26
 
28
27
    def setUp(self):
29
28
        super(TestRemoveTree, self).setUp()
44
43
        self.run_bzr('remove-tree branch1')
45
44
        self.failIfExists('branch1/foo')
46
45
 
47
 
    def test_remove_tree_multiple_branch_explicit(self):
48
 
        self.tree.bzrdir.sprout('branch2')
49
 
        self.run_bzr('remove-tree branch1 branch2')
50
 
        self.failIfExists('branch1/foo')
51
 
        self.failIfExists('branch2/foo')
52
 
 
53
46
    def test_remove_tree_sprouted_branch(self):
54
47
        self.tree.bzrdir.sprout('branch2')
55
48
        self.failUnlessExists('branch2/foo')
129
122
        self.run_bzr('remove-tree branch1 --force')
130
123
        self.failIfExists('branch1/foo')
131
124
        self.failUnlessExists('branch1/bar')
132
 
 
133
 
    def test_remove_tree_pending_merges(self):
134
 
        self.run_bzr(['branch', 'branch1', 'branch2'])
135
 
        self.build_tree(['branch1/bar'])
136
 
        self.tree.add('bar')
137
 
        self.tree.commit('2')
138
 
        self.failUnlessExists('branch1/bar')
139
 
        self.run_bzr(['merge', '../branch1'], working_dir='branch2')
140
 
        self.failUnlessExists('branch2/bar')
141
 
        self.run_bzr(['revert', '.'], working_dir='branch2')
142
 
        self.failIfExists('branch2/bar')
143
 
        output = self.run_bzr_error(["Working tree .* has uncommitted changes"],
144
 
                                    'remove-tree branch2', retcode=3)
145
 
 
146
 
    def test_remove_tree_pending_merges_force(self):
147
 
        self.run_bzr(['branch', 'branch1', 'branch2'])
148
 
        self.build_tree(['branch1/bar'])
149
 
        self.tree.add('bar')
150
 
        self.tree.commit('2')
151
 
        self.failUnlessExists('branch1/bar')
152
 
        self.run_bzr(['merge', '../branch1'], working_dir='branch2')
153
 
        self.failUnlessExists('branch2/bar')
154
 
        self.run_bzr(['revert', '.'], working_dir='branch2')
155
 
        self.failIfExists('branch2/bar')
156
 
        self.run_bzr('remove-tree branch2 --force')
157
 
        self.failIfExists('branch2/foo')
158
 
        self.failIfExists('branch2/bar')
159
 
 
160
 
    def test_remove_tree_shelved_changes(self):
161
 
        # https://bugs.launchpad.net/bzr/+bug/586639
162
 
        tree = self.make_branch_and_tree('.')
163
 
        creator = shelf.ShelfCreator(tree, tree.basis_tree(), [])
164
 
        self.addCleanup(creator.finalize)
165
 
        shelf_id = tree.get_shelf_manager().shelve_changes(creator, 'Foo')
166
 
        output = self.run_bzr_error(["Working tree .* has shelved changes"],
167
 
                                    'remove-tree', retcode=3)
168
 
 
169
 
    def test_remove_tree_shelved_changes_force(self):
170
 
        tree = self.make_branch_and_tree('.')
171
 
        creator = shelf.ShelfCreator(tree, tree.basis_tree(), [])
172
 
        self.addCleanup(creator.finalize)
173
 
        shelf_id = tree.get_shelf_manager().shelve_changes(creator, 'Foo')
174
 
        self.run_bzr('remove-tree --force')
175
 
        self.run_bzr('checkout')
176
 
        # Ensure shelf is empty
177
 
        self.assertIs(None, tree.get_shelf_manager().last_shelf())