[Python-Dev] cpython (2.7): Issue #18441: Make test.support.requires('gui') skip when it should.

R. David Murray rdmurray at bitdance.com
Wed Jul 31 04:08:31 CEST 2013


On Tue, 30 Jul 2013 20:52:27 -0400, Terry Reedy <tjreedy at udel.edu> wrote:
> On 7/30/2013 1:31 PM, R. David Murray wrote:
> > On Sun, 28 Jul 2013 01:09:43 +0200, terry.reedy <python-checkins at python.org> wrote:
> > I believe that this logic is incorrect.
> 
> It works for the intended purpose.
> 
> > If regrtest is run with "-u gui", given this code the skip message will
>  > be "requires gui resource" but the caller specified the gui resource,
>  > which will make the skip message completely confusing.
> 
> The message is accurate; string 'gui' does not create or enable the 
> required physical graphics subsystem. Anyway, the message is not in any 
> of the current buildbot reports I looked at. This patch has no effect on 
> normal machines with graphics and nor on most of the buildbots (at least 
> the stable one). On the 3 stable buildbots it is written for, the 
> message will only appear if test_idle fails (in one of the text tests 
> that do run) and is rerun or displayed in verbose mode. I doubt that 
> such a rare occurrence will seriously confuse any of the few developers 
> who will read the verbose idle_test output.

OK, I see what you are saying, but I really do think the skip message
should differentiate between the flag not being specified and the
physical resource not existing.

> > Instead, if it is true that 'gui' always means 'tk must work', then the
> > _is_gui_available function should do the Tk() check.  Currently as far
> > as I can see it is indeed the case that requires('gui') always means tk
> > must work.  So, I believe that the correct fix is to move
> > check_tk_availability to test.support, and call it from
> > _is_gui_available.
> 
> Ned and I agreed in the issue discussion that gui checks (also in 
> tkinter files) should be consolidated into test.support. See
> http://bugs.python.org/issue18604
> The check in this patch will be modified or simply removed once that is 
> done. But I need it here now to continue pushing new idle tests.
> 
> A consolidated gui check could report to the user something like "'gui' 
> is being ignored because graphics are not usable".

As long as this is the end result, I'm fine with it.

--David


More information about the Python-Dev mailing list