PageRenderTime 55ms CodeModel.GetById 28ms RepoModel.GetById 0ms app.codeStats 0ms

/Lib/test/test___all__.py

https://bitbucket.org/glix/python
Python | 183 lines | 167 code | 10 blank | 6 comment | 11 complexity | 79e0aaa4615e85d5006c974ae030a9e1 MD5 | raw file
  1. import unittest
  2. from test.test_support import run_unittest
  3. import sys
  4. import warnings
  5. class AllTest(unittest.TestCase):
  6. def check_all(self, modname):
  7. names = {}
  8. with warnings.catch_warnings():
  9. warnings.filterwarnings("ignore", ".* (module|package)",
  10. DeprecationWarning)
  11. try:
  12. exec "import %s" % modname in names
  13. except ImportError:
  14. # Silent fail here seems the best route since some modules
  15. # may not be available in all environments.
  16. return
  17. self.failUnless(hasattr(sys.modules[modname], "__all__"),
  18. "%s has no __all__ attribute" % modname)
  19. names = {}
  20. exec "from %s import *" % modname in names
  21. if "__builtins__" in names:
  22. del names["__builtins__"]
  23. keys = set(names)
  24. all = set(sys.modules[modname].__all__)
  25. self.assertEqual(keys, all)
  26. def test_all(self):
  27. if not sys.platform.startswith('java'):
  28. # In case _socket fails to build, make this test fail more gracefully
  29. # than an AttributeError somewhere deep in CGIHTTPServer.
  30. import _socket
  31. self.check_all("BaseHTTPServer")
  32. self.check_all("Bastion")
  33. self.check_all("CGIHTTPServer")
  34. self.check_all("ConfigParser")
  35. self.check_all("Cookie")
  36. self.check_all("MimeWriter")
  37. self.check_all("Queue")
  38. self.check_all("SimpleHTTPServer")
  39. self.check_all("SocketServer")
  40. self.check_all("StringIO")
  41. self.check_all("UserString")
  42. self.check_all("aifc")
  43. self.check_all("atexit")
  44. self.check_all("audiodev")
  45. self.check_all("base64")
  46. self.check_all("bdb")
  47. self.check_all("binhex")
  48. self.check_all("calendar")
  49. self.check_all("cgi")
  50. self.check_all("cmd")
  51. self.check_all("code")
  52. self.check_all("codecs")
  53. self.check_all("codeop")
  54. self.check_all("colorsys")
  55. self.check_all("commands")
  56. self.check_all("compileall")
  57. self.check_all("copy")
  58. self.check_all("copy_reg")
  59. self.check_all("csv")
  60. self.check_all("dbhash")
  61. self.check_all("decimal")
  62. self.check_all("difflib")
  63. self.check_all("dircache")
  64. self.check_all("dis")
  65. self.check_all("doctest")
  66. self.check_all("dummy_thread")
  67. self.check_all("dummy_threading")
  68. self.check_all("filecmp")
  69. self.check_all("fileinput")
  70. self.check_all("fnmatch")
  71. self.check_all("fpformat")
  72. self.check_all("ftplib")
  73. self.check_all("getopt")
  74. self.check_all("getpass")
  75. self.check_all("gettext")
  76. self.check_all("glob")
  77. self.check_all("gzip")
  78. self.check_all("heapq")
  79. self.check_all("htmllib")
  80. self.check_all("httplib")
  81. self.check_all("ihooks")
  82. self.check_all("imaplib")
  83. self.check_all("imghdr")
  84. self.check_all("imputil")
  85. self.check_all("keyword")
  86. self.check_all("linecache")
  87. self.check_all("locale")
  88. self.check_all("macpath")
  89. self.check_all("macurl2path")
  90. self.check_all("mailbox")
  91. self.check_all("mailcap")
  92. self.check_all("mhlib")
  93. self.check_all("mimetools")
  94. self.check_all("mimetypes")
  95. self.check_all("mimify")
  96. self.check_all("multifile")
  97. self.check_all("netrc")
  98. self.check_all("nntplib")
  99. self.check_all("ntpath")
  100. self.check_all("opcode")
  101. self.check_all("optparse")
  102. self.check_all("os")
  103. self.check_all("os2emxpath")
  104. self.check_all("pdb")
  105. self.check_all("pickle")
  106. self.check_all("pickletools")
  107. self.check_all("pipes")
  108. self.check_all("popen2")
  109. self.check_all("poplib")
  110. self.check_all("posixpath")
  111. self.check_all("pprint")
  112. self.check_all("profile")
  113. self.check_all("pstats")
  114. self.check_all("pty")
  115. self.check_all("py_compile")
  116. self.check_all("pyclbr")
  117. self.check_all("quopri")
  118. self.check_all("random")
  119. self.check_all("re")
  120. self.check_all("repr")
  121. self.check_all("rexec")
  122. self.check_all("rfc822")
  123. self.check_all("rlcompleter")
  124. self.check_all("robotparser")
  125. self.check_all("sched")
  126. self.check_all("sets")
  127. self.check_all("sgmllib")
  128. self.check_all("shelve")
  129. self.check_all("shlex")
  130. self.check_all("shutil")
  131. self.check_all("smtpd")
  132. self.check_all("smtplib")
  133. self.check_all("sndhdr")
  134. self.check_all("socket")
  135. self.check_all("_strptime")
  136. self.check_all("symtable")
  137. self.check_all("tabnanny")
  138. self.check_all("tarfile")
  139. self.check_all("telnetlib")
  140. self.check_all("tempfile")
  141. self.check_all("test.test_support")
  142. self.check_all("textwrap")
  143. self.check_all("threading")
  144. self.check_all("timeit")
  145. self.check_all("toaiff")
  146. self.check_all("tokenize")
  147. self.check_all("traceback")
  148. self.check_all("tty")
  149. self.check_all("unittest")
  150. self.check_all("urllib")
  151. self.check_all("urlparse")
  152. self.check_all("uu")
  153. self.check_all("warnings")
  154. self.check_all("wave")
  155. self.check_all("weakref")
  156. self.check_all("webbrowser")
  157. self.check_all("xdrlib")
  158. self.check_all("zipfile")
  159. # rlcompleter needs special consideration; it import readline which
  160. # initializes GNU readline which calls setlocale(LC_CTYPE, "")... :-(
  161. try:
  162. self.check_all("rlcompleter")
  163. finally:
  164. try:
  165. import locale
  166. except ImportError:
  167. pass
  168. else:
  169. locale.setlocale(locale.LC_CTYPE, 'C')
  170. def test_main():
  171. run_unittest(AllTest)
  172. if __name__ == "__main__":
  173. test_main()