Rev 1884: make tests less mapping-specific. in file:///data/jelmer/bzr-svn/trunk/
Jelmer Vernooij
jelmer at samba.org
Tue Sep 9 13:25:52 BST 2008
At file:///data/jelmer/bzr-svn/trunk/
------------------------------------------------------------
revno: 1884
revision-id: jelmer at samba.org-20080909122550-b1gfuq2belu8f4dr
parent: jelmer at samba.org-20080909113827-ylu437qam3uzrm2j
committer: Jelmer Vernooij <jelmer at samba.org>
branch nick: trunk
timestamp: Tue 2008-09-09 14:25:50 +0200
message:
make tests less mapping-specific.
modified:
layout.py layout.py-20080323165407-y9qw8nx4oykvoe1k-1
revmeta.py revmeta.py-20080901215045-n8a6arqybs9ez5hl-1
tests/mapping3/__init__.py __init__.py-20080831152358-oy04n53cpnh64aj6-1
tests/mapping_implementations/__init__.py __init__.py-20080902013845-ity7d1ymye69sobm-1
tests/mapping_implementations/test_repository.py test_repository.py-20080902013845-ity7d1ymye69sobm-2
tests/test_branch.py test_branch.py-20060508162215-74ffeb5d608f8e20
tests/test_commit.py test_commit.py-20060624213521-l5kcufywkh9mnilk-1
tests/test_fetch.py test_fetch.py-20070624210302-luvgwjmlfysk5qeq-1
tests/test_push.py test_push.py-20070201165715-g2ievcdfqi33wqsy-1
=== modified file 'layout.py'
--- a/layout.py 2008-09-09 02:52:20 +0000
+++ b/layout.py 2008-09-09 12:25:50 +0000
@@ -182,7 +182,8 @@
inside the branch
"""
assert isinstance(path, str)
- parts = path.strip("/").split("/")
+ path = path.strip("/")
+ parts = path.split("/")
for i, p in enumerate(parts):
if (i > 0 and parts[i-1] in ("branches", "tags")) or p == "trunk":
if parts[i-1] == "tags":
=== modified file 'revmeta.py'
--- a/revmeta.py 2008-09-08 18:06:58 +0000
+++ b/revmeta.py 2008-09-09 12:25:50 +0000
@@ -442,6 +442,8 @@
def get_revision(self, path, revnum, changes=None, revprops=None, changed_fileprops=None,
fileprops=None, metabranch=None):
+ assert isinstance(path, str)
+ assert isinstance(revnum, int)
if (path, revnum) in self._revmeta_cache:
cached = self._revmeta_cache[path,revnum]
if changes is not None:
=== modified file 'tests/mapping3/__init__.py'
--- a/tests/mapping3/__init__.py 2008-09-05 20:24:24 +0000
+++ b/tests/mapping3/__init__.py 2008-09-09 12:25:50 +0000
@@ -403,4 +403,66 @@
self.assertEqual("someid", tree.inventory.path2id("foo"))
self.assertFalse("1@%s::foo" % repository.uuid in tree.inventory)
-
+ def test_commit_revision_id(self):
+ self.make_checkout(self.repos_url, "dc")
+ wt = WorkingTree.open("dc")
+ self.build_tree({'dc/foo/bla': "data", 'dc/bla': "otherdata"})
+ wt.add('bla')
+ wt.commit(message="data")
+
+ branch = Branch.open(self.repos_url)
+ builder = branch.get_commit_builder([branch.last_revision()],
+ revision_id="my-revision-id")
+ tree = branch.repository.revision_tree(branch.last_revision())
+ new_tree = copy(tree)
+ ie = new_tree.inventory.root
+ ie.revision = None
+ builder.record_entry_contents(ie, [tree.inventory], '', new_tree,
+ None)
+ builder.finish_inventory()
+ builder.commit("foo")
+
+ self.assertEqual("3 my-revision-id\n",
+ self.client_get_prop("dc",
+ "bzr:revision-id:v3-none", 2))
+
+ def test_commit_metadata(self):
+ self.make_checkout(self.repos_url, "dc")
+
+ wt = WorkingTree.open("dc")
+ self.build_tree({'dc/foo/bla': "data", 'dc/bla': "otherdata"})
+ wt.add('bla')
+ wt.commit(message="data")
+
+ branch = Branch.open(self.repos_url)
+ builder = branch.get_commit_builder([branch.last_revision()],
+ timestamp=4534.0, timezone=2, committer="fry",
+ revision_id="my-revision-id")
+ tree = branch.repository.revision_tree(branch.last_revision())
+ new_tree = copy(tree)
+ ie = new_tree.inventory.root
+ ie.revision = None
+ builder.record_entry_contents(ie, [tree.inventory], '', new_tree, None)
+ builder.finish_inventory()
+ builder.commit("foo")
+
+ self.assertEqual("3 my-revision-id\n",
+ self.client_get_prop("dc", "bzr:revision-id:v3-none", 2))
+
+ self.assertEqual(
+ "timestamp: 1970-01-01 01:15:36.000000000 +0000\ncommitter: fry\n",
+ self.client_get_prop("dc", "bzr:revision-info", 2))
+
+ def test_commit_parents(self):
+ self.make_checkout(self.repos_url, "dc")
+ self.build_tree({'dc/foo/bla': "data"})
+ self.client_add("dc/foo")
+ wt = WorkingTree.open("dc")
+ wt.set_pending_merges(["some-ghost-revision"])
+ self.assertEqual(["some-ghost-revision"], wt.get_parent_ids()[1:])
+ wt.commit(message="data")
+ self.assertEqual("some-ghost-revision\n",
+ self.client_get_prop(self.repos_url, "bzr:ancestry:v3-none", 1))
+ self.assertEqual((wt.branch.generate_revision_id(0), "some-ghost-revision"),
+ wt.branch.repository.get_revision(
+ wt.branch.last_revision()).parent_ids)
=== modified file 'tests/mapping_implementations/__init__.py'
--- a/tests/mapping_implementations/__init__.py 2008-09-04 06:14:53 +0000
+++ b/tests/mapping_implementations/__init__.py 2008-09-09 12:25:50 +0000
@@ -19,7 +19,7 @@
def load_tests(basic_tests, module, loader):
result = loader.suiteClass()
prefix = "bzrlib.plugins.svn.tests.mapping_implementations"
- modules = ['test_base', 'test_repository']
+ modules = ['test_base', 'test_branch', 'test_repository']
module_name_list = ["%s.%s" % (prefix, m) for m in modules]
format_scenarios = []
for name in mapping_registry.keys():
=== modified file 'tests/mapping_implementations/test_repository.py'
--- a/tests/mapping_implementations/test_repository.py 2008-09-07 02:22:28 +0000
+++ b/tests/mapping_implementations/test_repository.py 2008-09-09 12:25:50 +0000
@@ -1006,4 +1006,33 @@
('signatures', None, set([])),
('revisions', None, [revid])], ch)
-
+ def test_fetch_file_from_non_branch(self):
+ repos_url = self.make_repository('d')
+
+ dc = self.get_commit_editor(repos_url)
+ old_trunk = dc.add_dir("old-trunk")
+ lib = old_trunk.add_dir("old-trunk/lib")
+ lib.add_file("old-trunk/lib/file").modify("data")
+ dc.close()
+
+ dc = self.get_commit_editor(repos_url)
+ trunk = dc.add_dir("trunk")
+ lib = trunk.add_dir("trunk/lib")
+ lib.add_file("trunk/lib/file", "old-trunk/lib/file")
+ dc.close()
+
+ oldrepos = Repository.open(repos_url)
+ oldrepos.set_layout(TrunkLayout(0))
+ dir = BzrDir.create("f", format.get_rich_root_format())
+ newrepos = dir.create_repository()
+ oldrepos.copy_content_into(newrepos)
+
+ mapping = oldrepos.get_mapping()
+ branch = Branch.open("%s/trunk" % repos_url)
+ if mapping.is_branch("old-trunk"):
+ self.assertEqual([oldrepos.generate_revision_id(1, "old-trunk", mapping),
+ oldrepos.generate_revision_id(2, "trunk", mapping)],
+ branch.revision_history())
+ else:
+ self.assertEqual([oldrepos.generate_revision_id(2, "trunk", mapping)],
+ branch.revision_history())
=== modified file 'tests/test_branch.py'
--- a/tests/test_branch.py 2008-09-04 09:40:03 +0000
+++ b/tests/test_branch.py 2008-09-09 12:25:50 +0000
@@ -352,37 +352,6 @@
branch = Branch.open(repos_url)
self.assertRaises(NoSuchRevision, branch.revision_id_to_revno, "bla")
- def test_revision_id_to_revno_simple(self):
- repos_url = self.make_repository('a')
-
- dc = self.get_commit_editor(repos_url)
- dc.add_file("foo").modify()
- dc.change_prop("bzr:revision-id:v3-none",
- "2 myrevid\n")
- dc.close()
-
- branch = Branch.open(repos_url)
- self.assertEquals(2, branch.revision_id_to_revno("myrevid"))
-
- def test_revision_id_to_revno_older(self):
- repos_url = self.make_repository('a')
-
- dc = self.get_commit_editor(repos_url)
- dc.add_file("foo").modify()
- dc.change_prop("bzr:revision-id:v3-none",
- "2 myrevid\n")
- dc.close()
-
- dc = self.get_commit_editor(repos_url)
- dc.open_file("foo").modify()
- dc.change_prop("bzr:revision-id:v3-none",
- "2 myrevid\n3 mysecondrevid\n")
- dc.close()
-
- branch = Branch.open(repos_url)
- self.assertEquals(3, branch.revision_id_to_revno("mysecondrevid"))
- self.assertEquals(2, branch.revision_id_to_revno("myrevid"))
-
def test_get_nick_none(self):
repos_url = self.make_repository('a')
=== modified file 'tests/test_commit.py'
--- a/tests/test_commit.py 2008-09-06 12:40:37 +0000
+++ b/tests/test_commit.py 2008-09-09 12:25:50 +0000
@@ -21,6 +21,7 @@
from bzrlib.branch import Branch, PullResult
from bzrlib.bzrdir import BzrDir
from bzrlib.errors import DivergedBranches, BzrError
+from bzrlib.repository import Repository
from bzrlib.tests import TestCase
from bzrlib.trace import mutter
from bzrlib.workingtree import WorkingTree
@@ -130,20 +131,6 @@
wt.branch.generate_revision_id(1),
wt.branch.last_revision())
- def test_commit_parents(self):
- repos_url = self.make_client('d', 'dc')
- self.build_tree({'dc/foo/bla': "data"})
- self.client_add("dc/foo")
- wt = WorkingTree.open("dc")
- wt.set_pending_merges(["some-ghost-revision"])
- self.assertEqual(["some-ghost-revision"], wt.get_parent_ids()[1:])
- wt.commit(message="data")
- self.assertEqual("some-ghost-revision\n",
- self.client_get_prop(repos_url, "bzr:ancestry:v3-none", 1))
- self.assertEqual((wt.branch.generate_revision_id(0), "some-ghost-revision"),
- wt.branch.repository.get_revision(
- wt.branch.last_revision()).parent_ids)
-
def test_commit_rename_file(self):
repos_url = self.make_client('d', 'dc')
self.build_tree({'dc/foo': "data"})
@@ -159,8 +146,9 @@
self.assertEquals('A', paths["/bar"][0])
self.assertEquals('/foo', paths["/bar"][1])
self.assertEquals(1, paths["/bar"][2])
- self.assertEquals("bar\t%s\n" % oldid,
- self.client_get_prop(repos_url, "bzr:file-ids", 2))
+ svnrepo = Repository.open(repos_url)
+ self.assertEquals({u"bar": "oldid"},
+ svnrepo._revmeta_provider.get_revision("", 2).get_fileid_map(svnrepo.get_mapping()))
def test_commit_rename_file_from_directory(self):
repos_url = self.make_client('d', 'dc')
@@ -178,29 +166,6 @@
self.assertEquals('/adir/foo', paths["/bar"][1])
self.assertEquals(1, paths["/bar"][2])
- def test_commit_revision_id(self):
- repos_url = self.make_client('d', 'dc')
- wt = WorkingTree.open("dc")
- self.build_tree({'dc/foo/bla': "data", 'dc/bla': "otherdata"})
- wt.add('bla')
- wt.commit(message="data")
-
- branch = Branch.open(repos_url)
- builder = branch.get_commit_builder([branch.last_revision()],
- revision_id="my-revision-id")
- tree = branch.repository.revision_tree(branch.last_revision())
- new_tree = copy(tree)
- ie = new_tree.inventory.root
- ie.revision = None
- builder.record_entry_contents(ie, [tree.inventory], '', new_tree,
- None)
- builder.finish_inventory()
- builder.commit("foo")
-
- self.assertEqual("3 my-revision-id\n",
- self.client_get_prop("dc",
- "bzr:revision-id:v3-none", 2))
-
def test_commit_sets_mergeinfo(self):
repos_url = self.make_repository('d')
@@ -246,32 +211,6 @@
except NotImplementedError:
pass # Svn 1.4
- def test_commit_metadata(self):
- repos_url = self.make_client('d', 'dc')
- wt = WorkingTree.open("dc")
- self.build_tree({'dc/foo/bla': "data", 'dc/bla': "otherdata"})
- wt.add('bla')
- wt.commit(message="data")
-
- branch = Branch.open(repos_url)
- builder = branch.get_commit_builder([branch.last_revision()],
- timestamp=4534.0, timezone=2, committer="fry",
- revision_id="my-revision-id")
- tree = branch.repository.revision_tree(branch.last_revision())
- new_tree = copy(tree)
- ie = new_tree.inventory.root
- ie.revision = None
- builder.record_entry_contents(ie, [tree.inventory], '', new_tree, None)
- builder.finish_inventory()
- builder.commit("foo")
-
- self.assertEqual("3 my-revision-id\n",
- self.client_get_prop("dc", "bzr:revision-id:v3-none", 2))
-
- self.assertEqual(
- "timestamp: 1970-01-01 01:15:36.000000000 +0000\ncommitter: fry\n",
- self.client_get_prop("dc", "bzr:revision-info", 2))
-
def test_mwh(self):
repo = self.make_client('d', 'sc')
def mv(*mvs):
@@ -590,14 +529,16 @@
wt.rename_one('file', 'file2')
revid2 = wt.commit(message="Commit from Bzr")
master_branch = Branch.open(repos_url)
- self.assertEquals("file\t%s\n" % oldid,
- self.client_get_prop(repos_url, "bzr:file-ids", 1))
- self.assertEquals("file2\t%s\n" % oldid,
- self.client_get_prop(repos_url, "bzr:file-ids", 2))
+ rm_provider = master_branch.repository._revmeta_provider
+ mapping = master_branch.repository.get_mapping()
+ self.assertEquals({u"file": oldid},
+ rm_provider.get_revision("", 1).get_fileid_map(mapping))
+ self.assertEquals({u"file2": oldid},
+ rm_provider.get_revision("", 2).get_fileid_map(mapping))
tree1 = master_branch.repository.revision_tree(revid1)
tree2 = master_branch.repository.revision_tree(revid2)
delta = tree2.changes_from(tree1)
- mutter("changes %r" % list(master_branch.repository._revmeta_provider.iter_reverse_branch_changes("", 2, 0, master_branch.repository.get_mapping())))
+ mutter("changes %r" % list(rm_provider.iter_reverse_branch_changes("", 2, 0, master_branch.repository.get_mapping())))
self.assertEquals(0, len(delta.added))
self.assertEquals(0, len(delta.removed))
self.assertEquals(1, len(delta.renamed))
@@ -616,9 +557,11 @@
fileid = wt.path2id("dir/file")
revid1 = wt.commit(message="Commit from Bzr")
master_branch = Branch.open(repos_url)
- self.assertEquals("dir\t%s\n" % dirid +
- "dir/file\t%s\n" % fileid,
- self.client_get_prop(repos_url, "bzr:file-ids", 1))
+ rm_provider = master_branch.repository._revmeta_provider
+ mapping = master_branch.repository.get_mapping()
+ self.assertEquals({"dir": dirid,
+ "dir/file": fileid},
+ rm_provider.get_revision(1, "").get_fileid_map(mapping))
class RevpropTests(SubversionTestCase):
=== modified file 'tests/test_fetch.py'
--- a/tests/test_fetch.py 2008-09-04 09:40:03 +0000
+++ b/tests/test_fetch.py 2008-09-09 12:25:50 +0000
@@ -1260,31 +1260,6 @@
self.assertEqual([oldrepos.generate_revision_id(2, "branches/mybranch", mapping)],
branch.revision_history())
- def test_fetch_file_from_non_branch(self):
- repos_url = self.make_repository('d')
-
- dc = self.get_commit_editor(repos_url)
- old_trunk = dc.add_dir("old-trunk")
- lib = old_trunk.add_dir("old-trunk/lib")
- lib.add_file("old-trunk/lib/file").modify("data")
- dc.close()
-
- dc = self.get_commit_editor(repos_url)
- trunk = dc.add_dir("trunk")
- lib = trunk.add_dir("trunk/lib")
- lib.add_file("trunk/lib/file", "old-trunk/lib/file")
- dc.close()
-
- oldrepos = Repository.open(repos_url)
- oldrepos.set_layout(TrunkLayout(0))
- dir = BzrDir.create("f", format.get_rich_root_format())
- newrepos = dir.create_repository()
- oldrepos.copy_content_into(newrepos)
-
- branch = Branch.open("%s/trunk" % repos_url)
- self.assertEqual([oldrepos.generate_revision_id(2, "trunk", oldrepos.get_mapping())],
- branch.revision_history())
-
def test_fetch_dir_from_non_branch(self):
repos_url = self.make_repository('d')
=== modified file 'tests/test_push.py'
--- a/tests/test_push.py 2008-09-08 04:03:30 +0000
+++ b/tests/test_push.py 2008-09-09 12:25:50 +0000
@@ -616,8 +616,8 @@
self.assertTrue(os.path.exists("bzrco1/bar2.txt"))
wt1.branch.push(Branch.open(repos_url+"/trunk"))
r = Repository.open(repos_url)
- props = r._revmeta_provider.get_revision("trunk", 3).get_changed_fileprops()
- self.assertEquals(props['bzr:text-revisions'], 'bar2.txt\tside1\n')
+ revmeta = r._revmeta_provider.get_revision("trunk", 3)
+ self.assertEquals({"bar2.txt": "side1"}, revmeta.get_text_revisions(r.get_mapping()))
os.mkdir("cpy")
cpy = BzrDir.create("cpy", format.get_rich_root_format())
More information about the bazaar-commits
mailing list