~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

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

Move doctest import to increase speed

Show diffs side-by-side

added added

removed removed

Lines of Context:
19
19
from bzrlib.builtins import merge
20
20
from bzrlib.tests import TestCaseWithTransport
21
21
from bzrlib.workingtree import WorkingTree
22
 
from bzrlib.branch import Branch
23
22
 
24
23
 
25
24
class TestAncestry(TestCaseWithTransport):
26
25
 
27
 
    def _build_branches(self):
 
26
    def test_ancestry(self):
 
27
        """Tests 'ancestry' command"""
28
28
        a_wt = self.make_branch_and_tree('A')
29
29
        open('A/foo', 'wb').write('1111\n')
30
30
        a_wt.add('foo')
37
37
        a_wt.commit('modified A/foo',rev_id='A2')
38
38
        merge(['B',-1],['B',1],this_dir='A')
39
39
        a_wt.commit('merged B into A',rev_id='A3')
40
 
 
41
 
    def _check_ancestry(self, location='', result=None):
42
 
        out = self.capture('ancestry ' + location)
43
 
        if result is None:
44
 
            result = "A1\nB1\nA2\nA3\n"
45
 
        self.assertEqualDiff(out, result)
46
 
 
47
 
    def test_ancestry(self):
48
 
        """Tests 'ancestry' command"""
49
 
        self._build_branches()
50
40
        os.chdir('A')
51
 
        self._check_ancestry()
52
 
 
53
 
    def test_ancestry_with_location(self):
54
 
        """Tests 'ancestry' command with a specified location."""
55
 
        self._build_branches()
56
 
        self._check_ancestry('A')
57
 
 
58
 
    def test_ancestry_with_repo_branch(self):
59
 
        """Tests 'ancestry' command with a location that is a
60
 
        repository branch."""
61
 
        self._build_branches()
62
 
        self.run_bzr('init-repo', 'repo')
63
 
        self.run_bzr('branch', 'A', 'repo/A')
64
 
        self._check_ancestry('repo/A')
65
 
 
66
 
    def test_ancestry_with_checkout(self):
67
 
        """Tests 'ancestry' command with a location that is a
68
 
        checkout of a repository branch."""
69
 
        self._build_branches()
70
 
        self.run_bzr('init-repo', 'repo')
71
 
        self.run_bzr('branch', 'A', 'repo/A')
72
 
        self.run_bzr('checkout', 'repo/A', 'A-checkout')
73
 
        self._check_ancestry('A-checkout')
74
 
 
75
 
    def test_ancestry_with_lightweight_checkout(self):
76
 
        """Tests 'ancestry' command with a location that is a
77
 
        lightweight checkout of a repository branch."""
78
 
        self._build_branches()
79
 
        self.run_bzr('init-repo', 'repo')
80
 
        self.run_bzr('branch', 'A', 'repo/A')
81
 
        self.run_bzr('checkout', '--lightweight', 'repo/A', 'A-checkout')
82
 
        self._check_ancestry('A-checkout')
83
 
 
84
 
    def test_ancestry_with_truncated_checkout(self):
85
 
        """Tests 'ancestry' command with a location that is a
86
 
        checkout of a repository branch with a shortened revision history."""
87
 
        self._build_branches()
88
 
        self.run_bzr('init-repo', 'repo')
89
 
        self.run_bzr('branch', 'A', 'repo/A')
90
 
        self.run_bzr('checkout', '-r', '2', 'repo/A', 'A-checkout')
91
 
        self._check_ancestry('A-checkout', "A1\nA2\n")
92
 
 
93
 
    def test_ancestry_with_truncated_lightweight_checkout(self):
94
 
        """Tests 'ancestry' command with a location that is a lightweight
95
 
        checkout of a repository branch with a shortened revision history."""
96
 
        self._build_branches()
97
 
        self.run_bzr('init-repo', 'repo')
98
 
        self.run_bzr('branch', 'A', 'repo/A')
99
 
        self.run_bzr('checkout', '-r', '2', '--lightweight',
100
 
                'repo/A', 'A-checkout')
101
 
        self._check_ancestry('A-checkout', "A1\nA2\n")
 
41
        out, err = self.run_bzr('ancestry')
 
42
        self.assertEquals(err, '')
 
43
        self.assertEqualDiff(out,
 
44
"""A1
 
45
B1
 
46
A2
 
47
A3
 
48
""")
 
49