mirror of
https://github.com/python/cpython.git
synced 2025-07-16 15:55:18 +00:00

functions have been added to the subprocess module. The fixer for this still needs to be written and proper Py3K deprecation warnings for the functions that didn't make the transition need to be done in 2.6. This is all part of trying to close issue #2872.
168 lines
5.5 KiB
Python
168 lines
5.5 KiB
Python
import unittest
|
|
from 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|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("htmllib")
|
|
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("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("reprlib")
|
|
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("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("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()
|