mirror of https://github.com/python/cpython
Merged revisions 69060-69063 via svnmerge from
svn+ssh://pythondev/python/trunk ........ r69060 | guilherme.polo | 2009-01-28 17:23:28 -0200 (Wed, 28 Jan 2009) | 2 lines Added support for collecting tests only from specific packages. ........ r69061 | guilherme.polo | 2009-01-28 17:28:04 -0200 (Wed, 28 Jan 2009) | 4 lines * Renaming test_tk_* to test_ttk_* since that is what they are testing. * Added ttk tests to the expected skips mapping just like where test_tcl was expected to be skipped too. ........ r69062 | guilherme.polo | 2009-01-28 18:02:01 -0200 (Wed, 28 Jan 2009) | 1 line Make sure the root windows gets destroyed ........ r69063 | guilherme.polo | 2009-01-28 18:03:26 -0200 (Wed, 28 Jan 2009) | 2 lines Issue #5083: New 'gui' resource for regrtest. ........
This commit is contained in:
parent
a7d2797e80
commit
9de29afa7c
|
@ -123,6 +123,8 @@ resources to test. Currently only the following are defined:
|
||||||
|
|
||||||
urlfetch - It is okay to download files required on testing.
|
urlfetch - It is okay to download files required on testing.
|
||||||
|
|
||||||
|
gui - Run tests that require a running GUI.
|
||||||
|
|
||||||
To enable all resources except one, use '-uall,-<resource>'. For
|
To enable all resources except one, use '-uall,-<resource>'. For
|
||||||
example, to run all the tests except for the bsddb tests, give the
|
example, to run all the tests except for the bsddb tests, give the
|
||||||
option '-uall,-bsddb'.
|
option '-uall,-bsddb'.
|
||||||
|
@ -176,7 +178,7 @@ if sys.platform == 'darwin':
|
||||||
from test import support
|
from test import support
|
||||||
|
|
||||||
RESOURCE_NAMES = ('audio', 'curses', 'largefile', 'network', 'bsddb',
|
RESOURCE_NAMES = ('audio', 'curses', 'largefile', 'network', 'bsddb',
|
||||||
'decimal', 'compiler', 'subprocess', 'urlfetch')
|
'decimal', 'compiler', 'subprocess', 'urlfetch', 'gui')
|
||||||
|
|
||||||
|
|
||||||
def usage(msg):
|
def usage(msg):
|
||||||
|
@ -1073,6 +1075,8 @@ _expectations = {
|
||||||
test_pty
|
test_pty
|
||||||
test_socketserver
|
test_socketserver
|
||||||
test_tcl
|
test_tcl
|
||||||
|
test_ttk_guionly
|
||||||
|
test_ttk_textonly
|
||||||
test_timeout
|
test_timeout
|
||||||
test_urllibnet
|
test_urllibnet
|
||||||
test_multiprocessing
|
test_multiprocessing
|
||||||
|
@ -1088,6 +1092,8 @@ _expectations = {
|
||||||
test_kqueue
|
test_kqueue
|
||||||
test_ossaudiodev
|
test_ossaudiodev
|
||||||
test_tcl
|
test_tcl
|
||||||
|
test_ttk_guionly
|
||||||
|
test_ttk_textonly
|
||||||
test_zipimport
|
test_zipimport
|
||||||
test_zlib
|
test_zlib
|
||||||
""",
|
""",
|
||||||
|
@ -1103,6 +1109,8 @@ _expectations = {
|
||||||
test_ossaudiodev
|
test_ossaudiodev
|
||||||
test_pep277
|
test_pep277
|
||||||
test_tcl
|
test_tcl
|
||||||
|
test_ttk_guionly
|
||||||
|
test_ttk_textonly
|
||||||
test_multiprocessing
|
test_multiprocessing
|
||||||
""",
|
""",
|
||||||
'netbsd3':
|
'netbsd3':
|
||||||
|
@ -1117,6 +1125,8 @@ _expectations = {
|
||||||
test_ossaudiodev
|
test_ossaudiodev
|
||||||
test_pep277
|
test_pep277
|
||||||
test_tcl
|
test_tcl
|
||||||
|
test_ttk_guionly
|
||||||
|
test_ttk_textonly
|
||||||
test_multiprocessing
|
test_multiprocessing
|
||||||
""",
|
""",
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,15 @@
|
||||||
from test import support
|
import os
|
||||||
|
import sys
|
||||||
|
from tkinter import ttk
|
||||||
from tkinter.test import runtktests
|
from tkinter.test import runtktests
|
||||||
|
from _tkinter import TclError
|
||||||
|
from test import support
|
||||||
|
|
||||||
|
try:
|
||||||
|
ttk.Button()
|
||||||
|
except TclError as msg:
|
||||||
|
# assuming ttk is not available
|
||||||
|
raise support.TestSkipped("ttk not available: %s" % msg)
|
||||||
|
|
||||||
def test_main(enable_gui=False):
|
def test_main(enable_gui=False):
|
||||||
if enable_gui:
|
if enable_gui:
|
||||||
|
@ -8,7 +18,8 @@ def test_main(enable_gui=False):
|
||||||
elif 'gui' not in support.use_resources:
|
elif 'gui' not in support.use_resources:
|
||||||
support.use_resources.append('gui')
|
support.use_resources.append('gui')
|
||||||
|
|
||||||
support.run_unittest(*runtktests.get_tests(text=False))
|
support.run_unittest(
|
||||||
|
*runtktests.get_tests(text=False, packages=['test_ttk']))
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
test_main(enable_gui=True)
|
test_main(enable_gui=True)
|
|
@ -1,8 +1,11 @@
|
||||||
|
import os
|
||||||
|
import sys
|
||||||
from test import support
|
from test import support
|
||||||
from tkinter.test import runtktests
|
from tkinter.test import runtktests
|
||||||
|
|
||||||
def test_main():
|
def test_main():
|
||||||
support.run_unittest(*runtktests.get_tests(gui=False))
|
support.run_unittest(
|
||||||
|
*runtktests.get_tests(gui=False, packages=['test_ttk']))
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
test_main()
|
test_main()
|
|
@ -19,9 +19,13 @@ def is_package(path):
|
||||||
return True
|
return True
|
||||||
return False
|
return False
|
||||||
|
|
||||||
def get_tests_modules(basepath=this_dir_path, gui=True):
|
def get_tests_modules(basepath=this_dir_path, gui=True, packages=None):
|
||||||
"""This will import and yield modules whose names start with test_
|
"""This will import and yield modules whose names start with test_
|
||||||
and are inside packages found in the path starting at basepath."""
|
and are inside packages found in the path starting at basepath.
|
||||||
|
|
||||||
|
If packages is specified it should contain package names that
|
||||||
|
want their tests collected.
|
||||||
|
"""
|
||||||
py_ext = '.py'
|
py_ext = '.py'
|
||||||
|
|
||||||
for dirpath, dirnames, filenames in os.walk(basepath):
|
for dirpath, dirnames, filenames in os.walk(basepath):
|
||||||
|
@ -31,6 +35,9 @@ def get_tests_modules(basepath=this_dir_path, gui=True):
|
||||||
|
|
||||||
if is_package(dirpath) and filenames:
|
if is_package(dirpath) and filenames:
|
||||||
pkg_name = dirpath[len(basepath) + len(os.sep):].replace('/', '.')
|
pkg_name = dirpath[len(basepath) + len(os.sep):].replace('/', '.')
|
||||||
|
if packages and pkg_name not in packages:
|
||||||
|
continue
|
||||||
|
|
||||||
filenames = filter(
|
filenames = filter(
|
||||||
lambda x: x.startswith('test_') and x.endswith(py_ext),
|
lambda x: x.startswith('test_') and x.endswith(py_ext),
|
||||||
filenames)
|
filenames)
|
||||||
|
@ -48,7 +55,7 @@ def get_tests_modules(basepath=this_dir_path, gui=True):
|
||||||
if gui:
|
if gui:
|
||||||
raise
|
raise
|
||||||
|
|
||||||
def get_tests(text=True, gui=True):
|
def get_tests(text=True, gui=True, packages=None):
|
||||||
"""Yield all the tests in the modules found by get_tests_modules.
|
"""Yield all the tests in the modules found by get_tests_modules.
|
||||||
|
|
||||||
If nogui is True, only tests that do not require a GUI will be
|
If nogui is True, only tests that do not require a GUI will be
|
||||||
|
@ -58,7 +65,7 @@ def get_tests(text=True, gui=True):
|
||||||
attrs.append('tests_nogui')
|
attrs.append('tests_nogui')
|
||||||
if gui:
|
if gui:
|
||||||
attrs.append('tests_gui')
|
attrs.append('tests_gui')
|
||||||
for module in get_tests_modules(gui=gui):
|
for module in get_tests_modules(gui=gui, packages=packages):
|
||||||
for attr in attrs:
|
for attr in attrs:
|
||||||
for test in getattr(module, attr, ()):
|
for test in getattr(module, attr, ()):
|
||||||
yield test
|
yield test
|
||||||
|
|
|
@ -708,10 +708,13 @@ class NotebookTest(unittest.TestCase):
|
||||||
class TreeviewTest(unittest.TestCase):
|
class TreeviewTest(unittest.TestCase):
|
||||||
|
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
self.tv = ttk.Treeview()
|
self.root = support.get_tk_root()
|
||||||
|
self.tv = ttk.Treeview(self.root)
|
||||||
|
|
||||||
def tearDown(self):
|
def tearDown(self):
|
||||||
self.tv.destroy()
|
self.tv.destroy()
|
||||||
|
self.root.update_idletasks()
|
||||||
|
self.root.destroy()
|
||||||
|
|
||||||
|
|
||||||
def test_bbox(self):
|
def test_bbox(self):
|
||||||
|
|
Loading…
Reference in New Issue