| import py |
| import types |
| import sys |
| |
| def checksubpackage(name): |
| obj = getattr(py, name) |
| if hasattr(obj, '__map__'): # isinstance(obj, Module): |
| keys = dir(obj) |
| assert len(keys) > 0 |
| print (obj.__map__) |
| for name in list(obj.__map__): |
| assert hasattr(obj, name), (obj, name) |
| |
| def test_dir(): |
| for name in dir(py): |
| if not name.startswith('_'): |
| yield checksubpackage, name |
| |
| def test_virtual_module_identity(): |
| from py import path as path1 |
| from py import path as path2 |
| assert path1 is path2 |
| from py.path import local as local1 |
| from py.path import local as local2 |
| assert local1 is local2 |
| |
| def test_importall(): |
| base = py._pydir |
| nodirs = [ |
| ] |
| if sys.version_info >= (3,0): |
| nodirs.append(base.join('_code', '_assertionold.py')) |
| else: |
| nodirs.append(base.join('_code', '_assertionnew.py')) |
| |
| def recurse(p): |
| return p.check(dotfile=0) and p.basename != "attic" |
| |
| for p in base.visit('*.py', recurse): |
| if p.basename == '__init__.py': |
| continue |
| relpath = p.new(ext='').relto(base) |
| if base.sep in relpath: # not py/*.py itself |
| for x in nodirs: |
| if p == x or p.relto(x): |
| break |
| else: |
| relpath = relpath.replace(base.sep, '.') |
| modpath = 'py.%s' % relpath |
| try: |
| check_import(modpath) |
| except py.test.skip.Exception: |
| pass |
| |
| def check_import(modpath): |
| py.builtin.print_("checking import", modpath) |
| assert __import__(modpath) |
| |
| def test_all_resolves(): |
| seen = py.builtin.set([py]) |
| lastlength = None |
| while len(seen) != lastlength: |
| lastlength = len(seen) |
| for item in py.builtin.frozenset(seen): |
| for value in item.__dict__.values(): |
| if isinstance(value, type(py.test)): |
| seen.add(value) |
| |