Rev 4540: Now we got to the per-workingtree tests, etc. in lp:///~jameinel/bzr/1.18-lock-warnings

John Arbash Meinel john at arbash-meinel.com
Fri Jul 31 18:42:31 BST 2009


At lp:///~jameinel/bzr/1.18-lock-warnings

------------------------------------------------------------
revno: 4540
revision-id: john at arbash-meinel.com-20090731174229-w2zdsdlfpeddk8gl
parent: john at arbash-meinel.com-20090731170405-uw7h8nln6913fb2g
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: 1.18-lock-warnings
timestamp: Fri 2009-07-31 12:42:29 -0500
message:
  Now we got to the per-workingtree tests, etc.
  
  The main causes seem to break down into:
    bzrdir.clone() is known to be broken wrt locking, this effects
    everything that tries to 'push'
  
    shelf code is not compatible with strict locking
  
    merge code seems to have an issue. This might actually be the
    root cause of the clone() problems.
-------------- next part --------------
=== modified file 'bzrlib/tests/per_repository_reference/test_get_rev_id_for_revno.py'
--- a/bzrlib/tests/per_repository_reference/test_get_rev_id_for_revno.py	2009-06-15 06:41:49 +0000
+++ b/bzrlib/tests/per_repository_reference/test_get_rev_id_for_revno.py	2009-07-31 17:42:29 +0000
@@ -24,6 +24,7 @@
 class TestGetRevIdForRevno(TestCaseWithExternalReferenceRepository):
 
     def test_uses_fallback(self):
+        self.thisFailsStrictLockCheck()
         tree = self.make_branch_and_tree('base')
         base = tree.branch.repository
         revid = tree.commit('one')

=== modified file 'bzrlib/tests/per_workingtree/test_executable.py'
--- a/bzrlib/tests/per_workingtree/test_executable.py	2009-07-10 07:14:02 +0000
+++ b/bzrlib/tests/per_workingtree/test_executable.py	2009-07-31 17:42:29 +0000
@@ -30,6 +30,7 @@
 
     def setUp(self):
         super(TestExecutable, self).setUp()
+        self.thisFailsStrictLockCheck()
 
         self.a_id = "a-20051208024829-849e76f7968d7a86"
         self.b_id = "b-20051208024829-849e76f7968d7a86"

=== modified file 'bzrlib/tests/per_workingtree/test_flush.py'
--- a/bzrlib/tests/per_workingtree/test_flush.py	2009-07-10 07:14:02 +0000
+++ b/bzrlib/tests/per_workingtree/test_flush.py	2009-07-31 17:42:29 +0000
@@ -31,6 +31,9 @@
             tree.unlock()
 
     def test_flush_when_inventory_is_modified(self):
+        # This takes a write lock on the source tree, then opens a second copy
+        # and tries to grab a read lock, which is a bit bogus
+        self.thisFailsStrictLockCheck()
         # when doing a flush the inventory should be written if needed.
         # we test that by changing the inventory (using
         # _set_inventory for now until add etc have lazy writes of

=== modified file 'bzrlib/tests/per_workingtree/test_locking.py'
--- a/bzrlib/tests/per_workingtree/test_locking.py	2009-07-10 07:14:02 +0000
+++ b/bzrlib/tests/per_workingtree/test_locking.py	2009-07-31 17:42:29 +0000
@@ -105,6 +105,9 @@
 
         :param methodname: The lock method to use to establish locks.
         """
+        # This write locks the local tree, and then grabs a read lock on a
+        # copy, which is bogus and the test just needs to be rewritten.
+        self.thisFailsStrictLockCheck()
         # when unlocking the last lock count from tree_write_lock,
         # the tree should do a flush().
         # we test that by changing the inventory using set_root_id
@@ -128,6 +131,8 @@
         tree.set_root_id('new-root')
         # to detect that the inventory is written by unlock, we
         # first check that it was not written yet.
+        # TODO: This requires taking a read lock while we are holding the above
+        #       write lock, which shouldn't actually be possible
         reference_tree = tree.bzrdir.open_workingtree()
         self.assertEqual(old_root, reference_tree.get_root_id())
         # now unlock the second held lock, which should do nothing.

=== modified file 'bzrlib/tests/per_workingtree/test_set_root_id.py'
--- a/bzrlib/tests/per_workingtree/test_set_root_id.py	2009-07-10 07:14:02 +0000
+++ b/bzrlib/tests/per_workingtree/test_set_root_id.py	2009-07-31 17:42:29 +0000
@@ -23,6 +23,9 @@
 class TestSetRootId(TestCaseWithWorkingTree):
 
     def test_set_and_read_unicode(self):
+        # This write locks the local tree, and then grabs a read lock on a
+        # copy, which is bogus and the test just needs to be rewritten.
+        self.thisFailsStrictLockCheck()
         tree = self.make_branch_and_tree('a-tree')
         # setting the root id allows it to be read via get_root_id.
         root_id = u'\xe5n-id'.encode('utf8')

=== modified file 'bzrlib/tests/per_workingtree/test_workingtree.py'
--- a/bzrlib/tests/per_workingtree/test_workingtree.py	2009-07-10 07:14:02 +0000
+++ b/bzrlib/tests/per_workingtree/test_workingtree.py	2009-07-31 17:42:29 +0000
@@ -362,6 +362,7 @@
                             wt.get_parent_ids())
 
     def test_clone_preserves_content(self):
+        self.thisFailsStrictLockCheck()
         wt = self.make_branch_and_tree('source')
         self.build_tree(['added', 'deleted', 'notadded'],
                         transport=wt.bzrdir.transport.clone('..'))
@@ -513,6 +514,7 @@
 
     def test_merge_revert(self):
         from bzrlib.merge import merge_inner
+        self.thisFailsStrictLockCheck()
         this = self.make_branch_and_tree('b1')
         open('b1/a', 'wb').write('a test\n')
         this.add('a')

=== modified file 'bzrlib/tests/test_merge.py'
--- a/bzrlib/tests/test_merge.py	2009-04-29 17:02:36 +0000
+++ b/bzrlib/tests/test_merge.py	2009-07-31 17:42:29 +0000
@@ -117,6 +117,7 @@
 
     def test_create_rename(self):
         """Rename an inventory entry while creating the file"""
+        self.thisFailsStrictLockCheck()
         tree =self.make_branch_and_tree('.')
         file('name1', 'wb').write('Hello')
         tree.add('name1')
@@ -127,6 +128,7 @@
 
     def test_layered_rename(self):
         """Rename both child and parent at same time"""
+        self.thisFailsStrictLockCheck()
         tree =self.make_branch_and_tree('.')
         os.mkdir('dirname1')
         tree.add('dirname1')
@@ -213,6 +215,7 @@
         self.assertFileEqual('text2', 'tree/sub-tree/file')
 
     def test_merge_with_missing(self):
+        self.thisFailsStrictLockCheck()
         tree_a = self.make_branch_and_tree('tree_a')
         self.build_tree_contents([('tree_a/file', 'content_1')])
         tree_a.add('file')

=== modified file 'bzrlib/tests/test_merge_core.py'
--- a/bzrlib/tests/test_merge_core.py	2009-03-23 14:59:43 +0000
+++ b/bzrlib/tests/test_merge_core.py	2009-07-31 17:42:29 +0000
@@ -438,6 +438,7 @@
 
     def test_trivial_star_merge(self):
         """Test that merges in a star shape Just Work."""
+        self.thisFailsStrictLockCheck() # clone?
         # John starts a branch
         self.build_tree(("original/", "original/file1", "original/file2"))
         tree = self.make_branch_and_tree('original')
@@ -467,6 +468,7 @@
         self.assertEqual("Mary\n", open("original/file2", "rt").read())
 
     def test_conflicts(self):
+        self.thisFailsStrictLockCheck() # clone?
         os.mkdir('a')
         wta = self.make_branch_and_tree('a')
         a = wta.branch

=== modified file 'bzrlib/tests/test_msgeditor.py'
--- a/bzrlib/tests/test_msgeditor.py	2009-03-23 14:59:43 +0000
+++ b/bzrlib/tests/test_msgeditor.py	2009-07-31 17:42:29 +0000
@@ -81,6 +81,7 @@
 
     def make_multiple_pending_tree(self):
         from bzrlib import config
+        self.thisFailsStrictLockCheck() # clone?
         config.GlobalConfig().set_user_option('email',
                                               'Bilbo Baggins <bb at hobbit.net>')
         tree = self.make_branch_and_tree('a')

=== modified file 'bzrlib/tests/test_shelf.py'
--- a/bzrlib/tests/test_shelf.py	2009-07-13 17:35:09 +0000
+++ b/bzrlib/tests/test_shelf.py	2009-07-31 17:42:29 +0000
@@ -61,11 +61,13 @@
                          shelf_trans_id))
 
     def test_shelve_rename(self):
+        self.thisFailsStrictLockCheck()
         creator = self.prepare_shelve_rename()
         creator.shelve_rename('foo-id')
         self.check_shelve_rename(creator)
 
     def test_shelve_change_handles_rename(self):
+        self.thisFailsStrictLockCheck()
         creator = self.prepare_shelve_rename()
         creator.shelve_change(('rename', 'foo-id', 'foo', 'bar'))
         self.check_shelve_rename(creator)
@@ -95,11 +97,13 @@
         self.assertEqual('foo/baz', tree.id2path('baz-id'))
 
     def test_shelve_move(self):
+        self.thisFailsStrictLockCheck()
         creator, tree = self.prepare_shelve_move()
         creator.shelve_rename('baz-id')
         self.check_shelve_move(creator, tree)
 
     def test_shelve_change_handles_move(self):
+        self.thisFailsStrictLockCheck()
         creator, tree = self.prepare_shelve_move()
         creator.shelve_change(('rename', 'baz-id', 'foo/baz', 'bar/baz'))
         self.check_shelve_move(creator, tree)
@@ -110,6 +114,7 @@
         self.assertFileEqual(expected_content, shelf_file)
 
     def test_shelve_content_change(self):
+        self.thisFailsStrictLockCheck()
         tree = self.make_branch_and_tree('.')
         tree.lock_write()
         self.addCleanup(tree.unlock)
@@ -155,6 +160,7 @@
             creator.shelf_transform.final_kind(s_bar_trans_id))
 
     def test_shelve_creation(self):
+        self.thisFailsStrictLockCheck()
         creator, tree = self.prepare_shelve_creation()
         creator.shelve_creation('foo-id')
         creator.shelve_creation('bar-id')
@@ -162,6 +168,7 @@
         self.check_shelve_creation(creator, tree)
 
     def test_shelve_change_handles_creation(self):
+        self.thisFailsStrictLockCheck()
         creator, tree = self.prepare_shelve_creation()
         creator.shelve_change(('add file', 'foo-id', 'file', 'foo'))
         creator.shelve_change(('add file', 'bar-id', 'directory', 'bar'))
@@ -194,14 +201,17 @@
         self.assertEqual(link_target, ptree.get_symlink_target('foo-id'))
 
     def test_shelve_symlink_creation(self):
+        self.thisFailsStrictLockCheck()
         self._test_shelve_symlink_creation('foo', 'bar')
 
     def test_shelve_unicode_symlink_creation(self):
         self.requireFeature(tests.UnicodeFilenameFeature)
+        self.thisFailsStrictLockCheck()
         self._test_shelve_symlink_creation(u'fo\N{Euro Sign}o',
                                            u'b\N{Euro Sign}ar')
 
     def test_shelve_change_handles_symlink_creation(self):
+        self.thisFailsStrictLockCheck()
         self._test_shelve_symlink_creation('foo', 'bar', shelve_change=True)
 
     def _test_shelve_symlink_target_change(self, link_name,
@@ -235,18 +245,22 @@
         self.assertEqual(new_target, ptree.get_symlink_target('foo-id'))
 
     def test_shelve_symlink_target_change(self):
+        self.thisFailsStrictLockCheck()
         self._test_shelve_symlink_target_change('foo', 'bar', 'baz')
 
     def test_shelve_unicode_symlink_target_change(self):
+        self.thisFailsStrictLockCheck()
         self.requireFeature(tests.UnicodeFilenameFeature)
         self._test_shelve_symlink_target_change(
             u'fo\N{Euro Sign}o', u'b\N{Euro Sign}ar', u'b\N{Euro Sign}az')
 
     def test_shelve_change_handles_symlink_target_change(self):
+        self.thisFailsStrictLockCheck()
         self._test_shelve_symlink_target_change('foo', 'bar', 'baz',
                                                 shelve_change=True)
 
     def test_shelve_creation_no_contents(self):
+        self.thisFailsStrictLockCheck()
         tree = self.make_branch_and_tree('.')
         tree.lock_write()
         self.addCleanup(tree.unlock)
@@ -291,6 +305,7 @@
         self.assertFileEqual('baz', 'tree/foo/bar')
 
     def test_shelve_deletion(self):
+        self.thisFailsStrictLockCheck()
         creator, tree = self.prepare_shelve_deletion()
         creator.shelve_deletion('foo-id')
         creator.shelve_deletion('bar-id')
@@ -298,6 +313,7 @@
         self.check_shelve_deletion(tree)
 
     def test_shelve_change_handles_deletion(self):
+        self.thisFailsStrictLockCheck()
         creator, tree = self.prepare_shelve_deletion()
         creator.shelve_change(('delete file', 'foo-id', 'directory', 'foo'))
         creator.shelve_change(('delete file', 'bar-id', 'file', 'foo/bar'))
@@ -305,6 +321,7 @@
         self.check_shelve_deletion(tree)
 
     def test_shelve_delete_contents(self):
+        self.thisFailsStrictLockCheck()
         tree = self.make_branch_and_tree('tree')
         self.build_tree(['tree/foo',])
         tree.add('foo', 'foo-id')
@@ -338,12 +355,14 @@
                          creator.shelf_transform._new_contents[s_trans_id])
 
     def test_shelve_change_kind(self):
+        self.thisFailsStrictLockCheck()
         creator = self.prepare_shelve_change_kind()
         creator.shelve_content_change('foo-id')
         creator.transform()
         self.check_shelve_change_kind(creator)
 
     def test_shelve_change_handles_change_kind(self):
+        self.thisFailsStrictLockCheck()
         creator = self.prepare_shelve_change_kind()
         creator.shelve_change(('change kind', 'foo-id', 'file', 'directory',
                                'foo'))
@@ -351,6 +370,7 @@
         self.check_shelve_change_kind(creator)
 
     def test_shelve_change_unknown_change(self):
+        self.thisFailsStrictLockCheck()
         tree = self.make_branch_and_tree('tree')
         creator = shelf.ShelfCreator(tree, tree.basis_tree())
         self.addCleanup(creator.finalize)
@@ -358,6 +378,7 @@
         self.assertEqual('Unknown change kind: "unknown"', str(e))
 
     def test_shelve_unversion(self):
+        self.thisFailsStrictLockCheck()
         tree = self.make_branch_and_tree('tree')
         self.build_tree(['tree/foo',])
         tree.add('foo', 'foo-id')
@@ -372,6 +393,7 @@
         self.failUnlessExists('tree/foo')
 
     def test_shelve_serialization(self):
+        self.thisFailsStrictLockCheck()
         tree = self.make_branch_and_tree('.')
         creator = shelf.ShelfCreator(tree, tree.basis_tree())
         self.addCleanup(creator.finalize)
@@ -384,6 +406,7 @@
         self.assertFileEqual(EMPTY_SHELF, 'shelf')
 
     def test_write_shelf(self):
+        self.thisFailsStrictLockCheck()
         tree = self.make_branch_and_tree('tree')
         self.build_tree(['tree/foo'])
         tree.add('foo', 'foo-id')
@@ -410,6 +433,7 @@
         tt.deserialize(records)
 
     def test_shelve_unversioned(self):
+        self.thisFailsStrictLockCheck()
         tree = self.make_branch_and_tree('tree')
         self.assertRaises(errors.PathsNotVersionedError,
                           shelf.ShelfCreator, tree, tree.basis_tree(), ['foo'])
@@ -427,6 +451,7 @@
 class TestUnshelver(tests.TestCaseWithTransport):
 
     def test_make_merger(self):
+        self.thisFailsStrictLockCheck()
         tree = self.make_branch_and_tree('tree')
         tree.commit('first commit')
         self.build_tree_contents([('tree/foo', 'bar')])
@@ -449,6 +474,7 @@
             shelf_file.close()
 
     def test_unshelve_changed(self):
+        self.thisFailsStrictLockCheck()
         tree = self.make_branch_and_tree('tree')
         tree.lock_write()
         self.addCleanup(tree.unlock)
@@ -471,6 +497,7 @@
         self.assertFileEqual('z\na\nb\nd\n', 'tree/foo')
 
     def test_unshelve_deleted(self):
+        self.thisFailsStrictLockCheck()
         tree = self.make_branch_and_tree('tree')
         tree.lock_write()
         self.addCleanup(tree.unlock)
@@ -500,6 +527,7 @@
         self.assertFalse('bar-id' in tree)
 
     def test_unshelve_base(self):
+        self.thisFailsStrictLockCheck()
         tree = self.make_branch_and_tree('tree')
         tree.lock_write()
         self.addCleanup(tree.unlock)
@@ -520,6 +548,7 @@
         self.assertEqual('rev1', unshelver.base_tree.get_revision_id())
 
     def test_unshelve_serialization(self):
+        self.thisFailsStrictLockCheck()
         tree = self.make_branch_and_tree('.')
         self.build_tree_contents([('shelf', EMPTY_SHELF)])
         shelf_file = open('shelf', 'rb')
@@ -527,6 +556,7 @@
         unshelver = shelf.Unshelver.from_tree_and_shelf(tree, shelf_file)
 
     def test_corrupt_shelf(self):
+        self.thisFailsStrictLockCheck()
         tree = self.make_branch_and_tree('.')
         self.build_tree_contents([('shelf', EMPTY_SHELF.replace('metadata',
                                                                 'foo'))])

=== modified file 'bzrlib/tests/test_shelf_ui.py'
--- a/bzrlib/tests/test_shelf_ui.py	2009-07-14 13:19:52 +0000
+++ b/bzrlib/tests/test_shelf_ui.py	2009-07-31 17:42:29 +0000
@@ -67,12 +67,14 @@
         return tree
 
     def test_unexpected_prompt_failure(self):
+        self.thisFailsStrictLockCheck()
         tree = self.create_shelvable_tree()
         shelver = ExpectShelver(tree, tree.basis_tree())
         e = self.assertRaises(AssertionError, shelver.run)
         self.assertEqual('Unexpected prompt: Shelve? [yNfq?]', str(e))
 
     def test_wrong_prompt_failure(self):
+        self.thisFailsStrictLockCheck()
         tree = self.create_shelvable_tree()
         shelver = ExpectShelver(tree, tree.basis_tree())
         shelver.expect('foo', 'y')
@@ -80,6 +82,7 @@
         self.assertEqual('Wrong prompt: Shelve? [yNfq?]', str(e))
 
     def test_shelve_not_diff(self):
+        self.thisFailsStrictLockCheck()
         tree = self.create_shelvable_tree()
         shelver = ExpectShelver(tree, tree.basis_tree())
         shelver.expect('Shelve? [yNfq?]', 'n')
@@ -89,6 +92,7 @@
         self.assertFileEqual(LINES_ZY, 'tree/foo')
 
     def test_shelve_diff_no(self):
+        self.thisFailsStrictLockCheck()
         tree = self.create_shelvable_tree()
         shelver = ExpectShelver(tree, tree.basis_tree())
         shelver.expect('Shelve? [yNfq?]', 'y')
@@ -98,6 +102,7 @@
         self.assertFileEqual(LINES_ZY, 'tree/foo')
 
     def test_shelve_diff(self):
+        self.thisFailsStrictLockCheck()
         tree = self.create_shelvable_tree()
         shelver = ExpectShelver(tree, tree.basis_tree())
         shelver.expect('Shelve? [yNfq?]', 'y')
@@ -107,6 +112,7 @@
         self.assertFileEqual(LINES_AJ, 'tree/foo')
 
     def test_shelve_one_diff(self):
+        self.thisFailsStrictLockCheck()
         tree = self.create_shelvable_tree()
         shelver = ExpectShelver(tree, tree.basis_tree())
         shelver.expect('Shelve? [yNfq?]', 'y')
@@ -116,6 +122,7 @@
         self.assertFileEqual(LINES_AY, 'tree/foo')
 
     def test_shelve_binary_change(self):
+        self.thisFailsStrictLockCheck()
         tree = self.create_shelvable_tree()
         self.build_tree_contents([('tree/foo', '\x00')])
         shelver = ExpectShelver(tree, tree.basis_tree())
@@ -125,6 +132,7 @@
         self.assertFileEqual(LINES_AJ, 'tree/foo')
 
     def test_shelve_rename(self):
+        self.thisFailsStrictLockCheck()
         tree = self.create_shelvable_tree()
         tree.rename_one('foo', 'bar')
         shelver = ExpectShelver(tree, tree.basis_tree())
@@ -136,6 +144,7 @@
         self.assertFileEqual(LINES_AJ, 'tree/foo')
 
     def test_shelve_deletion(self):
+        self.thisFailsStrictLockCheck()
         tree = self.create_shelvable_tree()
         os.unlink('tree/foo')
         shelver = ExpectShelver(tree, tree.basis_tree())
@@ -145,6 +154,7 @@
         self.assertFileEqual(LINES_AJ, 'tree/foo')
 
     def test_shelve_creation(self):
+        self.thisFailsStrictLockCheck()
         tree = self.make_branch_and_tree('tree')
         tree.commit('add tree root')
         self.build_tree(['tree/foo'])
@@ -156,6 +166,7 @@
         self.failIfExists('tree/foo')
 
     def test_shelve_kind_change(self):
+        self.thisFailsStrictLockCheck()
         tree = self.create_shelvable_tree()
         os.unlink('tree/foo')
         os.mkdir('tree/foo')
@@ -165,6 +176,7 @@
         shelver.expect('Shelve 1 change(s)? [yNfq?]', 'y')
 
     def test_shelve_modify_target(self):
+        self.thisFailsStrictLockCheck()
         self.requireFeature(tests.SymlinkFeature)
         tree = self.create_shelvable_tree()
         os.symlink('bar', 'tree/baz')
@@ -180,6 +192,7 @@
         self.assertEqual('bar', os.readlink('tree/baz'))
 
     def test_shelve_finish(self):
+        self.thisFailsStrictLockCheck()
         tree = self.create_shelvable_tree()
         shelver = ExpectShelver(tree, tree.basis_tree())
         shelver.expect('Shelve? [yNfq?]', 'f')
@@ -188,6 +201,7 @@
         self.assertFileEqual(LINES_AJ, 'tree/foo')
 
     def test_shelve_quit(self):
+        self.thisFailsStrictLockCheck()
         tree = self.create_shelvable_tree()
         shelver = ExpectShelver(tree, tree.basis_tree())
         shelver.expect('Shelve? [yNfq?]', 'q')
@@ -195,11 +209,13 @@
         self.assertFileEqual(LINES_ZY, 'tree/foo')
 
     def test_shelve_all(self):
+        self.thisFailsStrictLockCheck()
         tree = self.create_shelvable_tree()
         ExpectShelver.from_args(sys.stdout, all=True, directory='tree').run()
         self.assertFileEqual(LINES_AJ, 'tree/foo')
 
     def test_shelve_filename(self):
+        self.thisFailsStrictLockCheck()
         tree = self.create_shelvable_tree()
         self.build_tree(['tree/bar'])
         tree.add('bar')
@@ -209,6 +225,7 @@
         shelver.run()
 
     def test_shelve_help(self):
+        self.thisFailsStrictLockCheck()
         tree = self.create_shelvable_tree()
         shelver = ExpectShelver(tree, tree.basis_tree())
         shelver.expect('Shelve? [yNfq?]', '?')
@@ -217,6 +234,7 @@
         shelver.run()
 
     def test_shelve_distroy(self):
+        self.thisFailsStrictLockCheck()
         tree = self.create_shelvable_tree()
         shelver = shelf_ui.Shelver.from_args(sys.stdout, all=True,
                                              directory='tree', destroy=True)
@@ -228,6 +246,7 @@
 class TestApplyReporter(TestShelver):
 
     def test_shelve_not_diff(self):
+        self.thisFailsStrictLockCheck()
         tree = self.create_shelvable_tree()
         shelver = ExpectShelver(tree, tree.basis_tree(),
                                 reporter=shelf_ui.ApplyReporter())
@@ -238,6 +257,7 @@
         self.assertFileEqual(LINES_ZY, 'tree/foo')
 
     def test_shelve_diff_no(self):
+        self.thisFailsStrictLockCheck()
         tree = self.create_shelvable_tree()
         shelver = ExpectShelver(tree, tree.basis_tree(),
                                 reporter=shelf_ui.ApplyReporter())
@@ -248,6 +268,7 @@
         self.assertFileEqual(LINES_ZY, 'tree/foo')
 
     def test_shelve_diff(self):
+        self.thisFailsStrictLockCheck()
         tree = self.create_shelvable_tree()
         shelver = ExpectShelver(tree, tree.basis_tree(),
                                 reporter=shelf_ui.ApplyReporter())
@@ -258,6 +279,7 @@
         self.assertFileEqual(LINES_AJ, 'tree/foo')
 
     def test_shelve_binary_change(self):
+        self.thisFailsStrictLockCheck()
         tree = self.create_shelvable_tree()
         self.build_tree_contents([('tree/foo', '\x00')])
         shelver = ExpectShelver(tree, tree.basis_tree(),
@@ -268,6 +290,7 @@
         self.assertFileEqual(LINES_AJ, 'tree/foo')
 
     def test_shelve_rename(self):
+        self.thisFailsStrictLockCheck()
         tree = self.create_shelvable_tree()
         tree.rename_one('foo', 'bar')
         shelver = ExpectShelver(tree, tree.basis_tree(),
@@ -280,6 +303,7 @@
         self.assertFileEqual(LINES_AJ, 'tree/foo')
 
     def test_shelve_deletion(self):
+        self.thisFailsStrictLockCheck()
         tree = self.create_shelvable_tree()
         os.unlink('tree/foo')
         shelver = ExpectShelver(tree, tree.basis_tree(),
@@ -290,6 +314,7 @@
         self.assertFileEqual(LINES_AJ, 'tree/foo')
 
     def test_shelve_creation(self):
+        self.thisFailsStrictLockCheck()
         tree = self.make_branch_and_tree('tree')
         tree.commit('add tree root')
         self.build_tree(['tree/foo'])
@@ -302,6 +327,7 @@
         self.failIfExists('tree/foo')
 
     def test_shelve_kind_change(self):
+        self.thisFailsStrictLockCheck()
         tree = self.create_shelvable_tree()
         os.unlink('tree/foo')
         os.mkdir('tree/foo')
@@ -311,6 +337,7 @@
         shelver.expect('Apply 1 change(s)? [yNfq?]', 'y')
 
     def test_shelve_modify_target(self):
+        self.thisFailsStrictLockCheck()
         self.requireFeature(tests.SymlinkFeature)
         tree = self.create_shelvable_tree()
         os.symlink('bar', 'tree/baz')
@@ -340,6 +367,7 @@
         return tree
 
     def test_unshelve(self):
+        self.thisFailsStrictLockCheck()
         tree = self.create_tree_with_shelf()
         tree.lock_write()
         self.addCleanup(tree.unlock)
@@ -348,18 +376,21 @@
         self.assertFileEqual(LINES_ZY, 'tree/foo')
 
     def test_unshelve_args(self):
+        self.thisFailsStrictLockCheck()
         tree = self.create_tree_with_shelf()
         shelf_ui.Unshelver.from_args(directory='tree').run()
         self.assertFileEqual(LINES_ZY, 'tree/foo')
         self.assertIs(None, tree.get_shelf_manager().last_shelf())
 
     def test_unshelve_args_dry_run(self):
+        self.thisFailsStrictLockCheck()
         tree = self.create_tree_with_shelf()
         shelf_ui.Unshelver.from_args(directory='tree', action='dry-run').run()
         self.assertFileEqual(LINES_AJ, 'tree/foo')
         self.assertEqual(1, tree.get_shelf_manager().last_shelf())
 
     def test_unshelve_args_delete_only(self):
+        self.thisFailsStrictLockCheck()
         tree = self.make_branch_and_tree('tree')
         manager = tree.get_shelf_manager()
         shelf_file = manager.new_shelf()[1]
@@ -373,6 +404,7 @@
         self.assertIs(None, manager.last_shelf())
 
     def test_unshelve_args_invalid_shelf_id(self):
+        self.thisFailsStrictLockCheck()
         tree = self.make_branch_and_tree('tree')
         manager = tree.get_shelf_manager()
         shelf_file = manager.new_shelf()[1]

=== modified file 'bzrlib/tests/test_status.py'
--- a/bzrlib/tests/test_status.py	2009-03-23 14:59:43 +0000
+++ b/bzrlib/tests/test_status.py	2009-07-31 17:42:29 +0000
@@ -43,6 +43,7 @@
         self.assertContainsRe(output.getvalue(), 'empty commit')
 
     def make_multiple_pending_tree(self):
+        self.thisFailsStrictLockCheck() # clone?
         config.GlobalConfig().set_user_option('email', 'Joe Foo <joe at foo.com>')
         tree = self.make_branch_and_tree('a')
         tree.commit('commit 1', timestamp=1196796819, timezone=0)
@@ -99,6 +100,7 @@
 
     def test_pending_with_ghosts(self):
         """Test when a pending merge's ancestry includes ghosts."""
+        self.thisFailsStrictLockCheck() # clone?
         config.GlobalConfig().set_user_option('email', 'Joe Foo <joe at foo.com>')
         tree = self.make_branch_and_tree('a')
         tree.commit('empty commit')



More information about the bazaar-commits mailing list