~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

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

  • Committer: Tarmac
  • Author(s): Vincent Ladeuil
  • Date: 2017-01-30 14:42:05 UTC
  • mfrom: (6620.1.1 trunk)
  • Revision ID: tarmac-20170130144205-r8fh2xpmiuxyozpv
Merge  2.7 into trunk including fix for bug #1657238 [r=vila]

Show diffs side-by-side

added added

removed removed

Lines of Context:
23
23
 
24
24
from bzrlib import ignores
25
25
from bzrlib.tests import TestCaseWithTransport
 
26
from bzrlib.tests.script import run_script
26
27
 
27
28
 
28
29
class TestBzrTools(TestCaseWithTransport):
41
42
        self.run_bzr('ignore *.pyc')
42
43
        self.touch('name')
43
44
        self.touch('name~')
44
 
        self.failUnlessExists('name~')
 
45
        self.assertPathExists('name~')
45
46
        self.touch('name.pyc')
46
47
        self.run_bzr('clean-tree --force')
47
 
        self.failUnlessExists('name~')
48
 
        self.failIfExists('name')
 
48
        self.assertPathExists('name~')
 
49
        self.assertPathDoesNotExist('name')
49
50
        self.touch('name')
50
51
        self.run_bzr('clean-tree --detritus --force')
51
 
        self.failUnlessExists('name')
52
 
        self.failIfExists('name~')
53
 
        self.failUnlessExists('name.pyc')
 
52
        self.assertPathExists('name')
 
53
        self.assertPathDoesNotExist('name~')
 
54
        self.assertPathExists('name.pyc')
54
55
        self.run_bzr('clean-tree --ignored --force')
55
 
        self.failUnlessExists('name')
56
 
        self.failIfExists('name.pyc')
 
56
        self.assertPathExists('name')
 
57
        self.assertPathDoesNotExist('name.pyc')
57
58
        self.run_bzr('clean-tree --unknown --force')
58
 
        self.failIfExists('name')
 
59
        self.assertPathDoesNotExist('name')
59
60
        self.touch('name')
60
61
        self.touch('name~')
61
62
        self.touch('name.pyc')
62
63
        self.run_bzr('clean-tree --unknown --ignored --force')
63
 
        self.failIfExists('name')
64
 
        self.failIfExists('name~')
65
 
        self.failIfExists('name.pyc')
 
64
        self.assertPathDoesNotExist('name')
 
65
        self.assertPathDoesNotExist('name~')
 
66
        self.assertPathDoesNotExist('name.pyc')
66
67
 
67
68
    def test_clean_tree_nested_bzrdir(self):
68
69
        # clean-tree should not blindly delete nested bzrdirs (branches)
73
74
        wt3 = self.make_branch_and_tree('bar')
74
75
        ignores.tree_ignores_add_patterns(wt1, ['./foo'])
75
76
        self.run_bzr(['clean-tree', '--unknown', '--force'])
76
 
        self.failUnlessExists('foo')
77
 
        self.failUnlessExists('bar')
 
77
        self.assertPathExists('foo')
 
78
        self.assertPathExists('bar')
78
79
        self.run_bzr(['clean-tree', '--ignored', '--force'])
79
 
        self.failUnlessExists('foo')
80
 
        self.failUnlessExists('bar')
 
80
        self.assertPathExists('foo')
 
81
        self.assertPathExists('bar')
81
82
 
82
83
    def test_clean_tree_directory(self):
83
84
        """Test --directory option"""
85
86
        self.build_tree(['a/added', 'a/unknown', 'a/ignored'])
86
87
        tree.add('added')
87
88
        self.run_bzr('clean-tree -d a --unknown --ignored --force')
88
 
        self.failIfExists('a/unknown')
89
 
        self.failIfExists('a/ignored')
90
 
        self.failUnlessExists('a/added')
 
89
        self.assertPathDoesNotExist('a/unknown')
 
90
        self.assertPathDoesNotExist('a/ignored')
 
91
        self.assertPathExists('a/added')
 
92
 
 
93
    def test_clean_tree_interactive(self):
 
94
        wt = self.make_branch_and_tree('.')
 
95
        self.touch('bar')
 
96
        self.touch('foo')
 
97
        run_script(self, """
 
98
        $ bzr clean-tree
 
99
        bar
 
100
        foo
 
101
        2>Are you sure you wish to delete these? ([y]es, [n]o): no
 
102
        <n
 
103
        Canceled
 
104
        """)
 
105
        self.assertPathExists('bar')
 
106
        self.assertPathExists('foo')
 
107
        run_script(self, """
 
108
        $ bzr clean-tree
 
109
        bar
 
110
        foo
 
111
        2>Are you sure you wish to delete these? ([y]es, [n]o): yes
 
112
        <y
 
113
        2>deleting paths:
 
114
        2>  bar
 
115
        2>  foo
 
116
        """)
 
117
        self.assertPathDoesNotExist('bar')
 
118
        self.assertPathDoesNotExist('foo')