Issue 27312: test_setupapp (idlelib.idle_test.test_macosx.SetupTest) fails on OS X (original) (raw)
Issue27312
Created on 2016-06-14 00:49 by ned.deily, last changed 2022-04-11 14:58 by admin. This issue is now closed.
Messages (7) | ||
---|---|---|
msg268492 - (view) | Author: Ned Deily (ned.deily) * ![]() |
Date: 2016-06-14 00:49 |
Running tests of 3.6.0a2 with gui enabled on OS X result in various failures of the form: ====================================================================== ERROR: test_setupapp (idlelib.idle_test.test_macosx.SetupTest) (tktype='carbon') Call setupApp with each possible graphics type. ---------------------------------------------------------------------- Traceback (most recent call last): File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/idlelib/idle_test/test_macosx.py", line 93, in test_setupapp macosx.setupApp(root, flist) File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/idlelib/macosx.py", line 245, in setupApp overrideRootMenu(root, flist) File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/idlelib/macosx.py", line 133, in overrideRootMenu closeItem = mainmenu.menudefs[0][1][-2] IndexError: list index out of range ====================================================================== ERROR: test_setupapp (idlelib.idle_test.test_macosx.SetupTest) (tktype='cocoa') Call setupApp with each possible graphics type. ---------------------------------------------------------------------- Traceback (most recent call last): File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/idlelib/idle_test/test_macosx.py", line 93, in test_setupapp macosx.setupApp(root, flist) File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/idlelib/macosx.py", line 245, in setupApp overrideRootMenu(root, flist) File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/idlelib/macosx.py", line 133, in overrideRootMenu closeItem = mainmenu.menudefs[0][1][-2] IndexError: list index out of range | ||
msg268493 - (view) | Author: Ned Deily (ned.deily) * ![]() |
Date: 2016-06-14 00:54 |
Without looking closely at it, I would speculate that the failures are due to trying to test code in overrideRootMenu() that was previously only called once during execution and may not be re-enterant: # Remove the last 3 items of the file menu: a separator, close window and # quit. Close window will be reinserted just above the save item, where # it should be according to the HIG. Quit is in the application menu. del mainmenu.menudefs[0][1][-3:] mainmenu.menudefs[0][1].insert(6, closeItem) | ||
msg268503 - (view) | Author: Terry J. Reedy (terry.reedy) * ![]() |
Date: 2016-06-14 02:38 |
test_setupapp calls setupApp with body if isAquaTk(): hideTkConsole(root) overrideRootMenu(root, flist) addOpenEventSupport(root, flist) fixb2context(root) isAquaTk should be True exactly twice, and it failed both times. The overall code is definitely not re-entrant On Carbon, 'application' in inserted before 'file' and becomes menudef[0]. The puzzle to me is the failure on what should be the first call. Until that is figured out, you could try decorating test_setupapp with @mock.patch(idlelib.macosx.setupApp) to see what, if anything, fails next. I have access to a small Macbook Air with 11" diag. screen -- probably too small for my eyes for routine use but I should be able to run test_idle (especially post push) and do occasional exploratory editing, as needed here. I will try to learn enough about how to use it to follow the devguide instructions on setting up a repository. | ||
msg268747 - (view) | Author: Roundup Robot (python-dev) ![]() |
Date: 2016-06-17 23:56 |
New changeset 90fd1c17214b by Terry Jan Reedy in branch 'default': Issue #27312: mock out function that fails when called from setupApp during https://hg.python.org/cpython/rev/90fd1c17214b | ||
msg268748 - (view) | Author: Terry J. Reedy (terry.reedy) * ![]() |
Date: 2016-06-17 23:57 |
My suggested mock was for the wrong function. Please let me know what happens next time you pull and run test_idle whether alone or with the suite. | ||
msg268751 - (view) | Author: Roundup Robot (python-dev) ![]() |
Date: 2016-06-18 01:17 |
New changeset 61bd6974405f by Berker Peksag in branch 'default': Issue #27312: Fix TypeError in test_setupapp https://hg.python.org/cpython/rev/61bd6974405f | ||
msg268836 - (view) | Author: Ned Deily (ned.deily) * ![]() |
Date: 2016-06-19 03:08 |
test_idle now runs without failing. Thanks, Terry and Berker. |
History | |||
---|---|---|---|
Date | User | Action | Args |
2022-04-11 14:58:32 | admin | set | github: 71499 |
2016-06-19 03:08:14 | ned.deily | set | status: open -> closedresolution: fixedmessages: + stage: needs patch -> resolved |
2016-06-18 01:17:46 | python-dev | set | messages: + |
2016-06-17 23:57:55 | terry.reedy | set | messages: + |
2016-06-17 23:56:14 | python-dev | set | nosy: + python-devmessages: + |
2016-06-14 02:38:50 | terry.reedy | set | messages: + |
2016-06-14 00:54:07 | ned.deily | set | messages: + |
2016-06-14 00:49:50 | ned.deily | create |