Rev 2258: Restore old InterWeave tests in file:///home/mbp/bzr/Work/repoformats/
Martin Pool
mbp at sourcefrog.net
Mon Feb 12 07:14:49 GMT 2007
------------------------------------------------------------
revno: 2258
revision-id: mbp at sourcefrog.net-20070212071448-0jvjfcc44wlaraw8
parent: mbp at sourcefrog.net-20070212065850-6i7a2btsua2b86tw
committer: Martin Pool <mbp at sourcefrog.net>
branch nick: repoformats
timestamp: Mon 2007-02-12 18:14:48 +1100
message:
Restore old InterWeave tests
modified:
bzrlib/tests/test_repository.py test_repository.py-20060131075918-65c555b881612f4d
=== modified file 'bzrlib/tests/test_repository.py'
--- a/bzrlib/tests/test_repository.py 2007-02-12 05:09:55 +0000
+++ b/bzrlib/tests/test_repository.py 2007-02-12 07:14:48 +0000
@@ -394,16 +394,36 @@
# now we should get the default InterRepository object again.
self.assertGetsDefaultInterRepository(dummy_a, dummy_b)
- def test_interweave_registered(self):
- # optimized conversion between weave repos is (still) present
- t = self.get_transport()
- t.mkdir('r1')
- t.mkdir('r2')
- r1 = bzrdir.BzrDirFormat6().initialize('r1')
- r2 = bzrdir.BzrDirFormat6().initialize('r2')
- inter_repo = repository.InterRepository.get(r1.open_repository(),
- r2.open_repository())
- self.assertIsInstance(inter_repo, repository.InterWeaveRepo)
+
+class TestInterWeaveRepo(TestCaseWithTransport):
+
+ def test_is_compatible_and_registered(self):
+ # InterWeaveRepo is compatible when either side
+ # is a format 5/6/7 branch
+ formats = [repository.RepositoryFormat5(),
+ repository.RepositoryFormat6(),
+ repository.RepositoryFormat7()]
+ incompatible_formats = [repository.RepositoryFormat4(),
+ repository.RepositoryFormatKnit1(),
+ ]
+ repo_a = self.make_repository('a')
+ repo_b = self.make_repository('b')
+ is_compatible = repository.InterWeaveRepo.is_compatible
+ for source in incompatible_formats:
+ # force incompatible left then right
+ repo_a._format = source
+ repo_b._format = formats[0]
+ self.assertFalse(is_compatible(repo_a, repo_b))
+ self.assertFalse(is_compatible(repo_b, repo_a))
+ for source in formats:
+ repo_a._format = source
+ for target in formats:
+ repo_b._format = target
+ self.assertTrue(is_compatible(repo_a, repo_b))
+ self.assertEqual(repository.InterWeaveRepo,
+ repository.InterRepository.get(repo_a,
+ repo_b).__class__)
+
class TestRepositoryConverter(TestCaseWithTransport):
More information about the bazaar-commits
mailing list