[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
More information about the Python-Dev