Rev 2364: Clean up of test_compare code. in http://bzr.arbash-meinel.com/branches/bzr/0.15-dev/iter_changes_unicode_unknowns

John Arbash Meinel john at arbash-meinel.com
Thu Mar 15 23:22:20 GMT 2007


At http://bzr.arbash-meinel.com/branches/bzr/0.15-dev/iter_changes_unicode_unknowns

------------------------------------------------------------
revno: 2364
revision-id: john at arbash-meinel.com-20070315232208-4t93v94kr37ducen
parent: john at arbash-meinel.com-20070315231020-441uvn2zn3qs2p52
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: iter_changes_unicode_unknowns
timestamp: Thu 2007-03-15 18:22:08 -0500
message:
  Clean up of test_compare code.
  Change helpers to return locked trees, so we have less copied code.
modified:
  bzrlib/tests/intertree_implementations/test_compare.py test_compare.py-20060724101752-09ysswo1a92uqyoz-2
-------------- next part --------------
=== modified file 'bzrlib/tests/intertree_implementations/test_compare.py'
--- a/bzrlib/tests/intertree_implementations/test_compare.py	2007-03-15 23:10:20 +0000
+++ b/bzrlib/tests/intertree_implementations/test_compare.py	2007-03-15 23:22:08 +0000
@@ -358,6 +358,18 @@
             tree1.unlock()
             tree2.unlock()
 
+    def mutable_trees_to_locked_test_trees(self, tree1, tree2):
+        """Convert the working trees into test trees.
+
+        Read lock them, and add the unlock to the cleanup.
+        """
+        tree1, tree2 = self.mutable_trees_to_test_trees(tree1, tree2)
+        tree1.lock_read()
+        self.addCleanup(tree1.unlock)
+        tree2.lock_read()
+        self.addCleanup(tree2.unlock)
+        return tree1, tree2
+
     def make_tree_with_special_names(self):
         """Create a tree with filenames chosen to exercise the walk order."""
         tree1 = self.make_branch_and_tree('tree1')
@@ -365,7 +377,7 @@
         tree2.set_root_id(tree1.get_root_id())
         paths, path_ids = self._create_special_names(tree2, 'tree2')
         tree2.commit('initial', rev_id='rev-1')
-        tree1, tree2 = self.mutable_trees_to_test_trees(tree1, tree2)
+        tree1, tree2 = self.mutable_trees_to_locked_test_trees(tree1, tree2)
         return (tree1, tree2, paths, path_ids)
 
     def make_trees_with_special_names(self):
@@ -378,7 +390,7 @@
         tree2.set_root_id(tree1.get_root_id())
         paths, path_ids = self._create_special_names(tree1, 'tree1')
         paths, path_ids = self._create_special_names(tree2, 'tree2')
-        tree1, tree2 = self.mutable_trees_to_test_trees(tree1, tree2)
+        tree1, tree2 = self.mutable_trees_to_locked_test_trees(tree1, tree2)
         return (tree1, tree2, paths, path_ids)
 
     def _create_special_names(self, tree, base_path):
@@ -489,17 +501,13 @@
         tree2 = self.make_to_branch_and_tree('2')
         tree1 = self.get_tree_no_parents_no_content(tree1)
         tree2 = self.get_tree_no_parents_abc_content(tree2)
-        tree1, tree2 = self.mutable_trees_to_test_trees(tree1, tree2)
-        tree1.lock_read()
-        tree2.lock_read()
+        tree1, tree2 = self.mutable_trees_to_locked_test_trees(tree1, tree2)
         expected_results = sorted([
             self.added(tree2, 'root-id'),
             self.added(tree2, 'a-id'),
             self.added(tree2, 'b-id'),
             self.added(tree2, 'c-id'),
             self.deleted(tree1, 'empty-root-id')])
-        tree1.unlock()
-        tree2.unlock()
         self.assertEqual(expected_results, self.do_iter_changes(tree1, tree2))
 
     def test_empty_to_abc_content_a_only(self):
@@ -507,40 +515,28 @@
         tree2 = self.make_to_branch_and_tree('2')
         tree1 = self.get_tree_no_parents_no_content(tree1)
         tree2 = self.get_tree_no_parents_abc_content(tree2)
-        tree1, tree2 = self.mutable_trees_to_test_trees(tree1, tree2)
-        tree1.lock_read()
-        tree2.lock_read()
+        tree1, tree2 = self.mutable_trees_to_locked_test_trees(tree1, tree2)
         self.assertEqual(
             [self.added(tree2, 'a-id')],
             self.do_iter_changes(tree1, tree2, specific_files=['a']))
-        tree1.unlock()
-        tree2.unlock()
 
     def test_abc_content_to_empty_to_abc_content_a_only(self):
         tree1 = self.make_branch_and_tree('1')
         tree2 = self.make_to_branch_and_tree('2')
         tree1 = self.get_tree_no_parents_abc_content(tree1)
         tree2 = self.get_tree_no_parents_no_content(tree2)
-        tree1, tree2 = self.mutable_trees_to_test_trees(tree1, tree2)
-        tree1.lock_read()
-        tree2.lock_read()
+        tree1, tree2 = self.mutable_trees_to_locked_test_trees(tree1, tree2)
         self.assertEqual(
             [self.deleted(tree1, 'a-id')],
             self.do_iter_changes(tree1, tree2, specific_files=['a']))
-        tree1.unlock()
-        tree2.unlock()
 
     def test_empty_to_abc_content_a_and_c_only(self):
         tree1 = self.make_branch_and_tree('1')
         tree2 = self.make_to_branch_and_tree('2')
         tree1 = self.get_tree_no_parents_no_content(tree1)
         tree2 = self.get_tree_no_parents_abc_content(tree2)
-        tree1, tree2 = self.mutable_trees_to_test_trees(tree1, tree2)
-        tree1.lock_read()
-        tree2.lock_read()
+        tree1, tree2 = self.mutable_trees_to_locked_test_trees(tree1, tree2)
         expected_result = [self.added(tree2, 'a-id'), self.added(tree2, 'c-id')]
-        tree1.unlock()
-        tree2.unlock()
         self.assertEqual(expected_result,
             self.do_iter_changes(tree1, tree2, specific_files=['a', 'b/c']))
 
@@ -549,9 +545,7 @@
         tree2 = self.make_to_branch_and_tree('2')
         tree1 = self.get_tree_no_parents_abc_content(tree1)
         tree2 = self.get_tree_no_parents_no_content(tree2)
-        tree1, tree2 = self.mutable_trees_to_test_trees(tree1, tree2)
-        tree1.lock_read()
-        tree2.lock_read()
+        tree1, tree2 = self.mutable_trees_to_locked_test_trees(tree1, tree2)
         def deleted(file_id):
             entry = tree1.inventory[file_id]
             path = tree1.id2path(file_id)
@@ -563,8 +557,6 @@
             self.added(tree2, 'empty-root-id'),
             deleted('root-id'), deleted('a-id'),
             deleted('b-id'), deleted('c-id')])
-        tree1.unlock()
-        tree2.unlock()
         self.assertEqual(
             expected_results,
             self.do_iter_changes(tree1, tree2))
@@ -669,11 +661,8 @@
         self.build_tree(['tree2/directory/'])
         tree2.add(['directory'], ['file-id'])
         os.rmdir('tree2/directory')
-        tree1, tree2 = self.mutable_trees_to_test_trees(tree1, tree2)
-        tree1.lock_read()
-        self.addCleanup(tree1.unlock)
-        tree2.lock_read()
-        self.addCleanup(tree2.unlock)
+        tree1, tree2 = self.mutable_trees_to_locked_test_trees(tree1, tree2)
+
         root_id = tree1.path2id('')
         expected = sorted([
             self.missing('file-id', 'file', 'directory', root_id, 'file'),
@@ -686,12 +675,9 @@
         tree2 = self.make_to_branch_and_tree('2')
         tree1 = self.get_tree_no_parents_abc_content(tree1)
         tree2 = self.get_tree_no_parents_abc_content_5(tree2)
-        tree1, tree2 = self.mutable_trees_to_test_trees(tree1, tree2)
+        tree1, tree2 = self.mutable_trees_to_locked_test_trees(tree1, tree2)
         root_id = tree1.path2id('')
-        tree1.lock_read()
-        self.addCleanup(tree1.unlock)
-        tree2.lock_read()
-        self.addCleanup(tree2.unlock)
+
         self.assertEqual(sorted([self.unchanged(tree1, root_id),
             self.unchanged(tree1, 'b-id'),
             ('a-id', ('a', 'd'), True, (True, True),
@@ -715,11 +701,8 @@
         subtree2 = self.make_to_branch_and_tree('2/sub')
         subtree2.set_root_id('subtree-id')
         tree2.add_reference(subtree2)
-        tree1, tree2 = self.mutable_trees_to_test_trees(tree1, tree2)
-        tree1.lock_read()
-        self.addCleanup(tree1.unlock)
-        tree2.lock_read()
-        self.addCleanup(tree2.unlock)
+        tree1, tree2 = self.mutable_trees_to_locked_test_trees(tree1, tree2)
+
         self.assertEqual([], list(tree2._iter_changes(tree1)))
         subtree1.commit('commit', rev_id='commit-a')
         self.assertEqual([
@@ -759,11 +742,8 @@
         tree2.add(['sub'], ['subtree-id'])
         self.build_tree(['2/sub/file'])
         subtree2.add(['file'])
-        tree1, tree2 = self.mutable_trees_to_test_trees(tree1, tree2)
-        tree1.lock_read()
-        self.addCleanup(tree1.unlock)
-        tree2.lock_read()
-        self.addCleanup(tree2.unlock)
+
+        tree1, tree2 = self.mutable_trees_to_locked_test_trees(tree1, tree2)
         # this should filter correctly from above
         self.assertEqual([self.added(tree2, 'subtree-id')],
             self.do_iter_changes(tree1, tree2, want_unversioned=True))
@@ -781,11 +761,7 @@
         tree1.add(['a', 'c'], ['a-id', 'c-id'])
         tree2.add(['a', 'c'], ['a-id', 'c-id'])
 
-        tree1, tree2 = self.mutable_trees_to_test_trees(tree1, tree2)
-        tree1.lock_read()
-        self.addCleanup(tree1.unlock)
-        tree2.lock_read()
-        self.addCleanup(tree2.unlock)
+        tree1, tree2 = self.mutable_trees_to_locked_test_trees(tree1, tree2)
 
         # We should ignore the fact that 'b' exists in tree-2
         # because the want_unversioned parameter was not given.
@@ -805,11 +781,7 @@
         links_supported = True
         # except ???:
         #   links_supported = False
-        tree1, tree2 = self.mutable_trees_to_test_trees(tree1, tree2)
-        tree1.lock_read()
-        self.addCleanup(tree1.unlock)
-        tree2.lock_read()
-        self.addCleanup(tree2.unlock)
+        tree1, tree2 = self.mutable_trees_to_locked_test_trees(tree1, tree2)
         expected = [
             self.unversioned(tree2, 'file'),
             self.unversioned(tree2, 'dir'),
@@ -829,11 +801,7 @@
         links_supported = True
         # except ???:
         #   links_supported = False
-        tree1, tree2 = self.mutable_trees_to_test_trees(tree1, tree2)
-        tree1.lock_read()
-        self.addCleanup(tree1.unlock)
-        tree2.lock_read()
-        self.addCleanup(tree2.unlock)
+        tree1, tree2 = self.mutable_trees_to_locked_test_trees(tree1, tree2)
         expected = [
             self.unversioned(tree2, 'file'),
             self.unversioned(tree2, 'dir'),
@@ -871,12 +839,8 @@
         tree1.add(['file', 'dir', 'link'], ['file-id', 'dir-id', 'link-id'])
         tree2.add(['movedfile', 'moveddir', 'movedlink'],
             ['file-id', 'dir-id', 'link-id'])
-        tree1, tree2 = self.mutable_trees_to_test_trees(tree1, tree2)
+        tree1, tree2 = self.mutable_trees_to_locked_test_trees(tree1, tree2)
         root_id = tree1.path2id('')
-        tree1.lock_read()
-        self.addCleanup(tree1.unlock)
-        tree2.lock_read()
-        self.addCleanup(tree2.unlock)
         expected = [
             self.renamed(tree1, tree2, 'dir-id', False),
             self.renamed(tree1, tree2, 'file-id', True),
@@ -952,17 +916,13 @@
         # except ???:
         #   raise TestSkipped('OS does not support symlinks')
         #   links_supported = False
-        return self.mutable_trees_to_test_trees(tree1, tree2)
+        return self.mutable_trees_to_locked_test_trees(tree1, tree2)
 
     def test_versioned_symlinks(self):
         if not has_symlinks():
             raise tests.TestSkipped("No symlink support")
         tree1, tree2 = self.make_trees_with_symlinks()
         root_id = tree1.path2id('')
-        tree1.lock_read()
-        self.addCleanup(tree1.unlock)
-        tree2.lock_read()
-        self.addCleanup(tree2.unlock)
         expected = [
             self.unchanged(tree1, tree1.path2id('')),
             self.added(tree2, 'added'),
@@ -985,10 +945,6 @@
             raise tests.TestSkipped("No symlink support")
         tree1, tree2 = self.make_trees_with_symlinks()
         root_id = tree1.path2id('')
-        tree1.lock_read()
-        self.addCleanup(tree1.unlock)
-        tree2.lock_read()
-        self.addCleanup(tree2.unlock)
         expected = [
             self.added(tree2, 'added'),
             self.content_changed(tree2, 'changed'),
@@ -1008,19 +964,11 @@
 
     def test_tree_with_special_names(self):
         tree1, tree2, paths, path_ids = self.make_tree_with_special_names()
-        tree1.lock_read()
-        self.addCleanup(tree1.unlock)
-        tree2.lock_read()
-        self.addCleanup(tree2.unlock)
         expected = sorted(self.added(tree2, f_id) for f_id in path_ids)
         self.assertEqual(expected, self.do_iter_changes(tree1, tree2))
 
     def test_trees_with_special_names(self):
         tree1, tree2, paths, path_ids = self.make_trees_with_special_names()
-        tree1.lock_read()
-        self.addCleanup(tree1.unlock)
-        tree2.lock_read()
-        self.addCleanup(tree2.unlock)
         expected = sorted(self.content_changed(tree2, f_id) for f_id in path_ids
                           if f_id.endswith('_f-id'))
         self.assertEqual(expected, self.do_iter_changes(tree1, tree2))
@@ -1036,11 +984,7 @@
                   ['a-id', 'b-id', 'c-id', 'd-id', 'e-id', 'f-id', 'g-id'])
         tree2.add(['a', 'f', 'f/g'], ['a-id', 'f-id', 'g-id'])
 
-        tree1, tree2 = self.mutable_trees_to_test_trees(tree1, tree2)
-        tree1.lock_read()
-        self.addCleanup(tree1.unlock)
-        tree2.lock_read()
-        self.addCleanup(tree2.unlock)
+        tree1, tree2 = self.mutable_trees_to_locked_test_trees(tree1, tree2)
         # We should notice that 'b' and all its children are deleted
         expected = sorted([
             self.content_changed(tree2, 'a-id'),
@@ -1069,11 +1013,7 @@
         tree1.add([u'\u03b1'], [a_id])
         tree2.add([u'\u03b1', u'\u03b1/\u03c9-added'], [a_id, added_id])
 
-        tree1, tree2 = self.mutable_trees_to_test_trees(tree1, tree2)
-        tree1.lock_read()
-        self.addCleanup(tree1.unlock)
-        tree2.lock_read()
-        self.addCleanup(tree2.unlock)
+        tree1, tree2 = self.mutable_trees_to_locked_test_trees(tree1, tree2)
 
         expected = sorted([
             self.added(tree2, added_id),
@@ -1104,11 +1044,7 @@
         tree1.add([u'\u03b1', u'\u03b1/\u03c9-removed'], [a_id, removed_id])
         tree2.add([u'\u03b1'], [a_id])
 
-        tree1, tree2 = self.mutable_trees_to_test_trees(tree1, tree2)
-        tree1.lock_read()
-        self.addCleanup(tree1.unlock)
-        tree2.lock_read()
-        self.addCleanup(tree2.unlock)
+        tree1, tree2 = self.mutable_trees_to_locked_test_trees(tree1, tree2)
 
         self.assertEqual([self.deleted(tree1, removed_id)],
                          self.do_iter_changes(tree1, tree2))
@@ -1149,11 +1085,8 @@
                    u'\u03b1/\u03c9-target', u'\u03b1/\u03c9-added'],
                   [a_id, mod_id, rename_id , added_id])
 
-        tree1, tree2 = self.mutable_trees_to_test_trees(tree1, tree2)
-        tree1.lock_read()
-        self.addCleanup(tree1.unlock)
-        tree2.lock_read()
-        self.addCleanup(tree2.unlock)
+        tree1, tree2 = self.mutable_trees_to_locked_test_trees(tree1, tree2)
+
         expected = sorted([
             self.unchanged(tree1, root_id),
             self.unchanged(tree1, a_id),



More information about the bazaar-commits mailing list