/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar
5557.1.7 by John Arbash Meinel
Merge in the bzr.dev 5582
1
# Copyright (C) 2006-2011 Canonical Ltd
1887.1.1 by Adeodato Simó
Do not separate paragraphs in the copyright statement with blank lines,
2
#
1534.4.13 by Robert Collins
Give a reasonable warning on attempts to upgrade a readonly url.
3
# This program is free software; you can redistribute it and/or modify
4
# it under the terms of the GNU General Public License as published by
5
# the Free Software Foundation; either version 2 of the License, or
6
# (at your option) any later version.
1887.1.1 by Adeodato Simó
Do not separate paragraphs in the copyright statement with blank lines,
7
#
1534.4.13 by Robert Collins
Give a reasonable warning on attempts to upgrade a readonly url.
8
# This program is distributed in the hope that it will be useful,
9
# but WITHOUT ANY WARRANTY; without even the implied warranty of
10
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11
# GNU General Public License for more details.
1887.1.1 by Adeodato Simó
Do not separate paragraphs in the copyright statement with blank lines,
12
#
1534.4.13 by Robert Collins
Give a reasonable warning on attempts to upgrade a readonly url.
13
# You should have received a copy of the GNU General Public License
14
# along with this program; if not, write to the Free Software
4183.7.1 by Sabin Iacob
update FSF mailing address
15
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
1534.4.13 by Robert Collins
Give a reasonable warning on attempts to upgrade a readonly url.
16
17
"""Black box tests for the upgrade ui."""
5036.3.8 by Parth Malwankar
closed review comments from vila
18
import os
19
import stat
1534.4.13 by Robert Collins
Give a reasonable warning on attempts to upgrade a readonly url.
20
2323.6.1 by Martin Pool
(broken) Give a message when opening old workingtree formats suggesting upgrade
21
from bzrlib import (
22
    bzrdir,
5363.2.7 by Jelmer Vernooij
Fix tests.
23
    controldir,
5582.10.72 by Jelmer Vernooij
Some test fixes.
24
    lockable_files,
5684.1.2 by Jelmer Vernooij
Fix tests.
25
    ui,
6072.3.1 by Jelmer Vernooij
Format URLs in ``bzr upgrade`` before display.
26
    urlutils,
2323.6.1 by Martin Pool
(broken) Give a message when opening old workingtree formats suggesting upgrade
27
    )
28
from bzrlib.tests import (
5036.3.8 by Parth Malwankar
closed review comments from vila
29
    features,
2323.6.1 by Martin Pool
(broken) Give a message when opening old workingtree formats suggesting upgrade
30
    TestCaseWithTransport,
31
    )
1666.1.3 by Robert Collins
Fix and test upgrades from bzrdir 6 over SFTP.
32
from bzrlib.tests.test_sftp_transport import TestCaseWithSFTPServer
5757.1.2 by Jelmer Vernooij
Add separate file for knit pack repository formats.
33
from bzrlib.repofmt.knitpack_repo import RepositoryFormatKnitPack1
1534.5.9 by Robert Collins
Advise users running upgrade on a checkout to also run it on the branch.
34
35
5684.1.2 by Jelmer Vernooij
Fix tests.
36
class OldBzrDir(bzrdir.BzrDirMeta1):
37
    """An test bzr dir implementation"""
38
39
    def needs_format_conversion(self, format):
40
        return not isinstance(format, self.__class__)
41
42
5684.1.4 by Jelmer Vernooij
Use knits generally for testing
43
class ConvertOldTestToMeta(controldir.Converter):
5684.1.2 by Jelmer Vernooij
Fix tests.
44
    """A trivial converter, used for testing."""
45
46
    def convert(self, to_convert, pb):
47
        ui.ui_factory.note('starting upgrade from old test format to 2a')
48
        to_convert.control_transport.put_bytes(
49
            'branch-format',
50
            bzrdir.BzrDirMetaFormat1().get_format_string(),
51
            mode=to_convert._get_file_mode())
52
        return bzrdir.BzrDir.open(to_convert.user_url)
53
54
55
class OldBzrDirFormat(bzrdir.BzrDirMetaFormat1):
56
57
    _lock_class = lockable_files.TransportLock
58
59
    def get_converter(self, format=None):
60
        return ConvertOldTestToMeta()
61
62
    def get_format_string(self):
63
        return "Ancient Test Format"
64
65
    def _open(self, transport):
66
        return OldBzrDir(transport, self)
67
68
1534.5.6 by Robert Collins
split out converter logic into per-format objects.
69
class TestWithUpgradableBranches(TestCaseWithTransport):
1534.4.13 by Robert Collins
Give a reasonable warning on attempts to upgrade a readonly url.
70
71
    def setUp(self):
1534.5.6 by Robert Collins
split out converter logic into per-format objects.
72
        super(TestWithUpgradableBranches, self).setUp()
4608.1.1 by Martin Pool
Refactor blackbox.test_upgrade to do less work from setUp()
73
74
    def make_current_format_branch_and_checkout(self):
75
        current_tree = self.make_branch_and_tree('current_format_branch',
76
                                                 format='default')
77
        current_tree.branch.create_checkout(
78
            self.get_url('current_format_checkout'), lightweight=True)
79
1534.4.13 by Robert Collins
Give a reasonable warning on attempts to upgrade a readonly url.
80
    def test_readonly_url_error(self):
5684.1.4 by Jelmer Vernooij
Use knits generally for testing
81
        self.make_branch_and_tree("old_format_branch", format="knit")
2530.3.4 by Martin Pool
Deprecate run_bzr_captured in favour of just run_bzr
82
        (out, err) = self.run_bzr(
5684.1.4 by Jelmer Vernooij
Use knits generally for testing
83
            ['upgrade', self.get_readonly_url("old_format_branch")], retcode=3)
4360.10.46 by Vincent Ladeuil
Get rid of _verbose_warning and rework the messages overall display (revealing some incoherences) and fixing the tests accordingly.
84
        err_msg = 'Upgrade URL cannot work with readonly URLs.'
85
        self.assertEqualDiff('conversion error: %s\nbzr: ERROR: %s\n'
86
                             % (err_msg, err_msg),
87
                             err)
1534.5.6 by Robert Collins
split out converter logic into per-format objects.
88
89
    def test_upgrade_up_to_date(self):
4608.1.1 by Martin Pool
Refactor blackbox.test_upgrade to do less work from setUp()
90
        self.make_current_format_branch_and_checkout()
1534.5.6 by Robert Collins
split out converter logic into per-format objects.
91
        # when up to date we should get a message to that effect
6228.2.2 by Benoît Pierre
Update upgrade tests.
92
        burl = self.get_transport('current_format_branch').local_abspath(".")
93
        (out, err) = self.run_bzr('upgrade current_format_branch', retcode=0)
94
        self.assertEqual(
95
            'Upgrading branch %s/ ...\n'
96
            'The branch format %s is already at the most recent format.\n'
97
            % (burl, 'Meta directory format 1'),
98
            out)
1534.5.6 by Robert Collins
split out converter logic into per-format objects.
99
100
    def test_upgrade_up_to_date_checkout_warns_branch_left_alone(self):
4608.1.1 by Martin Pool
Refactor blackbox.test_upgrade to do less work from setUp()
101
        self.make_current_format_branch_and_checkout()
1534.5.6 by Robert Collins
split out converter logic into per-format objects.
102
        # when upgrading a checkout, the branch location and a suggestion
3943.8.1 by Marius Kruger
remove all trailing whitespace from bzr source
103
        # to upgrade it should be emitted even if the checkout is up to
1534.5.6 by Robert Collins
split out converter logic into per-format objects.
104
        # date
6072.3.1 by Jelmer Vernooij
Format URLs in ``bzr upgrade`` before display.
105
        burl = self.get_transport('current_format_branch').local_abspath(".")
106
        curl = self.get_transport('current_format_checkout').local_abspath(".")
6228.2.2 by Benoît Pierre
Update upgrade tests.
107
        (out, err) = self.run_bzr('upgrade current_format_checkout', retcode=0)
4360.10.46 by Vincent Ladeuil
Get rid of _verbose_warning and rework the messages overall display (revealing some incoherences) and fixing the tests accordingly.
108
        self.assertEqual(
6072.3.1 by Jelmer Vernooij
Format URLs in ``bzr upgrade`` before display.
109
            'Upgrading branch %s/ ...\nThis is a checkout.'
110
            ' The branch (%s/) needs to be upgraded separately.\n'
6228.2.2 by Benoît Pierre
Update upgrade tests.
111
            'The branch format %s is already at the most recent format.\n'
112
            % (curl, burl, 'Meta directory format 1'),
4360.10.46 by Vincent Ladeuil
Get rid of _verbose_warning and rework the messages overall display (revealing some incoherences) and fixing the tests accordingly.
113
            out)
1534.5.6 by Robert Collins
split out converter logic into per-format objects.
114
115
    def test_upgrade_checkout(self):
116
        # upgrading a checkout should work
117
        pass
118
119
    def test_upgrade_repository_scans_branches(self):
3943.8.1 by Marius Kruger
remove all trailing whitespace from bzr source
120
        # we should get individual upgrade notes for each branch even the
1534.5.6 by Robert Collins
split out converter logic into per-format objects.
121
        # anonymous branch
122
        pass
123
5582.9.11 by Jelmer Vernooij
Remove some more redundancy.
124
    def test_upgrade_branch_in_repo(self):
1534.5.6 by Robert Collins
split out converter logic into per-format objects.
125
        # upgrading a branch in a repo should warn about not upgrading the repo
126
        pass
1534.5.13 by Robert Collins
Correct buggy test.
127
5684.1.4 by Jelmer Vernooij
Use knits generally for testing
128
    def test_upgrade_control_dir(self):
129
        old_format = OldBzrDirFormat()
5712.3.17 by Jelmer Vernooij
more fixes.
130
        self.addCleanup(bzrdir.BzrProber.formats.remove,
131
            old_format.get_format_string())
132
        bzrdir.BzrProber.formats.register(old_format.get_format_string(),
133
            old_format)
5684.1.4 by Jelmer Vernooij
Use knits generally for testing
134
        self.addCleanup(controldir.ControlDirFormat._set_default_format,
135
                        controldir.ControlDirFormat.get_default_format())
136
137
        # setup an old format branch we can upgrade from.
138
        path = 'old_format_branch'
139
        self.make_branch_and_tree(path, format=old_format)
6072.3.1 by Jelmer Vernooij
Format URLs in ``bzr upgrade`` before display.
140
        transport = self.get_transport(path)
141
        url = transport.base
142
        display_url = transport.local_abspath('.')
1857.1.20 by Aaron Bentley
Strip out all the EnumOption stuff
143
        # check --format takes effect
5684.1.4 by Jelmer Vernooij
Use knits generally for testing
144
        controldir.ControlDirFormat._set_default_format(old_format)
5035.4.3 by Parth Malwankar
updated existing upgrade tests to work.
145
        backup_dir = 'backup.bzr.~1~'
2530.3.4 by Martin Pool
Deprecate run_bzr_captured in favour of just run_bzr
146
        (out, err) = self.run_bzr(
5684.1.2 by Jelmer Vernooij
Fix tests.
147
            ['upgrade', '--format=2a', url])
6072.3.1 by Jelmer Vernooij
Format URLs in ``bzr upgrade`` before display.
148
        self.assertEqualDiff("""Upgrading branch %s/ ...
149
starting upgrade of %s/
150
making backup of %s/.bzr
151
  to %s/%s
5684.1.2 by Jelmer Vernooij
Fix tests.
152
starting upgrade from old test format to 2a
1534.5.13 by Robert Collins
Correct buggy test.
153
finished
6072.3.1 by Jelmer Vernooij
Format URLs in ``bzr upgrade`` before display.
154
""" % (display_url, display_url, display_url, display_url, backup_dir), out)
1534.5.13 by Robert Collins
Correct buggy test.
155
        self.assertEqualDiff("", err)
156
        self.assertTrue(isinstance(
5582.9.6 by Jelmer Vernooij
More cleanups, remove more dependencies on specific formats.
157
            bzrdir.BzrDir.open(self.get_url(path))._format,
1534.5.13 by Robert Collins
Correct buggy test.
158
            bzrdir.BzrDirMetaFormat1))
1556.1.4 by Robert Collins
Add a new format for what will become knit, and the surrounding logic to upgrade repositories within metadirs, and tests for the same.
159
160
    def test_upgrade_explicit_knit(self):
5684.1.2 by Jelmer Vernooij
Fix tests.
161
        # users can force an upgrade to knit format from a metadir pack 0.92
162
        # branch to a 2a branch.
5684.1.4 by Jelmer Vernooij
Use knits generally for testing
163
        self.make_branch_and_tree('branch', format='knit')
6072.3.1 by Jelmer Vernooij
Format URLs in ``bzr upgrade`` before display.
164
        transport = self.get_transport('branch')
165
        url = transport.base
166
        display_url = transport.local_abspath('.')
1857.1.20 by Aaron Bentley
Strip out all the EnumOption stuff
167
        # check --format takes effect
5035.4.3 by Parth Malwankar
updated existing upgrade tests to work.
168
        backup_dir = 'backup.bzr.~1~'
2530.3.4 by Martin Pool
Deprecate run_bzr_captured in favour of just run_bzr
169
        (out, err) = self.run_bzr(
5684.1.4 by Jelmer Vernooij
Use knits generally for testing
170
            ['upgrade', '--format=pack-0.92', url])
6072.3.1 by Jelmer Vernooij
Format URLs in ``bzr upgrade`` before display.
171
        self.assertEqualDiff("""Upgrading branch %s/ ...
172
starting upgrade of %s/
173
making backup of %s/.bzr
174
  to %s/%s
1556.1.4 by Robert Collins
Add a new format for what will become knit, and the surrounding logic to upgrade repositories within metadirs, and tests for the same.
175
starting repository conversion
176
repository converted
177
finished
6072.3.1 by Jelmer Vernooij
Format URLs in ``bzr upgrade`` before display.
178
""" % (display_url, display_url, display_url, display_url, backup_dir),
4360.10.46 by Vincent Ladeuil
Get rid of _verbose_warning and rework the messages overall display (revealing some incoherences) and fixing the tests accordingly.
179
                             out)
1556.1.4 by Robert Collins
Add a new format for what will become knit, and the surrounding logic to upgrade repositories within metadirs, and tests for the same.
180
        self.assertEqualDiff("", err)
5684.1.2 by Jelmer Vernooij
Fix tests.
181
        converted_dir = bzrdir.BzrDir.open(self.get_url('branch'))
1556.1.4 by Robert Collins
Add a new format for what will become knit, and the surrounding logic to upgrade repositories within metadirs, and tests for the same.
182
        self.assertTrue(isinstance(converted_dir._format,
183
                                   bzrdir.BzrDirMetaFormat1))
184
        self.assertTrue(isinstance(converted_dir.open_repository()._format,
5684.1.4 by Jelmer Vernooij
Use knits generally for testing
185
                                   RepositoryFormatKnitPack1))
1558.7.2 by Aaron Bentley
Upgrade works in repositories
186
187
    def test_upgrade_repo(self):
5684.1.2 by Jelmer Vernooij
Fix tests.
188
        self.run_bzr('init-repository --format=pack-0.92 repo')
189
        self.run_bzr('upgrade --format=2a repo')
1666.1.3 by Robert Collins
Fix and test upgrades from bzrdir 6 over SFTP.
190
4360.10.38 by Vincent Ladeuil
Use assertXXX instead of _assert_xxx helpers.
191
    def assertLegalOption(self, option_str):
4360.10.8 by Ian Clatworthy
add blackbox tests
192
        # Confirm that an option is legal. (Lower level tests are
193
        # expected to validate the actual functionality.)
194
        self.run_bzr('init --format=pack-0.92 branch-foo')
195
        self.run_bzr('upgrade --format=2a branch-foo %s' % (option_str,))
196
4360.10.38 by Vincent Ladeuil
Use assertXXX instead of _assert_xxx helpers.
197
    def assertBranchFormat(self, dir, format):
4360.10.18 by Ian Clatworthy
Add basic checks to blackbox tests (beyond legal usage) as requested by poolie
198
        branch = bzrdir.BzrDir.open_tree_or_branch(self.get_url(dir))[1]
199
        branch_format = branch._format
200
        meta_format = bzrdir.format_registry.make_bzrdir(format)
201
        expected_format = meta_format.get_branch_format()
202
        self.assertEqual(expected_format, branch_format)
203
4360.10.8 by Ian Clatworthy
add blackbox tests
204
    def test_upgrade_clean_supported(self):
4360.10.38 by Vincent Ladeuil
Use assertXXX instead of _assert_xxx helpers.
205
        self.assertLegalOption('--clean')
206
        self.assertBranchFormat('branch-foo', '2a')
4360.10.26 by Matthew Fuller
Test the [non-]existence of the current backup dir name.
207
        backup_bzr_dir = os.path.join("branch-foo", "backup.bzr.~1~")
4360.10.18 by Ian Clatworthy
Add basic checks to blackbox tests (beyond legal usage) as requested by poolie
208
        self.assertFalse(os.path.exists(backup_bzr_dir))
4360.10.8 by Ian Clatworthy
add blackbox tests
209
210
    def test_upgrade_dry_run_supported(self):
4360.10.38 by Vincent Ladeuil
Use assertXXX instead of _assert_xxx helpers.
211
        self.assertLegalOption('--dry-run')
212
        self.assertBranchFormat('branch-foo', 'pack-0.92')
4360.10.8 by Ian Clatworthy
add blackbox tests
213
4634.148.1 by Martin Pool
Backport fix for permissions of backup.bzr
214
    def test_upgrade_permission_check(self):
215
        """'backup.bzr' should retain permissions of .bzr. Bug #262450"""
5094.3.2 by Martin Pool
Fix up feature name
216
        self.requireFeature(features.posix_permissions_feature)
4634.148.1 by Martin Pool
Backport fix for permissions of backup.bzr
217
        old_perms = stat.S_IRUSR | stat.S_IWUSR | stat.S_IXUSR
5036.3.10 by Parth Malwankar
merged in trunk. fixed blackbox.test_upgrade to use backup.bzr.~N~ convention.
218
        backup_dir = 'backup.bzr.~1~'
4634.148.1 by Martin Pool
Backport fix for permissions of backup.bzr
219
        self.run_bzr('init --format=1.6')
220
        os.chmod('.bzr', old_perms)
221
        self.run_bzr('upgrade')
222
        new_perms = os.stat(backup_dir).st_mode & 0777
223
        self.assertTrue(new_perms == old_perms)
224
5035.4.4 by Parth Malwankar
test updated to check for creation of backup.bzr.~2~ when backup.bzr.~1~ exists
225
    def test_upgrade_with_existing_backup_dir(self):
5684.1.4 by Jelmer Vernooij
Use knits generally for testing
226
        self.make_branch_and_tree("old_format_branch", format="knit")
227
        t = self.get_transport("old_format_branch")
5273.1.7 by Vincent Ladeuil
No more use of the get_transport imported *symbol*, all uses are through
228
        url = t.base
6072.3.1 by Jelmer Vernooij
Format URLs in ``bzr upgrade`` before display.
229
        display_url = t.local_abspath('.')
5035.4.4 by Parth Malwankar
test updated to check for creation of backup.bzr.~2~ when backup.bzr.~1~ exists
230
        backup_dir1 = 'backup.bzr.~1~'
231
        backup_dir2 = 'backup.bzr.~2~'
5035.4.6 by Parth Malwankar
added doc to test
232
        # explicitly create backup_dir1. bzr should create the .~2~ directory
233
        # as backup
5273.1.7 by Vincent Ladeuil
No more use of the get_transport imported *symbol*, all uses are through
234
        t.mkdir(backup_dir1)
5035.4.4 by Parth Malwankar
test updated to check for creation of backup.bzr.~2~ when backup.bzr.~1~ exists
235
        (out, err) = self.run_bzr(
5684.1.2 by Jelmer Vernooij
Fix tests.
236
            ['upgrade', '--format=2a', url])
6072.3.1 by Jelmer Vernooij
Format URLs in ``bzr upgrade`` before display.
237
        self.assertEqualDiff("""Upgrading branch %s/ ...
238
starting upgrade of %s/
239
making backup of %s/.bzr
240
  to %s/%s
5684.1.4 by Jelmer Vernooij
Use knits generally for testing
241
starting repository conversion
242
repository converted
5035.4.4 by Parth Malwankar
test updated to check for creation of backup.bzr.~2~ when backup.bzr.~1~ exists
243
finished
6072.3.1 by Jelmer Vernooij
Format URLs in ``bzr upgrade`` before display.
244
""" % (display_url, display_url, display_url, display_url, backup_dir2), out)
5035.4.4 by Parth Malwankar
test updated to check for creation of backup.bzr.~2~ when backup.bzr.~1~ exists
245
        self.assertEqualDiff("", err)
246
        self.assertTrue(isinstance(
5684.1.4 by Jelmer Vernooij
Use knits generally for testing
247
            bzrdir.BzrDir.open(self.get_url("old_format_branch"))._format,
5035.4.4 by Parth Malwankar
test updated to check for creation of backup.bzr.~2~ when backup.bzr.~1~ exists
248
            bzrdir.BzrDirMetaFormat1))
5273.1.7 by Vincent Ladeuil
No more use of the get_transport imported *symbol*, all uses are through
249
        self.assertTrue(t.has(backup_dir2))
5035.4.4 by Parth Malwankar
test updated to check for creation of backup.bzr.~2~ when backup.bzr.~1~ exists
250
5582.10.4 by Jelmer Vernooij
Fix a bunch of tests.
251
1666.1.3 by Robert Collins
Fix and test upgrades from bzrdir 6 over SFTP.
252
class SFTPTests(TestCaseWithSFTPServer):
253
    """Tests for upgrade over sftp."""
254
255
    def test_upgrade_url(self):
5684.1.2 by Jelmer Vernooij
Fix tests.
256
        self.run_bzr('init --format=pack-0.92')
5609.9.4 by Vincent Ladeuil
Use self.get_transport instead of transport.get_transport where possible.
257
        t = self.get_transport()
1666.1.3 by Robert Collins
Fix and test upgrades from bzrdir 6 over SFTP.
258
        url = t.base
6072.3.1 by Jelmer Vernooij
Format URLs in ``bzr upgrade`` before display.
259
        display_url = urlutils.unescape_for_display(url,
6072.3.2 by Jelmer Vernooij
Use utf8 as encoding for urls passed to note().
260
            'utf-8')
5684.1.2 by Jelmer Vernooij
Fix tests.
261
        out, err = self.run_bzr(['upgrade', '--format=2a', url])
6072.3.4 by Jelmer Vernooij
Merge ~ fixes.
262
        backup_dir = 'backup.bzr.~1~'
4360.10.46 by Vincent Ladeuil
Get rid of _verbose_warning and rework the messages overall display (revealing some incoherences) and fixing the tests accordingly.
263
        self.assertEqualDiff("""Upgrading branch %s ...
264
starting upgrade of %s
3943.2.4 by Martin Pool
Move backup progress indicators from upgrade.py into backup_bzrdir, and tweak text
265
making backup of %s.bzr
5035.4.3 by Parth Malwankar
updated existing upgrade tests to work.
266
  to %s%s
1666.1.3 by Robert Collins
Fix and test upgrades from bzrdir 6 over SFTP.
267
starting repository conversion
268
repository converted
269
finished
6072.3.3 by Jelmer Vernooij
Merge bzr.dev.
270
""" % (display_url, display_url, display_url, display_url, backup_dir), out)
1666.1.3 by Robert Collins
Fix and test upgrades from bzrdir 6 over SFTP.
271
        self.assertEqual('', err)
2323.6.1 by Martin Pool
(broken) Give a message when opening old workingtree formats suggesting upgrade
272
273
4634.2.1 by Robert Collins
Fix regression in upgrade introduced with the change to upgrade in rev 4622.
274
class UpgradeRecommendedTests(TestCaseWithTransport):
2323.6.1 by Martin Pool
(broken) Give a message when opening old workingtree formats suggesting upgrade
275
276
    def test_recommend_upgrade_wt4(self):
277
        # using a deprecated format gives a warning
2552.2.3 by Vincent Ladeuil
Deprecate the varargs syntax and fix the tests.
278
        self.run_bzr('init --knit a')
279
        out, err = self.run_bzr('status a')
2323.6.1 by Martin Pool
(broken) Give a message when opening old workingtree formats suggesting upgrade
280
        self.assertContainsRe(err, 'bzr upgrade .*[/\\\\]a')
2323.5.19 by Martin Pool
No upgrade recommendation on source when cloning
281
282
    def test_no_upgrade_recommendation_from_bzrdir(self):
283
        # we should only get a recommendation to upgrade when we're accessing
284
        # the actual workingtree, not when we only open a bzrdir that contains
285
        # an old workngtree
2552.2.3 by Vincent Ladeuil
Deprecate the varargs syntax and fix the tests.
286
        self.run_bzr('init --knit a')
3123.5.22 by Aaron Bentley
Change failing test to use another command, since checkout now uses trees
287
        out, err = self.run_bzr('revno a')
2323.5.19 by Martin Pool
No upgrade recommendation on source when cloning
288
        if err.find('upgrade') > -1:
289
            self.fail("message shouldn't suggest upgrade:\n%s" % err)
4634.2.1 by Robert Collins
Fix regression in upgrade introduced with the change to upgrade in rev 4622.
290
291
    def test_upgrade_shared_repo(self):
292
        repo = self.make_repository('repo', format='2a', shared=True)
293
        branch = self.make_branch_and_tree('repo/branch', format="pack-0.92")
294
        self.get_transport('repo/branch/.bzr/repository').delete_tree('.')
295
        out, err = self.run_bzr(['upgrade'], working_dir='repo/branch')