[rfc] list tests known to fail on a platform

Mark Hammond mhammond at skippinet.com.au
Thu Sep 11 04:40:58 BST 2008


> > I think we can get the number of failures small enough on Windows to
> > manage individually...

Just to follow up on the current state of this:

* There's one or 2 patches in the queue from me that fix a number of test
failures on Windows.

* Around 50 remaining failures relate to the LockContention errors I
mentioned previously.

* Around 20 'misc' failures remain after that, and some of them are probably
shallow (eg, some tests seem to fail if bzr knows your launchpad id?)

I think it is important to keep your original concern in mind here - how to
prevent additional regressions on Windows from going unnoticed?  This is a
real risk - there was a recent change relating to abspath() changing on
Windows which broke quite a few tests, but that went unnoticed in the test
suite noise.  We should try to arrange for regressions to be noticed on
Windows sooner rather than later.

I think that a number under 20 probably *can* be managed manually in the
short term, so long as there is a drive to get them to zero.  So this means
the LockContention failures are the only sticking point.  If we can work out
a reasonable way to silence the LockContention failures we should be in
pretty good shape.  Alternatively, we could consider introducing some
alternative mechanism that helps reduce the noise introduced by those
failures.

FYI, an example of a failure is copied below.

Cheers,

Mark

vvvv[log from
bzrlib.tests.branch_implementations.test_branch.TestBranch.test_branch_keeps
_signatures(BzrBranchFormat7)]
243.635  creating repository in
file:///O:/window%7E1/testbzr-m0szad.tmp/s_signatures%28BzrBranchFormat7%29/
work/source/.bzr/.
243.653  creating branch <bzrlib.branch.BzrBranchFormat7 object at
0x0294FF50> in
file:///O:/window%7E1/testbzr-m0szad.tmp/s_signatures%28BzrBranchFormat7%29/
work/source/.bzr/
243.681  trying to create missing lock
'O:/window~1/testbzr-m0szad.tmp/s_signatures(BzrBranchFormat7)/work/source/.
bzr/checkout/dirstate'
243.682  opening working tree
'O:/window~1/testbzr-m0szad.tmp/s_signatures(BzrBranchFormat7)/work/source'
243.707  preparing to commit
    INFO  Committing to:
O:/window~1/testbzr-m0szad.tmp/s_signatures(BzrBranchFormat7)/work/source/
243.710  Selecting files for commit with filter []
    INFO  Committed revision 1.
243.752  Auto-packing repository
<bzrlib.repofmt.pack_repo.RepositoryPackCollection object at 0x04D60990>,
which has 2 pack files, containing 1 revisions into 1 packs.
243.771  opening working tree
'O:/window~1/testbzr-m0szad.tmp/s_signatures(BzrBranchFormat7)/work/source'
243.791  creating repository in
file:///O:/window%7E1/testbzr-m0szad.tmp/s_signatures%28BzrBranchFormat7%29/
work/target/.bzr/.
243.807  Using fetch logic to copy between
KnitPackRepository('file:///O:/window%7E1/testbzr-m0szad.tmp/s_signatures%28
BzrBranchFormat7%29/work/source/.bzr/repository/')(<RepositoryFormatPackDeve
lopment1Subtree>) and
KnitPackRepository('file:///O:/window%7E1/testbzr-m0szad.tmp/s_signatures%28
BzrBranchFormat7%29/work/target/.bzr/repository/')(<RepositoryFormatPackDeve
lopment1Subtree>)
243.832  creating branch <bzrlib.branch.BzrBranchFormat7 object at
0x0294FF50> in
file:///O:/window%7E1/testbzr-m0szad.tmp/s_signatures%28BzrBranchFormat7%29/
work/target/.bzr/
243.871  opening working tree
'O:/window~1/testbzr-m0szad.tmp/s_signatures(BzrBranchFormat7)/work/source'
243.883  trying to create missing lock
'O:/window~1/testbzr-m0szad.tmp/s_signatures(BzrBranchFormat7)/work/target/.
bzr/checkout/dirstate'
243.884  opening working tree
'O:/window~1/testbzr-m0szad.tmp/s_signatures(BzrBranchFormat7)/work/target'
243.939  opening working tree 'O:/window~1/testbzr-m0szad.tmp'

^^^^[log from
bzrlib.tests.branch_implementations.test_branch.TestBranch.test_branch_keeps
_signatures(BzrBranchFormat7)]
----------------------------------------------------------------------
Traceback (most recent call last):
  File
"O:\src\bazaar\bzr\bzr.work\bzrlib\tests\branch_implementations\test_branch.
py", line 306, in test_branch_keeps_signatures
    d2 = repo.bzrdir.clone(urlutils.local_path_to_url('target'))
  File "O:\src\bazaar\bzr\bzr.work\bzrlib\bzrdir.py", line 177, in clone
    preserve_stacking=preserve_stacking)
  File "O:\src\bazaar\bzr\bzr.work\bzrlib\bzrdir.py", line 239, in
clone_on_transport
    self.open_workingtree().clone(result)
  File "O:\src\bazaar\bzr\bzr.work\bzrlib\decorators.py", line 138, in
read_locked
    result = unbound(self, *args, **kwargs)
  File "O:\src\bazaar\bzr\bzr.work\bzrlib\workingtree.py", line 527, in
clone
    self.copy_content_into(result, revision_id)
  File "O:\src\bazaar\bzr\bzr.work\bzrlib\decorators.py", line 138, in
read_locked
    result = unbound(self, *args, **kwargs)
  File "O:\src\bazaar\bzr\bzr.work\bzrlib\workingtree.py", line 535, in
copy_content_into
    merge.transform_tree(tree, self)
  File "O:\src\bazaar\bzr\bzr.work\bzrlib\merge.py", line 67, in
transform_tree
    interesting_ids=interesting_ids, this_tree=from_tree)
  File "O:\src\bazaar\bzr\bzr.work\bzrlib\merge.py", line 1203, in
merge_inner
    return merger.do_merge()
  File "O:\src\bazaar\bzr\bzr.work\bzrlib\merge.py", line 419, in do_merge
    self.base_tree.lock_read()
  File "O:\src\bazaar\bzr\bzr.work\bzrlib\workingtree_4.py", line 1722, in
lock_read
    self._dirstate.lock_read()
  File "O:\src\bazaar\bzr\bzr.work\bzrlib\dirstate.py", line 2739, in
lock_read
    self._lock_token = lock.ReadLock(self._filename)
  File "O:\src\bazaar\bzr\bzr.work\bzrlib\lock.py", line 297, in __init__
    self._lock(filename, 'rb', LOCK_SH + LOCK_NB)
  File "O:\src\bazaar\bzr\bzr.work\bzrlib\lock.py", line 278, in _lock
    raise errors.LockContention(filename)
LockContention: Could not acquire lock
"O:/window~1/testbzr-m0szad.tmp/s_signatures(BzrBranchFormat7)/work/target/.
bzr/checkout/dirstate"





More information about the bazaar mailing list