1"""Test suite for distutils. 2 3This test suite consists of a collection of test modules in the 4distutils.tests package. Each test module has a name starting with 5'test' and contains a function test_suite(). The function is expected 6to return an initialized unittest.TestSuite instance. 7 8Tests for the command classes in the distutils.command package are 9included in distutils.tests as well, instead of using a separate 10distutils.command.tests package, since command identification is done 11by import rather than matching pre-defined names. 12 13""" 14 15import os 16import sys 17import unittest 18from test.support import run_unittest, save_restore_warnings_filters 19 20 21here = os.path.dirname(__file__) or os.curdir 22 23 24def test_suite(): 25 suite = unittest.TestSuite() 26 for fn in os.listdir(here): 27 if fn.startswith("test") and fn.endswith(".py"): 28 modname = "distutils.tests." + fn[:-3] 29 # bpo-40055: Save/restore warnings filters to leave them unchanged. 30 # Importing tests imports docutils which imports pkg_resources 31 # which adds a warnings filter. 32 with save_restore_warnings_filters(): 33 __import__(modname) 34 module = sys.modules[modname] 35 suite.addTest(module.test_suite()) 36 return suite 37 38 39if __name__ == "__main__": 40 run_unittest(test_suite()) 41