~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/test_status.py

  • Committer: John Arbash Meinel
  • Date: 2008-05-01 20:41:00 UTC
  • mto: This revision was merged to the branch mainline in revision 3407.
  • Revision ID: john@arbash-meinel.com-20080501204100-r9pw4d1znr8g728x
Get the tests to actually work, and get the code to go along with.

Turns out I was using an api wrong anyway, but now the tests pass.

Show diffs side-by-side

added added

removed removed

Lines of Context:
56
56
        tree.merge_from_branch(tree3.branch)
57
57
        output = StringIO()
58
58
        tree.lock_read()
59
 
        try:
60
 
            show_pending_merges(tree, output)
61
 
        finally:
62
 
            tree.unlock()
 
59
        self.addCleanup(tree.unlock)
 
60
        show_pending_merges(tree, output)
63
61
        # Even though 2b is in the ancestry of 3c, it should only be displayed
64
62
        # under the first merge parent.
65
 
        self.assertEqual('pending merges:\n'
66
 
                         '  Joe Foo 2007-12-04 commit 3b\n'
67
 
                         '    Joe Foo 2007-12-04 commit 2b\n'
68
 
                         '  Joe Foo 2007-12-04 commit 3c\n',
69
 
                         output.getvalue())
 
63
        self.assertEqualDiff('pending merges:\n'
 
64
                             '  Joe Foo 2007-12-04 commit 3b\n'
 
65
                             '    Joe Foo 2007-12-04 commit 2b\n'
 
66
                             '  Joe Foo 2007-12-04 commit 3c\n',
 
67
                             output.getvalue())
70
68
 
71
69
    def test_with_pending_ghost(self):
72
70
        """Test when a pending merge is itself a ghost"""
73
71
        tree = self.make_branch_and_tree('a')
74
72
        tree.commit('first')
75
 
        tree2 = tree.bzrdir.clone('b').open_workingtree()
76
 
        tree2.add_parent_tree_id('a-ghost-revision')
 
73
        tree.add_parent_tree_id('a-ghost-revision')
77
74
        tree.lock_read()
78
75
        self.addCleanup(tree.unlock)
79
76
        output = StringIO()
80
77
        show_pending_merges(tree, output)
81
 
        self.assertEqual('pending merges:\n'
82
 
                         '  (ghost) a-ghost-revision\n',
83
 
                         output.get_value())
 
78
        self.assertEqualDiff('pending merges:\n'
 
79
                             '  (ghost) a-ghost-revision\n',
 
80
                             output.getvalue())
84
81
 
85
82
    def test_pending_with_ghosts(self):
86
83
        """Test when a pending merge's ancestry includes ghosts."""
88
85
        tree = self.make_branch_and_tree('a')
89
86
        tree.commit('empty commit')
90
87
        tree2 = tree.bzrdir.clone('b').open_workingtree()
 
88
        tree2.commit('a non-ghost', timestamp=1196796819, timezone=0)
91
89
        tree2.add_parent_tree_id('a-ghost-revision')
92
90
        tree2.commit('commit with ghost', timestamp=1196796819, timezone=0)
 
91
        tree2.commit('another non-ghost', timestamp=1196796819, timezone=0)
93
92
        tree.merge_from_branch(tree2.branch)
 
93
        tree.lock_read()
94
94
        self.addCleanup(tree.unlock)
95
95
        output = StringIO()
96
96
        show_pending_merges(tree, output)
97
 
        self.assertEqual('pending merges:\n'
98
 
                         '  Joe Foo 2007-12-04 commit with ghost\n',
99
 
                         '    (ghost) a-ghost-revision\n',
100
 
                         output.get_value())
 
97
        self.assertEqualDiff('pending merges:\n'
 
98
                             '  Joe Foo 2007-12-04 another non-ghost\n'
 
99
                             '    Joe Foo 2007-12-04 commit with ghost\n'
 
100
                             '    (ghost) a-ghost-revision\n'
 
101
                             '    Joe Foo 2007-12-04 a non-ghost\n',
 
102
                             output.getvalue())
101
103
 
102
104
    def tests_revision_to_revision(self):
103
105
        """doing a status between two revision trees should work."""