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