15
15
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18
"""Tests being able to ignore mad filetypes.
21
from bzrlib import ignores
18
"""Tests being able to ignore bad filetypes."""
20
from cStringIO import StringIO
27
from bzrlib.status import show_tree_status
22
28
from bzrlib.tests import TestCaseWithTransport
23
from bzrlib.errors import BadFileKindError
26
31
def verify_status(tester, tree, value):
27
from bzrlib.status import show_tree_status
28
from cStringIO import StringIO
32
"""Verify the output of show_tree_status"""
31
34
show_tree_status(tree, to_file=tof)
33
tester.assertEquals(tof.readlines(), value)
36
tester.assertEqual(value, tof.readlines())
36
39
class TestBadFiles(TestCaseWithTransport):
38
41
def test_bad_files(self):
39
42
"""Test that bzr will ignore files it doesn't like"""
40
from bzrlib.add import smart_add_tree
41
from bzrlib.branch import Branch
43
if getattr(os, 'mkfifo', None) is None:
44
# TODO: Ultimately this should be TestSkipped
45
# or PlatformDeficiency
43
48
wt = self.make_branch_and_tree('.')
46
51
files = ['one', 'two', 'three']
52
file_ids = ['one-id', 'two-id', 'three-id']
47
53
self.build_tree(files)
54
wt.add(files, file_ids)
49
55
wt.commit("Commit one", rev_id="a@u-0-0")
50
self.build_tree(['four'])
52
wt.commit("Commit two", rev_id="a@u-0-1")
53
self.build_tree(['five'])
55
wt.commit("Commit three", rev_id="a@u-0-2")
57
57
# We should now have a few files, lets try to
58
58
# put some bogus stuff in the tree
60
# We can only continue if we have mkfifo
61
if not hasattr(os, 'mkfifo'):
62
# TODO: Ultimately this should be TestSkipped
63
# or PlatformDeficiency
66
# Ignore the .bazaar/ home directory that is created
67
ignores._set_user_ignores(['./.bazaar'])
60
# status with nothing changed
70
61
verify_status(self, wt, [])
72
63
os.mkfifo('a-fifo')