~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/selftest/testbranch.py

  • Committer: Martin Pool
  • Date: 2005-09-22 12:12:53 UTC
  • Revision ID: mbp@sourcefrog.net-20050922121253-eae2a3240ea5e493
- upgrade can no longer be done in current version branches
  so don't test it

Show diffs side-by-side

added added

removed removed

Lines of Context:
14
14
# along with this program; if not, write to the Free Software
15
15
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
16
16
 
 
17
 
17
18
import os
18
 
from bzrlib.branch import Branch, copy_branch
19
 
from bzrlib.commit import commit
20
 
from bzrlib.errors import NoSuchRevision, UnlistableBranch
 
19
 
21
20
from bzrlib.selftest import TestCaseInTempDir
 
21
from bzrlib.branch import Branch
22
22
from bzrlib.trace import mutter
23
23
 
24
 
class TestBranch(TestCaseInTempDir):
25
24
 
 
25
class TestAppendRevisions(TestCaseInTempDir):
 
26
    """Test appending more than one revision"""
26
27
    def test_append_revisions(self):
27
 
        """Test appending more than one revision"""
28
 
        br = Branch.initialize(".")
 
28
        from bzrlib.branch import Branch
 
29
        br = Branch(".", init=True)
29
30
        br.append_revision("rev1")
30
31
        self.assertEquals(br.revision_history(), ["rev1",])
31
32
        br.append_revision("rev2", "rev3")
32
33
        self.assertEquals(br.revision_history(), ["rev1", "rev2", "rev3"])
33
34
 
34
35
 
 
36
 
35
37
class TestFetch(TestCaseInTempDir):
36
 
 
37
38
    def test_fetch_revisions(self):
38
39
        """Test fetch-revision operation."""
39
40
        from bzrlib.fetch import Fetcher
40
41
        os.mkdir('b1')
41
42
        os.mkdir('b2')
42
 
        b1 = Branch.initialize('b1')
43
 
        b2 = Branch.initialize('b2')
 
43
        b1 = Branch('b1', init=True)
 
44
        b2 = Branch('b2', init=True)
44
45
        file(os.sep.join(['b1', 'foo']), 'w').write('hello')
45
46
        b1.add(['foo'], ['foo-id'])
46
47
        b1.commit('lala!', rev_id='revision-1', allow_pointless=False)
55
56
        tree = b2.revision_tree('revision-1')
56
57
        eq(tree.get_file_text('foo-id'), 'hello')
57
58
 
58
 
    def test_push_stores(self):
59
 
        """Copy the stores from one branch to another"""
60
 
        os.mkdir('a')
61
 
        br_a = Branch.initialize("a")
62
 
        file('a/b', 'wb').write('b')
63
 
        br_a.add('b')
64
 
        commit(br_a, "silly commit")
65
 
 
66
 
        os.mkdir('b')
67
 
        br_b = Branch.initialize("b")
68
 
        self.assertRaises(NoSuchRevision, br_b.get_revision, 
69
 
                          br_a.revision_history()[0])
70
 
        br_a.push_stores(br_b)
71
 
        rev = br_b.get_revision(br_a.revision_history()[0])
72
 
        tree = br_b.revision_tree(br_a.revision_history()[0])
73
 
        for file_id in tree:
74
 
            if tree.inventory[file_id].kind == "file":
75
 
                tree.get_file(file_id).read()
76
 
        return br_a, br_b
77
 
 
78
 
    def test_copy_branch(self):
79
 
        """Copy the stores from one branch to another"""
80
 
        br_a, br_b = self.test_push_stores()
81
 
        commit(br_b, "silly commit")
82
 
        os.mkdir('c')
83
 
        br_c = copy_branch(br_a, 'c', basis_branch=br_b)
84
 
        self.assertEqual(br_a.revision_history(), br_c.revision_history())
85
 
        assert br_b.last_revision() not in br_c.revision_history()
86
 
        br_c.get_revision(br_b.last_revision())
 
59
 
87
60
# TODO: rewrite this as a regular unittest, without relying on the displayed output        
88
61
#         >>> from bzrlib.commit import commit
89
62
#         >>> bzrlib.trace.silent = True