classification
Title: Idle test_configdialog fails on Fedora 23, 3.6
Type: behavior Stage: resolved
Components: IDLE Versions: Python 3.6
process
Status: closed Resolution: duplicate
Dependencies: Superseder: Tkinter error when opening IDLE configuration menu (Tcl/Tk 8.6)
View: 26673
Assigned To: terry.reedy Nosy List: markroseman, petr.viktorin, serhiy.storchaka, terry.reedy
Priority: normal Keywords:

Created on 2015-08-28 06:44 by terry.reedy, last changed 2019-03-23 19:59 by terry.reedy. This issue is now closed.

Messages (6)
msg249275 - (view) Author: Terry J. Reedy (terry.reedy) * (Python committer) Date: 2015-08-28 06:44
In response to my python-list request for testing tkinter/idle on linux, Petr wrote

On Fedora 21, the tests pass (Python 3.4.1 and latest dev version).

On Fedora 23, I see:

$ python3 -V
Python 3.4.3 <tests pass>

$ ./python -V
Python 3.6.0a0
$ ./python -m test -ugui test_tk test_ttk_guionly test_idle
[1/3] test_tk
[2/3] test_ttk_guionly
[3/3] test_idle
test test_idle failed -- Traceback (most recent call last):
  File "/home/pviktori/dev/cpython/Lib/idlelib/idle_test/test_configdialog.py",
line 27, in test_dialog
    d=ConfigDialog(self.root, 'Test', _utest=True)
  File "/home/pviktori/dev/cpython/Lib/idlelib/configDialog.py", line
71, in __init__
    self.LoadConfigs()
  File "/home/pviktori/dev/cpython/Lib/idlelib/configDialog.py", line
1078, in LoadConfigs
    self.LoadFontCfg()
  File "/home/pviktori/dev/cpython/Lib/idlelib/configDialog.py", line
980, in LoadFontCfg
    self.SetFontSample()
  File "/home/pviktori/dev/cpython/Lib/idlelib/configDialog.py", line
858, in SetFontSample
    self.labelFontSample.config(font=newFont)
  File "/home/pviktori/dev/cpython/Lib/tkinter/__init__.py", line
1330, in configure
    return self._configure('configure', cnf, kw)
  File "/home/pviktori/dev/cpython/Lib/tkinter/__init__.py", line
1321, in _configure
    self.tk.call(_flatten((self._w, cmd)) + self._options(cnf))
_tkinter.TclError: expected integer but got ""

2 tests OK.
1 test failed:
    test_idle

Tk version: 8.6.4
---------------------------------------
msg249278 - (view) Author: Petr Viktorin (petr.viktorin) * (Python committer) Date: 2015-08-28 13:52
I'd be happy to do any further testing (modulo a vacation until this Tuesday), but unfortunately I don't have time to dive into tkinter myself and look for the cause.
IDLE starts normally on this box.

Also note: Fedora 23 is currently in alpha (though Python should be stable in it).
msg249284 - (view) Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) Date: 2015-08-28 17:48
Could you please add

    print(_flatten((self._w, cmd)) + self._options(cnf))

just before the call in line 858 in Lib/tkinter/__init__.py and tell the output Petr. Could you please show your .idlerc/config-main.cfg file?

I suppose self.fontSize.get() returns an empty string for unknown reasons. Interesting, how IDLE configuration file affects tests?
msg249292 - (view) Author: Mark Roseman (markroseman) * Date: 2015-08-28 19:24
Config files affecting tests (and tests affecting config files!) is an issue. Would like to see config files written into a different directory when running tests. Any concerns with doing that?
msg250087 - (view) Author: Petr Viktorin (petr.viktorin) * (Python committer) Date: 2015-09-07 08:57
Sorry for the delay; I lost the mail notification.

I don't have a config-main.cfg file.

The last output from the test, with the print added:

test_dialog (idlelib.idle_test.test_configdialog.ConfigDialogTest) ... ('.139655680391704', 'configure', '-borderwidth', 5)
('.139655680391704.139655680370912.139655680371640.139655680370184.139655676916736.139655676917048.139655676917672', 'configure', '-command', '139655677350312yview')
('.139655680391704.139655680370912.139655680371640.139655680370184.139655676916736.139655676917048.139655676917360', 'configure', '-yscrollcommand', '139655677341608set')
('.139655680391704.139655680370912.139655680371640.139655680370184.139655676916736.139655676917152.139655676918296', 'configure', '-menu', <tkinter.Menu object .139655680391704.139655680370912.139655680371640.139655680370184.139655676916736.139655676917152.139655676918296.menu>)
('.139655680391704.139655680370912.139655680371640.139655680370184.139655676916736.139655676917152.139655676918296', 'configure')
('.139655680391704.139655680370912.139655680371640.139655680345608.139655676932496.139655676932704', 'configure', '-state', 'disabled')
('.139655680391704.139655680370912.139655680371640.139655680345608.139655676932496.139655677333032.139655677332408', 'configure', '-menu', <tkinter.Menu object .139655680391704.139655680370912.139655680371640.139655680345608.139655676932496.139655677333032.139655677332408.menu>)
('.139655680391704.139655680370912.139655680371640.139655680345608.139655676932496.139655677333032.139655677332408', 'configure', '-highlightthickness', 0)
('.139655680391704.139655680370912.139655680371640.139655680345608.139655676932600.139655676935200', 'configure', '-menu', <tkinter.Menu object .139655680391704.139655680370912.139655680371640.139655680345608.139655676932600.139655676935200.menu>)
('.139655680391704.139655680370912.139655680371640.139655680345608.139655676932600.139655676935200', 'configure')
('.139655680391704.139655680370912.139655680371640.139655680345608.139655676932600.139655676935616', 'configure', '-menu', <tkinter.Menu object .139655680391704.139655680370912.139655680371640.139655680345608.139655676932600.139655676935616.menu>)
('.139655680391704.139655680370912.139655680371640.139655680345608.139655676932600.139655676935616', 'configure')
('.139655680391704.139655680370912.139655680371640.139655680789328.139655676961480.139655676961688.139655676961896', 'configure', '-command', '139655676968648yview')
('.139655680391704.139655680370912.139655680371640.139655680789328.139655676961480.139655676961688.139655676962000', 'configure', '-command', '139655676973368xview')
('.139655680391704.139655680370912.139655680371640.139655680789328.139655676961480.139655676961688.139655676962104', 'configure', '-yscrollcommand', '139655676973928set')
('.139655680391704.139655680370912.139655680371640.139655680789328.139655676961480.139655676961688.139655676962104', 'configure', '-xscrollcommand', '139655676974600set')
('.139655680391704.139655680370912.139655680371640.139655680789328.139655676961584.139655676963352.139655676963976', 'configure', '-menu', <tkinter.Menu object .139655680391704.139655680370912.139655680371640.139655680789328.139655676961584.139655676963352.139655676963976.menu>)
('.139655680391704.139655680370912.139655680371640.139655680789328.139655676961584.139655676963352.139655676963976', 'configure')
('.139655680391704.139655680370912.139655680371640.139655680789328.139655676961584.139655676963352.139655676964392', 'configure', '-menu', <tkinter.Menu object .139655680391704.139655680370912.139655680371640.139655680789328.139655676961584.139655676963352.139655676964392.menu>)
('.139655680391704.139655680370912.139655680371640.139655680789328.139655676961584.139655676963352.139655676964392', 'configure')
('.139655680391704.139655680370912.139655680371640.139655677346192.139655676990984.139655676992648.139655676992856', 'configure', '-command', '139655676998504yview')
('.139655680391704.139655680370912.139655680371640.139655677346192.139655676990984.139655676992648.139655676992960', 'configure', '-yscrollcommand', '139655677003496set')
('.139655680391704.139655680370912.139655680371640.139655680370184.139655676916736.139655676918920.139655676919024', 'configure', '-font', '{dejavu sans mono} {} normal')
ERROR

======================================================================
ERROR: test_dialog (idlelib.idle_test.test_configdialog.ConfigDialogTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/pviktori/dev/cpython/Lib/idlelib/idle_test/test_configdialog.py", line 27, in test_dialog
    d=ConfigDialog(self.root, 'Test', _utest=True)
  File "/home/pviktori/dev/cpython/Lib/idlelib/configDialog.py", line 71, in __init__
    self.LoadConfigs()
  File "/home/pviktori/dev/cpython/Lib/idlelib/configDialog.py", line 1078, in LoadConfigs
    self.LoadFontCfg()
  File "/home/pviktori/dev/cpython/Lib/idlelib/configDialog.py", line 980, in LoadFontCfg
    self.SetFontSample()
  File "/home/pviktori/dev/cpython/Lib/idlelib/configDialog.py", line 858, in SetFontSample
    self.labelFontSample.config(font=newFont)
  File "/home/pviktori/dev/cpython/Lib/tkinter/__init__.py", line 1331, in configure
    return self._configure('configure', cnf, kw)
  File "/home/pviktori/dev/cpython/Lib/tkinter/__init__.py", line 1322, in _configure
    self.tk.call(_flatten((self._w, cmd)) + self._options(cnf))
_tkinter.TclError: expected integer but got ""

----------------------------------------------------------------------
msg263205 - (view) Author: Terry J. Reedy (terry.reedy) * (Python committer) Date: 2016-04-11 20:11
This and #26673 are duplicates.  The latter also reports failure on Arch Linux and other Python versions.  While our default policy is to keep the earliest report open, I am closing this as #26673 has more information, including from Petr.
History
Date User Action Args
2019-03-23 19:59:41terry.reedysetassignee: terry.reedy
components: + IDLE
2016-04-11 20:11:43terry.reedysetstatus: open -> closed
superseder: Tkinter error when opening IDLE configuration menu (Tcl/Tk 8.6)
messages: + msg263205

resolution: duplicate
stage: test needed -> resolved
2015-09-07 08:57:33petr.viktorinsetmessages: + msg250087
2015-08-28 19:24:44markrosemansetmessages: + msg249292
2015-08-28 17:48:41serhiy.storchakasetmessages: + msg249284
2015-08-28 13:52:03petr.viktorinsetmessages: + msg249278
2015-08-28 06:44:06terry.reedycreate