Commit cef52300 authored by Guido van Rossum's avatar Guido van Rossum

- Use "exec ... in dict" to avoid having to walk on eggshells; locals

  no don't have to start with underscore.

- Add spaces after commas in argument lists.

- Only test dbhash if bsddb can be imported.  (Wonder if there are
  more like this?)
parent f3caa8ac
from test_support import verify, verbose, TestFailed from test_support import verify, verbose
import sys import sys
def check_all(_modname): def check_all(modname):
exec "import %s" % _modname names = {}
verify(hasattr(sys.modules[_modname],"__all__"), exec "import %s" % modname in names
"%s has no __all__ attribute" % _modname) verify(hasattr(sys.modules[modname], "__all__"),
exec "del %s" % _modname "%s has no __all__ attribute" % modname)
exec "from %s import *" % _modname names = {}
exec "from %s import *" % modname in names
_keys = locals().keys() del names["__builtins__"]
_keys.remove("_modname") keys = names.keys()
_keys.sort() keys.sort()
all = list(sys.modules[_modname].__all__) # in case it's a tuple all = list(sys.modules[modname].__all__) # in case it's a tuple
all.sort() all.sort()
verify(_keys==all,"%s != %s" % (_keys,all)) verify(keys==all, "%s != %s" % (keys, all))
check_all("BaseHTTPServer") check_all("BaseHTTPServer")
check_all("Bastion") check_all("Bastion")
...@@ -48,7 +48,13 @@ check_all("commands") ...@@ -48,7 +48,13 @@ check_all("commands")
check_all("compileall") check_all("compileall")
check_all("copy") check_all("copy")
check_all("copy_reg") check_all("copy_reg")
check_all("dbhash") try:
import bsddb
except ImportError:
if verbose:
print "can't import bsddb, so skipping dbhash"
else:
check_all("dbhash")
check_all("dircache") check_all("dircache")
check_all("dis") check_all("dis")
check_all("doctest") check_all("doctest")
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment