Ejemplo n.º 1
0
    def test_ignore_patterns(self):
        tree = self.make_branch_and_tree('.')

        self.assertEquals(list(tree.unknowns()), [])

        # is_ignored() will now create the user global ignore file
        # if it doesn't exist, so make sure we ignore it in our tests
        ignores._set_user_ignores(['*.tmp'])

        self.build_tree_contents(
            [('foo.tmp', '.tmp files are ignored by default')])
        self.assertEquals(list(tree.unknowns()), [])

        self.build_tree_contents([('foo.c', 'int main() {}')])
        self.assertEquals(list(tree.unknowns()), ['foo.c'])

        tree.add('foo.c')
        self.assertEquals(list(tree.unknowns()), [])

        # 'ignore' works when creating the .bzrignore file
        self.build_tree_contents([('foo.blah', 'blah')])
        self.assertEquals(list(tree.unknowns()), ['foo.blah'])
        self.run_bzr('ignore *.blah')
        self.assertEquals(list(tree.unknowns()), [])
        self.check_file_contents('.bzrignore', '*.blah\n')

        # 'ignore' works when then .bzrignore file already exists
        self.build_tree_contents([('garh', 'garh')])
        self.assertEquals(list(tree.unknowns()), ['garh'])
        self.run_bzr('ignore garh')
        self.assertEquals(list(tree.unknowns()), [])
        self.check_file_contents('.bzrignore', '*.blah\ngarh\n')
Ejemplo n.º 2
0
    def test_ignore_patterns(self):
        tree = self.make_branch_and_tree('.')

        self.assertEquals(list(tree.unknowns()), [])

        # is_ignored() will now create the user global ignore file
        # if it doesn't exist, so make sure we ignore it in our tests
        ignores._set_user_ignores(['*.tmp'])

        self.build_tree_contents(
            [('foo.tmp', '.tmp files are ignored by default')])
        self.assertEquals(list(tree.unknowns()), [])

        self.build_tree_contents([('foo.c', 'int main() {}')])
        self.assertEquals(list(tree.unknowns()), ['foo.c'])

        tree.add('foo.c')
        self.assertEquals(list(tree.unknowns()), [])

        # 'ignore' works when creating the .bzrignore file
        self.build_tree_contents([('foo.blah', 'blah')])
        self.assertEquals(list(tree.unknowns()), ['foo.blah'])
        self.run_bzr('ignore *.blah')
        self.assertEquals(list(tree.unknowns()), [])
        self.check_file_contents('.bzrignore', '*.blah\n')

        # 'ignore' works when then .bzrignore file already exists
        self.build_tree_contents([('garh', 'garh')])
        self.assertEquals(list(tree.unknowns()), ['garh'])
        self.run_bzr('ignore garh')
        self.assertEquals(list(tree.unknowns()), [])
        self.check_file_contents('.bzrignore', '*.blah\ngarh\n')
Ejemplo n.º 3
0
 def test_strict_commit(self):
     """Commit with --strict works if everything is known"""
     ignores._set_user_ignores([])
     tree = self.make_branch_and_tree('tree')
     self.build_tree(['tree/a'])
     tree.add('a')
     # A simple change should just work
     self.run_bzr('commit --strict -m adding-a', working_dir='tree')
Ejemplo n.º 4
0
 def test_strict_commit(self):
     """Commit with --strict works if everything is known"""
     ignores._set_user_ignores([])
     tree = self.make_branch_and_tree('tree')
     self.build_tree(['tree/a'])
     tree.add('a')
     # A simple change should just work
     self.run_bzr('commit --strict -m adding-a', working_dir='tree')
Ejemplo n.º 5
0
    def test_add(self):
        """Test that adding will not duplicate ignores"""
        # Create an empty file
        ignores._set_user_ignores([])

        patterns = ['foo', './bar', u'b\xe5z']
        added = ignores.add_unique_user_ignores(patterns)
        self.assertEqual(patterns, added)
        self.assertEqual(set(patterns), ignores.get_user_ignores())
Ejemplo n.º 6
0
    def test_set(self):
        patterns = ['*.py[co]', '*.py[oc]']
        ignores._set_user_ignores(patterns)

        self.assertEqual(set(patterns), ignores.get_user_ignores())

        patterns = ['vim', '*.swp']
        ignores._set_user_ignores(patterns)
        self.assertEqual(set(patterns), ignores.get_user_ignores())
Ejemplo n.º 7
0
    def test_set(self):
        patterns = ['*.py[co]', '*.py[oc]']
        ignores._set_user_ignores(patterns)

        self.assertEqual(set(patterns), ignores.get_user_ignores())

        patterns = ['vim', '*.swp']
        ignores._set_user_ignores(patterns)
        self.assertEqual(set(patterns), ignores.get_user_ignores())
Ejemplo n.º 8
0
    def test_add(self):
        """Test that adding will not duplicate ignores"""
        # Create an empty file
        ignores._set_user_ignores([])

        patterns = ['foo', './bar', u'b\xe5z']
        added = ignores.add_unique_user_ignores(patterns)
        self.assertEqual(patterns, added)
        self.assertEqual(set(patterns), ignores.get_user_ignores())
Ejemplo n.º 9
0
    def test_add_directory(self):
        """Test that adding a directory will strip any trailing slash"""
        # Create an empty file
        ignores._set_user_ignores([])

        in_patterns = ['foo/', 'bar/', 'baz\\']
        added = ignores.add_unique_user_ignores(in_patterns)
        out_patterns = [ x.rstrip('/\\') for x in in_patterns ]
        self.assertEqual(out_patterns, added)
        self.assertEqual(set(out_patterns), ignores.get_user_ignores())
Ejemplo n.º 10
0
    def test_add_directory(self):
        """Test that adding a directory will strip any trailing slash"""
        # Create an empty file
        ignores._set_user_ignores([])

        in_patterns = ['foo/', 'bar/', 'baz\\']
        added = ignores.add_unique_user_ignores(in_patterns)
        out_patterns = [x.rstrip('/\\') for x in in_patterns]
        self.assertEqual(out_patterns, added)
        self.assertEqual(set(out_patterns), ignores.get_user_ignores())
Ejemplo n.º 11
0
    def test_mixed_is_ignored(self):
        tree = self.make_branch_and_tree('.')
        ignores._set_user_ignores(['*.py[co]', './.shelf'])
        self.build_tree_contents([('.bzrignore', './rootdir\n*.swp\n')])

        self.assertEqual('*.py[co]', tree.is_ignored('foo.pyc'))
        self.assertEqual('./.shelf', tree.is_ignored('.shelf'))
        self.assertEqual('./rootdir', tree.is_ignored('rootdir'))
        self.assertEqual('*.swp', tree.is_ignored('foo.py.swp'))
        self.assertEqual('*.swp', tree.is_ignored('.foo.py.swp'))
        self.assertEqual(None, tree.is_ignored('.foo.py.swo'))
Ejemplo n.º 12
0
    def setUp(self):
        super(TestLS, self).setUp()
        
        # Create a simple branch that can be used in testing
        ignores._set_user_ignores(['user-ignore'])

        self.wt = self.make_branch_and_tree('.')
        self.build_tree_contents([
                                 ('.bzrignore', '*.pyo\n'),
                                 ('a', 'hello\n'),
                                 ])
Ejemplo n.º 13
0
    def test_add_unique(self):
        """Test that adding will not duplicate ignores"""
        ignores._set_user_ignores(
            ['foo', './bar', u'b\xe5z', 'dir1/', 'dir3\\'])

        added = ignores.add_unique_user_ignores(
            ['xxx', './bar', 'xxx', 'dir1/', 'dir2/', 'dir3\\'])
        self.assertEqual(['xxx', 'dir2'], added)
        self.assertEqual(set(['foo', './bar', u'b\xe5z',
                              'xxx', 'dir1', 'dir2', 'dir3']),
                         ignores.get_user_ignores())
Ejemplo n.º 14
0
    def setUp(self):
        super(TestLSXML, self).setUp()

        # Create a simple branch that can be used in testing
        ignores._set_user_ignores(['user-ignore'])

        self.wt = self.make_branch_and_tree('.')
        self.build_tree_contents([
                                 ('.bzrignore', '*.pyo\n'),
                                 ('a', 'hello\n'),
                                 ])
Ejemplo n.º 15
0
    def test_mixed_is_ignored(self):
        tree = self.make_branch_and_tree('.')
        ignores._set_user_ignores(['*.py[co]', './.shelf'])
        self.build_tree_contents([('.bzrignore', './rootdir\n*.swp\n')])

        self.assertEqual('*.py[co]', tree.is_ignored('foo.pyc'))
        self.assertEqual('./.shelf', tree.is_ignored('.shelf'))
        self.assertEqual('./rootdir', tree.is_ignored('rootdir'))
        self.assertEqual('*.swp', tree.is_ignored('foo.py.swp'))
        self.assertEqual('*.swp', tree.is_ignored('.foo.py.swp'))
        self.assertEqual(None, tree.is_ignored('.foo.py.swo'))
Ejemplo n.º 16
0
    def test_add_unique(self):
        """Test that adding will not duplicate ignores"""
        ignores._set_user_ignores(
            ['foo', './bar', u'b\xe5z', 'dir1/', 'dir3\\'])

        added = ignores.add_unique_user_ignores(
            ['xxx', './bar', 'xxx', 'dir1/', 'dir2/', 'dir3\\'])
        self.assertEqual(['xxx', 'dir2'], added)
        self.assertEqual(
            set(['foo', './bar', u'b\xe5z', 'xxx', 'dir1', 'dir2', 'dir3']),
            ignores.get_user_ignores())
Ejemplo n.º 17
0
 def test_returns_and_ignores(self):
     """Correctly returns added/ignored files"""
     wt = self.make_branch_and_tree('.')
     # The default ignore list includes '*.py[co]', but not CVS
     ignores._set_user_ignores(['*.py[co]'])
     self.build_tree(['inertiatic/', 'inertiatic/esp', 'inertiatic/CVS',
                     'inertiatic/foo.pyc'])
     added, ignored = wt.smart_add(u'.')
     self.assertSubset(('inertiatic', 'inertiatic/esp', 'inertiatic/CVS'),
                       added)
     self.assertSubset(('*.py[co]',), ignored)
     self.assertSubset(('inertiatic/foo.pyc',), ignored['*.py[co]'])
Ejemplo n.º 18
0
 def test_returns_and_ignores(self):
     """Correctly returns added/ignored files"""
     wt = self.make_branch_and_tree('.')
     # The default ignore list includes '*.py[co]', but not CVS
     ignores._set_user_ignores(['*.py[co]'])
     self.build_tree(['inertiatic/', 'inertiatic/esp', 'inertiatic/CVS',
                     'inertiatic/foo.pyc'])
     added, ignored = wt.smart_add(u'.')
     self.assertSubset(('inertiatic', 'inertiatic/esp', 'inertiatic/CVS'),
                       added)
     self.assertSubset(('*.py[co]',), ignored)
     self.assertSubset(('inertiatic/foo.pyc',), ignored['*.py[co]'])
Ejemplo n.º 19
0
    def test_runtime_ignores(self):
        tree = self.make_branch_and_tree('.')
        self.build_tree_contents([('.bzrignore', '')])
        ignores._set_user_ignores([])

        orig_runtime = ignores._runtime_ignores
        try:
            ignores._runtime_ignores = set()
            self.assertEqual(None, tree.is_ignored('foobar.py'))

            tree._flush_ignore_list_cache()
            ignores.add_runtime_ignores(['./foobar.py'])
            self.assertEqual(set(['./foobar.py']), ignores.get_runtime_ignores())
            self.assertEqual('./foobar.py', tree.is_ignored('foobar.py'))
        finally:
            ignores._runtime_ignores = orig_runtime
Ejemplo n.º 20
0
    def test_runtime_ignores(self):
        tree = self.make_branch_and_tree('.')
        self.build_tree_contents([('.bzrignore', '')])
        ignores._set_user_ignores([])

        orig_runtime = ignores._runtime_ignores
        try:
            ignores._runtime_ignores = set()
            self.assertEqual(None, tree.is_ignored('foobar.py'))

            tree._flush_ignore_list_cache()
            ignores.add_runtime_ignores(['./foobar.py'])
            self.assertEqual(set(['./foobar.py']),
                             ignores.get_runtime_ignores())
            self.assertEqual('./foobar.py', tree.is_ignored('foobar.py'))
        finally:
            ignores._runtime_ignores = orig_runtime
Ejemplo n.º 21
0
    def test_use_empty(self):
        ignores._set_user_ignores([])
        ignore_path = config.user_ignore_config_filename()
        self.check_file_contents(ignore_path, '')

        self.assertEqual(set([]), ignores.get_user_ignores())
Ejemplo n.º 22
0
    def test_use_existing(self):
        patterns = ['*.o', '*.py[co]', u'\xe5*']
        ignores._set_user_ignores(patterns)

        user_ignores = ignores.get_user_ignores()
        self.assertEqual(set(patterns), user_ignores)
Ejemplo n.º 23
0
    def test_use_empty(self):
        ignores._set_user_ignores([])
        ignore_path = config.user_ignore_config_filename()
        self.check_file_contents(ignore_path, '')

        self.assertEqual(set([]), ignores.get_user_ignores())
Ejemplo n.º 24
0
    def test_use_existing(self):
        patterns = ['*.o', '*.py[co]', u'\xe5*']
        ignores._set_user_ignores(patterns)

        user_ignores = ignores.get_user_ignores()
        self.assertEqual(set(patterns), user_ignores)