text: import unittest
  from test import test_support
  
  from test.test_support import verify, verbose
  import sys
  import warnings
  
  warnings.filterwarnings("ignore", ".* 'pre' .*", DeprecationWarning,
                          r'pre$')
  warnings.filterwarnings("ignore", ".* regsub .*", DeprecationWarning,
                          r'^regsub$')
  warnings.filterwarnings("ignore", ".* statcache .*", DeprecationWarning,
                          r'statcache$')
  
  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__"]
          keys = set(names)
          all = set(sys.modules[modname].__all__)
          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")
          self.check_all("Bastion")
          self.check_all("CGIHTTPServer")
          self.check_all("ConfigParser")
          self.check_all("Cookie")
          self.check_all("MimeWriter")
          self.check_all("Queue")
          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")
          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("gopherlib")
          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("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")
          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("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")
          self.check_all("rlcompleter")
          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")
          self.check_all("_strptime")
          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")
          self.check_all("timeit")
          self.check_all("toaiff")
          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():
      test_support.run_unittest(AllTest)
  
  if __name__ == "__main__":
      test_main()
  