[Python-Dev] Testing tkinter on Linux

R. David Murray rdmurray at bitdance.com
Thu Aug 27 21:00:40 CEST 2015

On Thu, 27 Aug 2015 14:24:36 -0400, Terry Reedy <tjreedy at udel.edu> wrote:
> On 8/27/2015 12:35 AM, Chris Angelico wrote:
> > On Thu, Aug 27, 2015 at 2:20 PM, Terry Reedy <tjreedy at udel.edu> wrote:
> >> None of the linux buildbots run with X enabled.  Consequently none of the
> >> tkinter (or tkinter user) gui tests are run on Linux.  It was thus pointed
> >> out to me, during discussion of using ttk widgets in Idle, that we do not
> >> really know if ttk works on the variety of Linux systems (beyond the one
> >> Serhiy uses) and that I should look into this.
> >
> > If it helps, my buildbot has full GUI services, so if there's a simple
> > way to tell it to run the GUI tests every time, they should pass.
> Somewhere your buildbot has a shell script to run that ends with a 
> command to start the tests. The commands are echoed to the buildbot 
> output.  Here are two that I found.

No, the master controls this.

> ./python  ./Tools/scripts/run_tests.py -j 1 -u all -W --timeout=3600
> ... PCbuild\..\lib\test\regrtest.py" -uall -rwW -n --timeout 3600
> (and python -m test ... should work)
> If the command has -ugui (included in -uall) *and* a graphics system can 
> be initiated (X on Linux), then the gui resource is marked present and 
> gui tests will run.

I believe gui depends on the existence of the DISPLAY environment
variable on unix/linux (that is, TK will fail to start if DISPLAY is not
set, so _is_gui_available will return False).  You should be able to
confirm this by looking at the text of the skip message in the buildbot

It is possible to create a "virtual" X on an otherwise headless linux
system, but I've never tried to do it myself.  If someone comes up
with a recipe we could add it to the devguide chapter on running
a buildbot.


More information about the Python-Dev mailing list