[Buildbot-devel] Long-running (server) commands

Gregory Golberg grisha at snaplogic.org
Mon May 7 22:12:57 UTC 2007

Hi all,

I just started using buildbot with our project. It's very impressive, 
but I ran into an issue right away.
The thing is that what I want is to run a suite of integration tests, 
where some tests would start our
server, hit it with some requests, then stop it, start it with a 
different configuration, etc. But when I did
something like this:

cmd = RemoteShellCommand(
          command='figleaf -i -- ../python244/bin/SnapServer -c %s &' % 
            #'../TestSnapServer ' + conf)

It was kicking off the process but not returning (though the & is, as I 
understand, passed to /bin/sh, and
if you do that on the shell command line, you'd return.

But that didn't work even when I kicked off another script that launched 
the command in the background
and returned itself - the slave still was hanging.

I finally got it to work by doing exactly the above plus a one-second 
timeout -- it killed the shell, leaving
the orphan process running, which is what I wanted.

So my question is, what about enhancement in buildbot for such a 
scenario to work out of the box -- allowing
for background processes (assuming these processes have their own way of 
being stopped, e.g., they have
a stop script that can be executed in an independent remote command).

More information about the devel mailing list