[ctypes-commit] ctypes/ctypes/test __init__.py,1.1.2.3,1.1.2.4
Brought to you by:
theller
From: Thomas H. <th...@us...> - 2006-01-16 08:40:08
|
Update of /cvsroot/ctypes/ctypes/ctypes/test In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2169 Modified Files: Tag: branch_1_0 __init__.py Log Message: Allow tests to be loaded from the __loader__, if ctypes is imported with zipimport. Index: __init__.py =================================================================== RCS file: /cvsroot/ctypes/ctypes/ctypes/test/Attic/__init__.py,v retrieving revision 1.1.2.3 retrieving revision 1.1.2.4 diff -C2 -d -r1.1.2.3 -r1.1.2.4 *** __init__.py 2 Jan 2006 19:12:01 -0000 1.1.2.3 --- __init__.py 16 Jan 2006 08:40:01 -0000 1.1.2.4 *************** *** 36,56 **** raise ResourceDenied(msg) def get_tests(package, mask, verbosity): """Return a list of skipped test modules, and a list of test cases.""" - test_dir = package.__path__[0] - import fnmatch tests = [] skipped = [] ! for fname in fnmatch.filter(os.listdir(test_dir), mask): ! ## for fname in glob.glob(mask): try: ! mod = __import__("%s.%s" % (package.__name__, fname[:-3]), globals(), locals(), ['*']) except ResourceDenied, detail: ! skipped.append(fname) if verbosity > 1: ! print >> sys.stderr, "Skipped %s: %s" % (fname, detail) continue except Exception, detail: ! print >> sys.stderr, "Warning: could not import %s: %s" % (fname, detail) continue for name in dir(mod): --- 36,67 ---- raise ResourceDenied(msg) + def find_package_modules(package, mask): + import fnmatch + if hasattr(package, "__loader__"): + path = package.__name__.replace(".", os.path.sep) + mask = os.path.join(path, mask) + for fnm in package.__loader__._files.iterkeys(): + if fnmatch.fnmatchcase(fnm, mask): + yield os.path.splitext(fnm)[0].replace(os.path.sep, ".") + else: + path = package.__path__[0] + for fnm in os.listdir(path): + if fnmatch.fnmatchcase(fnm, mask): + yield "%s.%s" % (package.__name__, os.path.splitext(fnm)[0]) + def get_tests(package, mask, verbosity): """Return a list of skipped test modules, and a list of test cases.""" tests = [] skipped = [] ! for modname in find_package_modules(package, mask): try: ! mod = __import__(modname, globals(), locals(), ['*']) except ResourceDenied, detail: ! skipped.append(modname) if verbosity > 1: ! print >> sys.stderr, "Skipped %s: %s" % (modname, detail) continue except Exception, detail: ! print >> sys.stderr, "Warning: could not import %s: %s" % (modname, detail) continue for name in dir(mod): |