Rev 24: Update to be compatible with a possible --development5 change. in http://bazaar.launchpad.net/%7Ebzr/bzr-repodetails/trunk

John Arbash Meinel john at arbash-meinel.com
Thu Feb 12 23:03:23 GMT 2009


At http://bazaar.launchpad.net/%7Ebzr/bzr-repodetails/trunk

------------------------------------------------------------
revno: 24
revision-id: john at arbash-meinel.com-20090212230220-myirk8ntfv7lu21s
parent: john at arbash-meinel.com-20090212203200-dpicif2jhyq1yycs
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: trunk
timestamp: Thu 2009-02-12 17:02:20 -0600
message:
  Update to be compatible with a possible --development5 change.
  And get the test suite passing again w/ brisbane-core.
-------------- next part --------------
=== modified file 'gather_stats.py'
--- a/gather_stats.py	2009-02-12 20:32:00 +0000
+++ b/gather_stats.py	2009-02-12 23:02:20 +0000
@@ -23,34 +23,42 @@
 import math
 
 from bzrlib import repository, ui, tsort
+from bzrlib.repofmt import pack_repo
 try:
     from bzrlib import chk_map
     from bzrlib.inventory import CHKInventory
-    from bzrlib.repofmt.pack_repo import (
-        RepositoryFormatPackDevelopment3,
-        RepositoryFormatPackDevelopment3Subtree,
-        RepositoryFormatPackDevelopment4,
-        RepositoryFormatPackDevelopment4Subtree,
-        )
-    pack_chk_inv_types = (
-        RepositoryFormatPackDevelopment3,
-        RepositoryFormatPackDevelopment3Subtree,
-        RepositoryFormatPackDevelopment4,
-        RepositoryFormatPackDevelopment4Subtree,
-        )
     chk_support = True
 except ImportError:
     chk_support = False
     chk_hash_support = False
+
+if not chk_support:
+    chk_hash_support = False
+    pack_chk_inv_types = ()
 else:
-    try:
-        from bzrlib.repofmt.pack_repo import (
-            RepositoryFormatPackDevelopment4Hash16,
-            RepositoryFormatPackDevelopment4Hash255,
-            )
+    if getattr(chk_map, 'search_key_registry', None) is not None:
         chk_hash_support = True
-    except:
+    else:
         chk_hash_support = False
+    possible_formats = [
+        'RepositoryFormatPackDevelopment3',
+        'RepositoryFormatPackDevelopment3',
+        'RepositoryFormatPackDevelopment3Subtree',
+        'RepositoryFormatPackDevelopment4',
+        'RepositoryFormatPackDevelopment4Subtree',
+        'RepositoryFormatPackDevelopment4Hash16',
+        'RepositoryFormatPackDevelopment4Hash255',
+        'RepositoryFormatPackDevelopment5',
+        'RepositoryFormatPackDevelopment5Subtree',
+        'RepositoryFormatPackDevelopment5Hash16',
+        'RepositoryFormatPackDevelopment5Hash255',
+        ]
+    pack_chk_inv_types = []
+    for format_name in possible_formats:
+        fmt = getattr(pack_repo, format_name, None)
+        if fmt is not None:
+            pack_chk_inv_types.append(fmt)
+    pack_chk_inv_types = tuple(pack_chk_inv_types)
 try:
     from bzrlib.plugins.groupcompress.groupcompress import GroupCompressVersionedFiles
     gc_support = True
@@ -84,11 +92,6 @@
 pack_signature_types = pack_rev_types
 pack_text_types = pack_rev_types
 pack_xml_inv_types = pack_rev_types
-if chk_hash_support:
-    pack_chk_inv_types = pack_chk_inv_types + (
-        RepositoryFormatPackDevelopment4Hash16,
-        RepositoryFormatPackDevelopment4Hash255,
-        )
 if chk_support:
     pack_rev_types = pack_rev_types + pack_chk_inv_types
     pack_signature_types = pack_signature_types + pack_chk_inv_types

=== modified file 'tests/test_repositorydetails.py'
--- a/tests/test_repositorydetails.py	2008-12-24 17:49:09 +0000
+++ b/tests/test_repositorydetails.py	2009-02-12 23:02:20 +0000
@@ -21,11 +21,18 @@
 lazy_import(globals(), '''
 from bzrlib.plugins.repodetails import gather_stats
 ''')
+from bzrlib import bzrdir
 from bzrlib.tests import TestCaseWithTransport
 
 
 class TestRepositoryDetails(TestCaseWithTransport):
 
+    def make_dev_branch_and_tree(self, path):
+        if 'development4' in bzrdir.format_registry:
+            return self.make_branch_and_tree(path, format="development4")
+        else:
+            return self.make_branch_and_tree(path, format="development5")
+
     def test_smoke_pack92(self):
         tree = self.make_branch_and_tree('.', format="pack-0.92")
         self.build_tree(["foo"])
@@ -63,7 +70,7 @@
         self.assertEqual("", err)
 
     def test_smoke_chk(self):
-        tree = self.make_branch_and_tree('.', format="development4")
+        tree = self.make_dev_branch_and_tree('.')
         self.build_tree(["foo"])
         tree.add(["foo"], ["foo-id"])
         tree.commit("first post", rev_id="foo", committer="foo at bar",
@@ -74,7 +81,7 @@
             "                      Raw    %    Compressed    %  Objects\n"
             "Revisions:          0 KiB  40%         0 KiB  29%        1\n"
             "Inventories:        0 KiB  56%         0 KiB  60%        3\n"
-            "Texts:              0 KiB   2%         0 KiB  11%        1\n"
+            "Texts:              0 KiB   2%         0 KiB  10%        1\n"
             "Signatures:         0 KiB   0%         0 KiB   0%        0\n"
             "Total:              0 KiB 100%         0 KiB 100%        5\n"
             "\n"
@@ -111,7 +118,7 @@
         self.assertEqual(537, stats.total.compressed_size)
 
     def test_gather_stats_chk(self):
-        tree = self.make_branch_and_tree('.', format="development4")
+        tree = self.make_dev_branch_and_tree('.')
         self.build_tree(["foo"])
         tree.add(["foo"], ["foo-id"])
         tree.commit("first post", rev_id="foo", committer="foo at bar",
@@ -120,11 +127,11 @@
         self.assertEqual(1, stats.revision_count)
         self.assertEqual(1, stats.revisions.objects)
         self.assertEqual(267, stats.revisions.raw_size)
-        self.assertEqual(249, stats.revisions.compressed_size)
+        self.assertEqual(250, stats.revisions.compressed_size)
         # inv, root, foo-id-lead_node.
         self.assertEqual(3, stats.inventories.objects)
-        self.assertEqual(370, stats.inventories.raw_size)
-        self.assertEqual(518, stats.inventories.compressed_size)
+        self.assertEqual(372, stats.inventories.raw_size)
+        self.assertEqual(520, stats.inventories.compressed_size)
         self.assertEqual({'leaf node items': [1, 2, 4, 2, 2],
                           'leaf p_id items': [1, 2, 4, 2, 2],
                           'p_id depth': [1, 1, 1, 1, 1],
@@ -137,8 +144,8 @@
         self.assertEqual(0, stats.signatures.raw_size)
         self.assertEqual(0, stats.signatures.compressed_size)
         self.assertEqual(5, stats.total.objects)
-        self.assertEqual(653, stats.total.raw_size)
-        self.assertEqual(861, stats.total.compressed_size)
+        self.assertEqual(655, stats.total.raw_size)
+        self.assertEqual(864, stats.total.compressed_size)
 
     def test_gather_stats_empty(self):
         tree = self.make_branch_and_tree('.')



More information about the bazaar-commits mailing list