[Buildbot-devel] test bustage of latent slaves on twisted 2.5.0, plus on bzr on 8.2.0. Mac, python 2.5

Gary Poster gary.poster at canonical.com
Thu Jan 29 17:51:17 UTC 2009


On Thu, 2009-01-29 at 18:30 +0100, Axel Hecht wrote:
> Hi,
> 
> I just ran into a flock of test errors with the latent-slaves tests:

Heh.  I like the image of a flock of errors. :-)

...omitting the flying assertIsInstances...

> ===============================================================================
> [ERROR]: buildbot.test.test_slaves.LatentSlave.testSequence
> 
> Traceback (most recent call last):
>   File
> "/System/Library/Frameworks/Python.framework/Versions/2.5/Extras/lib/python/twisted/internet/base.py", line 561, in runUntilCurrent
>     call.func(*call.args, **call.kw)
>   File "/Users/tester/src/buildbot/buildbot/test/test_slaves.py", line
> 245, in _stop_instance
>     s = self.testcase.slaves.pop(self.slavename)
> exceptions.KeyError: 'pop(): dictionary is empty'
> -------------------------------------------------------------------------------
> 
> The assertIsInstance failures look like
> http://twistedmatrix.com/trac/changeset/21068, aka, are busted on
> 2.5.0. 

I'm not familiar with that general problem.  OK, so I shouldn't be using
assertIsInstance?  I can switch those to assertEqual and be close
enough, if so.

> Not sure what the pop() error is.

A timing issue, I suspect.  That behavior is not really important to the
tests--if one code path shut down the slave before the other could, oh
well--so I think I can just make this pass if the slavename is not in
the dict.  I already did a similar thing in the ec2 tests, IIRC.

> 
> On Twisted 8.2.0, I get the pop() error, and another new one:
> 
> ===============================================================================
> [ERROR]: buildbot.test.test_slaves.LatentSlave.testSequence
> 
> Traceback (most recent call last):
>   File
> "/Users/tester/ENV/Twisted820/lib/python2.5/site-packages/Twisted-8.2.0-py2.5-macosx-10.5-i386.egg/twisted/internet/base.py", line 757, in runUntilCurrent
>     call.func(*call.args, **call.kw)
>   File "/Users/tester/src/buildbot/buildbot/test/test_slaves.py", line
> 245, in _stop_instance
>     s = self.testcase.slaves.pop(self.slavename)
> exceptions.KeyError: 'pop(): dictionary is empty'

...as above...

> ===============================================================================
> [ERROR]: buildbot.test.test_vc.Bazaar.testCheckout
> 
> Traceback (most recent call last):
> Failure: twisted.internet.error.ProcessTerminated: A process has ended
> with a probable error condition: process ended with exit code 1.
> 
> Not that I have Bazaar installed. Something not waiting enough?

I don't think I'm responsible for this one, so I'll let someone else
reply.

Axel, if I send you a patch would you mind giving it a whirl?

Gary





More information about the devel mailing list