[Buildbot-devel] Extending ShellCommand
kir at lapshin.net
Thu Sep 2 21:36:40 UTC 2004
Sorry for a long silence, got tied up with lots of other projects, and
since this bug is arguably just cosmetic, I did not have chance to look
Today I was doing some maintenance, and decided to upgrade BuildBot to
0.5.0. First thing I noticed is that all Shell test cases fail. There
was a thread about this problem and you blamed Twisted 1.1.0 and said
that in the end all these failures are not critical. The funny thing is
that I am using Twisted 1.3.0. I am running up to date Debian Sarge.
Anyways I went ahead and upgraded BuildBot, disregarding unittest
failures and it seems to work fine so far.
Sidenote: I had to develop simplistic debian package, and I wrote
init.d script for running buildbot (though it is not included in deb
yet). If anyone is willing to adopt and polish it I can send sources. It
would be really nice to have official debian package.
More importantly I decided to investigate this old problems with
updating ShellCommand status, and unfortunately it was a complete
failure. First of all I still see the same error, so your patch (see
actual patch below for reference) did not work. I verified that the
patch made it into 0.5.0.
>RCS file: /cvsroot/buildbot/buildbot/buildbot/status/event.py,v
>retrieving revision 1.12
>diff -u -r1.12 event.py
>--- buildbot/status/event.py 1 May 2004 01:03:27 -0000 1.12
>+++ buildbot/status/event.py 10 Jul 2004 23:01:20 -0000
>@@ -311,7 +311,7 @@
> self.swappable = None
> def getEntries(self):
>- if self.entries:
>+ if self.entries is not None:
> return self.entries
> elif self.doSwap:
Next thing I tried is, as you suggested, to add
def stepComplete(self, *args, **kwargs):
return BuildStep.stepComplete(self, *args, **kwargs)
to my build step, but it did not help either. I don't have any ideas how
to tackle this problem, without digging into guts of BuildBot, which is
probably not a good idea, since you are performing major refactorings.
Maybe I should wait until next release and hope that your code
restructuring would squash this bug.
I would love to contribute unit test for the problem, but looks like
this task is not easy -- I was expecting some test already tests the
whole status update interaction, but I can't find any. If you have any
suggestions, I would love to help you with testing/reproducing on my
end, just let me know. If you want I can send you my config file and all
local extensions via private e-mail.
Thanks again for a nice program, I like it a lot! While I am at it, do
you have any plans on adding e-mail notification feature? That should be
relatively easy, and would add a lot of value.
More information about the devel