0001 import unittest 0002 from test import test_support 0003 0004 from test.test_support import verify, verbose 0005 import sys 0006 import warnings 0007 0008 warnings.filterwarnings("ignore", ".* 'pre' .*", DeprecationWarning, 0009 r'pre$') 0010 warnings.filterwarnings("ignore", ".* regsub .*", DeprecationWarning, 0011 r'^regsub$') 0012 warnings.filterwarnings("ignore", ".* statcache .*", DeprecationWarning, 0013 r'statcache$') 0014 0015 class AllTest(unittest.TestCase): 0016 0017 def check_all(self, modname): 0018 names = {} 0019 try: 0020 exec "import %s" % modname in names 0021 except ImportError: 0022 # Silent fail here seems the best route since some modules 0023 # may not be available in all environments. 0024 return 0025 verify(hasattr(sys.modules[modname], "__all__"), 0026 "%s has no __all__ attribute" % modname) 0027 names = {} 0028 exec "from %s import *" % modname in names 0029 if names.has_key("__builtins__"): 0030 del names["__builtins__"] 0031 keys = set(names) 0032 all = set(sys.modules[modname].__all__) 0033 verify(keys==all, "%s != %s" % (keys, all)) 0034 0035 def test_all(self): 0036 if not sys.platform.startswith('java'): 0037 # In case _socket fails to build, make this test fail more gracefully 0038 # than an AttributeError somewhere deep in CGIHTTPServer. 0039 import _socket 0040 0041 self.check_all("BaseHTTPServer") 0042 self.check_all("Bastion") 0043 self.check_all("CGIHTTPServer") 0044 self.check_all("ConfigParser") 0045 self.check_all("Cookie") 0046 self.check_all("MimeWriter") 0047 self.check_all("Queue") 0048 self.check_all("SimpleHTTPServer") 0049 self.check_all("SocketServer") 0050 self.check_all("StringIO") 0051 self.check_all("UserString") 0052 self.check_all("aifc") 0053 self.check_all("atexit") 0054 self.check_all("audiodev") 0055 self.check_all("base64") 0056 self.check_all("bdb") 0057 self.check_all("binhex") 0058 self.check_all("calendar") 0059 self.check_all("cgi") 0060 self.check_all("cmd") 0061 self.check_all("code") 0062 self.check_all("codecs") 0063 self.check_all("codeop") 0064 self.check_all("colorsys") 0065 self.check_all("commands") 0066 self.check_all("compileall") 0067 self.check_all("copy") 0068 self.check_all("copy_reg") 0069 self.check_all("csv") 0070 self.check_all("dbhash") 0071 self.check_all("decimal") 0072 self.check_all("difflib") 0073 self.check_all("dircache") 0074 self.check_all("dis") 0075 self.check_all("doctest") 0076 self.check_all("dummy_thread") 0077 self.check_all("dummy_threading") 0078 self.check_all("filecmp") 0079 self.check_all("fileinput") 0080 self.check_all("fnmatch") 0081 self.check_all("fpformat") 0082 self.check_all("ftplib") 0083 self.check_all("getopt") 0084 self.check_all("getpass") 0085 self.check_all("gettext") 0086 self.check_all("glob") 0087 self.check_all("gopherlib") 0088 self.check_all("gzip") 0089 self.check_all("heapq") 0090 self.check_all("htmllib") 0091 self.check_all("httplib") 0092 self.check_all("ihooks") 0093 self.check_all("imaplib") 0094 self.check_all("imghdr") 0095 self.check_all("imputil") 0096 self.check_all("keyword") 0097 self.check_all("linecache") 0098 self.check_all("locale") 0099 self.check_all("macpath") 0100 self.check_all("macurl2path") 0101 self.check_all("mailbox") 0102 self.check_all("mailcap") 0103 self.check_all("mhlib") 0104 self.check_all("mimetools") 0105 self.check_all("mimetypes") 0106 self.check_all("mimify") 0107 self.check_all("multifile") 0108 self.check_all("netrc") 0109 self.check_all("nntplib") 0110 self.check_all("ntpath") 0111 self.check_all("opcode") 0112 self.check_all("optparse") 0113 self.check_all("os") 0114 self.check_all("os2emxpath") 0115 self.check_all("pdb") 0116 self.check_all("pickle") 0117 self.check_all("pipes") 0118 self.check_all("popen2") 0119 self.check_all("poplib") 0120 self.check_all("posixpath") 0121 self.check_all("pprint") 0122 self.check_all("pre") # deprecated 0123 self.check_all("profile") 0124 self.check_all("pstats") 0125 self.check_all("pty") 0126 self.check_all("py_compile") 0127 self.check_all("pyclbr") 0128 self.check_all("quopri") 0129 self.check_all("random") 0130 self.check_all("re") 0131 self.check_all("reconvert") 0132 self.check_all("regsub") 0133 self.check_all("repr") 0134 self.check_all("rexec") 0135 self.check_all("rfc822") 0136 self.check_all("rlcompleter") 0137 self.check_all("robotparser") 0138 self.check_all("sched") 0139 self.check_all("sets") 0140 self.check_all("sgmllib") 0141 self.check_all("shelve") 0142 self.check_all("shlex") 0143 self.check_all("shutil") 0144 self.check_all("smtpd") 0145 self.check_all("smtplib") 0146 self.check_all("sndhdr") 0147 self.check_all("socket") 0148 self.check_all("sre") 0149 self.check_all("_strptime") 0150 self.check_all("statcache") 0151 self.check_all("symtable") 0152 self.check_all("tabnanny") 0153 self.check_all("tarfile") 0154 self.check_all("telnetlib") 0155 self.check_all("tempfile") 0156 self.check_all("textwrap") 0157 self.check_all("threading") 0158 self.check_all("timeit") 0159 self.check_all("toaiff") 0160 self.check_all("tokenize") 0161 self.check_all("traceback") 0162 self.check_all("tty") 0163 self.check_all("unittest") 0164 self.check_all("urllib") 0165 self.check_all("urlparse") 0166 self.check_all("uu") 0167 self.check_all("warnings") 0168 self.check_all("wave") 0169 self.check_all("weakref") 0170 self.check_all("webbrowser") 0171 self.check_all("xdrlib") 0172 self.check_all("zipfile") 0173 0174 # rlcompleter needs special consideration; it import readline which 0175 # initializes GNU readline which calls setlocale(LC_CTYPE, "")... :-( 0176 try: 0177 self.check_all("rlcompleter") 0178 finally: 0179 try: 0180 import locale 0181 except ImportError: 0182 pass 0183 else: 0184 locale.setlocale(locale.LC_CTYPE, 'C') 0185 0186 0187 def test_main(): 0188 test_support.run_unittest(AllTest) 0189 0190 if __name__ == "__main__": 0191 test_main() 0192
Generated by PyXR 0.9.4