From 533dd459ad5991259200386e10b02705dbaef9e7 Mon Sep 17 00:00:00 2001 From: sobolevn Date: Wed, 14 Feb 2024 13:14:36 +0300 Subject: [PATCH 1/4] gh-95069: Move tests from `idlelib.idle_test` to `test.test_idle` --- Lib/idlelib/autocomplete.py | 2 +- Lib/idlelib/autocomplete_w.py | 2 +- Lib/idlelib/autoexpand.py | 2 +- Lib/idlelib/browser.py | 2 +- Lib/idlelib/calltip.py | 2 +- Lib/idlelib/calltip_w.py | 2 +- Lib/idlelib/codecontext.py | 2 +- Lib/idlelib/colorizer.py | 4 ++-- Lib/idlelib/config.py | 2 +- Lib/idlelib/config_key.py | 2 +- Lib/idlelib/configdialog.py | 2 +- Lib/idlelib/debugger.py | 2 +- Lib/idlelib/debugger_r.py | 2 +- Lib/idlelib/debugobj.py | 2 +- Lib/idlelib/debugobj_r.py | 2 +- Lib/idlelib/delegator.py | 2 +- Lib/idlelib/editor.py | 2 +- Lib/idlelib/filelist.py | 2 +- Lib/idlelib/format.py | 2 +- Lib/idlelib/grep.py | 2 +- Lib/idlelib/help.py | 2 +- Lib/idlelib/help_about.py | 2 +- Lib/idlelib/history.py | 2 +- Lib/idlelib/hyperparser.py | 2 +- Lib/idlelib/idle_test/README.txt | 12 +++++------ Lib/idlelib/idle_test/__init__.py | 20 ------------------- Lib/idlelib/iomenu.py | 2 +- Lib/idlelib/macosx.py | 2 +- Lib/idlelib/mainmenu.py | 2 +- Lib/idlelib/multicall.py | 2 +- Lib/idlelib/outwin.py | 2 +- Lib/idlelib/parenmatch.py | 2 +- Lib/idlelib/pathbrowser.py | 2 +- Lib/idlelib/percolator.py | 2 +- Lib/idlelib/pyparse.py | 2 +- Lib/idlelib/query.py | 2 +- Lib/idlelib/redirector.py | 2 +- Lib/idlelib/replace.py | 2 +- Lib/idlelib/rpc.py | 2 +- Lib/idlelib/run.py | 2 +- Lib/idlelib/runscript.py | 2 +- Lib/idlelib/scrolledlist.py | 2 +- Lib/idlelib/search.py | 2 +- Lib/idlelib/searchbase.py | 2 +- Lib/idlelib/searchengine.py | 2 +- Lib/idlelib/sidebar.py | 4 ++-- Lib/idlelib/squeezer.py | 2 +- Lib/idlelib/stackviewer.py | 2 +- Lib/idlelib/statusbar.py | 2 +- Lib/idlelib/textview.py | 2 +- Lib/idlelib/tooltip.py | 2 +- Lib/idlelib/tree.py | 2 +- Lib/idlelib/undo.py | 2 +- Lib/idlelib/util.py | 2 +- Lib/idlelib/window.py | 2 +- Lib/idlelib/zoomheight.py | 2 +- Lib/idlelib/zzdummy.py | 2 +- Lib/pyclbr.py | 2 +- Lib/test/libregrtest/findtests.py | 1 + .../{test_idle.py => test_idle/__init__.py} | 16 ++++++--------- Lib/test/test_idle/__main__.py | 11 ++++++++++ .../test_idle}/test_autocomplete.py | 0 .../test_idle}/test_autocomplete_w.py | 0 .../test_idle}/test_autoexpand.py | 0 .../test_idle}/test_browser.py | 0 .../test_idle}/test_calltip.py | 0 .../test_idle}/test_calltip_w.py | 0 .../test_idle}/test_codecontext.py | 0 .../test_idle}/test_colorizer.py | 0 .../test_idle}/test_config.py | 0 .../test_idle}/test_config_key.py | 0 .../test_idle}/test_configdialog.py | 0 .../test_idle}/test_debugger.py | 0 .../test_idle}/test_debugger_r.py | 0 .../test_idle}/test_debugobj.py | 0 .../test_idle}/test_debugobj_r.py | 0 .../test_idle}/test_delegator.py | 0 .../test_idle}/test_editmenu.py | 0 .../test_idle}/test_editor.py | 0 .../test_idle}/test_filelist.py | 0 .../test_idle}/test_format.py | 0 .../idle_test => test/test_idle}/test_grep.py | 0 .../idle_test => test/test_idle}/test_help.py | 0 .../test_idle}/test_help_about.py | 0 .../test_idle}/test_history.py | 0 .../test_idle}/test_hyperparser.py | 0 .../test_idle}/test_iomenu.py | 0 .../test_idle}/test_macosx.py | 0 .../test_idle}/test_mainmenu.py | 0 .../test_idle}/test_multicall.py | 0 .../test_idle}/test_outwin.py | 0 .../test_idle}/test_parenmatch.py | 0 .../test_idle}/test_pathbrowser.py | 0 .../test_idle}/test_percolator.py | 0 .../test_idle}/test_pyparse.py | 0 .../test_idle}/test_pyshell.py | 0 .../test_idle}/test_query.py | 0 .../test_idle}/test_redirector.py | 0 .../test_idle}/test_replace.py | 0 .../idle_test => test/test_idle}/test_rpc.py | 0 .../idle_test => test/test_idle}/test_run.py | 0 .../test_idle}/test_runscript.py | 0 .../test_idle}/test_scrolledlist.py | 0 .../test_idle}/test_search.py | 0 .../test_idle}/test_searchbase.py | 0 .../test_idle}/test_searchengine.py | 0 .../test_idle}/test_sidebar.py | 0 .../test_idle}/test_squeezer.py | 0 .../test_idle}/test_stackviewer.py | 0 .../test_idle}/test_statusbar.py | 0 .../idle_test => test/test_idle}/test_text.py | 0 .../test_idle}/test_textview.py | 0 .../test_idle}/test_tooltip.py | 0 .../idle_test => test/test_idle}/test_tree.py | 0 .../idle_test => test/test_idle}/test_undo.py | 0 .../idle_test => test/test_idle}/test_util.py | 0 .../test_idle}/test_warning.py | 0 .../test_idle}/test_window.py | 0 .../test_idle}/test_zoomheight.py | 0 .../test_idle}/test_zzdummy.py | 0 Makefile.pre.in | 1 + 121 files changed, 83 insertions(+), 94 deletions(-) rename Lib/test/{test_idle.py => test_idle/__init__.py} (54%) create mode 100644 Lib/test/test_idle/__main__.py rename Lib/{idlelib/idle_test => test/test_idle}/test_autocomplete.py (100%) rename Lib/{idlelib/idle_test => test/test_idle}/test_autocomplete_w.py (100%) rename Lib/{idlelib/idle_test => test/test_idle}/test_autoexpand.py (100%) rename Lib/{idlelib/idle_test => test/test_idle}/test_browser.py (100%) rename Lib/{idlelib/idle_test => test/test_idle}/test_calltip.py (100%) rename Lib/{idlelib/idle_test => test/test_idle}/test_calltip_w.py (100%) rename Lib/{idlelib/idle_test => test/test_idle}/test_codecontext.py (100%) rename Lib/{idlelib/idle_test => test/test_idle}/test_colorizer.py (100%) rename Lib/{idlelib/idle_test => test/test_idle}/test_config.py (100%) rename Lib/{idlelib/idle_test => test/test_idle}/test_config_key.py (100%) rename Lib/{idlelib/idle_test => test/test_idle}/test_configdialog.py (100%) rename Lib/{idlelib/idle_test => test/test_idle}/test_debugger.py (100%) rename Lib/{idlelib/idle_test => test/test_idle}/test_debugger_r.py (100%) rename Lib/{idlelib/idle_test => test/test_idle}/test_debugobj.py (100%) rename Lib/{idlelib/idle_test => test/test_idle}/test_debugobj_r.py (100%) rename Lib/{idlelib/idle_test => test/test_idle}/test_delegator.py (100%) rename Lib/{idlelib/idle_test => test/test_idle}/test_editmenu.py (100%) rename Lib/{idlelib/idle_test => test/test_idle}/test_editor.py (100%) rename Lib/{idlelib/idle_test => test/test_idle}/test_filelist.py (100%) rename Lib/{idlelib/idle_test => test/test_idle}/test_format.py (100%) rename Lib/{idlelib/idle_test => test/test_idle}/test_grep.py (100%) rename Lib/{idlelib/idle_test => test/test_idle}/test_help.py (100%) rename Lib/{idlelib/idle_test => test/test_idle}/test_help_about.py (100%) rename Lib/{idlelib/idle_test => test/test_idle}/test_history.py (100%) rename Lib/{idlelib/idle_test => test/test_idle}/test_hyperparser.py (100%) rename Lib/{idlelib/idle_test => test/test_idle}/test_iomenu.py (100%) rename Lib/{idlelib/idle_test => test/test_idle}/test_macosx.py (100%) rename Lib/{idlelib/idle_test => test/test_idle}/test_mainmenu.py (100%) rename Lib/{idlelib/idle_test => test/test_idle}/test_multicall.py (100%) rename Lib/{idlelib/idle_test => test/test_idle}/test_outwin.py (100%) rename Lib/{idlelib/idle_test => test/test_idle}/test_parenmatch.py (100%) rename Lib/{idlelib/idle_test => test/test_idle}/test_pathbrowser.py (100%) rename Lib/{idlelib/idle_test => test/test_idle}/test_percolator.py (100%) rename Lib/{idlelib/idle_test => test/test_idle}/test_pyparse.py (100%) rename Lib/{idlelib/idle_test => test/test_idle}/test_pyshell.py (100%) rename Lib/{idlelib/idle_test => test/test_idle}/test_query.py (100%) rename Lib/{idlelib/idle_test => test/test_idle}/test_redirector.py (100%) rename Lib/{idlelib/idle_test => test/test_idle}/test_replace.py (100%) rename Lib/{idlelib/idle_test => test/test_idle}/test_rpc.py (100%) rename Lib/{idlelib/idle_test => test/test_idle}/test_run.py (100%) rename Lib/{idlelib/idle_test => test/test_idle}/test_runscript.py (100%) rename Lib/{idlelib/idle_test => test/test_idle}/test_scrolledlist.py (100%) rename Lib/{idlelib/idle_test => test/test_idle}/test_search.py (100%) rename Lib/{idlelib/idle_test => test/test_idle}/test_searchbase.py (100%) rename Lib/{idlelib/idle_test => test/test_idle}/test_searchengine.py (100%) rename Lib/{idlelib/idle_test => test/test_idle}/test_sidebar.py (100%) rename Lib/{idlelib/idle_test => test/test_idle}/test_squeezer.py (100%) rename Lib/{idlelib/idle_test => test/test_idle}/test_stackviewer.py (100%) rename Lib/{idlelib/idle_test => test/test_idle}/test_statusbar.py (100%) rename Lib/{idlelib/idle_test => test/test_idle}/test_text.py (100%) rename Lib/{idlelib/idle_test => test/test_idle}/test_textview.py (100%) rename Lib/{idlelib/idle_test => test/test_idle}/test_tooltip.py (100%) rename Lib/{idlelib/idle_test => test/test_idle}/test_tree.py (100%) rename Lib/{idlelib/idle_test => test/test_idle}/test_undo.py (100%) rename Lib/{idlelib/idle_test => test/test_idle}/test_util.py (100%) rename Lib/{idlelib/idle_test => test/test_idle}/test_warning.py (100%) rename Lib/{idlelib/idle_test => test/test_idle}/test_window.py (100%) rename Lib/{idlelib/idle_test => test/test_idle}/test_zoomheight.py (100%) rename Lib/{idlelib/idle_test => test/test_idle}/test_zzdummy.py (100%) diff --git a/Lib/idlelib/autocomplete.py b/Lib/idlelib/autocomplete.py index 032d31225315fb..a6d3906586b2e5 100644 --- a/Lib/idlelib/autocomplete.py +++ b/Lib/idlelib/autocomplete.py @@ -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) diff --git a/Lib/idlelib/autocomplete_w.py b/Lib/idlelib/autocomplete_w.py index 24320b5a3bffab..5adac257eab2f0 100644 --- a/Lib/idlelib/autocomplete_w.py +++ b/Lib/idlelib/autocomplete_w.py @@ -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 diff --git a/Lib/idlelib/autoexpand.py b/Lib/idlelib/autoexpand.py index 92f5c84eb6f401..d1ffcfc1072f93 100644 --- a/Lib/idlelib/autoexpand.py +++ b/Lib/idlelib/autoexpand.py @@ -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) diff --git a/Lib/idlelib/browser.py b/Lib/idlelib/browser.py index 8b9060e57072ea..450cff80acae41 100644 --- a/Lib/idlelib/browser.py +++ b/Lib/idlelib/browser.py @@ -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) diff --git a/Lib/idlelib/calltip.py b/Lib/idlelib/calltip.py index 40bc5a0ad798fe..c8d3f11d48bfc4 100644 --- a/Lib/idlelib/calltip.py +++ b/Lib/idlelib/calltip.py @@ -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) diff --git a/Lib/idlelib/calltip_w.py b/Lib/idlelib/calltip_w.py index 9386376058c791..12a0756ffa5c42 100644 --- a/Lib/idlelib/calltip_w.py +++ b/Lib/idlelib/calltip_w.py @@ -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) diff --git a/Lib/idlelib/codecontext.py b/Lib/idlelib/codecontext.py index f2f44f5f8d4e61..292863c72f19e0 100644 --- a/Lib/idlelib/codecontext.py +++ b/Lib/idlelib/codecontext.py @@ -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. diff --git a/Lib/idlelib/colorizer.py b/Lib/idlelib/colorizer.py index b4df353012b788..0fcedbe426ef70 100644 --- a/Lib/idlelib/colorizer.py +++ b/Lib/idlelib/colorizer.py @@ -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 from idlelib.percolator import Percolator top = Toplevel(parent) @@ -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) diff --git a/Lib/idlelib/config.py b/Lib/idlelib/config.py index 92992fd9cce9cd..0b77634b8eb647 100644 --- a/Lib/idlelib/config.py +++ b/Lib/idlelib/config.py @@ -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. diff --git a/Lib/idlelib/config_key.py b/Lib/idlelib/config_key.py index e5f67e8d4069ee..b30745fb19acbe 100644 --- a/Lib/idlelib/config_key.py +++ b/Lib/idlelib/config_key.py @@ -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) diff --git a/Lib/idlelib/configdialog.py b/Lib/idlelib/configdialog.py index eedf97bf74fe6a..68dfc7c4e6dd51 100644 --- a/Lib/idlelib/configdialog.py +++ b/Lib/idlelib/configdialog.py @@ -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) diff --git a/Lib/idlelib/debugger.py b/Lib/idlelib/debugger.py index d90dbcd11f9f61..b5cb512433306d 100644 --- a/Lib/idlelib/debugger.py +++ b/Lib/idlelib/debugger.py @@ -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? diff --git a/Lib/idlelib/debugger_r.py b/Lib/idlelib/debugger_r.py index ad3355d9f82765..731726fa3dcc4f 100644 --- a/Lib/idlelib/debugger_r.py +++ b/Lib/idlelib/debugger_r.py @@ -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) diff --git a/Lib/idlelib/debugobj.py b/Lib/idlelib/debugobj.py index fb448ece2fa25e..f801ade9111a15 100644 --- a/Lib/idlelib/debugobj.py +++ b/Lib/idlelib/debugobj.py @@ -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) diff --git a/Lib/idlelib/debugobj_r.py b/Lib/idlelib/debugobj_r.py index 75e75ebe5acafc..d9dcec7b90edc2 100644 --- a/Lib/idlelib/debugobj_r.py +++ b/Lib/idlelib/debugobj_r.py @@ -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) diff --git a/Lib/idlelib/delegator.py b/Lib/idlelib/delegator.py index 93ae8bbd43ff44..5749714aaa5425 100644 --- a/Lib/idlelib/delegator.py +++ b/Lib/idlelib/delegator.py @@ -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) diff --git a/Lib/idlelib/editor.py b/Lib/idlelib/editor.py index 8ee8eba64367a5..3a99c5a65f2fcd 100644 --- a/Lib/idlelib/editor.py +++ b/Lib/idlelib/editor.py @@ -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) diff --git a/Lib/idlelib/filelist.py b/Lib/idlelib/filelist.py index e27e5d32a0ff63..0d813640f44d20 100644 --- a/Lib/idlelib/filelist.py +++ b/Lib/idlelib/filelist.py @@ -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() diff --git a/Lib/idlelib/format.py b/Lib/idlelib/format.py index 4b57a182c9a49d..71209d75003d9c 100644 --- a/Lib/idlelib/format.py +++ b/Lib/idlelib/format.py @@ -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) diff --git a/Lib/idlelib/grep.py b/Lib/idlelib/grep.py index ef14349960bfa2..21ea1fb58cd4a7 100644 --- a/Lib/idlelib/grep.py +++ b/Lib/idlelib/grep.py @@ -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) diff --git a/Lib/idlelib/help.py b/Lib/idlelib/help.py index bdf4b2b29f11a2..b112daa58d3dd4 100644 --- a/Lib/idlelib/help.py +++ b/Lib/idlelib/help.py @@ -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) diff --git a/Lib/idlelib/help_about.py b/Lib/idlelib/help_about.py index aa1c352897f9e7..a28a1bfd576275 100644 --- a/Lib/idlelib/help_about.py +++ b/Lib/idlelib/help_about.py @@ -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) diff --git a/Lib/idlelib/history.py b/Lib/idlelib/history.py index 5a9b32aaf6bb81..6947961774953d 100644 --- a/Lib/idlelib/history.py +++ b/Lib/idlelib/history.py @@ -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) diff --git a/Lib/idlelib/hyperparser.py b/Lib/idlelib/hyperparser.py index 76144ee8fb30f5..7c6a3581b021ba 100644 --- a/Lib/idlelib/hyperparser.py +++ b/Lib/idlelib/hyperparser.py @@ -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) diff --git a/Lib/idlelib/idle_test/README.txt b/Lib/idlelib/idle_test/README.txt index cacd06db873d03..c4f0cf09f600f6 100644 --- a/Lib/idlelib/idle_test/README.txt +++ b/Lib/idlelib/idle_test/README.txt @@ -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. @@ -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. @@ -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. @@ -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 diff --git a/Lib/idlelib/idle_test/__init__.py b/Lib/idlelib/idle_test/__init__.py index 79b5d102dd7da5..795e3fdbe88fdb 100644 --- a/Lib/idlelib/idle_test/__init__.py +++ b/Lib/idlelib/idle_test/__init__.py @@ -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 '[]' 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 diff --git a/Lib/idlelib/iomenu.py b/Lib/idlelib/iomenu.py index 464126e2df0668..1f7bd2ed4f2657 100644 --- a/Lib/idlelib/iomenu.py +++ b/Lib/idlelib/iomenu.py @@ -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) diff --git a/Lib/idlelib/macosx.py b/Lib/idlelib/macosx.py index 332952f4572cbd..aa1f34de108e99 100644 --- a/Lib/idlelib/macosx.py +++ b/Lib/idlelib/macosx.py @@ -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) diff --git a/Lib/idlelib/mainmenu.py b/Lib/idlelib/mainmenu.py index 91a32cebb513f9..8ea76de9b67808 100644 --- a/Lib/idlelib/mainmenu.py +++ b/Lib/idlelib/mainmenu.py @@ -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) diff --git a/Lib/idlelib/multicall.py b/Lib/idlelib/multicall.py index 41f81813113062..30959cadbae96d 100644 --- a/Lib/idlelib/multicall.py +++ b/Lib/idlelib/multicall.py @@ -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) diff --git a/Lib/idlelib/outwin.py b/Lib/idlelib/outwin.py index 5ed3f35a7af655..a0beddc2823f76 100644 --- a/Lib/idlelib/outwin.py +++ b/Lib/idlelib/outwin.py @@ -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) diff --git a/Lib/idlelib/parenmatch.py b/Lib/idlelib/parenmatch.py index 3fd7aadb2aea84..0b263d401cd304 100644 --- a/Lib/idlelib/parenmatch.py +++ b/Lib/idlelib/parenmatch.py @@ -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) diff --git a/Lib/idlelib/pathbrowser.py b/Lib/idlelib/pathbrowser.py index 48a77875ba5801..3d2d7518d16ff1 100644 --- a/Lib/idlelib/pathbrowser.py +++ b/Lib/idlelib/pathbrowser.py @@ -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) diff --git a/Lib/idlelib/percolator.py b/Lib/idlelib/percolator.py index aa73427c4915c8..d9aef0a83c2921 100644 --- a/Lib/idlelib/percolator.py +++ b/Lib/idlelib/percolator.py @@ -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) diff --git a/Lib/idlelib/pyparse.py b/Lib/idlelib/pyparse.py index 8545c63e1435d4..fc9a45ab1edc97 100644 --- a/Lib/idlelib/pyparse.py +++ b/Lib/idlelib/pyparse.py @@ -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) diff --git a/Lib/idlelib/query.py b/Lib/idlelib/query.py index 57230e2aaca66d..7ab98188e7f415 100644 --- a/Lib/idlelib/query.py +++ b/Lib/idlelib/query.py @@ -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) diff --git a/Lib/idlelib/redirector.py b/Lib/idlelib/redirector.py index 08728956abd900..049c44ceb1a9c5 100644 --- a/Lib/idlelib/redirector.py +++ b/Lib/idlelib/redirector.py @@ -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) diff --git a/Lib/idlelib/replace.py b/Lib/idlelib/replace.py index 3716d841568d30..7fd15f728d1fa8 100644 --- a/Lib/idlelib/replace.py +++ b/Lib/idlelib/replace.py @@ -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) diff --git a/Lib/idlelib/rpc.py b/Lib/idlelib/rpc.py index 3f0b2230dd185d..adb727744d44a9 100644 --- a/Lib/idlelib/rpc.py +++ b/Lib/idlelib/rpc.py @@ -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,) diff --git a/Lib/idlelib/run.py b/Lib/idlelib/run.py index 53e80a9b42801f..206b1056a5d9c5 100644 --- a/Lib/idlelib/run.py +++ b/Lib/idlelib/run.py @@ -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. diff --git a/Lib/idlelib/runscript.py b/Lib/idlelib/runscript.py index 55712e904603f8..e2227aa75b7f3b 100644 --- a/Lib/idlelib/runscript.py +++ b/Lib/idlelib/runscript.py @@ -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,) diff --git a/Lib/idlelib/scrolledlist.py b/Lib/idlelib/scrolledlist.py index 4fb418db326255..086114ced26a0e 100644 --- a/Lib/idlelib/scrolledlist.py +++ b/Lib/idlelib/scrolledlist.py @@ -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) diff --git a/Lib/idlelib/search.py b/Lib/idlelib/search.py index 935a4832257fa4..f6b802bec1b7e5 100644 --- a/Lib/idlelib/search.py +++ b/Lib/idlelib/search.py @@ -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) diff --git a/Lib/idlelib/searchbase.py b/Lib/idlelib/searchbase.py index 64ed50c7364be3..143deaf412c6e0 100644 --- a/Lib/idlelib/searchbase.py +++ b/Lib/idlelib/searchbase.py @@ -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) diff --git a/Lib/idlelib/searchengine.py b/Lib/idlelib/searchengine.py index ceb38cfaef900b..79f2d945e8e556 100644 --- a/Lib/idlelib/searchengine.py +++ b/Lib/idlelib/searchengine.py @@ -231,4 +231,4 @@ def get_line_col(index): if __name__ == "__main__": from unittest import main - main('idlelib.idle_test.test_searchengine', verbosity=2) + main('test.test_idle.test_searchengine', verbosity=2) diff --git a/Lib/idlelib/sidebar.py b/Lib/idlelib/sidebar.py index aa19a24e3edef2..00b59caf685d4e 100644 --- a/Lib/idlelib/sidebar.py +++ b/Lib/idlelib/sidebar.py @@ -514,7 +514,7 @@ def update_colors(self): def _sidebar_number_scrolling(parent): # htest # - from idlelib.idle_test.test_sidebar import Dummy_editwin + from test.test_idle.test_sidebar import Dummy_editwin top = tk.Toplevel(parent) text_frame = tk.Frame(top) @@ -537,7 +537,7 @@ def _sidebar_number_scrolling(parent): # htest # if __name__ == '__main__': from unittest import main - main('idlelib.idle_test.test_sidebar', verbosity=2, exit=False) + main('test.test_idle.test_sidebar', verbosity=2, exit=False) from idlelib.idle_test.htest import run run(_sidebar_number_scrolling) diff --git a/Lib/idlelib/squeezer.py b/Lib/idlelib/squeezer.py index 929c3fd3a507f4..7cde4730be6a32 100644 --- a/Lib/idlelib/squeezer.py +++ b/Lib/idlelib/squeezer.py @@ -340,6 +340,6 @@ def squeeze_current_text(self): if __name__ == "__main__": from unittest import main - main('idlelib.idle_test.test_squeezer', verbosity=2, exit=False) + main('test.test_idle.test_squeezer', verbosity=2, exit=False) # Add htest. diff --git a/Lib/idlelib/stackviewer.py b/Lib/idlelib/stackviewer.py index 95042d4debdc03..b437380e7e31b8 100644 --- a/Lib/idlelib/stackviewer.py +++ b/Lib/idlelib/stackviewer.py @@ -128,7 +128,7 @@ def _stackbrowser(parent): # htest # if __name__ == '__main__': from unittest import main - main('idlelib.idle_test.test_stackviewer', verbosity=2, exit=False) + main('test.test_idle.test_stackviewer', verbosity=2, exit=False) from idlelib.idle_test.htest import run run(_stackbrowser) diff --git a/Lib/idlelib/statusbar.py b/Lib/idlelib/statusbar.py index 8445d4cc8dfdb9..5e9c4f8498ad5c 100644 --- a/Lib/idlelib/statusbar.py +++ b/Lib/idlelib/statusbar.py @@ -46,7 +46,7 @@ def change(): if __name__ == '__main__': from unittest import main - main('idlelib.idle_test.test_statusbar', verbosity=2, exit=False) + main('test.test_idle.test_statusbar', verbosity=2, exit=False) from idlelib.idle_test.htest import run run(_multistatus_bar) diff --git a/Lib/idlelib/textview.py b/Lib/idlelib/textview.py index 23f0f4cb5027ec..9a10cafc258e29 100644 --- a/Lib/idlelib/textview.py +++ b/Lib/idlelib/textview.py @@ -187,7 +187,7 @@ def view_file(parent, title, filename, encoding, modal=True, wrap='word', if __name__ == '__main__': from unittest import main - main('idlelib.idle_test.test_textview', verbosity=2, exit=False) + main('test.test_idle.test_textview', verbosity=2, exit=False) from idlelib.idle_test.htest import run run(ViewWindow) diff --git a/Lib/idlelib/tooltip.py b/Lib/idlelib/tooltip.py index 3983690dd41177..ffaa4fc209e7eb 100644 --- a/Lib/idlelib/tooltip.py +++ b/Lib/idlelib/tooltip.py @@ -180,7 +180,7 @@ def _tooltip(parent): # htest # if __name__ == '__main__': from unittest import main - main('idlelib.idle_test.test_tooltip', verbosity=2, exit=False) + main('test.test_idle.test_tooltip', verbosity=2, exit=False) from idlelib.idle_test.htest import run run(_tooltip) diff --git a/Lib/idlelib/tree.py b/Lib/idlelib/tree.py index 0726d7e23660f6..67e5ae982393de 100644 --- a/Lib/idlelib/tree.py +++ b/Lib/idlelib/tree.py @@ -497,7 +497,7 @@ def _tree_widget(parent): # htest # if __name__ == '__main__': from unittest import main - main('idlelib.idle_test.test_tree', verbosity=2, exit=False) + main('test.test_idle.test_tree', verbosity=2, exit=False) from idlelib.idle_test.htest import run run(_tree_widget) diff --git a/Lib/idlelib/undo.py b/Lib/idlelib/undo.py index f52446d5fcdcf8..ad9e17d09c227b 100644 --- a/Lib/idlelib/undo.py +++ b/Lib/idlelib/undo.py @@ -361,7 +361,7 @@ def _undo_delegator(parent): # htest # if __name__ == "__main__": from unittest import main - main('idlelib.idle_test.test_undo', verbosity=2, exit=False) + main('test.test_idle.test_undo', verbosity=2, exit=False) from idlelib.idle_test.htest import run run(_undo_delegator) diff --git a/Lib/idlelib/util.py b/Lib/idlelib/util.py index a7ae74b0579004..4561c4ca71102a 100644 --- a/Lib/idlelib/util.py +++ b/Lib/idlelib/util.py @@ -19,4 +19,4 @@ if __name__ == '__main__': from unittest import main - main('idlelib.idle_test.test_util', verbosity=2) + main('test.test_idle.test_util', verbosity=2) diff --git a/Lib/idlelib/window.py b/Lib/idlelib/window.py index 460d5b67948dde..512c0b0c7d0981 100644 --- a/Lib/idlelib/window.py +++ b/Lib/idlelib/window.py @@ -95,4 +95,4 @@ def wakeup(self): if __name__ == "__main__": from unittest import main - main('idlelib.idle_test.test_window', verbosity=2) + main('test.test_idle.test_window', verbosity=2) diff --git a/Lib/idlelib/zoomheight.py b/Lib/idlelib/zoomheight.py index cd50c91c183e49..e6daa553d7de86 100644 --- a/Lib/idlelib/zoomheight.py +++ b/Lib/idlelib/zoomheight.py @@ -119,6 +119,6 @@ def set_window_geometry(top, geometry): if __name__ == "__main__": from unittest import main - main('idlelib.idle_test.test_zoomheight', verbosity=2, exit=False) + main('test.test_idle.test_zoomheight', verbosity=2, exit=False) # Add htest? diff --git a/Lib/idlelib/zzdummy.py b/Lib/idlelib/zzdummy.py index 1247e8f1cc0528..6a0aefbab038d5 100644 --- a/Lib/idlelib/zzdummy.py +++ b/Lib/idlelib/zzdummy.py @@ -70,4 +70,4 @@ def z_out_event(self, line): if __name__ == "__main__": import unittest - unittest.main('idlelib.idle_test.test_zzdummy', verbosity=2, exit=False) + unittest.main('test.test_idle.test_zzdummy', verbosity=2, exit=False) diff --git a/Lib/pyclbr.py b/Lib/pyclbr.py index 37f86995d6ce00..33fe7e98f49b5b 100644 --- a/Lib/pyclbr.py +++ b/Lib/pyclbr.py @@ -85,7 +85,7 @@ def __init__(self, module, name, super_, file, lineno, # These 2 functions are used in these tests -# Lib/test/test_pyclbr, Lib/idlelib/idle_test/test_browser.py +# Lib/test/test_pyclbr, Lib/test/test_idle/test_browser.py def _nest_function(ob, func_name, lineno, end_lineno, is_async=False): "Return a Function after nesting within ob." return Function(ob.module, func_name, ob.file, lineno, diff --git a/Lib/test/libregrtest/findtests.py b/Lib/test/libregrtest/findtests.py index 4ac95e23a56b8f..fb4e6dedc16424 100644 --- a/Lib/test/libregrtest/findtests.py +++ b/Lib/test/libregrtest/findtests.py @@ -22,6 +22,7 @@ "test_doctests", "test_future_stmt", "test_gdb", + "test_idle", "test_inspect", "test_pydoc", "test_multiprocessing_fork", diff --git a/Lib/test/test_idle.py b/Lib/test/test_idle/__init__.py similarity index 54% rename from Lib/test/test_idle.py rename to Lib/test/test_idle/__init__.py index 3d8b7ecc0ecb6d..f32989a9d52718 100644 --- a/Lib/test/test_idle.py +++ b/Lib/test/test_idle/__init__.py @@ -1,8 +1,10 @@ import unittest +import os + +from test import support from test.support.import_helper import import_module -from test.support import check_sanitizer -if check_sanitizer(address=True, memory=True): +if support.check_sanitizer(address=True, memory=True): # See gh-90791 for details raise unittest.SkipTest("Tests involving libX11 can SEGFAULT on ASAN/MSAN builds") @@ -14,12 +16,6 @@ # tell IDLE to avoid changing the environment. idlelib.testing = True -# Unittest.main and test.libregrtest.runtest.runtest_inner -# call load_tests, when present here, to discover tests to run. -from idlelib.idle_test import load_tests -if __name__ == '__main__': - tk.NoDefaultRoot() - unittest.main(exit=False) - tk._support_default_root = True - tk._default_root = None +def load_tests(*args): + return support.load_package_tests(os.path.dirname(__file__), *args) diff --git a/Lib/test/test_idle/__main__.py b/Lib/test/test_idle/__main__.py new file mode 100644 index 00000000000000..45c275832d2ef6 --- /dev/null +++ b/Lib/test/test_idle/__main__.py @@ -0,0 +1,11 @@ +import unittest + +from test.support.import_helper import import_module +from test.test_idle import load_tests + +tk = import_module('tkinter') # Also imports _tkinter. + +tk.NoDefaultRoot() +unittest.main(exit=False) +tk._support_default_root = True +tk._default_root = None diff --git a/Lib/idlelib/idle_test/test_autocomplete.py b/Lib/test/test_idle/test_autocomplete.py similarity index 100% rename from Lib/idlelib/idle_test/test_autocomplete.py rename to Lib/test/test_idle/test_autocomplete.py diff --git a/Lib/idlelib/idle_test/test_autocomplete_w.py b/Lib/test/test_idle/test_autocomplete_w.py similarity index 100% rename from Lib/idlelib/idle_test/test_autocomplete_w.py rename to Lib/test/test_idle/test_autocomplete_w.py diff --git a/Lib/idlelib/idle_test/test_autoexpand.py b/Lib/test/test_idle/test_autoexpand.py similarity index 100% rename from Lib/idlelib/idle_test/test_autoexpand.py rename to Lib/test/test_idle/test_autoexpand.py diff --git a/Lib/idlelib/idle_test/test_browser.py b/Lib/test/test_idle/test_browser.py similarity index 100% rename from Lib/idlelib/idle_test/test_browser.py rename to Lib/test/test_idle/test_browser.py diff --git a/Lib/idlelib/idle_test/test_calltip.py b/Lib/test/test_idle/test_calltip.py similarity index 100% rename from Lib/idlelib/idle_test/test_calltip.py rename to Lib/test/test_idle/test_calltip.py diff --git a/Lib/idlelib/idle_test/test_calltip_w.py b/Lib/test/test_idle/test_calltip_w.py similarity index 100% rename from Lib/idlelib/idle_test/test_calltip_w.py rename to Lib/test/test_idle/test_calltip_w.py diff --git a/Lib/idlelib/idle_test/test_codecontext.py b/Lib/test/test_idle/test_codecontext.py similarity index 100% rename from Lib/idlelib/idle_test/test_codecontext.py rename to Lib/test/test_idle/test_codecontext.py diff --git a/Lib/idlelib/idle_test/test_colorizer.py b/Lib/test/test_idle/test_colorizer.py similarity index 100% rename from Lib/idlelib/idle_test/test_colorizer.py rename to Lib/test/test_idle/test_colorizer.py diff --git a/Lib/idlelib/idle_test/test_config.py b/Lib/test/test_idle/test_config.py similarity index 100% rename from Lib/idlelib/idle_test/test_config.py rename to Lib/test/test_idle/test_config.py diff --git a/Lib/idlelib/idle_test/test_config_key.py b/Lib/test/test_idle/test_config_key.py similarity index 100% rename from Lib/idlelib/idle_test/test_config_key.py rename to Lib/test/test_idle/test_config_key.py diff --git a/Lib/idlelib/idle_test/test_configdialog.py b/Lib/test/test_idle/test_configdialog.py similarity index 100% rename from Lib/idlelib/idle_test/test_configdialog.py rename to Lib/test/test_idle/test_configdialog.py diff --git a/Lib/idlelib/idle_test/test_debugger.py b/Lib/test/test_idle/test_debugger.py similarity index 100% rename from Lib/idlelib/idle_test/test_debugger.py rename to Lib/test/test_idle/test_debugger.py diff --git a/Lib/idlelib/idle_test/test_debugger_r.py b/Lib/test/test_idle/test_debugger_r.py similarity index 100% rename from Lib/idlelib/idle_test/test_debugger_r.py rename to Lib/test/test_idle/test_debugger_r.py diff --git a/Lib/idlelib/idle_test/test_debugobj.py b/Lib/test/test_idle/test_debugobj.py similarity index 100% rename from Lib/idlelib/idle_test/test_debugobj.py rename to Lib/test/test_idle/test_debugobj.py diff --git a/Lib/idlelib/idle_test/test_debugobj_r.py b/Lib/test/test_idle/test_debugobj_r.py similarity index 100% rename from Lib/idlelib/idle_test/test_debugobj_r.py rename to Lib/test/test_idle/test_debugobj_r.py diff --git a/Lib/idlelib/idle_test/test_delegator.py b/Lib/test/test_idle/test_delegator.py similarity index 100% rename from Lib/idlelib/idle_test/test_delegator.py rename to Lib/test/test_idle/test_delegator.py diff --git a/Lib/idlelib/idle_test/test_editmenu.py b/Lib/test/test_idle/test_editmenu.py similarity index 100% rename from Lib/idlelib/idle_test/test_editmenu.py rename to Lib/test/test_idle/test_editmenu.py diff --git a/Lib/idlelib/idle_test/test_editor.py b/Lib/test/test_idle/test_editor.py similarity index 100% rename from Lib/idlelib/idle_test/test_editor.py rename to Lib/test/test_idle/test_editor.py diff --git a/Lib/idlelib/idle_test/test_filelist.py b/Lib/test/test_idle/test_filelist.py similarity index 100% rename from Lib/idlelib/idle_test/test_filelist.py rename to Lib/test/test_idle/test_filelist.py diff --git a/Lib/idlelib/idle_test/test_format.py b/Lib/test/test_idle/test_format.py similarity index 100% rename from Lib/idlelib/idle_test/test_format.py rename to Lib/test/test_idle/test_format.py diff --git a/Lib/idlelib/idle_test/test_grep.py b/Lib/test/test_idle/test_grep.py similarity index 100% rename from Lib/idlelib/idle_test/test_grep.py rename to Lib/test/test_idle/test_grep.py diff --git a/Lib/idlelib/idle_test/test_help.py b/Lib/test/test_idle/test_help.py similarity index 100% rename from Lib/idlelib/idle_test/test_help.py rename to Lib/test/test_idle/test_help.py diff --git a/Lib/idlelib/idle_test/test_help_about.py b/Lib/test/test_idle/test_help_about.py similarity index 100% rename from Lib/idlelib/idle_test/test_help_about.py rename to Lib/test/test_idle/test_help_about.py diff --git a/Lib/idlelib/idle_test/test_history.py b/Lib/test/test_idle/test_history.py similarity index 100% rename from Lib/idlelib/idle_test/test_history.py rename to Lib/test/test_idle/test_history.py diff --git a/Lib/idlelib/idle_test/test_hyperparser.py b/Lib/test/test_idle/test_hyperparser.py similarity index 100% rename from Lib/idlelib/idle_test/test_hyperparser.py rename to Lib/test/test_idle/test_hyperparser.py diff --git a/Lib/idlelib/idle_test/test_iomenu.py b/Lib/test/test_idle/test_iomenu.py similarity index 100% rename from Lib/idlelib/idle_test/test_iomenu.py rename to Lib/test/test_idle/test_iomenu.py diff --git a/Lib/idlelib/idle_test/test_macosx.py b/Lib/test/test_idle/test_macosx.py similarity index 100% rename from Lib/idlelib/idle_test/test_macosx.py rename to Lib/test/test_idle/test_macosx.py diff --git a/Lib/idlelib/idle_test/test_mainmenu.py b/Lib/test/test_idle/test_mainmenu.py similarity index 100% rename from Lib/idlelib/idle_test/test_mainmenu.py rename to Lib/test/test_idle/test_mainmenu.py diff --git a/Lib/idlelib/idle_test/test_multicall.py b/Lib/test/test_idle/test_multicall.py similarity index 100% rename from Lib/idlelib/idle_test/test_multicall.py rename to Lib/test/test_idle/test_multicall.py diff --git a/Lib/idlelib/idle_test/test_outwin.py b/Lib/test/test_idle/test_outwin.py similarity index 100% rename from Lib/idlelib/idle_test/test_outwin.py rename to Lib/test/test_idle/test_outwin.py diff --git a/Lib/idlelib/idle_test/test_parenmatch.py b/Lib/test/test_idle/test_parenmatch.py similarity index 100% rename from Lib/idlelib/idle_test/test_parenmatch.py rename to Lib/test/test_idle/test_parenmatch.py diff --git a/Lib/idlelib/idle_test/test_pathbrowser.py b/Lib/test/test_idle/test_pathbrowser.py similarity index 100% rename from Lib/idlelib/idle_test/test_pathbrowser.py rename to Lib/test/test_idle/test_pathbrowser.py diff --git a/Lib/idlelib/idle_test/test_percolator.py b/Lib/test/test_idle/test_percolator.py similarity index 100% rename from Lib/idlelib/idle_test/test_percolator.py rename to Lib/test/test_idle/test_percolator.py diff --git a/Lib/idlelib/idle_test/test_pyparse.py b/Lib/test/test_idle/test_pyparse.py similarity index 100% rename from Lib/idlelib/idle_test/test_pyparse.py rename to Lib/test/test_idle/test_pyparse.py diff --git a/Lib/idlelib/idle_test/test_pyshell.py b/Lib/test/test_idle/test_pyshell.py similarity index 100% rename from Lib/idlelib/idle_test/test_pyshell.py rename to Lib/test/test_idle/test_pyshell.py diff --git a/Lib/idlelib/idle_test/test_query.py b/Lib/test/test_idle/test_query.py similarity index 100% rename from Lib/idlelib/idle_test/test_query.py rename to Lib/test/test_idle/test_query.py diff --git a/Lib/idlelib/idle_test/test_redirector.py b/Lib/test/test_idle/test_redirector.py similarity index 100% rename from Lib/idlelib/idle_test/test_redirector.py rename to Lib/test/test_idle/test_redirector.py diff --git a/Lib/idlelib/idle_test/test_replace.py b/Lib/test/test_idle/test_replace.py similarity index 100% rename from Lib/idlelib/idle_test/test_replace.py rename to Lib/test/test_idle/test_replace.py diff --git a/Lib/idlelib/idle_test/test_rpc.py b/Lib/test/test_idle/test_rpc.py similarity index 100% rename from Lib/idlelib/idle_test/test_rpc.py rename to Lib/test/test_idle/test_rpc.py diff --git a/Lib/idlelib/idle_test/test_run.py b/Lib/test/test_idle/test_run.py similarity index 100% rename from Lib/idlelib/idle_test/test_run.py rename to Lib/test/test_idle/test_run.py diff --git a/Lib/idlelib/idle_test/test_runscript.py b/Lib/test/test_idle/test_runscript.py similarity index 100% rename from Lib/idlelib/idle_test/test_runscript.py rename to Lib/test/test_idle/test_runscript.py diff --git a/Lib/idlelib/idle_test/test_scrolledlist.py b/Lib/test/test_idle/test_scrolledlist.py similarity index 100% rename from Lib/idlelib/idle_test/test_scrolledlist.py rename to Lib/test/test_idle/test_scrolledlist.py diff --git a/Lib/idlelib/idle_test/test_search.py b/Lib/test/test_idle/test_search.py similarity index 100% rename from Lib/idlelib/idle_test/test_search.py rename to Lib/test/test_idle/test_search.py diff --git a/Lib/idlelib/idle_test/test_searchbase.py b/Lib/test/test_idle/test_searchbase.py similarity index 100% rename from Lib/idlelib/idle_test/test_searchbase.py rename to Lib/test/test_idle/test_searchbase.py diff --git a/Lib/idlelib/idle_test/test_searchengine.py b/Lib/test/test_idle/test_searchengine.py similarity index 100% rename from Lib/idlelib/idle_test/test_searchengine.py rename to Lib/test/test_idle/test_searchengine.py diff --git a/Lib/idlelib/idle_test/test_sidebar.py b/Lib/test/test_idle/test_sidebar.py similarity index 100% rename from Lib/idlelib/idle_test/test_sidebar.py rename to Lib/test/test_idle/test_sidebar.py diff --git a/Lib/idlelib/idle_test/test_squeezer.py b/Lib/test/test_idle/test_squeezer.py similarity index 100% rename from Lib/idlelib/idle_test/test_squeezer.py rename to Lib/test/test_idle/test_squeezer.py diff --git a/Lib/idlelib/idle_test/test_stackviewer.py b/Lib/test/test_idle/test_stackviewer.py similarity index 100% rename from Lib/idlelib/idle_test/test_stackviewer.py rename to Lib/test/test_idle/test_stackviewer.py diff --git a/Lib/idlelib/idle_test/test_statusbar.py b/Lib/test/test_idle/test_statusbar.py similarity index 100% rename from Lib/idlelib/idle_test/test_statusbar.py rename to Lib/test/test_idle/test_statusbar.py diff --git a/Lib/idlelib/idle_test/test_text.py b/Lib/test/test_idle/test_text.py similarity index 100% rename from Lib/idlelib/idle_test/test_text.py rename to Lib/test/test_idle/test_text.py diff --git a/Lib/idlelib/idle_test/test_textview.py b/Lib/test/test_idle/test_textview.py similarity index 100% rename from Lib/idlelib/idle_test/test_textview.py rename to Lib/test/test_idle/test_textview.py diff --git a/Lib/idlelib/idle_test/test_tooltip.py b/Lib/test/test_idle/test_tooltip.py similarity index 100% rename from Lib/idlelib/idle_test/test_tooltip.py rename to Lib/test/test_idle/test_tooltip.py diff --git a/Lib/idlelib/idle_test/test_tree.py b/Lib/test/test_idle/test_tree.py similarity index 100% rename from Lib/idlelib/idle_test/test_tree.py rename to Lib/test/test_idle/test_tree.py diff --git a/Lib/idlelib/idle_test/test_undo.py b/Lib/test/test_idle/test_undo.py similarity index 100% rename from Lib/idlelib/idle_test/test_undo.py rename to Lib/test/test_idle/test_undo.py diff --git a/Lib/idlelib/idle_test/test_util.py b/Lib/test/test_idle/test_util.py similarity index 100% rename from Lib/idlelib/idle_test/test_util.py rename to Lib/test/test_idle/test_util.py diff --git a/Lib/idlelib/idle_test/test_warning.py b/Lib/test/test_idle/test_warning.py similarity index 100% rename from Lib/idlelib/idle_test/test_warning.py rename to Lib/test/test_idle/test_warning.py diff --git a/Lib/idlelib/idle_test/test_window.py b/Lib/test/test_idle/test_window.py similarity index 100% rename from Lib/idlelib/idle_test/test_window.py rename to Lib/test/test_idle/test_window.py diff --git a/Lib/idlelib/idle_test/test_zoomheight.py b/Lib/test/test_idle/test_zoomheight.py similarity index 100% rename from Lib/idlelib/idle_test/test_zoomheight.py rename to Lib/test/test_idle/test_zoomheight.py diff --git a/Lib/idlelib/idle_test/test_zzdummy.py b/Lib/test/test_idle/test_zzdummy.py similarity index 100% rename from Lib/idlelib/idle_test/test_zzdummy.py rename to Lib/test/test_idle/test_zzdummy.py diff --git a/Makefile.pre.in b/Makefile.pre.in index 96886adf309d81..5c84ab3adac98b 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in @@ -2266,6 +2266,7 @@ TESTSUBDIRS= idlelib/idle_test \ test/test_email/data \ test/test_future_stmt \ test/test_gdb \ + test/test_idle \ test/test_import \ test/test_import/data \ test/test_import/data/circular_imports \ From 998374a28444e419f54f3283a80cdd318356aa27 Mon Sep 17 00:00:00 2001 From: sobolevn Date: Wed, 14 Feb 2024 14:12:52 +0300 Subject: [PATCH 2/4] Fix CI --- Lib/test/test_idle/test_config.py | 5 +---- Lib/test/test_idle/test_grep.py | 27 ++++++++++++++++++--------- 2 files changed, 19 insertions(+), 13 deletions(-) diff --git a/Lib/test/test_idle/test_config.py b/Lib/test/test_idle/test_config.py index 6d75cf7aa67dcc..5c2a034c84bbfe 100644 --- a/Lib/test/test_idle/test_config.py +++ b/Lib/test/test_idle/test_config.py @@ -185,10 +185,7 @@ def setUpClass(cls): cls.config_string = {} conf = config.IdleConf(_utest=True) - if __name__ != '__main__': - idle_dir = os.path.dirname(__file__) - else: - idle_dir = os.path.abspath(sys.path[0]) + idle_dir = os.path.abspath(idlelib.__file__) for ctype in conf.config_types: config_path = os.path.join(idle_dir, '../config-%s.def' % ctype) with open(config_path) as f: diff --git a/Lib/test/test_idle/test_grep.py b/Lib/test/test_idle/test_grep.py index a0b5b69171879c..126fb0e65f1f58 100644 --- a/Lib/test/test_idle/test_grep.py +++ b/Lib/test/test_idle/test_grep.py @@ -66,20 +66,26 @@ def test_curdir(self): def test_base(self): ff = grep.findfiles - readme = os.path.join(self.path, 'README.txt') + idle_test_root = readme = os.path.join( + os.path.dirname(os.path.dirname(self.path)), + 'idlelib', + 'idle_test', + ) + readme = os.path.join(idle_test_root, 'README.txt') # Check for Python files in path where this file lives. - filelist = list(ff(self.path, '*.py', False)) + python_files = list(ff(idle_test_root, '*.py', False)) # This directory has many Python files. - self.assertGreater(len(filelist), 10) - self.assertIn(self.realpath, filelist) - self.assertNotIn(readme, filelist) + self.assertGreaterEqual(len(python_files), 5) + self.assertIn(self.realpath, python_files) + self.assertNotIn(readme, python_files) # Look for .txt files in path where this file lives. - filelist = list(ff(self.path, '*.txt', False)) - self.assertNotEqual(len(filelist), 0) - self.assertNotIn(self.realpath, filelist) + filelist = list(ff(idle_test_root, '*.txt', False)) + self.assertGreater(len(filelist), 0) self.assertIn(readme, filelist) + for python_file in python_files: + self.assertNotIn(python_file, filelist) # Look for non-matching pattern. filelist = list(ff(self.path, 'grep.*', False)) @@ -88,7 +94,10 @@ def test_base(self): def test_recurse(self): ff = grep.findfiles - parent = os.path.dirname(self.path) + parent = os.path.join( + os.path.dirname(os.path.dirname(self.path)), + 'idlelib', + ) grepfile = os.path.join(parent, 'grep.py') pat = '*.py' From 24fd790911a2c7af4bd4ecd81ef0441c15655a2c Mon Sep 17 00:00:00 2001 From: sobolevn Date: Wed, 14 Feb 2024 15:11:55 +0300 Subject: [PATCH 3/4] Fix CI --- Lib/test/test_idle/test_config.py | 2 +- Lib/test/test_idle/test_grep.py | 10 ++++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/Lib/test/test_idle/test_config.py b/Lib/test/test_idle/test_config.py index 5c2a034c84bbfe..d6bf3e30dd62d5 100644 --- a/Lib/test/test_idle/test_config.py +++ b/Lib/test/test_idle/test_config.py @@ -185,7 +185,7 @@ def setUpClass(cls): cls.config_string = {} conf = config.IdleConf(_utest=True) - idle_dir = os.path.abspath(idlelib.__file__) + idle_dir = os.path.abspath(os.path.dirname(idlelib.__file__)) for ctype in conf.config_types: config_path = os.path.join(idle_dir, '../config-%s.def' % ctype) with open(config_path) as f: diff --git a/Lib/test/test_idle/test_grep.py b/Lib/test/test_idle/test_grep.py index 126fb0e65f1f58..fdc575e1000bd8 100644 --- a/Lib/test/test_idle/test_grep.py +++ b/Lib/test/test_idle/test_grep.py @@ -71,13 +71,14 @@ def test_base(self): 'idlelib', 'idle_test', ) + htest = os.path.join(idle_test_root, 'htest.py') readme = os.path.join(idle_test_root, 'README.txt') # Check for Python files in path where this file lives. python_files = list(ff(idle_test_root, '*.py', False)) # This directory has many Python files. self.assertGreaterEqual(len(python_files), 5) - self.assertIn(self.realpath, python_files) + self.assertIn(htest, python_files) self.assertNotIn(readme, python_files) # Look for .txt files in path where this file lives. @@ -99,6 +100,7 @@ def test_recurse(self): 'idlelib', ) grepfile = os.path.join(parent, 'grep.py') + htest = os.path.join(parent, 'idle_test', 'htest.py') pat = '*.py' # Get Python files only in parent directory. @@ -108,7 +110,7 @@ def test_recurse(self): self.assertGreater(parent_size, 20) self.assertIn(grepfile, filelist) # Without subdirectories, this file isn't returned. - self.assertNotIn(self.realpath, filelist) + self.assertNotIn(htest, filelist) # Include subdirectories. filelist = list(ff(parent, pat, True)) @@ -116,12 +118,12 @@ def test_recurse(self): self.assertGreater(len(filelist), parent_size) self.assertIn(grepfile, filelist) # This file exists in list now. - self.assertIn(self.realpath, filelist) + self.assertIn(htest, filelist) # Check another level up the tree. parent = os.path.dirname(parent) filelist = list(ff(parent, '*.py', True)) - self.assertIn(self.realpath, filelist) + self.assertIn(htest, filelist) class Grep_itTest(unittest.TestCase): From 3f42787ffe8d48c2940b1217aebba547b695f795 Mon Sep 17 00:00:00 2001 From: sobolevn Date: Wed, 14 Feb 2024 15:32:57 +0300 Subject: [PATCH 4/4] Fix CI --- Lib/test/test_idle/test_config.py | 2 +- Lib/test/test_idle/test_textview.py | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/Lib/test/test_idle/test_config.py b/Lib/test/test_idle/test_config.py index d6bf3e30dd62d5..c06790963c7313 100644 --- a/Lib/test/test_idle/test_config.py +++ b/Lib/test/test_idle/test_config.py @@ -187,7 +187,7 @@ def setUpClass(cls): conf = config.IdleConf(_utest=True) idle_dir = os.path.abspath(os.path.dirname(idlelib.__file__)) for ctype in conf.config_types: - config_path = os.path.join(idle_dir, '../config-%s.def' % ctype) + config_path = os.path.join(idle_dir, 'config-%s.def' % ctype) with open(config_path) as f: cls.config_string[ctype] = f.read() diff --git a/Lib/test/test_idle/test_textview.py b/Lib/test/test_idle/test_textview.py index 7189378ab3dd61..3554dc565f8418 100644 --- a/Lib/test/test_idle/test_textview.py +++ b/Lib/test/test_idle/test_textview.py @@ -5,7 +5,6 @@ Using mock Text would not change this. Other mocks are used to retrieve information about calls. """ -from idlelib import textview as tv from test.support import requires requires('gui') @@ -13,8 +12,10 @@ import unittest from tkinter import Tk, TclError, CHAR, NONE, WORD from tkinter.ttk import Button +import idlelib from idlelib.idle_test.mock_idle import Func from idlelib.idle_test.mock_tk import Mbox_func +from idlelib import textview as tv def setUpModule(): global root @@ -176,7 +177,7 @@ def test_bad_file(self): def test_bad_encoding(self): p = os.path - fn = p.abspath(p.join(p.dirname(__file__), '..', 'CREDITS.txt')) + fn = p.abspath(p.join(p.dirname(idlelib.__file__), 'CREDITS.txt')) view = tv.view_file(root, 'Title', fn, 'ascii', modal=False) self.assertIsNone(view) self.assertEqual(tv.showerror.title, 'Unicode Decode Error')