[MERGE] Hidden bug in `bzr info` when dirstate tree is write-locked
John Arbash Meinel
john at arbash-meinel.com
Mon Apr 23 18:13:56 BST 2007
Alexander Belchenko wrote:
> John Arbash Meinel ?8H5B:
...
>> So instead I went with the attached diff. It still raises
>> "knownFailure()" for win32, but only after running all of the tests. It
>> also makes sure that 'bzr info' is actually failing at the right time.
>
> I wonder if we need to check format of WT in addition to checking platform,
> i.e.
>
> @@ -1285,6 +1291,10 @@
> lco_tree.branch.repository.lock_write()
> lco_tree.branch.unlock()
>
> + if sys.platform == 'win32':
> + self.knownFailure('Win32 cannot run "bzr info"'
> + ' when the tree is locked.')
> +
>
> ^-- here add check for tree format before generate knownFailure?
>
> [µ]
>
We could, but for now I'm just checking earlier that "bzr info" is failing.
Right now you can see that I do:
+ if tree_locked and sys.platform == 'win32':
+ # Arguably neither can Linux, but for now OS Locks are
+ # not exclusive in-process.
+ args = command_string.split(' ')
+ self.run_bzr_error([], 'info', *args)
+ return
Which means that if it starts *working*, the test will start failing,
which is a clue that it needs to be updated. I realize it isn't
completely obvious, because the place checking for the actual failure is
decoupled from the place that is raising "knownFailure".
I suppose we could change the check to:
if (tree_locked and sys.platform == 'win32'
and isinstance(tree, WorkingTree4)):
Thoughts? Should it be updated and merged for 0.16?
John
=:->
More information about the bazaar
mailing list