mirror of
https://github.com/python/cpython.git
synced 2025-08-04 00:48:58 +00:00
GH-71383: IDLE - Document testing subsets of modules (#104463)
This commit is contained in:
parent
7d2deafb73
commit
080a596152
3 changed files with 29 additions and 20 deletions
|
@ -146,14 +146,17 @@ python -m unittest -v idlelib.idle_test
|
|||
python -m test -v -ugui test_idle
|
||||
python -m test.test_idle
|
||||
|
||||
The idle tests are 'discovered' by
|
||||
idlelib.idle_test.__init__.load_tests, which is also imported into
|
||||
test.test_idle. Normally, neither file should be changed when working on
|
||||
individual test modules. The third command runs unittest indirectly
|
||||
through regrtest. The same happens when the entire test suite is run
|
||||
with 'python -m test'. So that command must work for buildbots to stay
|
||||
green. Idle tests must not disturb the environment in a way that makes
|
||||
other tests fail (issue 18081).
|
||||
IDLE tests are 'discovered' by idlelib.idle_test.__init__.load_tests
|
||||
when this is imported into test.test_idle. Normally, neither file
|
||||
should be changed when working on individual test modules. The third
|
||||
command runs unittest indirectly through regrtest. The same happens when
|
||||
the entire test suite is run with 'python -m test'. So that command must
|
||||
work for buildbots to stay green. IDLE tests must not disturb the
|
||||
environment in a way that makes other tests fail (GH-62281).
|
||||
|
||||
To test subsets of modules, see idlelib.idle_test.__init__. This
|
||||
can be used to find refleaks or possible sources of "Theme changed"
|
||||
tcl messages (GH-71383).
|
||||
|
||||
To run an individual Testcase or test method, extend the dotted name
|
||||
given to unittest on the command line or use the test -m option. The
|
||||
|
|
|
@ -1,17 +1,27 @@
|
|||
'''idlelib.idle_test is a private implementation of test.test_idle,
|
||||
which tests the IDLE application as part of the stdlib test suite.
|
||||
Run IDLE tests alone with "python -m test.test_idle".
|
||||
Starting with Python 3.6, IDLE requires tcl/tk 8.5 or later.
|
||||
"""idlelib.idle_test implements test.test_idle, which tests the IDLE
|
||||
application as part of the stdlib test suite.
|
||||
Run IDLE tests alone with "python -m test.test_idle (-v)".
|
||||
|
||||
This package and its contained modules are subject to change and
|
||||
any direct use is at your own risk.
|
||||
'''
|
||||
"""
|
||||
from os.path import dirname
|
||||
|
||||
# test_idle imports load_tests for test discovery (default all).
|
||||
# To run subsets of idlelib module tests, insert '[<chars>]' after '_'.
|
||||
# Example: insert '[ac]' for modules beginning with 'a' or 'c'.
|
||||
# Additional .discover/.addTest pairs with separate inserts work.
|
||||
# Example: pairs with 'c' and 'g' test c* files and grep.
|
||||
|
||||
def load_tests(loader, standard_tests, pattern):
|
||||
this_dir = dirname(__file__)
|
||||
top_dir = dirname(dirname(this_dir))
|
||||
package_tests = loader.discover(start_dir=this_dir, pattern='test*.py',
|
||||
module_tests = loader.discover(start_dir=this_dir,
|
||||
pattern='test_*.py', # Insert here.
|
||||
top_level_dir=top_dir)
|
||||
standard_tests.addTests(package_tests)
|
||||
standard_tests.addTests(module_tests)
|
||||
## module_tests = loader.discover(start_dir=this_dir,
|
||||
## pattern='test_*.py', # Insert here.
|
||||
## top_level_dir=top_dir)
|
||||
## standard_tests.addTests(module_tests)
|
||||
return standard_tests
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue