mirror of
https://github.com/python/cpython.git
synced 2025-07-25 04:04:13 +00:00

svn+ssh://pythondev@svn.python.org/python/trunk ........ r66321 | brett.cannon | 2008-09-08 17:49:16 -0700 (Mon, 08 Sep 2008) | 7 lines warnings.catch_warnings() now returns a list or None instead of the custom WarningsRecorder object. This makes the API simpler to use as no special object must be learned. Closes issue 3781. Review by Benjamin Peterson. ........
162 lines
5.3 KiB
Python
162 lines
5.3 KiB
Python
import unittest
|
|
from test.support import run_unittest
|
|
import sys
|
|
import warnings
|
|
|
|
|
|
class AllTest(unittest.TestCase):
|
|
|
|
def check_all(self, modname):
|
|
names = {}
|
|
with warnings.catch_warnings():
|
|
warnings.filterwarnings("ignore", ".* (module|package)",
|
|
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("http.server")
|
|
self.check_all("configparser")
|
|
self.check_all("http.cookies")
|
|
self.check_all("queue")
|
|
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("collections")
|
|
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("compileall")
|
|
self.check_all("copy")
|
|
self.check_all("copyreg")
|
|
self.check_all("csv")
|
|
self.check_all("dbm.bsd")
|
|
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("http.client")
|
|
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("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("reprlib")
|
|
self.check_all("rlcompleter")
|
|
self.check_all("urllib.robotparser")
|
|
self.check_all("sched")
|
|
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("test.support")
|
|
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("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()
|