Rev 5707: (jelmer) Avoid using weave formats in the blackbox upgrade tests. (Jelmer in file:///home/pqm/archives/thelove/bzr/%2Btrunk/
Canonical.com Patch Queue Manager
pqm at pqm.ubuntu.com
Tue Mar 8 17:40:30 UTC 2011
At file:///home/pqm/archives/thelove/bzr/%2Btrunk/
------------------------------------------------------------
revno: 5707 [merge]
revision-id: pqm at pqm.ubuntu.com-20110308174026-cy26cy90bbt74squ
parent: pqm at pqm.ubuntu.com-20110308165936-hp3voq41wvr83wnl
parent: jelmer at samba.org-20110304152908-9j7twsh68563z4v4
committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
branch nick: +trunk
timestamp: Tue 2011-03-08 17:40:26 +0000
message:
(jelmer) Avoid using weave formats in the blackbox upgrade tests. (Jelmer
Vernooij)
modified:
bzrlib/bzrdir.py bzrdir.py-20060131065624-156dfea39c4387cb
bzrlib/tests/blackbox/test_upgrade.py test_upgrade.py-20060120060132-b41e5ed2f886ad28
=== modified file 'bzrlib/bzrdir.py'
--- a/bzrlib/bzrdir.py 2011-03-08 00:04:05 +0000
+++ b/bzrlib/bzrdir.py 2011-03-08 17:40:26 +0000
@@ -58,12 +58,6 @@
xml4,
xml5,
)
-from bzrlib.osutils import (
- sha_string,
- )
-from bzrlib.push import (
- PushResult,
- )
from bzrlib.repofmt import pack_repo
from bzrlib.smart.client import _SmartClient
from bzrlib.store.versioned import VersionedFileStore
@@ -86,8 +80,6 @@
from bzrlib import (
hooks,
- registry,
- symbol_versioning,
)
from bzrlib.symbol_versioning import (
deprecated_in,
@@ -2364,7 +2356,7 @@
def _store_new_inv(self, rev, inv, present_parents):
new_inv_xml = xml5.serializer_v5.write_inventory_to_string(inv)
- new_inv_sha1 = sha_string(new_inv_xml)
+ new_inv_sha1 = osutils.sha_string(new_inv_xml)
self.inv_weave.add_lines(rev.revision_id,
present_parents,
new_inv_xml.splitlines(True))
=== modified file 'bzrlib/tests/blackbox/test_upgrade.py'
--- a/bzrlib/tests/blackbox/test_upgrade.py 2011-02-21 23:31:07 +0000
+++ b/bzrlib/tests/blackbox/test_upgrade.py 2011-03-04 15:29:08 +0000
@@ -21,23 +21,54 @@
from bzrlib import (
bzrdir,
controldir,
+ lockable_files,
+ ui,
)
from bzrlib.tests import (
features,
TestCaseWithTransport,
)
from bzrlib.tests.test_sftp_transport import TestCaseWithSFTPServer
-from bzrlib.repofmt.knitrepo import (
- RepositoryFormatKnit1,
- )
+from bzrlib.repofmt.pack_repo import RepositoryFormatKnitPack1
+
+
+class OldBzrDir(bzrdir.BzrDirMeta1):
+ """An test bzr dir implementation"""
+
+ def needs_format_conversion(self, format):
+ return not isinstance(format, self.__class__)
+
+
+class ConvertOldTestToMeta(controldir.Converter):
+ """A trivial converter, used for testing."""
+
+ def convert(self, to_convert, pb):
+ ui.ui_factory.note('starting upgrade from old test format to 2a')
+ to_convert.control_transport.put_bytes(
+ 'branch-format',
+ bzrdir.BzrDirMetaFormat1().get_format_string(),
+ mode=to_convert._get_file_mode())
+ return bzrdir.BzrDir.open(to_convert.user_url)
+
+
+class OldBzrDirFormat(bzrdir.BzrDirMetaFormat1):
+
+ _lock_class = lockable_files.TransportLock
+
+ def get_converter(self, format=None):
+ return ConvertOldTestToMeta()
+
+ def get_format_string(self):
+ return "Ancient Test Format"
+
+ def _open(self, transport):
+ return OldBzrDir(transport, self)
class TestWithUpgradableBranches(TestCaseWithTransport):
def setUp(self):
super(TestWithUpgradableBranches, self).setUp()
- self.addCleanup(controldir.ControlDirFormat._set_default_format,
- controldir.ControlDirFormat.get_default_format())
def make_current_format_branch_and_checkout(self):
current_tree = self.make_branch_and_tree('current_format_branch',
@@ -45,19 +76,10 @@
current_tree.branch.create_checkout(
self.get_url('current_format_checkout'), lightweight=True)
- def make_format_5_branch(self):
- # setup a format 5 branch we can upgrade from.
- path = 'format_5_branch'
- self.make_branch_and_tree(path, format=bzrdir.BzrDirFormat5())
- return path
-
- def make_metadir_weave_branch(self):
- self.make_branch_and_tree('metadir_weave_branch', format='metaweave')
-
def test_readonly_url_error(self):
- path = self.make_format_5_branch()
+ self.make_branch_and_tree("old_format_branch", format="knit")
(out, err) = self.run_bzr(
- ['upgrade', self.get_readonly_url(path)], retcode=3)
+ ['upgrade', self.get_readonly_url("old_format_branch")], retcode=3)
err_msg = 'Upgrade URL cannot work with readonly URLs.'
self.assertEqualDiff('conversion error: %s\nbzr: ERROR: %s\n'
% (err_msg, err_msg),
@@ -105,23 +127,27 @@
# upgrading a branch in a repo should warn about not upgrading the repo
pass
- def test_upgrade_explicit_metaformat(self):
- # users can force an upgrade to metadir format.
- path = self.make_format_5_branch()
+ def test_upgrade_control_dir(self):
+ old_format = OldBzrDirFormat()
+ self.addCleanup(bzrdir.BzrDirFormat.unregister_format, old_format)
+ bzrdir.BzrDirFormat.register_format(old_format)
+ self.addCleanup(controldir.ControlDirFormat._set_default_format,
+ controldir.ControlDirFormat.get_default_format())
+
+ # setup an old format branch we can upgrade from.
+ path = 'old_format_branch'
+ self.make_branch_and_tree(path, format=old_format)
url = self.get_transport(path).base
# check --format takes effect
- controldir.ControlDirFormat._set_default_format(bzrdir.BzrDirFormat5())
+ controldir.ControlDirFormat._set_default_format(old_format)
backup_dir = 'backup.bzr.~1~'
(out, err) = self.run_bzr(
- ['upgrade', '--format=metaweave', url])
+ ['upgrade', '--format=2a', url])
self.assertEqualDiff("""Upgrading branch %s ...
starting upgrade of %s
making backup of %s.bzr
to %s%s
-starting upgrade from format 5 to 6
-adding prefixes to weaves
-adding prefixes to revision-store
-starting upgrade from format 6 to metadir
+starting upgrade from old test format to 2a
finished
""" % (url, url, url, url, backup_dir), out)
self.assertEqualDiff("", err)
@@ -130,15 +156,14 @@
bzrdir.BzrDirMetaFormat1))
def test_upgrade_explicit_knit(self):
- # users can force an upgrade to knit format from a metadir weave
- # branch
- self.make_metadir_weave_branch()
- url = self.get_transport('metadir_weave_branch').base
+ # users can force an upgrade to knit format from a metadir pack 0.92
+ # branch to a 2a branch.
+ self.make_branch_and_tree('branch', format='knit')
+ url = self.get_transport('branch').base
# check --format takes effect
- controldir.ControlDirFormat._set_default_format(bzrdir.BzrDirFormat5())
backup_dir = 'backup.bzr.~1~'
(out, err) = self.run_bzr(
- ['upgrade', '--format=knit', url])
+ ['upgrade', '--format=pack-0.92', url])
self.assertEqualDiff("""Upgrading branch %s ...
starting upgrade of %s
making backup of %s.bzr
@@ -149,15 +174,15 @@
""" % (url, url, url, url, backup_dir),
out)
self.assertEqualDiff("", err)
- converted_dir = bzrdir.BzrDir.open(self.get_url('metadir_weave_branch'))
+ converted_dir = bzrdir.BzrDir.open(self.get_url('branch'))
self.assertTrue(isinstance(converted_dir._format,
bzrdir.BzrDirMetaFormat1))
self.assertTrue(isinstance(converted_dir.open_repository()._format,
- RepositoryFormatKnit1))
+ RepositoryFormatKnitPack1))
def test_upgrade_repo(self):
- self.run_bzr('init-repository --format=metaweave repo')
- self.run_bzr('upgrade --format=knit repo')
+ self.run_bzr('init-repository --format=pack-0.92 repo')
+ self.run_bzr('upgrade --format=2a repo')
def assertLegalOption(self, option_str):
# Confirm that an option is legal. (Lower level tests are
@@ -194,30 +219,27 @@
self.assertTrue(new_perms == old_perms)
def test_upgrade_with_existing_backup_dir(self):
- path = self.make_format_5_branch()
- t = self.get_transport(path)
+ self.make_branch_and_tree("old_format_branch", format="knit")
+ t = self.get_transport("old_format_branch")
url = t.base
- controldir.ControlDirFormat._set_default_format(bzrdir.BzrDirFormat5())
backup_dir1 = 'backup.bzr.~1~'
backup_dir2 = 'backup.bzr.~2~'
# explicitly create backup_dir1. bzr should create the .~2~ directory
# as backup
t.mkdir(backup_dir1)
(out, err) = self.run_bzr(
- ['upgrade', '--format=metaweave', url])
+ ['upgrade', '--format=2a', url])
self.assertEqualDiff("""Upgrading branch %s ...
starting upgrade of %s
making backup of %s.bzr
to %s%s
-starting upgrade from format 5 to 6
-adding prefixes to weaves
-adding prefixes to revision-store
-starting upgrade from format 6 to metadir
+starting repository conversion
+repository converted
finished
""" % (url, url, url, url, backup_dir2), out)
self.assertEqualDiff("", err)
self.assertTrue(isinstance(
- bzrdir.BzrDir.open(self.get_url(path))._format,
+ bzrdir.BzrDir.open(self.get_url("old_format_branch"))._format,
bzrdir.BzrDirMetaFormat1))
self.assertTrue(t.has(backup_dir2))
@@ -226,16 +248,15 @@
"""Tests for upgrade over sftp."""
def test_upgrade_url(self):
- self.run_bzr('init --format=weave')
+ self.run_bzr('init --format=pack-0.92')
t = self.get_transport()
url = t.base
- out, err = self.run_bzr(['upgrade', '--format=knit', url])
+ out, err = self.run_bzr(['upgrade', '--format=2a', url])
backup_dir = 'backup.bzr.~1~'
self.assertEqualDiff("""Upgrading branch %s ...
starting upgrade of %s
making backup of %s.bzr
to %s%s
-starting upgrade from format 6 to metadir
starting repository conversion
repository converted
finished
More information about the bazaar-commits
mailing list