mirror of
https://github.com/python/cpython.git
synced 2025-08-03 16:39:00 +00:00

Updated documentation. Merged revisions 63042 via svnmerge from svn+ssh://pythondev@svn.python.org/python/trunk ........ r63042 | alexandre.vassalotti | 2008-05-11 04:25:28 -0400 (Sun, 11 May 2008) | 5 lines Added module stub for copy_reg renaming in 3.0. Renamed copy_reg to copyreg in the standard library, to avoid spurious warnings and ease later merging to py3k branch. Public documentation remains intact. ........
168 lines
5.5 KiB
Python
168 lines
5.5 KiB
Python
import unittest
|
|
from test.test_support import run_unittest, catch_warning
|
|
import sys
|
|
import warnings
|
|
|
|
|
|
class AllTest(unittest.TestCase):
|
|
|
|
def check_all(self, modname):
|
|
names = {}
|
|
with catch_warning():
|
|
warnings.filterwarnings("ignore", ".* module", DeprecationWarning)
|
|
try:
|
|
exec("import %s" % modname, names)
|
|
except ImportError:
|
|
# Silent fail here seems the best route since some modules
|
|
# may not be available in all environments.
|
|
return
|
|
self.failUnless(hasattr(sys.modules[modname], "__all__"),
|
|
"%s has no __all__ attribute" % modname)
|
|
names = {}
|
|
exec("from %s import *" % modname, names)
|
|
if "__builtins__" in names:
|
|
del names["__builtins__"]
|
|
keys = set(names)
|
|
all = set(sys.modules[modname].__all__)
|
|
self.assertEqual(keys, all)
|
|
|
|
def test_all(self):
|
|
if not sys.platform.startswith('java'):
|
|
# In case _socket fails to build, make this test fail more gracefully
|
|
# than an AttributeError somewhere deep in CGIHTTPServer.
|
|
import _socket
|
|
|
|
self.check_all("BaseHTTPServer")
|
|
self.check_all("CGIHTTPServer")
|
|
self.check_all("ConfigParser")
|
|
self.check_all("Cookie")
|
|
self.check_all("Queue")
|
|
self.check_all("SimpleHTTPServer")
|
|
self.check_all("SocketServer")
|
|
self.check_all("aifc")
|
|
self.check_all("base64")
|
|
self.check_all("bdb")
|
|
self.check_all("binhex")
|
|
self.check_all("calendar")
|
|
self.check_all("cgi")
|
|
self.check_all("cmd")
|
|
self.check_all("code")
|
|
self.check_all("codecs")
|
|
self.check_all("codeop")
|
|
self.check_all("colorsys")
|
|
self.check_all("commands")
|
|
self.check_all("compileall")
|
|
self.check_all("copy")
|
|
self.check_all("copyreg")
|
|
self.check_all("csv")
|
|
self.check_all("dbhash")
|
|
self.check_all("decimal")
|
|
self.check_all("difflib")
|
|
self.check_all("dircache")
|
|
self.check_all("dis")
|
|
self.check_all("doctest")
|
|
self.check_all("dummy_thread")
|
|
self.check_all("dummy_threading")
|
|
self.check_all("filecmp")
|
|
self.check_all("fileinput")
|
|
self.check_all("fnmatch")
|
|
self.check_all("fpformat")
|
|
self.check_all("ftplib")
|
|
self.check_all("getopt")
|
|
self.check_all("getpass")
|
|
self.check_all("gettext")
|
|
self.check_all("glob")
|
|
self.check_all("gzip")
|
|
self.check_all("heapq")
|
|
self.check_all("htmllib")
|
|
self.check_all("httplib")
|
|
self.check_all("ihooks")
|
|
self.check_all("imaplib")
|
|
self.check_all("imghdr")
|
|
self.check_all("keyword")
|
|
self.check_all("linecache")
|
|
self.check_all("locale")
|
|
self.check_all("macpath")
|
|
self.check_all("macurl2path")
|
|
self.check_all("mailbox")
|
|
self.check_all("mailcap")
|
|
self.check_all("mhlib")
|
|
self.check_all("mimetools")
|
|
self.check_all("mimetypes")
|
|
self.check_all("multifile")
|
|
self.check_all("netrc")
|
|
self.check_all("nntplib")
|
|
self.check_all("ntpath")
|
|
self.check_all("opcode")
|
|
self.check_all("optparse")
|
|
self.check_all("os")
|
|
self.check_all("os2emxpath")
|
|
self.check_all("pdb")
|
|
self.check_all("pickle")
|
|
self.check_all("pickletools")
|
|
self.check_all("pipes")
|
|
self.check_all("poplib")
|
|
self.check_all("posixpath")
|
|
self.check_all("pprint")
|
|
self.check_all("profile")
|
|
self.check_all("pstats")
|
|
self.check_all("pty")
|
|
self.check_all("py_compile")
|
|
self.check_all("pyclbr")
|
|
self.check_all("quopri")
|
|
self.check_all("random")
|
|
self.check_all("re")
|
|
self.check_all("repr")
|
|
self.check_all("rfc822")
|
|
self.check_all("rlcompleter")
|
|
self.check_all("robotparser")
|
|
self.check_all("sched")
|
|
self.check_all("sgmllib")
|
|
self.check_all("shelve")
|
|
self.check_all("shlex")
|
|
self.check_all("shutil")
|
|
self.check_all("smtpd")
|
|
self.check_all("smtplib")
|
|
self.check_all("sndhdr")
|
|
self.check_all("socket")
|
|
self.check_all("_strptime")
|
|
self.check_all("symtable")
|
|
self.check_all("tabnanny")
|
|
self.check_all("tarfile")
|
|
self.check_all("telnetlib")
|
|
self.check_all("tempfile")
|
|
self.check_all("textwrap")
|
|
self.check_all("threading")
|
|
self.check_all("timeit")
|
|
self.check_all("tokenize")
|
|
self.check_all("traceback")
|
|
self.check_all("tty")
|
|
self.check_all("unittest")
|
|
self.check_all("urllib")
|
|
self.check_all("urlparse")
|
|
self.check_all("uu")
|
|
self.check_all("warnings")
|
|
self.check_all("wave")
|
|
self.check_all("weakref")
|
|
self.check_all("webbrowser")
|
|
self.check_all("xdrlib")
|
|
self.check_all("zipfile")
|
|
|
|
# rlcompleter needs special consideration; it import readline which
|
|
# initializes GNU readline which calls setlocale(LC_CTYPE, "")... :-(
|
|
try:
|
|
self.check_all("rlcompleter")
|
|
finally:
|
|
try:
|
|
import locale
|
|
except ImportError:
|
|
pass
|
|
else:
|
|
locale.setlocale(locale.LC_CTYPE, 'C')
|
|
|
|
|
|
def test_main():
|
|
run_unittest(AllTest)
|
|
|
|
if __name__ == "__main__":
|
|
test_main()
|