[Buildbot-devel] Running GUI tests on an OS X buildslave

C. E. Ball ceball at gmail.com
Thu Mar 27 09:49:40 UTC 2008


On Thu, Mar 27, 2008 at 4:49 PM, Shaun McDonald
<shaun at shaunmcdonald.me.uk> wrote:
>
>
>  On 27 Mar 2008, at 03:14, C. E. Ball wrote:
>
>  >> Date: Tue, 25 Mar 2008 23:08:05 -0700
>  >> From: john gale <john at smadness.com>
>  >> Subject: Re: [Buildbot-devel] Has anyone looked at changing buildbot
>  >>       to use  ssh to connect to the slaves?
>  > ...
>  >> To some degree it does seem a bit more intuitive to use ssh, but
>  >> running the buildbot slave process under the GUI is a powerful way to
>  >> run tests.  Say, on Mac OS X, you can't ssh into a machine and easily
>  >> connect to the GUI security session to run tests on a GUI process.
>  >> It's easier to set up a launchd plist on the slave, run in the GUI
>  >> session, which then requests tests to run from the master.
>  >
>  > Sorry to hijack this discussion, but I wonder if someone who has
>  > experience of running a buildslave on OS X could give some advice? The
>  > paragraph above hints to me that the author knows what he is doing,
>  > but I don't understand what is being described!
>  >
>  > I have a set of tests that need to launch GUI windows. On linux, I use
>  > xvfb-run to provide an X display for the tests. On OS X, things seem
>  > to be a little more complicated. The software I'm building uses Python
>  > and Tkinter, so it can be built for X11 and for the native mac display
>  > (Aqua?). Using X11, I could do the same as for linux and use Xvfb (if
>  > I could find a binary for OS X 10.5). But using Aqua, how can I give
>  > the buildslave access to a graphical display without requiring the
>  > buildbot user to be logged in graphically to OS X? How do other people
>  > cope with this problem? I am inexperienced with OS X, so I wonder if I
>  > have missed an obvious solution. The machine is shared, although I do
>  > have sudo rights on it.
>
>  That is a major problem with Mac OS X's aqua interface. You need to be
>  the logged in user to be able to access the Console and run GUI apps.
>  The same problem occurs for compiling AppleScripts. Complain to Apple
>  about the problem.

Oh well. I guess Apple's reply would be to suggest we buy a second machine...

For the record, the way we've been using buildbot for graphical tests
on OS X while still allowing others to log in graphically is to enable
'fast user switching' and install a VNC server. Unfortunately, we have
not completely automated the process (if the machine restarts, the
buildbot user must log in again before the tests will work).

The process is described at
http://www.redstonesoftware.com/products/vine_server (click on the
"Multiple Desktop Sessions" link). Vine Server is an open-source
project (http://sourceforge.net/projects/osxvnc/).

Chris




More information about the devel mailing list