[Python-checkins] cpython: Issue #23883: Add missing APIs to __all__; patch by Jacek Kołodziej

martin.panter python-checkins at python.org
Sat Nov 14 07:54:09 EST 2015


https://hg.python.org/cpython/rev/78d67bdc1142
changeset:   99133:78d67bdc1142
user:        Martin Panter <vadmium+py at gmail.com>
date:        Sat Nov 14 12:46:42 2015 +0000
summary:
  Issue #23883: Add missing APIs to __all__; patch by Jacek Kołodziej

files:
  Lib/csv.py                   |  11 ++++---
  Lib/enum.py                  |   2 +-
  Lib/ftplib.py                |   3 +-
  Lib/logging/__init__.py      |   5 ++-
  Lib/optparse.py              |   3 +-
  Lib/test/test_csv.py         |   6 ++++
  Lib/test/test_enum.py        |   7 +++++
  Lib/test/test_ftplib.py      |  11 +++++++-
  Lib/test/test_logging.py     |  14 +++++++++-
  Lib/test/test_optparse.py    |   7 +++++
  Lib/test/test_pickletools.py |  33 ++++++++++++++++++++++++
  Lib/test/test_threading.py   |   8 +++++
  Lib/test/test_wave.py        |   7 +++++
  Lib/threading.py             |   8 +++--
  Lib/wave.py                  |   2 +-
  15 files changed, 111 insertions(+), 16 deletions(-)


diff --git a/Lib/csv.py b/Lib/csv.py
--- a/Lib/csv.py
+++ b/Lib/csv.py
@@ -13,11 +13,12 @@
 
 from io import StringIO
 
-__all__ = [ "QUOTE_MINIMAL", "QUOTE_ALL", "QUOTE_NONNUMERIC", "QUOTE_NONE",
-            "Error", "Dialect", "__doc__", "excel", "excel_tab",
-            "field_size_limit", "reader", "writer",
-            "register_dialect", "get_dialect", "list_dialects", "Sniffer",
-            "unregister_dialect", "__version__", "DictReader", "DictWriter" ]
+__all__ = ["QUOTE_MINIMAL", "QUOTE_ALL", "QUOTE_NONNUMERIC", "QUOTE_NONE",
+           "Error", "Dialect", "__doc__", "excel", "excel_tab",
+           "field_size_limit", "reader", "writer",
+           "register_dialect", "get_dialect", "list_dialects", "Sniffer",
+           "unregister_dialect", "__version__", "DictReader", "DictWriter",
+           "unix_dialect"]
 
 class Dialect:
     """Describe a CSV dialect.
diff --git a/Lib/enum.py b/Lib/enum.py
--- a/Lib/enum.py
+++ b/Lib/enum.py
@@ -8,7 +8,7 @@
     from collections import OrderedDict
 
 
-__all__ = ['Enum', 'IntEnum', 'unique']
+__all__ = ['EnumMeta', 'Enum', 'IntEnum', 'unique']
 
 
 def _is_descriptor(obj):
diff --git a/Lib/ftplib.py b/Lib/ftplib.py
--- a/Lib/ftplib.py
+++ b/Lib/ftplib.py
@@ -42,7 +42,8 @@
 import warnings
 from socket import _GLOBAL_DEFAULT_TIMEOUT
 
-__all__ = ["FTP"]
+__all__ = ["FTP", "error_reply", "error_temp", "error_perm", "error_proto",
+           "all_errors"]
 
 # Magic number from <socket.h>
 MSG_OOB = 0x1                           # Process data out of band
diff --git a/Lib/logging/__init__.py b/Lib/logging/__init__.py
--- a/Lib/logging/__init__.py
+++ b/Lib/logging/__init__.py
@@ -33,8 +33,9 @@
            'StreamHandler', 'WARN', 'WARNING', 'addLevelName', 'basicConfig',
            'captureWarnings', 'critical', 'debug', 'disable', 'error',
            'exception', 'fatal', 'getLevelName', 'getLogger', 'getLoggerClass',
-           'info', 'log', 'makeLogRecord', 'setLoggerClass', 'warn', 'warning',
-           'getLogRecordFactory', 'setLogRecordFactory', 'lastResort']
+           'info', 'log', 'makeLogRecord', 'setLoggerClass', 'shutdown',
+           'warn', 'warning', 'getLogRecordFactory', 'setLogRecordFactory',
+           'lastResort', 'raiseExceptions']
 
 try:
     import threading
diff --git a/Lib/optparse.py b/Lib/optparse.py
--- a/Lib/optparse.py
+++ b/Lib/optparse.py
@@ -38,7 +38,8 @@
            'OptionError',
            'OptionConflictError',
            'OptionValueError',
-           'BadOptionError']
+           'BadOptionError',
+           'check_choice']
 
 __copyright__ = """
 Copyright (c) 2001-2006 Gregory P. Ward.  All rights reserved.
diff --git a/Lib/test/test_csv.py b/Lib/test/test_csv.py
--- a/Lib/test/test_csv.py
+++ b/Lib/test/test_csv.py
@@ -1084,5 +1084,11 @@
             self.assertEqual(fileobj.read(), expected)
 
 
+class MiscTestCase(unittest.TestCase):
+    def test__all__(self):
+        extra = {'__doc__', '__version__'}
+        support.check__all__(self, csv, ('csv', '_csv'), extra=extra)
+
+
 if __name__ == '__main__':
     unittest.main()
diff --git a/Lib/test/test_enum.py b/Lib/test/test_enum.py
--- a/Lib/test/test_enum.py
+++ b/Lib/test/test_enum.py
@@ -6,6 +6,7 @@
 from enum import Enum, IntEnum, EnumMeta, unique
 from io import StringIO
 from pickle import dumps, loads, PicklingError, HIGHEST_PROTOCOL
+from test import support
 
 # for pickle tests
 try:
@@ -1708,5 +1709,11 @@
         if failed:
             self.fail("result does not equal expected, see print above")
 
+
+class MiscTestCase(unittest.TestCase):
+    def test__all__(self):
+        support.check__all__(self, enum)
+
+
 if __name__ == '__main__':
     unittest.main()
diff --git a/Lib/test/test_ftplib.py b/Lib/test/test_ftplib.py
--- a/Lib/test/test_ftplib.py
+++ b/Lib/test/test_ftplib.py
@@ -1049,10 +1049,19 @@
         ftp.close()
 
 
+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)
+
+
 def test_main():
     tests = [TestFTPClass, TestTimeouts,
              TestIPv6Environment,
-             TestTLS_FTPClassMixin, TestTLS_FTPClass]
+             TestTLS_FTPClassMixin, TestTLS_FTPClass,
+             MiscTestCase]
 
     thread_info = support.threading_setup()
     try:
diff --git a/Lib/test/test_logging.py b/Lib/test/test_logging.py
--- a/Lib/test/test_logging.py
+++ b/Lib/test/test_logging.py
@@ -4159,6 +4159,17 @@
         msg = 'Record not found in event log, went back %d records' % GO_BACK
         self.assertTrue(found, msg=msg)
 
+
+class MiscTestCase(unittest.TestCase):
+    def test__all__(self):
+        blacklist = {'logThreads', 'logMultiprocessing',
+                     'logProcesses', 'currentframe',
+                     'PercentStyle', 'StrFormatStyle', 'StringTemplateStyle',
+                     'Filterer', 'PlaceHolder', 'Manager', 'RootLogger',
+                     'root'}
+        support.check__all__(self, logging, blacklist=blacklist)
+
+
 # Set the locale to the platform-dependent default.  I have no idea
 # why the test does this, but in any case we save the current locale
 # first and restore it at the end.
@@ -4175,7 +4186,8 @@
         RotatingFileHandlerTest,  LastResortTest, LogRecordTest,
         ExceptionTest, SysLogHandlerTest, HTTPHandlerTest,
         NTEventLogHandlerTest, TimedRotatingFileHandlerTest,
-        UnixSocketHandlerTest, UnixDatagramHandlerTest, UnixSysLogHandlerTest)
+        UnixSocketHandlerTest, UnixDatagramHandlerTest, UnixSysLogHandlerTest,
+        MiscTestCase)
 
 if __name__ == "__main__":
     test_main()
diff --git a/Lib/test/test_optparse.py b/Lib/test/test_optparse.py
--- a/Lib/test/test_optparse.py
+++ b/Lib/test/test_optparse.py
@@ -16,6 +16,7 @@
 from test import support
 
 
+import optparse
 from optparse import make_option, Option, \
      TitledHelpFormatter, OptionParser, OptionGroup, \
      SUPPRESS_USAGE, OptionError, OptionConflictError, \
@@ -1650,6 +1651,12 @@
                              "option -l: invalid integer value: '0x12x'")
 
 
+class MiscTestCase(unittest.TestCase):
+    def test__all__(self):
+        blacklist = {'check_builtin', 'AmbiguousOptionError', 'NO_DEFAULT'}
+        support.check__all__(self, optparse, blacklist=blacklist)
+
+
 def test_main():
     support.run_unittest(__name__)
 
diff --git a/Lib/test/test_pickletools.py b/Lib/test/test_pickletools.py
--- a/Lib/test/test_pickletools.py
+++ b/Lib/test/test_pickletools.py
@@ -4,6 +4,7 @@
 from test import support
 from test.pickletester import AbstractPickleTests
 from test.pickletester import AbstractPickleModuleTests
+import unittest
 
 class OptimizedPickleTests(AbstractPickleTests, AbstractPickleModuleTests):
 
@@ -59,8 +60,40 @@
         self.assertNotIn(pickle.BINPUT, pickled2)
 
 
+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_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',
+                     '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', 'pyunicode',
+                     'pynone', 'pytuple', 'pylist', 'pydict', 'pyset',
+                     'pyfrozenset', 'anyobject', 'markobject', 'stackslice',
+                     'OpcodeInfo', 'opcodes', 'code2op',
+                     }
+        support.check__all__(self, pickletools, blacklist=blacklist)
+
+
 def test_main():
     support.run_unittest(OptimizedPickleTests)
+    support.run_unittest(MiscTestCase)
     support.run_doctest(pickletools)
 
 
diff --git a/Lib/test/test_threading.py b/Lib/test/test_threading.py
--- a/Lib/test/test_threading.py
+++ b/Lib/test/test_threading.py
@@ -18,6 +18,7 @@
 import subprocess
 
 from test import lock_tests
+from test import support
 
 
 # Between fork() and exec(), only async-safe functions are allowed (issues
@@ -1098,5 +1099,12 @@
 class BarrierTests(lock_tests.BarrierTests):
     barriertype = staticmethod(threading.Barrier)
 
+class MiscTestCase(unittest.TestCase):
+    def test__all__(self):
+        extra = {"ThreadError"}
+        blacklist = {'currentThread', 'activeCount'}
+        support.check__all__(self, threading, ('threading', '_thread'),
+                             extra=extra, blacklist=blacklist)
+
 if __name__ == "__main__":
     unittest.main()
diff --git a/Lib/test/test_wave.py b/Lib/test/test_wave.py
--- a/Lib/test/test_wave.py
+++ b/Lib/test/test_wave.py
@@ -1,6 +1,7 @@
 from test.support import TESTFN
 import unittest
 from test import audiotests
+from test import support
 from audioop import byteswap
 import sys
 import wave
@@ -103,5 +104,11 @@
         frames = byteswap(frames, 4)
 
 
+class MiscTestCase(unittest.TestCase):
+    def test__all__(self):
+        blacklist = {'WAVE_FORMAT_PCM'}
+        support.check__all__(self, wave, blacklist=blacklist)
+
+
 if __name__ == '__main__':
     unittest.main()
diff --git a/Lib/threading.py b/Lib/threading.py
--- a/Lib/threading.py
+++ b/Lib/threading.py
@@ -22,9 +22,11 @@
 # with the multiprocessing module, which doesn't provide the old
 # Java inspired names.
 
-__all__ = ['active_count', 'Condition', 'current_thread', 'enumerate', 'Event',
-           'Lock', 'RLock', 'Semaphore', 'BoundedSemaphore', 'Thread', 'Barrier',
-           'Timer', 'ThreadError', 'setprofile', 'settrace', 'local', 'stack_size']
+__all__ = ['get_ident', 'active_count', 'Condition', 'current_thread',
+           'enumerate', 'main_thread', 'TIMEOUT_MAX',
+           'Event', 'Lock', 'RLock', 'Semaphore', 'BoundedSemaphore', 'Thread',
+           'Barrier', 'BrokenBarrierError', 'Timer', 'ThreadError',
+           'setprofile', 'settrace', 'local', 'stack_size']
 
 # Rename some stuff so "from threading import *" is safe
 _start_new_thread = _thread.start_new_thread
diff --git a/Lib/wave.py b/Lib/wave.py
--- a/Lib/wave.py
+++ b/Lib/wave.py
@@ -73,7 +73,7 @@
 
 import builtins
 
-__all__ = ["open", "openfp", "Error"]
+__all__ = ["open", "openfp", "Error", "Wave_read", "Wave_write"]
 
 class Error(Exception):
     pass

-- 
Repository URL: https://hg.python.org/cpython


More information about the Python-checkins mailing list