~ubuntu-branches/ubuntu/maverick/bzr/maverick

« back to all changes in this revision

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

  • Committer: Bazaar Package Importer
  • Author(s): Jelmer Vernooij
  • Date: 2010-08-07 00:54:52 UTC
  • mfrom: (1.4.8 upstream)
  • Revision ID: james.westby@ubuntu.com-20100807005452-g4zb99ezl3xn44r4
Tags: 2.2.0-1
* New upstream release.
 + Adds support for setting timestamps to originating revisions.
   Closes: #473450
 + Removes remaining string exception. Closes: #585193, LP: #586926
 + Add C extension to work around Python issue 1628205. LP: #583941,
   Closes: #577110
 + Avoids showing progress bars when --quiet is used. Closes: #542105,
   LP: #320035
 + No longer creates ~/.bazaar as root when run under sudo. LP: #376388
 + 'bzr commit' now supports -p as alternative for --show-diff. LP: #571467
 + 'bzr add' no longer adds .THIS/.BASE/.THEIRS files unless
   explicitly requested. LP: #322767
 + When parsing patch files, Bazaar now supports diff lines before each
   patch. LP: #502076
 + WorkingTrees now no longer requires using signal.signal, so can
   be used in a threaded environment. LP: #521989
 + An assertion error is no longer triggered when pushing to a pre-1.6
   Bazaar server. LP: #528041
* Bump standards version to 3.9.1.

Show diffs side-by-side

added added

removed removed

Lines of Context:
34
34
    pathjoin,
35
35
    )
36
36
from bzrlib.tests.test_sftp_transport import TestCaseWithSFTPServer
37
 
from bzrlib.tests.blackbox import ExternalBase
 
37
from bzrlib.tests import TestCaseWithTransport
38
38
from bzrlib.workingtree import WorkingTree
39
39
 
40
40
 
41
 
class TestCommands(ExternalBase):
 
41
class TestCommands(TestCaseWithTransport):
42
42
 
43
43
    def test_ignore_absolutes(self):
44
44
        """'ignore' with an absolute path returns an error"""
106
106
        """'ignore' with no arguments returns an error"""
107
107
        self.make_branch_and_tree('.')
108
108
        self.run_bzr_error(('bzr: ERROR: ignore requires at least one '
109
 
                            'NAME_PATTERN or --old-default-rules\n',),
 
109
                            'NAME_PATTERN or --default-rules.\n',),
110
110
                           'ignore')
111
111
 
112
 
    def test_ignore_old_defaults(self):
113
 
        out, err = self.run_bzr('ignore --old-default-rules')
114
 
        self.assertContainsRe(out, 'CVS')
 
112
    def test_ignore_default_rules(self):
 
113
        out, err = self.run_bzr(['ignore', '--default-rules'])
 
114
        reference_set = set(ignores.USER_DEFAULTS)
 
115
        output_set = set(out.rstrip().split('\n'))
 
116
        self.assertEqual(reference_set, output_set)
115
117
        self.assertEqual('', err)
116
118
 
117
119
    def test_ignore_versioned_file(self):
154
156
                         " and match your ignore pattern:\nb\n"\
155
157
                         "These files will continue to be version controlled"\
156
158
                         " unless you 'bzr remove' them.\n")
 
159
 
 
160
    def test_ignore_directory(self):
 
161
        """Test --directory option"""
 
162
        tree = self.make_branch_and_tree('a')
 
163
        self.run_bzr(['ignore', '--directory=a', 'README'])
 
164
        self.check_file_contents('a/.bzrignore', 'README\n')
 
165
 
 
166
    def test_ignored_invalid_pattern(self):
 
167
        """Ensure graceful handling for invalid ignore pattern.
 
168
 
 
169
        Test case for #300062.
 
170
        Invalid pattern should show clear error message.
 
171
        Invalid pattern should not be added to .bzrignore file.
 
172
        """
 
173
        tree = self.make_branch_and_tree('.')
 
174
        out, err = self.run_bzr(['ignore', 'RE:*.cpp', 'foo', 'RE:['], 3)
 
175
        self.assertEqual(out, '')
 
176
        self.assertContainsRe(err,
 
177
            'Invalid ignore pattern.*RE:\*\.cpp.*RE:\[', re.DOTALL)
 
178
        self.assertNotContainsRe(err, 'foo', re.DOTALL)
 
179
        self.assertFalse(os.path.isfile('.bzrignore'))
 
180