mirror of
https://github.com/python/cpython.git
synced 2025-08-04 17:08:35 +00:00
Issue #22002: Make full use of test discovery in test sub-packages.
Adds `load_package_tests` function to test.support, uses it in test_asyncio, test_email, test_json, test_tools, test_importlib and all test_importlib sub-packages to implement test discovery.
This commit is contained in:
parent
c4c464911a
commit
f012ba42fe
21 changed files with 104 additions and 169 deletions
|
@ -1,31 +1,16 @@
|
|||
import os
|
||||
import sys
|
||||
import unittest
|
||||
import test.support
|
||||
import collections
|
||||
import email
|
||||
from email.message import Message
|
||||
from email._policybase import compat32
|
||||
from test.support import load_package_tests
|
||||
from test.test_email import __file__ as landmark
|
||||
|
||||
# Run all tests in package for '-m unittest test.test_email'
|
||||
def load_tests(loader, standard_tests, pattern):
|
||||
this_dir = os.path.dirname(__file__)
|
||||
if pattern is None:
|
||||
pattern = "test*"
|
||||
package_tests = loader.discover(start_dir=this_dir, pattern=pattern)
|
||||
standard_tests.addTests(package_tests)
|
||||
return standard_tests
|
||||
|
||||
|
||||
# used by regrtest and __main__.
|
||||
def test_main():
|
||||
here = os.path.dirname(__file__)
|
||||
# Unittest mucks with the path, so we have to save and restore
|
||||
# it to keep regrtest happy.
|
||||
savepath = sys.path[:]
|
||||
test.support._run_suite(unittest.defaultTestLoader.discover(here))
|
||||
sys.path[:] = savepath
|
||||
# Load all tests in package
|
||||
def load_tests(*args):
|
||||
return load_package_tests(os.path.dirname(__file__), *args)
|
||||
|
||||
|
||||
# helper code used by a number of test modules.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue