Open terryjreedy opened 10 years ago
Another issue for sometests, but which might be fixed in htest.run, is to force focus to the new widget window opened by the Test_xyz button.
Refinement 1: in doing coverage for UndoDelegator, I noticed that the htest function is counted as missing (uncovered). Both of the following in .coveragerc work to ignore the block: name prefix; comment suffix. def htest_.*: .*# htest # The second is more practical for alphabetical order in htest. It is also less work to change. The particular form marks it as not a normal comment.
Refinement 2: put all imports that are specific to the htest function at the top of the function. Since the function is only called once per process, there is no efficiency consideration. I decided that after the tkinter import at the top got me (wasting time) looking through UndoDelegator for a widget call that might be the source of the leak. The changes can wait until we edit the file anyway, or at least write a test.
However, the docstring at the top of htest.py should be changed.
Current htest issues from this and two other issues, notes, and running htests with htest.py.
(Default master window placement is ok. Can move.)
h1. At least one test window overlaps the test window. Others are not centered (y-position). Fix by passing _htest and changing geometry accordingly. Use f-strings. Develop formula for centering?
(Test messages "might use editing" is too vague. Ditto for EditorWindow 'might be split'.)
h2. All widgets should be displayed. A couple of htests test behavior in widgets otherwise displayed, and *these* should be unittested if possible.
h3. Force focus to opened widget window. Probably still needed.
h4. Putting imports only needed by htest functions in the function is a good idea. Introducing a regression by mistake is not. Do this when edit after thorough tests.
h5. # htest # is present on all current htest functions. Check that is documented, including .coveragerc entry.
h6. What is left from #66819 after patch applied?
h7. #71823: incapsulate common features in classes defined in htest.py.
3 Specific TODOs in htest.py:
h8. Improve message for dyn_option_menu.
h9. Improve wrapper for EditorWindow.
h10. Update GetKeysDialog test now that #65718 closed.
h11. My note: Get keys dialog prints blank line to console, something prints 'None'. Check when run all tests.
h12. Test window should show version and module (from __file__). Make part of #71823.
New changeset 2000150c569941584994ec4ec59171961209bec3 by terryjreedy in branch 'master': bpo-21624: IDLE -- minor htest fixes (bpo-2575) https://github.com/python/cpython/commit/2000150c569941584994ec4ec59171961209bec3
New changeset 1278d29000794085f1d9e25f2dadbf70b9076e30 by terryjreedy in branch '3.6': [3.6] bpo-21624: IDLE -- minor htest fixes (GH-2575) (bpo-2578) https://github.com/python/cpython/commit/1278d29000794085f1d9e25f2dadbf70b9076e30
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: ```python assignee = 'https://github.com/terryjreedy' closed_at = None created_at =
labels = ['expert-IDLE', 'type-feature', '3.7']
title = 'Idle: Improve htests'
updated_at =
user = 'https://github.com/terryjreedy'
```
bugs.python.org fields:
```python
activity =
actor = 'terry.reedy'
assignee = 'terry.reedy'
closed = False
closed_date = None
closer = None
components = ['IDLE']
creation =
creator = 'terry.reedy'
dependencies = ['22629', '27636']
files = []
hgrepos = []
issue_num = 21624
keywords = []
message_count = 6.0
messages = ['219486', '220074', '220238', '297691', '297694', '297700']
nosy_count = 4.0
nosy_names = ['terry.reedy', 'vstinner', 'jesstess', 'Saimadhav.Heblikar']
pr_nums = ['2575', '2578']
priority = 'normal'
resolution = None
stage = 'needs patch'
status = 'open'
superseder = None
type = 'enhancement'
url = 'https://bugs.python.org/issue21624'
versions = ['Python 3.6', 'Python 3.7']
```