Rev 4337: Fix 10 more lock-related test failures. in file:///home/vila/src/bzr/experimental/failing-lock-tests/
Vincent Ladeuil
v.ladeuil+lp at free.fr
Mon May 11 11:25:32 BST 2009
At file:///home/vila/src/bzr/experimental/failing-lock-tests/
------------------------------------------------------------
revno: 4337
revision-id: v.ladeuil+lp at free.fr-20090511102532-5ios60jawjyhf8ur
parent: v.ladeuil+lp at free.fr-20090511074936-smhc6y3kvl28zu5m
committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
branch nick: failing-lock-tests
timestamp: Mon 2009-05-11 12:25:32 +0200
message:
Fix 10 more lock-related test failures.
* tests/test_smart.py:
Add correct cleanups for locks.
-------------- next part --------------
=== modified file 'bzrlib/tests/test_smart.py'
--- a/bzrlib/tests/test_smart.py 2009-04-28 03:55:56 +0000
+++ b/bzrlib/tests/test_smart.py 2009-05-11 10:25:32 +0000
@@ -586,6 +586,8 @@
'')
self.assertEqual(SuccessfulSmartServerResponse(()), result)
self.assertEqual('bar', config.get_option('foo'))
+ # Cleanup
+ branch.unlock()
def test_value_name_section(self):
branch = self.make_branch('.')
@@ -597,6 +599,8 @@
'gam')
self.assertEqual(SuccessfulSmartServerResponse(()), result)
self.assertEqual('bar', config.get_option('foo', 'gam'))
+ # Cleanup
+ branch.unlock()
class SetLastRevisionTestBase(TestLockedBranch):
@@ -915,17 +919,24 @@
# with a new branch object.
new_branch = repository.bzrdir.open_branch()
self.assertRaises(errors.LockContention, new_branch.lock_write)
+ # Cleanup
+ request = smart.branch.SmartServerBranchRequestUnlock(backing)
+ response = request.execute('', branch_nonce, repository_nonce)
def test_lock_write_on_locked_branch(self):
backing = self.get_transport()
request = smart.branch.SmartServerBranchRequestLockWrite(backing)
branch = self.make_branch('.')
- branch.lock_write()
+ branch_token = branch.lock_write()
branch.leave_lock_in_place()
branch.unlock()
response = request.execute('')
self.assertEqual(
SmartServerResponse(('LockContention',)), response)
+ # Cleanup
+ branch.lock_write(branch_token)
+ branch.dont_leave_lock_in_place()
+ branch.unlock()
def test_lock_write_with_tokens_on_locked_branch(self):
backing = self.get_transport()
@@ -941,6 +952,13 @@
branch_token, repo_token)
self.assertEqual(
SmartServerResponse(('ok', branch_token, repo_token)), response)
+ # Cleanup
+ branch.repository.lock_write(repo_token)
+ branch.repository.dont_leave_lock_in_place()
+ branch.repository.unlock()
+ branch.lock_write(branch_token)
+ branch.dont_leave_lock_in_place()
+ branch.unlock()
def test_lock_write_with_mismatched_tokens_on_locked_branch(self):
backing = self.get_transport()
@@ -956,17 +974,29 @@
branch_token+'xxx', repo_token)
self.assertEqual(
SmartServerResponse(('TokenMismatch',)), response)
+ # Cleanup
+ branch.repository.lock_write(repo_token)
+ branch.repository.dont_leave_lock_in_place()
+ branch.repository.unlock()
+ branch.lock_write(branch_token)
+ branch.dont_leave_lock_in_place()
+ branch.unlock()
def test_lock_write_on_locked_repo(self):
backing = self.get_transport()
request = smart.branch.SmartServerBranchRequestLockWrite(backing)
branch = self.make_branch('.', format='knit')
- branch.repository.lock_write()
- branch.repository.leave_lock_in_place()
- branch.repository.unlock()
+ repo = branch.repository
+ repo_token = repo.lock_write()
+ repo.leave_lock_in_place()
+ repo.unlock()
response = request.execute('')
self.assertEqual(
SmartServerResponse(('LockContention',)), response)
+ # Cleanup
+ repo.lock_write(repo_token)
+ repo.dont_leave_lock_in_place()
+ repo.unlock()
def test_lock_write_on_readonly_transport(self):
backing = self.get_readonly_transport()
@@ -1031,6 +1061,10 @@
'', 'branch token', repo_token)
self.assertEqual(
SmartServerResponse(('TokenMismatch',)), response)
+ # Cleanup
+ branch.repository.lock_write(repo_token)
+ branch.repository.dont_leave_lock_in_place()
+ branch.repository.unlock()
class TestSmartServerRepositoryRequest(tests.TestCaseWithMemoryTransport):
@@ -1282,17 +1316,24 @@
# object.
new_repo = repository.bzrdir.open_repository()
self.assertRaises(errors.LockContention, new_repo.lock_write)
+ # Cleanup
+ request = smart.repository.SmartServerRepositoryUnlock(backing)
+ response = request.execute('', nonce)
def test_lock_write_on_locked_repo(self):
backing = self.get_transport()
request = smart.repository.SmartServerRepositoryLockWrite(backing)
repository = self.make_repository('.', format='knit')
- repository.lock_write()
+ repo_token = repository.lock_write()
repository.leave_lock_in_place()
repository.unlock()
response = request.execute('')
self.assertEqual(
SmartServerResponse(('LockContention',)), response)
+ # Cleanup
+ repository.lock_write(repo_token)
+ repository.dont_leave_lock_in_place()
+ repository.unlock()
def test_lock_write_on_readonly_transport(self):
backing = self.get_readonly_transport()
More information about the bazaar-commits
mailing list