Skip to content

gh-95069: Move tests from idlelib.idle_test to test.test_idle #115444

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

Open
wants to merge 4 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Lib/idlelib/autocomplete.py
Original file line number Diff line number Diff line change
Expand Up @@ -225,4 +225,4 @@ def get_entity(self, name):

if __name__ == '__main__':
from unittest import main
main('idlelib.idle_test.test_autocomplete', verbosity=2)
main('test.test_idle.test_autocomplete', verbosity=2)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would add utestdir = 'test.test_idle to util.py and from idlelib.util import utestdir above each main line, which would then become main('test.test_idle.test_autocomplete', verbosity=2). I believe easy enough with sed.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actually, if tests were not installed, this would just crash, and prevent running any htest that follows. Running a file's unittest would have to be made conditional (or the exception caught). This if tests were moved, this should be encapsulated in a util function that would fail gracefully.

2 changes: 1 addition & 1 deletion Lib/idlelib/autocomplete_w.py
Original file line number Diff line number Diff line change
Expand Up @@ -493,6 +493,6 @@ def hide_window(self):

if __name__ == '__main__':
from unittest import main
main('idlelib.idle_test.test_autocomplete_w', verbosity=2, exit=False)
main('test.test_idle.test_autocomplete_w', verbosity=2, exit=False)

# TODO: autocomplete/w htest here
2 changes: 1 addition & 1 deletion Lib/idlelib/autoexpand.py
Original file line number Diff line number Diff line change
Expand Up @@ -93,4 +93,4 @@ def getprevword(self):

if __name__ == '__main__':
from unittest import main
main('idlelib.idle_test.test_autoexpand', verbosity=2)
main('test.test_idle.test_autoexpand', verbosity=2)
2 changes: 1 addition & 1 deletion Lib/idlelib/browser.py
Original file line number Diff line number Diff line change
Expand Up @@ -254,7 +254,7 @@ class Nested_in_closure: pass
if __name__ == "__main__":
if len(sys.argv) == 1: # If pass file on command line, unittest fails.
from unittest import main
main('idlelib.idle_test.test_browser', verbosity=2, exit=False)
main('test.test_idle.test_browser', verbosity=2, exit=False)

from idlelib.idle_test.htest import run
run(_module_browser)
2 changes: 1 addition & 1 deletion Lib/idlelib/calltip.py
Original file line number Diff line number Diff line change
Expand Up @@ -202,4 +202,4 @@ def get_argspec(ob):

if __name__ == '__main__':
from unittest import main
main('idlelib.idle_test.test_calltip', verbosity=2)
main('test.test_idle.test_calltip', verbosity=2)
2 changes: 1 addition & 1 deletion Lib/idlelib/calltip_w.py
Original file line number Diff line number Diff line change
Expand Up @@ -196,7 +196,7 @@ def calltip_hide(event):

if __name__ == '__main__':
from unittest import main
main('idlelib.idle_test.test_calltip_w', verbosity=2, exit=False)
main('test.test_idle.test_calltip_w', verbosity=2, exit=False)

from idlelib.idle_test.htest import run
run(_calltip_window)
2 changes: 1 addition & 1 deletion Lib/idlelib/codecontext.py
Original file line number Diff line number Diff line change
Expand Up @@ -265,6 +265,6 @@ def update_highlight_colors(self):

if __name__ == "__main__":
from unittest import main
main('idlelib.idle_test.test_codecontext', verbosity=2, exit=False)
main('test.test_idle.test_codecontext', verbosity=2, exit=False)

# Add htest.
4 changes: 2 additions & 2 deletions Lib/idlelib/colorizer.py
Original file line number Diff line number Diff line change
Expand Up @@ -357,7 +357,7 @@ def removecolors(self):

def _color_delegator(parent): # htest #
from tkinter import Toplevel, Text
from idlelib.idle_test.test_colorizer import source
from test.test_idle.test_colorizer import source
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This would introduce a bug if IDLE were installed and tests were not (which is normal on macOS) and this were run. My thought is to move the (illegal) sample code into a file in idle_test.

from idlelib.percolator import Percolator

top = Toplevel(parent)
Expand All @@ -378,7 +378,7 @@ def _color_delegator(parent): # htest #

if __name__ == "__main__":
from unittest import main
main('idlelib.idle_test.test_colorizer', verbosity=2, exit=False)
main('test.test_idle.test_colorizer', verbosity=2, exit=False)

from idlelib.idle_test.htest import run
run(_color_delegator)
2 changes: 1 addition & 1 deletion Lib/idlelib/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -909,7 +909,7 @@ def dumpCfg(cfg):

if __name__ == '__main__':
from unittest import main
main('idlelib.idle_test.test_config', verbosity=2, exit=False)
main('test.test_idle.test_config', verbosity=2, exit=False)

_dump()
# Run revised _dump() (700+ lines) as htest? More sorting.
Expand Down
2 changes: 1 addition & 1 deletion Lib/idlelib/config_key.py
Original file line number Diff line number Diff line change
Expand Up @@ -348,7 +348,7 @@ def cancel(self, event=None):

if __name__ == '__main__':
from unittest import main
main('idlelib.idle_test.test_config_key', verbosity=2, exit=False)
main('test.test_idle.test_config_key', verbosity=2, exit=False)

from idlelib.idle_test.htest import run
run(GetKeysWindow)
2 changes: 1 addition & 1 deletion Lib/idlelib/configdialog.py
Original file line number Diff line number Diff line change
Expand Up @@ -2402,7 +2402,7 @@ def _configure_canvas(event):

if __name__ == '__main__':
from unittest import main
main('idlelib.idle_test.test_configdialog', verbosity=2, exit=False)
main('test.test_idle.test_configdialog', verbosity=2, exit=False)

from idlelib.idle_test.htest import run
run(ConfigDialog)
2 changes: 1 addition & 1 deletion Lib/idlelib/debugger.py
Original file line number Diff line number Diff line change
Expand Up @@ -597,6 +597,6 @@ def close(self):

if __name__ == "__main__":
from unittest import main
main('idlelib.idle_test.test_debugger', verbosity=2, exit=False)
main('test.test_idle.test_debugger', verbosity=2, exit=False)

# TODO: htest?
2 changes: 1 addition & 1 deletion Lib/idlelib/debugger_r.py
Original file line number Diff line number Diff line change
Expand Up @@ -387,4 +387,4 @@ def restart_subprocess_debugger(rpcclt):

if __name__ == "__main__":
from unittest import main
main('idlelib.idle_test.test_debugger_r', verbosity=2, exit=False)
main('test.test_idle.test_debugger_r', verbosity=2, exit=False)
2 changes: 1 addition & 1 deletion Lib/idlelib/debugobj.py
Original file line number Diff line number Diff line change
Expand Up @@ -140,7 +140,7 @@ def _debug_object_browser(parent): # htest #

if __name__ == '__main__':
from unittest import main
main('idlelib.idle_test.test_debugobj', verbosity=2, exit=False)
main('test.test_idle.test_debugobj', verbosity=2, exit=False)

from idlelib.idle_test.htest import run
run(_debug_object_browser)
2 changes: 1 addition & 1 deletion Lib/idlelib/debugobj_r.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,4 +38,4 @@ def _GetSubList(self):

if __name__ == '__main__':
from unittest import main
main('idlelib.idle_test.test_debugobj_r', verbosity=2)
main('test.test_idle.test_debugobj_r', verbosity=2)
2 changes: 1 addition & 1 deletion Lib/idlelib/delegator.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,4 +31,4 @@ def setdelegate(self, delegate):

if __name__ == '__main__':
from unittest import main
main('idlelib.idle_test.test_delegator', verbosity=2)
main('test.test_idle.test_delegator', verbosity=2)
2 changes: 1 addition & 1 deletion Lib/idlelib/editor.py
Original file line number Diff line number Diff line change
Expand Up @@ -1752,7 +1752,7 @@ def _editor_window(parent): # htest #

if __name__ == '__main__':
from unittest import main
main('idlelib.idle_test.test_editor', verbosity=2, exit=False)
main('test.test_idle.test_editor', verbosity=2, exit=False)

from idlelib.idle_test.htest import run
run(_editor_window)
2 changes: 1 addition & 1 deletion Lib/idlelib/filelist.py
Original file line number Diff line number Diff line change
Expand Up @@ -127,6 +127,6 @@ def _test(): # TODO check and convert to htest

if __name__ == '__main__':
from unittest import main
main('idlelib.idle_test.test_filelist', verbosity=2)
main('test.test_idle.test_filelist', verbosity=2)

# _test()
2 changes: 1 addition & 1 deletion Lib/idlelib/format.py
Original file line number Diff line number Diff line change
Expand Up @@ -423,4 +423,4 @@ def do_rstrip(self, event=None):

if __name__ == "__main__":
from unittest import main
main('idlelib.idle_test.test_format', verbosity=2, exit=False)
main('test.test_idle.test_format', verbosity=2, exit=False)
2 changes: 1 addition & 1 deletion Lib/idlelib/grep.py
Original file line number Diff line number Diff line change
Expand Up @@ -217,7 +217,7 @@ def show_grep_dialog():

if __name__ == "__main__":
from unittest import main
main('idlelib.idle_test.test_grep', verbosity=2, exit=False)
main('test.test_idle.test_grep', verbosity=2, exit=False)

from idlelib.idle_test.htest import run
run(_grep_dialog)
2 changes: 1 addition & 1 deletion Lib/idlelib/help.py
Original file line number Diff line number Diff line change
Expand Up @@ -291,7 +291,7 @@ def show_idlehelp(parent):

if __name__ == '__main__':
from unittest import main
main('idlelib.idle_test.test_help', verbosity=2, exit=False)
main('test.test_idle.test_help', verbosity=2, exit=False)

from idlelib.idle_test.htest import run
run(show_idlehelp)
2 changes: 1 addition & 1 deletion Lib/idlelib/help_about.py
Original file line number Diff line number Diff line change
Expand Up @@ -201,7 +201,7 @@ def ok(self, event=None):

if __name__ == '__main__':
from unittest import main
main('idlelib.idle_test.test_help_about', verbosity=2, exit=False)
main('test.test_idle.test_help_about', verbosity=2, exit=False)

from idlelib.idle_test.htest import run
run(AboutDialog)
2 changes: 1 addition & 1 deletion Lib/idlelib/history.py
Original file line number Diff line number Diff line change
Expand Up @@ -103,4 +103,4 @@ def store(self, source):

if __name__ == "__main__":
from unittest import main
main('idlelib.idle_test.test_history', verbosity=2, exit=False)
main('test.test_idle.test_history', verbosity=2, exit=False)
2 changes: 1 addition & 1 deletion Lib/idlelib/hyperparser.py
Original file line number Diff line number Diff line change
Expand Up @@ -309,4 +309,4 @@ def get_expression(self):

if __name__ == '__main__':
from unittest import main
main('idlelib.idle_test.test_hyperparser', verbosity=2)
main('test.test_idle.test_hyperparser', verbosity=2)
12 changes: 6 additions & 6 deletions Lib/idlelib/idle_test/README.txt
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ insert the import and main lines before the htest lines.

if __name__ == "__main__":
from unittest import main
main('idlelib.idle_test.test_abc', verbosity=2, exit=False)
main('test.test_idle.test_abc', verbosity=2, exit=False)

The ', exit=False' is only needed if an htest follows.

Expand Down Expand Up @@ -132,7 +132,7 @@ GUI tests, in test_xyz.py. (Both '-m idlelib' and '-m idlelib.idle'
start Idle and so cannot run tests.)

python -m idlelib.xyz
python -m idlelib.idle_test.test_xyz
python -m test.test_idle.test_xyz

The following runs all idle_test/test_*.py tests interactively.

Expand Down Expand Up @@ -164,8 +164,8 @@ latter allows use of other regrtest options. When using the latter,
all components of the pattern must be present, but any can be replaced
by '*'.

python -m unittest -v idlelib.idle_test.test_xyz.Test_case.test_meth
python -m test -m idlelib.idle_test.text_xyz.Test_case.test_meth test_idle
python -m unittest -v test.test_idle.test_xyz.Test_case.test_meth
python -m test -m test.test_idle.text_xyz.Test_case.test_meth test_idle

The test suite can be run in an IDLE user process from Shell.
>>> import test.autotest # Issue 25588, 2017/10/13, 3.6.4, 3.7.0a2.
Expand Down Expand Up @@ -228,8 +228,8 @@ rem filename without .py, 2nd parameter if test is not test_filename
setlocal
set py=f:\dev\3x\pcbuild\win32\python_d.exe
set src=idlelib.%1
if "%2" EQU "" set tst=f:/dev/3x/Lib/idlelib/idle_test/test_%1.py
if "%2" NEQ "" set tst=f:/dev/ex/Lib/idlelib/idle_test/test_%2.py
if "%2" EQU "" set tst=f:/dev/3x/Lib/test/test_idle/test_%1.py
if "%2" NEQ "" set tst=f:/dev/ex/Lib/test/test_idle/test_%2.py

%py% -m coverage run --pylib --source=%src% %tst%
%py% -m coverage report --show-missing
Expand Down
20 changes: 0 additions & 20 deletions Lib/idlelib/idle_test/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,23 +5,3 @@
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))
module_tests = loader.discover(start_dir=this_dir,
pattern='test_*.py', # Insert here.
top_level_dir=top_dir)
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
2 changes: 1 addition & 1 deletion Lib/idlelib/iomenu.py
Original file line number Diff line number Diff line change
Expand Up @@ -435,7 +435,7 @@ def savecopy(self, event):

if __name__ == "__main__":
from unittest import main
main('idlelib.idle_test.test_iomenu', verbosity=2, exit=False)
main('test.test_idle.test_iomenu', verbosity=2, exit=False)

from idlelib.idle_test.htest import run
run(_io_binding)
2 changes: 1 addition & 1 deletion Lib/idlelib/macosx.py
Original file line number Diff line number Diff line change
Expand Up @@ -275,4 +275,4 @@ def setupApp(root, flist):

if __name__ == '__main__':
from unittest import main
main('idlelib.idle_test.test_macosx', verbosity=2)
main('test.test_idle.test_macosx', verbosity=2)
2 changes: 1 addition & 1 deletion Lib/idlelib/mainmenu.py
Original file line number Diff line number Diff line change
Expand Up @@ -123,4 +123,4 @@

if __name__ == '__main__':
from unittest import main
main('idlelib.idle_test.test_mainmenu', verbosity=2)
main('test.test_idle.test_mainmenu', verbosity=2)
2 changes: 1 addition & 1 deletion Lib/idlelib/multicall.py
Original file line number Diff line number Diff line change
Expand Up @@ -445,7 +445,7 @@ def handler(event):

if __name__ == "__main__":
from unittest import main
main('idlelib.idle_test.test_mainmenu', verbosity=2, exit=False)
main('test.test_idle.test_mainmenu', verbosity=2, exit=False)

from idlelib.idle_test.htest import run
run(_multi_call)
2 changes: 1 addition & 1 deletion Lib/idlelib/outwin.py
Original file line number Diff line number Diff line change
Expand Up @@ -185,4 +185,4 @@ def setup(self):

if __name__ == '__main__':
from unittest import main
main('idlelib.idle_test.test_outwin', verbosity=2, exit=False)
main('test.test_idle.test_outwin', verbosity=2, exit=False)
2 changes: 1 addition & 1 deletion Lib/idlelib/parenmatch.py
Original file line number Diff line number Diff line change
Expand Up @@ -180,4 +180,4 @@ def set_timeout_last(self):

if __name__ == '__main__':
from unittest import main
main('idlelib.idle_test.test_parenmatch', verbosity=2)
main('test.test_idle.test_parenmatch', verbosity=2)
2 changes: 1 addition & 1 deletion Lib/idlelib/pathbrowser.py
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ def listmodules(self, allnames):

if __name__ == "__main__":
from unittest import main
main('idlelib.idle_test.test_pathbrowser', verbosity=2, exit=False)
main('test.test_idle.test_pathbrowser', verbosity=2, exit=False)

from idlelib.idle_test.htest import run
run(PathBrowser)
2 changes: 1 addition & 1 deletion Lib/idlelib/percolator.py
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@ def toggle2():

if __name__ == "__main__":
from unittest import main
main('idlelib.idle_test.test_percolator', verbosity=2, exit=False)
main('test.test_idle.test_percolator', verbosity=2, exit=False)

from idlelib.idle_test.htest import run
run(_percolator)
2 changes: 1 addition & 1 deletion Lib/idlelib/pyparse.py
Original file line number Diff line number Diff line change
Expand Up @@ -586,4 +586,4 @@ def get_last_stmt_bracketing(self):

if __name__ == '__main__':
from unittest import main
main('idlelib.idle_test.test_pyparse', verbosity=2)
main('test.test_idle.test_pyparse', verbosity=2)
2 changes: 1 addition & 1 deletion Lib/idlelib/query.py
Original file line number Diff line number Diff line change
Expand Up @@ -386,7 +386,7 @@ def entry_ok(self):

if __name__ == '__main__':
from unittest import main
main('idlelib.idle_test.test_query', verbosity=2, exit=False)
main('test.test_idle.test_query', verbosity=2, exit=False)

from idlelib.idle_test.htest import run
run(Query, HelpSource, CustomRun)
2 changes: 1 addition & 1 deletion Lib/idlelib/redirector.py
Original file line number Diff line number Diff line change
Expand Up @@ -167,7 +167,7 @@ def my_insert(*args):

if __name__ == "__main__":
from unittest import main
main('idlelib.idle_test.test_redirector', verbosity=2, exit=False)
main('test.test_idle.test_redirector', verbosity=2, exit=False)

from idlelib.idle_test.htest import run
run(_widget_redirector)
2 changes: 1 addition & 1 deletion Lib/idlelib/replace.py
Original file line number Diff line number Diff line change
Expand Up @@ -293,7 +293,7 @@ def show_replace():

if __name__ == '__main__':
from unittest import main
main('idlelib.idle_test.test_replace', verbosity=2, exit=False)
main('test.test_idle.test_replace', verbosity=2, exit=False)

from idlelib.idle_test.htest import run
run(_replace_dialog)
2 changes: 1 addition & 1 deletion Lib/idlelib/rpc.py
Original file line number Diff line number Diff line change
Expand Up @@ -632,4 +632,4 @@ def displayhook(value):

if __name__ == '__main__':
from unittest import main
main('idlelib.idle_test.test_rpc', verbosity=2,)
main('test.test_idle.test_rpc', verbosity=2,)
2 changes: 1 addition & 1 deletion Lib/idlelib/run.py
Original file line number Diff line number Diff line change
Expand Up @@ -638,6 +638,6 @@ def stackviewer(self, flist_oid=None):

if __name__ == '__main__':
from unittest import main
main('idlelib.idle_test.test_run', verbosity=2)
main('test.test_idle.test_run', verbosity=2)

capture_warnings(False) # Make sure turned off; see bpo-18081.
2 changes: 1 addition & 1 deletion Lib/idlelib/runscript.py
Original file line number Diff line number Diff line change
Expand Up @@ -210,4 +210,4 @@ def errorbox(self, title, message):

if __name__ == "__main__":
from unittest import main
main('idlelib.idle_test.test_runscript', verbosity=2,)
main('test.test_idle.test_runscript', verbosity=2,)
2 changes: 1 addition & 1 deletion Lib/idlelib/scrolledlist.py
Original file line number Diff line number Diff line change
Expand Up @@ -145,7 +145,7 @@ def on_double(self, index): print("double", self.get(index))

if __name__ == '__main__':
from unittest import main
main('idlelib.idle_test.test_scrolledlist', verbosity=2, exit=False)
main('test.test_idle.test_scrolledlist', verbosity=2, exit=False)

from idlelib.idle_test.htest import run
run(_scrolled_list)
2 changes: 1 addition & 1 deletion Lib/idlelib/search.py
Original file line number Diff line number Diff line change
Expand Up @@ -159,7 +159,7 @@ def show_find():

if __name__ == '__main__':
from unittest import main
main('idlelib.idle_test.test_search', verbosity=2, exit=False)
main('test.test_idle.test_search', verbosity=2, exit=False)

from idlelib.idle_test.htest import run
run(_search_dialog)
2 changes: 1 addition & 1 deletion Lib/idlelib/searchbase.py
Original file line number Diff line number Diff line change
Expand Up @@ -204,7 +204,7 @@ def default_command(self, dummy): pass

if __name__ == '__main__':
from unittest import main
main('idlelib.idle_test.test_searchbase', verbosity=2, exit=False)
main('test.test_idle.test_searchbase', verbosity=2, exit=False)

from idlelib.idle_test.htest import run
run(_searchbase)
Loading