| 
									
										
										
										
											2003-04-15 11:10:33 +00:00
										 |  |  | import unittest | 
					
						
							|  |  |  | from test import test_support | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2002-07-30 23:27:12 +00:00
										 |  |  | from test.test_support import verify, verbose | 
					
						
							| 
									
										
										
										
											2001-01-20 19:54:20 +00:00
										 |  |  | import sys | 
					
						
							| 
									
										
										
										
											2002-04-11 20:04:12 +00:00
										 |  |  | import warnings | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2002-04-16 01:27:44 +00:00
										 |  |  | warnings.filterwarnings("ignore", ".* 'pre' .*", DeprecationWarning, | 
					
						
							|  |  |  |                         r'pre$') | 
					
						
							|  |  |  | warnings.filterwarnings("ignore", ".* regsub .*", DeprecationWarning, | 
					
						
							|  |  |  |                         r'^regsub$') | 
					
						
							|  |  |  | warnings.filterwarnings("ignore", ".* statcache .*", DeprecationWarning, | 
					
						
							|  |  |  |                         r'statcache$') | 
					
						
							| 
									
										
										
										
											2001-01-20 19:54:20 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2003-04-15 11:10:33 +00:00
										 |  |  | class AllTest(unittest.TestCase): | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     def check_all(self, modname): | 
					
						
							|  |  |  |         names = {} | 
					
						
							|  |  |  |         try: | 
					
						
							|  |  |  |             exec "import %s" % modname in names | 
					
						
							|  |  |  |         except ImportError: | 
					
						
							|  |  |  |             # Silent fail here seems the best route since some modules | 
					
						
							|  |  |  |             # may not be available in all environments. | 
					
						
							|  |  |  |             return | 
					
						
							|  |  |  |         verify(hasattr(sys.modules[modname], "__all__"), | 
					
						
							|  |  |  |                "%s has no __all__ attribute" % modname) | 
					
						
							|  |  |  |         names = {} | 
					
						
							|  |  |  |         exec "from %s import *" % modname in names | 
					
						
							|  |  |  |         if names.has_key("__builtins__"): | 
					
						
							|  |  |  |             del names["__builtins__"] | 
					
						
							| 
									
										
										
										
											2003-11-16 16:17:49 +00:00
										 |  |  |         keys = set(names) | 
					
						
							|  |  |  |         all = set(sys.modules[modname].__all__) | 
					
						
							| 
									
										
										
										
											2003-04-15 11:10:33 +00:00
										 |  |  |         verify(keys==all, "%s != %s" % (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") | 
					
						
							| 
									
										
										
										
											2003-05-02 09:36:07 +00:00
										 |  |  |         self.check_all("Bastion") | 
					
						
							| 
									
										
										
										
											2003-04-15 11:10:33 +00:00
										 |  |  |         self.check_all("CGIHTTPServer") | 
					
						
							|  |  |  |         self.check_all("ConfigParser") | 
					
						
							|  |  |  |         self.check_all("Cookie") | 
					
						
							|  |  |  |         self.check_all("MimeWriter") | 
					
						
							| 
									
										
										
										
											2003-09-16 04:37:39 +00:00
										 |  |  |         self.check_all("Queue") | 
					
						
							| 
									
										
										
										
											2003-04-15 11:10:33 +00:00
										 |  |  |         self.check_all("SimpleHTTPServer") | 
					
						
							|  |  |  |         self.check_all("SocketServer") | 
					
						
							|  |  |  |         self.check_all("StringIO") | 
					
						
							|  |  |  |         self.check_all("UserString") | 
					
						
							|  |  |  |         self.check_all("aifc") | 
					
						
							|  |  |  |         self.check_all("atexit") | 
					
						
							|  |  |  |         self.check_all("audiodev") | 
					
						
							|  |  |  |         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("copy_reg") | 
					
						
							| 
									
										
										
										
											2003-05-10 05:37:13 +00:00
										 |  |  |         self.check_all("csv") | 
					
						
							| 
									
										
										
										
											2003-04-15 11:10:33 +00:00
										 |  |  |         self.check_all("dbhash") | 
					
						
							| 
									
										
										
										
											2004-07-01 11:15:39 +00:00
										 |  |  |         self.check_all("decimal") | 
					
						
							| 
									
										
										
										
											2003-04-15 11:10:33 +00:00
										 |  |  |         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("gopherlib") | 
					
						
							|  |  |  |         self.check_all("gzip") | 
					
						
							| 
									
										
										
										
											2004-06-13 05:46:14 +00:00
										 |  |  |         self.check_all("heapq") | 
					
						
							| 
									
										
										
										
											2003-04-15 11:10:33 +00:00
										 |  |  |         self.check_all("htmllib") | 
					
						
							|  |  |  |         self.check_all("httplib") | 
					
						
							|  |  |  |         self.check_all("ihooks") | 
					
						
							|  |  |  |         self.check_all("imaplib") | 
					
						
							|  |  |  |         self.check_all("imghdr") | 
					
						
							|  |  |  |         self.check_all("imputil") | 
					
						
							|  |  |  |         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("mimify") | 
					
						
							|  |  |  |         self.check_all("multifile") | 
					
						
							|  |  |  |         self.check_all("netrc") | 
					
						
							|  |  |  |         self.check_all("nntplib") | 
					
						
							|  |  |  |         self.check_all("ntpath") | 
					
						
							|  |  |  |         self.check_all("opcode") | 
					
						
							| 
									
										
										
										
											2003-05-10 05:37:13 +00:00
										 |  |  |         self.check_all("optparse") | 
					
						
							| 
									
										
										
										
											2003-04-15 11:10:33 +00:00
										 |  |  |         self.check_all("os") | 
					
						
							|  |  |  |         self.check_all("os2emxpath") | 
					
						
							|  |  |  |         self.check_all("pdb") | 
					
						
							|  |  |  |         self.check_all("pickle") | 
					
						
							|  |  |  |         self.check_all("pipes") | 
					
						
							|  |  |  |         self.check_all("popen2") | 
					
						
							|  |  |  |         self.check_all("poplib") | 
					
						
							|  |  |  |         self.check_all("posixpath") | 
					
						
							|  |  |  |         self.check_all("pprint") | 
					
						
							|  |  |  |         self.check_all("pre")  # deprecated | 
					
						
							|  |  |  |         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("reconvert") | 
					
						
							|  |  |  |         self.check_all("regsub") | 
					
						
							|  |  |  |         self.check_all("repr") | 
					
						
							|  |  |  |         self.check_all("rexec") | 
					
						
							|  |  |  |         self.check_all("rfc822") | 
					
						
							| 
									
										
										
										
											2003-05-02 09:36:07 +00:00
										 |  |  |         self.check_all("rlcompleter") | 
					
						
							| 
									
										
										
										
											2003-04-15 11:10:33 +00:00
										 |  |  |         self.check_all("robotparser") | 
					
						
							|  |  |  |         self.check_all("sched") | 
					
						
							|  |  |  |         self.check_all("sets") | 
					
						
							|  |  |  |         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("sre") | 
					
						
							| 
									
										
										
										
											2003-05-02 09:36:07 +00:00
										 |  |  |         self.check_all("_strptime") | 
					
						
							| 
									
										
										
										
											2003-04-15 11:10:33 +00:00
										 |  |  |         self.check_all("statcache") | 
					
						
							|  |  |  |         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") | 
					
						
							| 
									
										
										
										
											2003-05-02 09:36:07 +00:00
										 |  |  |         self.check_all("timeit") | 
					
						
							| 
									
										
										
										
											2003-04-15 11:10:33 +00:00
										 |  |  |         self.check_all("toaiff") | 
					
						
							|  |  |  |         self.check_all("tokenize") | 
					
						
							|  |  |  |         self.check_all("traceback") | 
					
						
							|  |  |  |         self.check_all("tty") | 
					
						
							| 
									
										
										
										
											2003-09-16 04:37:39 +00:00
										 |  |  |         self.check_all("unittest") | 
					
						
							| 
									
										
										
										
											2003-04-15 11:10:33 +00:00
										 |  |  |         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, "")... :-( | 
					
						
							| 
									
										
										
										
											2001-02-12 03:27:31 +00:00
										 |  |  |         try: | 
					
						
							| 
									
										
										
										
											2003-04-15 11:10:33 +00:00
										 |  |  |             self.check_all("rlcompleter") | 
					
						
							|  |  |  |         finally: | 
					
						
							|  |  |  |             try: | 
					
						
							|  |  |  |                 import locale | 
					
						
							|  |  |  |             except ImportError: | 
					
						
							|  |  |  |                 pass | 
					
						
							|  |  |  |             else: | 
					
						
							|  |  |  |                 locale.setlocale(locale.LC_CTYPE, 'C') | 
					
						
							| 
									
										
										
										
											2001-01-20 19:54:20 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2001-08-09 21:40:30 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2003-04-15 11:10:33 +00:00
										 |  |  | def test_main(): | 
					
						
							| 
									
										
										
										
											2003-05-01 17:45:56 +00:00
										 |  |  |     test_support.run_unittest(AllTest) | 
					
						
							| 
									
										
										
										
											2002-10-09 18:17:06 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2003-04-15 11:10:33 +00:00
										 |  |  | if __name__ == "__main__": | 
					
						
							|  |  |  |     test_main() |