diff --git a/Doc/library/test.rst b/Doc/library/test.rst index cd05ef07b4a..6495b484444 100644 --- a/Doc/library/test.rst +++ b/Doc/library/test.rst @@ -878,7 +878,7 @@ The :mod:`test.support` module defines the following functions: missing. -.. function:: check__all__(test_case, module, name_of_module=None, extra=(), blacklist=()) +.. function:: check__all__(test_case, module, name_of_module=None, extra=(), not_exported=()) Assert that the ``__all__`` variable of *module* contains all public names. @@ -895,8 +895,8 @@ The :mod:`test.support` module defines the following functions: detected as "public", like objects without a proper ``__module__`` attribute. If provided, it will be added to the automatically detected ones. - The *blacklist* argument can be a set of names that must not be treated as part of - the public API even though their names indicate otherwise. + The *not_exported* argument can be a set of names that must not be treated + as part of the public API even though their names indicate otherwise. Example use:: @@ -912,10 +912,10 @@ The :mod:`test.support` module defines the following functions: class OtherTestCase(unittest.TestCase): def test__all__(self): extra = {'BAR_CONST', 'FOO_CONST'} - blacklist = {'baz'} # Undocumented name. + not_exported = {'baz'} # Undocumented name. # bar imports part of its API from _bar. support.check__all__(self, bar, ('bar', '_bar'), - extra=extra, blacklist=blacklist) + extra=extra, not_exported=not_exported) .. versionadded:: 3.6 diff --git a/Lib/test/_test_multiprocessing.py b/Lib/test/_test_multiprocessing.py index 58663c02002..6a0e1016aff 100644 --- a/Lib/test/_test_multiprocessing.py +++ b/Lib/test/_test_multiprocessing.py @@ -5581,9 +5581,11 @@ class TestSyncManagerTypes(unittest.TestCase): class MiscTestCase(unittest.TestCase): def test__all__(self): - # Just make sure names in blacklist are excluded + # Just make sure names in not_exported are excluded support.check__all__(self, multiprocessing, extra=multiprocessing.__all__, - blacklist=['SUBDEBUG', 'SUBWARNING']) + not_exported=['SUBDEBUG', 'SUBWARNING']) + + # # Mixins # diff --git a/Lib/test/support/__init__.py b/Lib/test/support/__init__.py index e9573d13352..4ba749454c1 100644 --- a/Lib/test/support/__init__.py +++ b/Lib/test/support/__init__.py @@ -1410,7 +1410,7 @@ def detect_api_mismatch(ref_api, other_api, *, ignore=()): def check__all__(test_case, module, name_of_module=None, extra=(), - blacklist=()): + not_exported=()): """Assert that the __all__ variable of 'module' contains all public names. The module's public names (its API) are detected automatically based on @@ -1427,7 +1427,7 @@ def check__all__(test_case, module, name_of_module=None, extra=(), '__module__' attribute. If provided, it will be added to the automatically detected ones. - The 'blacklist' argument can be a set of names that must not be treated + The 'not_exported' argument can be a set of names that must not be treated as part of the public API even though their names indicate otherwise. Usage: @@ -1443,10 +1443,10 @@ def check__all__(test_case, module, name_of_module=None, extra=(), class OtherTestCase(unittest.TestCase): def test__all__(self): extra = {'BAR_CONST', 'FOO_CONST'} - blacklist = {'baz'} # Undocumented name. + not_exported = {'baz'} # Undocumented name. # bar imports part of its API from _bar. support.check__all__(self, bar, ('bar', '_bar'), - extra=extra, blacklist=blacklist) + extra=extra, not_exported=not_exported) """ @@ -1458,7 +1458,7 @@ def check__all__(test_case, module, name_of_module=None, extra=(), expected = set(extra) for name in dir(module): - if name.startswith('_') or name in blacklist: + if name.startswith('_') or name in not_exported: continue obj = getattr(module, name) if (getattr(obj, '__module__', None) in name_of_module or diff --git a/Lib/test/test_calendar.py b/Lib/test/test_calendar.py index 7c7ec1c931a..c641e8c4183 100644 --- a/Lib/test/test_calendar.py +++ b/Lib/test/test_calendar.py @@ -934,12 +934,12 @@ class CommandLineTestCase(unittest.TestCase): class MiscTestCase(unittest.TestCase): def test__all__(self): - blacklist = {'mdays', 'January', 'February', 'EPOCH', - 'MONDAY', 'TUESDAY', 'WEDNESDAY', 'THURSDAY', 'FRIDAY', - 'SATURDAY', 'SUNDAY', 'different_locale', 'c', - 'prweek', 'week', 'format', 'formatstring', 'main', - 'monthlen', 'prevmonth', 'nextmonth'} - support.check__all__(self, calendar, blacklist=blacklist) + not_exported = { + 'mdays', 'January', 'February', 'EPOCH', 'MONDAY', 'TUESDAY', + 'WEDNESDAY', 'THURSDAY', 'FRIDAY', 'SATURDAY', 'SUNDAY', + 'different_locale', 'c', 'prweek', 'week', 'format', + 'formatstring', 'main', 'monthlen', 'prevmonth', 'nextmonth'} + support.check__all__(self, calendar, not_exported=not_exported) class TestSubClassingCase(unittest.TestCase): diff --git a/Lib/test/test_cgi.py b/Lib/test/test_cgi.py index 101942de947..6b29759da44 100644 --- a/Lib/test/test_cgi.py +++ b/Lib/test/test_cgi.py @@ -553,9 +553,10 @@ this is the content of the fake file ("form-data", {"name": "files", "filename": 'fo"o;bar'})) def test_all(self): - blacklist = {"logfile", "logfp", "initlog", "dolog", "nolog", - "closelog", "log", "maxlen", "valid_boundary"} - support.check__all__(self, cgi, blacklist=blacklist) + not_exported = { + "logfile", "logfp", "initlog", "dolog", "nolog", "closelog", "log", + "maxlen", "valid_boundary"} + support.check__all__(self, cgi, not_exported=not_exported) BOUNDARY = "---------------------------721837373350705526688164684" diff --git a/Lib/test/test_configparser.py b/Lib/test/test_configparser.py index 230ffc1ccf8..80a9f179ee2 100644 --- a/Lib/test/test_configparser.py +++ b/Lib/test/test_configparser.py @@ -2128,8 +2128,7 @@ class BlatantOverrideConvertersTestCase(unittest.TestCase): class MiscTestCase(unittest.TestCase): def test__all__(self): - blacklist = {"Error"} - support.check__all__(self, configparser, blacklist=blacklist) + support.check__all__(self, configparser, not_exported={"Error"}) if __name__ == '__main__': diff --git a/Lib/test/test_ftplib.py b/Lib/test/test_ftplib.py index 65feb3aaded..39658f22aa1 100644 --- a/Lib/test/test_ftplib.py +++ b/Lib/test/test_ftplib.py @@ -1107,10 +1107,11 @@ class TestTimeouts(TestCase): class MiscTestCase(TestCase): def test__all__(self): - blacklist = {'MSG_OOB', 'FTP_PORT', 'MAXLINE', 'CRLF', 'B_CRLF', - 'Error', 'parse150', 'parse227', 'parse229', 'parse257', - 'print_line', 'ftpcp', 'test'} - support.check__all__(self, ftplib, blacklist=blacklist) + not_exported = { + 'MSG_OOB', 'FTP_PORT', 'MAXLINE', 'CRLF', 'B_CRLF', 'Error', + 'parse150', 'parse227', 'parse229', 'parse257', 'print_line', + 'ftpcp', 'test'} + support.check__all__(self, ftplib, not_exported=not_exported) def test_main(): diff --git a/Lib/test/test_gettext.py b/Lib/test/test_gettext.py index df9eae39eac..575914d62a0 100644 --- a/Lib/test/test_gettext.py +++ b/Lib/test/test_gettext.py @@ -820,8 +820,8 @@ class GettextCacheTestCase(GettextBaseTest): class MiscTestCase(unittest.TestCase): def test__all__(self): - blacklist = {'c2py', 'ENOENT'} - support.check__all__(self, gettext, blacklist=blacklist) + support.check__all__(self, gettext, + not_exported={'c2py', 'ENOENT'}) if __name__ == '__main__': diff --git a/Lib/test/test_logging.py b/Lib/test/test_logging.py index d8b3727eb11..00a4825d6da 100644 --- a/Lib/test/test_logging.py +++ b/Lib/test/test_logging.py @@ -5363,12 +5363,12 @@ class NTEventLogHandlerTest(BaseTest): class MiscTestCase(unittest.TestCase): def test__all__(self): - blacklist = {'logThreads', 'logMultiprocessing', - 'logProcesses', 'currentframe', - 'PercentStyle', 'StrFormatStyle', 'StringTemplateStyle', - 'Filterer', 'PlaceHolder', 'Manager', 'RootLogger', - 'root', 'threading'} - support.check__all__(self, logging, blacklist=blacklist) + not_exported = { + 'logThreads', 'logMultiprocessing', 'logProcesses', 'currentframe', + 'PercentStyle', 'StrFormatStyle', 'StringTemplateStyle', + 'Filterer', 'PlaceHolder', 'Manager', 'RootLogger', 'root', + 'threading'} + support.check__all__(self, logging, not_exported=not_exported) # Set the locale to the platform-dependent default. I have no idea diff --git a/Lib/test/test_mailbox.py b/Lib/test/test_mailbox.py index 346c9f1c559..5924f244f39 100644 --- a/Lib/test/test_mailbox.py +++ b/Lib/test/test_mailbox.py @@ -2296,8 +2296,8 @@ Gregory K. Johnson class MiscTestCase(unittest.TestCase): def test__all__(self): - blacklist = {"linesep", "fcntl"} - support.check__all__(self, mailbox, blacklist=blacklist) + support.check__all__(self, mailbox, + not_exported={"linesep", "fcntl"}) def test_main(): diff --git a/Lib/test/test_optparse.py b/Lib/test/test_optparse.py index ed65b7798e3..1ed6bf9f919 100644 --- a/Lib/test/test_optparse.py +++ b/Lib/test/test_optparse.py @@ -1652,8 +1652,8 @@ class TestParseNumber(BaseTest): class MiscTestCase(unittest.TestCase): def test__all__(self): - blacklist = {'check_builtin', 'AmbiguousOptionError', 'NO_DEFAULT'} - support.check__all__(self, optparse, blacklist=blacklist) + not_exported = {'check_builtin', 'AmbiguousOptionError', 'NO_DEFAULT'} + support.check__all__(self, optparse, not_exported=not_exported) def test_main(): diff --git a/Lib/test/test_pickletools.py b/Lib/test/test_pickletools.py index 8cc6ca58cd0..f5e9ae41c3c 100644 --- a/Lib/test/test_pickletools.py +++ b/Lib/test/test_pickletools.py @@ -63,34 +63,35 @@ class OptimizedPickleTests(AbstractPickleTests): class MiscTestCase(unittest.TestCase): def test__all__(self): - blacklist = {'bytes_types', - 'UP_TO_NEWLINE', 'TAKEN_FROM_ARGUMENT1', - 'TAKEN_FROM_ARGUMENT4', 'TAKEN_FROM_ARGUMENT4U', - 'TAKEN_FROM_ARGUMENT8U', 'ArgumentDescriptor', - 'read_uint1', 'read_uint2', 'read_int4', 'read_uint4', - 'read_uint8', 'read_stringnl', 'read_stringnl_noescape', - 'read_stringnl_noescape_pair', 'read_string1', - 'read_string4', 'read_bytes1', 'read_bytes4', - 'read_bytes8', 'read_bytearray8', 'read_unicodestringnl', - 'read_unicodestring1', 'read_unicodestring4', - 'read_unicodestring8', 'read_decimalnl_short', - 'read_decimalnl_long', 'read_floatnl', 'read_float8', - 'read_long1', 'read_long4', - 'uint1', 'uint2', 'int4', 'uint4', 'uint8', 'stringnl', - 'stringnl_noescape', 'stringnl_noescape_pair', 'string1', - 'string4', 'bytes1', 'bytes4', 'bytes8', 'bytearray8', - 'unicodestringnl', 'unicodestring1', 'unicodestring4', - 'unicodestring8', 'decimalnl_short', 'decimalnl_long', - 'floatnl', 'float8', 'long1', 'long4', - 'StackObject', - 'pyint', 'pylong', 'pyinteger_or_bool', 'pybool', 'pyfloat', - 'pybytes_or_str', 'pystring', 'pybytes', 'pybytearray', - 'pyunicode', 'pynone', 'pytuple', 'pylist', 'pydict', - 'pyset', 'pyfrozenset', 'pybuffer', 'anyobject', - 'markobject', 'stackslice', 'OpcodeInfo', 'opcodes', - 'code2op', - } - support.check__all__(self, pickletools, blacklist=blacklist) + not_exported = { + 'bytes_types', + 'UP_TO_NEWLINE', 'TAKEN_FROM_ARGUMENT1', + 'TAKEN_FROM_ARGUMENT4', 'TAKEN_FROM_ARGUMENT4U', + 'TAKEN_FROM_ARGUMENT8U', 'ArgumentDescriptor', + 'read_uint1', 'read_uint2', 'read_int4', 'read_uint4', + 'read_uint8', 'read_stringnl', 'read_stringnl_noescape', + 'read_stringnl_noescape_pair', 'read_string1', + 'read_string4', 'read_bytes1', 'read_bytes4', + 'read_bytes8', 'read_bytearray8', 'read_unicodestringnl', + 'read_unicodestring1', 'read_unicodestring4', + 'read_unicodestring8', 'read_decimalnl_short', + 'read_decimalnl_long', 'read_floatnl', 'read_float8', + 'read_long1', 'read_long4', + 'uint1', 'uint2', 'int4', 'uint4', 'uint8', 'stringnl', + 'stringnl_noescape', 'stringnl_noescape_pair', 'string1', + 'string4', 'bytes1', 'bytes4', 'bytes8', 'bytearray8', + 'unicodestringnl', 'unicodestring1', 'unicodestring4', + 'unicodestring8', 'decimalnl_short', 'decimalnl_long', + 'floatnl', 'float8', 'long1', 'long4', + 'StackObject', + 'pyint', 'pylong', 'pyinteger_or_bool', 'pybool', 'pyfloat', + 'pybytes_or_str', 'pystring', 'pybytes', 'pybytearray', + 'pyunicode', 'pynone', 'pytuple', 'pylist', 'pydict', + 'pyset', 'pyfrozenset', 'pybuffer', 'anyobject', + 'markobject', 'stackslice', 'OpcodeInfo', 'opcodes', + 'code2op', + } + support.check__all__(self, pickletools, not_exported=not_exported) def test_main(): diff --git a/Lib/test/test_plistlib.py b/Lib/test/test_plistlib.py index e5038d2e7f1..e5c9b5b6b2c 100644 --- a/Lib/test/test_plistlib.py +++ b/Lib/test/test_plistlib.py @@ -672,8 +672,8 @@ class TestKeyedArchive(unittest.TestCase): class MiscTestCase(unittest.TestCase): def test__all__(self): - blacklist = {"PlistFormat", "PLISTHEADER"} - support.check__all__(self, plistlib, blacklist=blacklist) + not_exported = {"PlistFormat", "PLISTHEADER"} + support.check__all__(self, plistlib, not_exported=not_exported) if __name__ == '__main__': diff --git a/Lib/test/test_smtpd.py b/Lib/test/test_smtpd.py index d5d5abfcf37..6303192d1b2 100644 --- a/Lib/test/test_smtpd.py +++ b/Lib/test/test_smtpd.py @@ -1003,12 +1003,11 @@ class SMTPDChannelTestWithEnableSMTPUTF8True(unittest.TestCase): class MiscTestCase(unittest.TestCase): def test__all__(self): - blacklist = { + not_exported = { "program", "Devnull", "DEBUGSTREAM", "NEWLINE", "COMMASPACE", "DATA_SIZE_DEFAULT", "usage", "Options", "parseargs", - } - support.check__all__(self, smtpd, blacklist=blacklist) + support.check__all__(self, smtpd, not_exported=not_exported) if __name__ == "__main__": diff --git a/Lib/test/test_support.py b/Lib/test/test_support.py index b268511844b..71a66c27aa2 100644 --- a/Lib/test/test_support.py +++ b/Lib/test/test_support.py @@ -391,14 +391,14 @@ class TestSupport(unittest.TestCase): def test_check__all__(self): extra = {'tempdir'} - blacklist = {'template'} + not_exported = {'template'} support.check__all__(self, tempfile, extra=extra, - blacklist=blacklist) + not_exported=not_exported) extra = {'TextTestResult', 'installHandler'} - blacklist = {'load_tests', "TestProgram", "BaseTestSuite"} + not_exported = {'load_tests', "TestProgram", "BaseTestSuite"} support.check__all__(self, unittest, @@ -407,7 +407,7 @@ class TestSupport(unittest.TestCase): "unittest.main", "unittest.runner", "unittest.signals", "unittest.async_case"), extra=extra, - blacklist=blacklist) + not_exported=not_exported) self.assertRaises(AssertionError, support.check__all__, self, unittest) diff --git a/Lib/test/test_tarfile.py b/Lib/test/test_tarfile.py index 4bf7248767c..4ef20db0971 100644 --- a/Lib/test/test_tarfile.py +++ b/Lib/test/test_tarfile.py @@ -2257,22 +2257,19 @@ class MiscTest(unittest.TestCase): tarfile.itn(0x10000000000, 6, tarfile.GNU_FORMAT) def test__all__(self): - blacklist = {'version', 'grp', 'pwd', 'symlink_exception', - 'NUL', 'BLOCKSIZE', 'RECORDSIZE', 'GNU_MAGIC', - 'POSIX_MAGIC', 'LENGTH_NAME', 'LENGTH_LINK', - 'LENGTH_PREFIX', 'REGTYPE', 'AREGTYPE', 'LNKTYPE', - 'SYMTYPE', 'CHRTYPE', 'BLKTYPE', 'DIRTYPE', 'FIFOTYPE', - 'CONTTYPE', 'GNUTYPE_LONGNAME', 'GNUTYPE_LONGLINK', - 'GNUTYPE_SPARSE', 'XHDTYPE', 'XGLTYPE', 'SOLARIS_XHDTYPE', - 'SUPPORTED_TYPES', 'REGULAR_TYPES', 'GNU_TYPES', - 'PAX_FIELDS', 'PAX_NAME_FIELDS', 'PAX_NUMBER_FIELDS', - 'stn', 'nts', 'nti', 'itn', 'calc_chksums', 'copyfileobj', - 'filemode', - 'EmptyHeaderError', 'TruncatedHeaderError', - 'EOFHeaderError', 'InvalidHeaderError', - 'SubsequentHeaderError', 'ExFileObject', - 'main'} - support.check__all__(self, tarfile, blacklist=blacklist) + not_exported = { + 'version', 'grp', 'pwd', 'symlink_exception', 'NUL', 'BLOCKSIZE', + 'RECORDSIZE', 'GNU_MAGIC', 'POSIX_MAGIC', 'LENGTH_NAME', + 'LENGTH_LINK', 'LENGTH_PREFIX', 'REGTYPE', 'AREGTYPE', 'LNKTYPE', + 'SYMTYPE', 'CHRTYPE', 'BLKTYPE', 'DIRTYPE', 'FIFOTYPE', 'CONTTYPE', + 'GNUTYPE_LONGNAME', 'GNUTYPE_LONGLINK', 'GNUTYPE_SPARSE', + 'XHDTYPE', 'XGLTYPE', 'SOLARIS_XHDTYPE', 'SUPPORTED_TYPES', + 'REGULAR_TYPES', 'GNU_TYPES', 'PAX_FIELDS', 'PAX_NAME_FIELDS', + 'PAX_NUMBER_FIELDS', 'stn', 'nts', 'nti', 'itn', 'calc_chksums', + 'copyfileobj', 'filemode', 'EmptyHeaderError', + 'TruncatedHeaderError', 'EOFHeaderError', 'InvalidHeaderError', + 'SubsequentHeaderError', 'ExFileObject', 'main'} + support.check__all__(self, tarfile, not_exported=not_exported) class CommandLineTest(unittest.TestCase): diff --git a/Lib/test/test_threading.py b/Lib/test/test_threading.py index 47e131ae27a..d02d3b346f9 100644 --- a/Lib/test/test_threading.py +++ b/Lib/test/test_threading.py @@ -1365,9 +1365,9 @@ class BarrierTests(lock_tests.BarrierTests): class MiscTestCase(unittest.TestCase): def test__all__(self): extra = {"ThreadError"} - blacklist = {'currentThread', 'activeCount'} + not_exported = {'currentThread', 'activeCount'} support.check__all__(self, threading, ('threading', '_thread'), - extra=extra, blacklist=blacklist) + extra=extra, not_exported=not_exported) class InterruptMainTests(unittest.TestCase): diff --git a/Lib/test/test_wave.py b/Lib/test/test_wave.py index eb231cb19c6..f85e40b31d0 100644 --- a/Lib/test/test_wave.py +++ b/Lib/test/test_wave.py @@ -107,8 +107,7 @@ class WavePCM32Test(WaveTest, unittest.TestCase): class MiscTestCase(unittest.TestCase): def test__all__(self): - blacklist = {'WAVE_FORMAT_PCM'} - support.check__all__(self, wave, blacklist=blacklist) + support.check__all__(self, wave, not_exported={'WAVE_FORMAT_PCM'}) class WaveLowLevelTest(unittest.TestCase): diff --git a/Lib/test/test_xml_etree.py b/Lib/test/test_xml_etree.py index c7d446185cf..d22c35d92c4 100644 --- a/Lib/test/test_xml_etree.py +++ b/Lib/test/test_xml_etree.py @@ -128,7 +128,7 @@ class ModuleTest(unittest.TestCase): def test_all(self): names = ("xml.etree.ElementTree", "_elementtree") - support.check__all__(self, ET, names, blacklist=("HTML_EMPTY",)) + support.check__all__(self, ET, names, not_exported=("HTML_EMPTY",)) def serialize(elem, to_string=True, encoding='unicode', **options): diff --git a/Misc/NEWS.d/next/Tests/2020-08-11-14-59-13.bpo-41521.w2UYK7.rst b/Misc/NEWS.d/next/Tests/2020-08-11-14-59-13.bpo-41521.w2UYK7.rst new file mode 100644 index 00000000000..658372b1a7f --- /dev/null +++ b/Misc/NEWS.d/next/Tests/2020-08-11-14-59-13.bpo-41521.w2UYK7.rst @@ -0,0 +1,2 @@ +:mod:`test.support`: Rename ``blacklist`` parameter of +:func:`~test.support.check__all__` to ``not_exported``.