~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

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

  • Committer: Vincent Ladeuil
  • Date: 2012-01-05 13:02:31 UTC
  • mto: This revision was merged to the branch mainline in revision 6434.
  • Revision ID: v.ladeuil+lp@free.fr-20120105130231-grtl31ovy72doqp9
Cleanup old blackbox tests and then some. Remove os.chdir() calls, caught a few bugs, make sure we don't leave file handles opened.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# Copyright (C) 2006-2011 Canonical Ltd
 
1
# Copyright (C) 2006-2012 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
25
25
    controldir,
26
26
    errors,
27
27
    revision as _mod_revision,
 
28
    tests,
28
29
    )
29
30
from bzrlib.repofmt.knitrepo import RepositoryFormatKnit1
30
 
from bzrlib.tests import TestCaseWithTransport
31
31
from bzrlib.tests import (
32
32
    fixtures,
33
33
    test_server,
43
43
from bzrlib.workingtree import WorkingTree
44
44
 
45
45
 
46
 
class TestBranch(TestCaseWithTransport):
 
46
class TestBranch(tests.TestCaseWithTransport):
47
47
 
48
48
    def example_branch(self, path='.', format=None):
49
49
        tree = self.make_branch_and_tree(path, format=format)
83
83
        self.assertEqual('', err)
84
84
        out,err = self.run_bzr('branch a file:b,branch=orig', retcode=3)
85
85
        self.assertEqual('', out)
86
 
        self.assertEqual('bzr: ERROR: Already a branch: "file:b,branch=orig".\n', err)
 
86
        self.assertEqual(
 
87
            'bzr: ERROR: Already a branch: "file:b,branch=orig".\n', err)
87
88
 
88
89
    def test_from_colocated(self):
89
90
        """Branch from a colocated branch into a regular branch."""
113
114
            else:
114
115
                corrupt = '\xFF'
115
116
            f.write(corrupt) # make sure we corrupt something
116
 
        self.run_bzr_error(['Corruption while decompressing repository file'], 
 
117
        self.run_bzr_error(['Corruption while decompressing repository file'],
117
118
                            'branch a b', retcode=3)
118
119
 
119
120
    def test_branch_switch_no_branch(self):
160
161
        #  => new branch will be created and checkout bound to the new branch
161
162
        self.example_branch('a')
162
163
        self.run_bzr('checkout a current')
163
 
        out, err = self.run_bzr('branch --switch ../a ../b', working_dir='current')
 
164
        out, err = self.run_bzr('branch --switch ../a ../b',
 
165
                                working_dir='current')
164
166
        a = branch.Branch.open('a')
165
167
        b = branch.Branch.open('b')
166
168
        self.assertEqual(a.last_revision(), b.last_revision())
174
176
        #     the new branch
175
177
        self.example_branch('a')
176
178
        self.run_bzr('checkout --lightweight a current')
177
 
        out, err = self.run_bzr('branch --switch ../a ../b', working_dir='current')
 
179
        out, err = self.run_bzr('branch --switch ../a ../b',
 
180
                                working_dir='current')
178
181
        a = branch.Branch.open('a')
179
182
        b = branch.Branch.open('b')
180
183
        self.assertEqual(a.last_revision(), b.last_revision())
340
343
        new_branch.repository.get_revision('rev-2')
341
344
 
342
345
 
343
 
class TestBranchStacked(TestCaseWithTransport):
 
346
class TestBranchStacked(tests.TestCaseWithTransport):
344
347
    """Tests for branch --stacked"""
345
348
 
346
349
    def assertRevisionInRepository(self, repo_path, revid):
347
 
        """Check that a revision is in a repository, disregarding stacking."""
 
350
        """Check that a revision is in a repo, disregarding stacking."""
348
351
        repo = bzrdir.BzrDir.open(repo_path).open_repository()
349
352
        self.assertTrue(repo.has_revision(revid))
350
353
 
351
354
    def assertRevisionNotInRepository(self, repo_path, revid):
352
 
        """Check that a revision is not in a repository, disregarding stacking."""
 
355
        """Check that a revision is not in a repo, disregarding stacking."""
353
356
        repo = bzrdir.BzrDir.open(repo_path).open_repository()
354
357
        self.assertFalse(repo.has_revision(revid))
355
358
 
427
430
            trunk_tree.branch.base, err)
428
431
        self.assertRevisionNotInRepository('newbranch', original_revid)
429
432
        new_branch = branch.Branch.open('newbranch')
430
 
        self.assertEqual(trunk_tree.branch.base, new_branch.get_stacked_on_url())
 
433
        self.assertEqual(trunk_tree.branch.base,
 
434
                         new_branch.get_stacked_on_url())
431
435
 
432
436
    def test_branch_stacked_from_smart_server(self):
433
437
        # We can branch stacking on a smart server
468
472
            err)
469
473
 
470
474
 
471
 
class TestSmartServerBranching(TestCaseWithTransport):
 
475
class TestSmartServerBranching(tests.TestCaseWithTransport):
472
476
 
473
477
    def test_branch_from_trivial_branch_to_same_server_branch_acceptance(self):
474
478
        self.setup_smart_server_with_call_log()
593
597
        self.assertFalse(t.has('remote/file'))
594
598
 
595
599
 
596
 
class TestDeprecatedAliases(TestCaseWithTransport):
 
600
class TestDeprecatedAliases(tests.TestCaseWithTransport):
597
601
 
598
602
    def test_deprecated_aliases(self):
599
 
        """bzr branch can be called clone or get, but those names are deprecated.
 
603
        """bzr branch can be called clone or get, but those names are
 
604
        deprecated.
600
605
 
601
606
        See bug 506265.
602
607
        """