/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

Viewing changes to bzrlib/tests/test_commit.py

Prepare test framework for pyftpdlib injection.

* bzrlib/tests/ftp_server/__init__.py:
Provide a single front-end for ftp test servers.

* bzrlib/tests/test_ftp_transport.py: 
Use ftp_server import.

* bzrlib/transport/ftp/__init__.py:
(get_test_permutations): Simplified.

* bzrlib/tests/__init__.py:
(FTPServerFeature): Moved to bzrlib/tests/ftp_server/__init__.py.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# Copyright (C) 2005-2010 Canonical Ltd
 
1
# Copyright (C) 2005, 2006, 2008 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
12
12
#
13
13
# You should have received a copy of the GNU General Public License
14
14
# along with this program; if not, write to the Free Software
15
 
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
 
15
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
16
16
 
17
17
 
18
18
import os
107
107
        tree2.unlock()
108
108
        self.assertEqual('version 2', text)
109
109
 
110
 
    def test_missing_commit(self):
111
 
        """Test a commit with a missing file"""
 
110
    def test_delete_commit(self):
 
111
        """Test a commit with a deleted file"""
112
112
        wt = self.make_branch_and_tree('.')
113
113
        b = wt.branch
114
114
        file('hello', 'w').write('hello world')
274
274
        try:
275
275
            self.check_inventory_shape(wt.read_working_inventory(),
276
276
                                       ['a/', 'a/hello', 'a/b/'])
277
 
            self.check_inventory_shape(b.repository.get_inventory(r3),
 
277
            self.check_inventory_shape(b.repository.get_revision_inventory(r3),
278
278
                                       ['a/', 'a/hello', 'a/b/'])
279
279
        finally:
280
280
            wt.unlock()
289
289
        finally:
290
290
            wt.unlock()
291
291
 
292
 
        inv = b.repository.get_inventory(r4)
 
292
        inv = b.repository.get_revision_inventory(r4)
293
293
        eq(inv['hello-id'].revision, r4)
294
294
        eq(inv['a-id'].revision, r1)
295
295
        eq(inv['b-id'].revision, r3)
484
484
        other_bzrdir = master_branch.bzrdir.sprout('other')
485
485
        other_tree = other_bzrdir.open_workingtree()
486
486
 
487
 
        # do a commit to the other branch changing the content file so
 
487
        # do a commit to the the other branch changing the content file so
488
488
        # that our commit after merging will have a merged revision in the
489
489
        # content file history.
490
490
        self.build_tree_contents([('other/content_file', 'change in other\n')])
550
550
        this_tree.merge_from_branch(other_tree.branch)
551
551
        reporter = CapturingReporter()
552
552
        this_tree.commit('do the commit', reporter=reporter)
553
 
        expected = set([
 
553
        self.assertEqual([
 
554
            ('change', 'unchanged', ''),
 
555
            ('change', 'unchanged', 'dirtoleave'),
 
556
            ('change', 'unchanged', 'filetoleave'),
554
557
            ('change', 'modified', 'filetomodify'),
555
558
            ('change', 'added', 'newdir'),
556
559
            ('change', 'added', 'newfile'),
560
563
            ('renamed', 'renamed', 'filetoreparent', 'renameddir/reparentedfile'),
561
564
            ('deleted', 'dirtoremove'),
562
565
            ('deleted', 'filetoremove'),
563
 
            ])
564
 
        result = set(reporter.calls)
565
 
        missing = expected - result
566
 
        new = result - expected
567
 
        self.assertEqual((set(), set()), (missing, new))
 
566
            ],
 
567
            reporter.calls)
568
568
 
569
569
    def test_commit_removals_respects_filespec(self):
570
570
        """Commit respects the specified_files for removals."""
708
708
        cb = self.Callback(u'commit 2', self)
709
709
        repository = tree.branch.repository
710
710
        # simulate network failure
711
 
        def raise_(self, arg, arg2, arg3=None, arg4=None):
 
711
        def raise_(self, arg, arg2):
712
712
            raise errors.NoSuchFile('foo')
713
713
        repository.add_inventory = raise_
714
 
        repository.add_inventory_by_delta = raise_
715
714
        self.assertRaises(errors.NoSuchFile, tree.commit, message_callback=cb)
716
715
        self.assertFalse(cb.called)
717
716
 
748
747
        rev_id = tree.commit('commit 1')
749
748
        rev = tree.branch.repository.get_revision(rev_id)
750
749
        self.assertFalse('author' in rev.properties)
751
 
        self.assertFalse('authors' in rev.properties)
752
750
 
753
751
    def test_commit_author(self):
754
752
        """Passing a non-empty author kwarg to MutableTree.commit should add
755
753
        the 'author' revision property.
756
754
        """
757
755
        tree = self.make_branch_and_tree('foo')
758
 
        rev_id = self.callDeprecated(['The parameter author was '
759
 
                'deprecated in version 1.13. Use authors instead'],
760
 
                tree.commit, 'commit 1', author='John Doe <jdoe@example.com>')
 
756
        rev_id = tree.commit('commit 1', author='John Doe <jdoe@example.com>')
761
757
        rev = tree.branch.repository.get_revision(rev_id)
762
758
        self.assertEqual('John Doe <jdoe@example.com>',
763
 
                         rev.properties['authors'])
764
 
        self.assertFalse('author' in rev.properties)
765
 
 
766
 
    def test_commit_empty_authors_list(self):
767
 
        """Passing an empty list to authors shouldn't add the property."""
768
 
        tree = self.make_branch_and_tree('foo')
769
 
        rev_id = tree.commit('commit 1', authors=[])
770
 
        rev = tree.branch.repository.get_revision(rev_id)
771
 
        self.assertFalse('author' in rev.properties)
772
 
        self.assertFalse('authors' in rev.properties)
773
 
 
774
 
    def test_multiple_authors(self):
775
 
        tree = self.make_branch_and_tree('foo')
776
 
        rev_id = tree.commit('commit 1',
777
 
                authors=['John Doe <jdoe@example.com>',
778
 
                         'Jane Rey <jrey@example.com>'])
779
 
        rev = tree.branch.repository.get_revision(rev_id)
780
 
        self.assertEqual('John Doe <jdoe@example.com>\n'
781
 
                'Jane Rey <jrey@example.com>', rev.properties['authors'])
782
 
        self.assertFalse('author' in rev.properties)
783
 
 
784
 
    def test_author_and_authors_incompatible(self):
785
 
        tree = self.make_branch_and_tree('foo')
786
 
        self.assertRaises(AssertionError, tree.commit, 'commit 1',
787
 
                authors=['John Doe <jdoe@example.com>',
788
 
                         'Jane Rey <jrey@example.com>'],
789
 
                author="Jack Me <jme@example.com>")
790
 
 
791
 
    def test_author_with_newline_rejected(self):
792
 
        tree = self.make_branch_and_tree('foo')
793
 
        self.assertRaises(AssertionError, tree.commit, 'commit 1',
794
 
                authors=['John\nDoe <jdoe@example.com>'])
 
759
                         rev.properties['author'])
795
760
 
796
761
    def test_commit_with_checkout_and_branch_sharing_repo(self):
797
762
        repo = self.make_repository('repo', shared=True)