New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Eliminate 'ThemeChanged' warning when running IDLE tests #71383
Comments
When running "python_d.exe -m test_idle from console or when running test file from IDLE after starting it in either console or by import, the following sometimes appears. can't invoke "event" command: application has been destroyed Serhiy, this is pobably not critical, but it is annoying. Perhaps the 'kill-callbacks' patch would fix this. Still, I try to have IDLE tests cleanup properly. Known repeatable occurrences:
|
This looks as a duplicate of bpo-20567. |
New changeset 0207c6203f84 by Terry Jan Reedy in branch '3.5': New changeset 2d864ac472f0 by Terry Jan Reedy in branch 'default': |
I closed bpo-20567 after finishing what I intended to do 3 years ago. I decided make this a separate issue for trying Serhiy's suggestion of updata_idletasks. Pursuing 'no default root' is bpo-24137. 3 other files also gave the warning, once, when run alone. 2 of the 4 'warned with the test suite in 3.5 and 3 of 4 in 3.6. Adding root.update or root.update_idletasks to all 4 fixed all warnings I know of for both versions. It appears to be a coincidence that the warnings consistently appeared where they did. I also added a note about this fix to README.txt. There is no known problem in 2.7. I fixed 3.5 also because the warnings sometimes appear in buildbot reports, and they don't need the noise. |
FWIW, I'm still seeing these errors on OS X (10.11.5 with ActiveTcl 8.5.18) using 2.7.12rc1, 3.5.2rc1, and top-of-trunk 3.6.0. They do not occur on the same platform when using 2.7.11 or 3.5.1. For example: $ /usr/local/bin/python3.5
Python 3.5.2rc1 (v3.5.2rc1:68feec6488b2, Jun 11 2016, 21:59:53)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin [...]
$ /usr/local/bin/python3.5 -m test.regrtest -ugui test_idle
[1/1] test_idle
can't invoke "event" command: application has been destroyed
while executing
"event generate $w <<ThemeChanged>>"
(procedure "ttk::ThemeChanged" line 6)
invoked from within
"ttk::ThemeChanged"
1 test OK.
$ ./bin/python3.6
Python 3.6.0a2+ (default, Jun 19 2016, 13:19:06)
[GCC 4.2.1 Compatible Apple LLVM 7.3.0 (clang-703.0.29)] on darwin [...]
$ ./bin/python3.6 -m test -ugui -j3 test_idle
Run tests in parallel using 3 child processes
0:00:02 [1/1] test_idle passed
can't invoke "event" command: application has been destroyed
while executing
"event generate $w <<ThemeChanged>>"
(procedure "ttk::ThemeChanged" line 6)
invoked from within
"ttk::ThemeChanged"
1 test OK.
Total duration: 0:00:03 |
The only thing I still see is a pair of ThemeChanged warnings from 2.7. Using binary search, I identified test_editmenu as the culprit. This in spite of all the cleanup I can think of @classmethod
def tearDownClass(cls):
del cls.text, cls.entry, cls.spin
cls.root.clipboard_clear()
cls.root.update_idletasks()
cls.root.update()
cls.root.destroy()
del cls.root When I tried to determine which test method(s) gave the warning, as disable all to make sure the warnings vanished, which then did. But after re-enabling, the warnings did not come back -- until they did after a few more runs. I suspect that the only permanent solution will be Serhiy's patch to have .destroy cancel pending callbacks. |
2.7 EOL. Ned, do you still see Themed Changed? I don't on 3.8 on Macbook. with 10.14 mohave(?) |
terryjreedy commentedJun 3, 2016
Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.
Show more details
GitHub fields:
bugs.python.org fields:
The text was updated successfully, but these errors were encountered: