[Buildbot-devel] Extending ShellCommand

Kirill Lapshin kir at lapshin.net
Thu Sep 2 21:36:40 UTC 2004


Brian,

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 
into it.

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.

>Index: buildbot/status/event.py
>===================================================================
>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:
>             try:
>

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.

--Kirill.




More information about the devel mailing list