25
25
from bzrlib.transport import get_transport
28
class TestUpgrade(TestCaseWithTransport):
28
class TestWithUpgradableBranches(TestCaseWithTransport):
31
super(TestUpgrade, self).setUp()
31
super(TestWithUpgradableBranches, self).setUp()
32
self.old_format = bzrdir.BzrDirFormat.get_default_format()
33
self.addCleanup(self.restoreDefaultFormat)
34
bzrdir.BzrDirFormat.set_default_format(bzrdir.BzrDirMetaFormat1())
32
35
# FIXME RBC 20060120 we should be able to do this via ui calls only.
33
36
# setup a format 5 branch we can upgrade from.
34
37
t = get_transport(self.get_url())
36
bzrdir.BzrDirFormat5().initialize(self.get_url('old_branch'))
38
t.mkdir('format_5_branch')
39
bzrdir.BzrDirFormat5().initialize(self.get_url('format_5_branch'))
40
bzrdir.BzrDir.create_standalone_workingtree('current_format_branch')
42
def restoreDefaultFormat(self):
43
bzrdir.BzrDirFormat.set_default_format(self.old_format)
38
45
def test_readonly_url_error(self):
39
46
(out, err) = self.run_bzr_captured(
40
['upgrade', self.get_readonly_url('old_branch')], 3)
47
['upgrade', self.get_readonly_url('format_5_branch')], 3)
41
48
self.assertEqual(out, "")
42
49
self.assertEqual(err, "bzr: ERROR: Upgrade URL cannot work with readonly URL's.\n")
51
def test_upgrade_up_to_date(self):
52
# when up to date we should get a message to that effect
53
(out, err) = self.run_bzr_captured(
54
['upgrade', 'current_format_branch'], 3)
55
self.assertEqual("", out)
56
self.assertEqualDiff("Tree %s is already up to date.\n", err)
58
def test_upgrade_up_to_date_checkout_warns_branch_left_alone(self):
59
# when upgrading a checkout, the branch location and a suggestion
60
# to upgrade it should be emitted even if the checkout is up to
64
def test_upgrade_checkout(self):
65
# upgrading a checkout should work
68
def test_upgrade_repository_scans_branches(self):
69
# we should get individual upgrade notes for each branch even the
73
def test_ugrade_branch_in_repo(self):
74
# upgrading a branch in a repo should warn about not upgrading the repo