def test_skip_exact_pattern(): files = """ relimp: - __init__.py - a.py: | from . import b from . import c - b.py: | from .c import d - c: - __init__.py - d.py """ with create_files(files) as workdir: print('plain', simpledeps('relimp')) assert simpledeps('relimp') == { 'relimp.b -> relimp.a', 'relimp.c.d -> relimp.b', 'relimp.c -> relimp.b', 'relimp.c -> relimp.a', } print('plain', simpledeps('relimp', '-xx relimp.c')) assert simpledeps('relimp', '-xx relimp.c') == { 'relimp.b -> relimp.a', 'relimp.c.d -> relimp.b', # this should remain # 'relimp.c -> relimp.b', # these should be filtered away.. # 'relimp.c -> relimp.a', }
def test_skip_module_pattern(): files = """ relimp: - __init__.py - a.py: | from . import b - b.py: | from . import c - c.py """ with create_files(files) as workdir: print("-x", simpledeps('relimp', '-x relimp.*')) assert simpledeps('relimp', '-x relimp.*') == set()
def test_skip_exact(): files = """ relimp: - __init__.py - a.py: | from . import b - b.py: | from . import c - c.py """ with create_files(files) as workdir: print('-xx', simpledeps('relimp', '-xx relimp.c')) assert simpledeps('relimp', '-xx relimp.c') == { 'relimp.b -> relimp.a' }
def test_file_pyliball(): files = """ a.py: | import collections """ with create_files(files) as workdir: assert 'collections -> a' in simpledeps('a', '--pylib --pylib-all')
def test_file(): files = """ a.py: | import collections """ with create_files(files) as workdir: assert simpledeps('a.py') == set()
def test_file_pyliball(): files = """ a.py: | import collections """ with create_files(files) as workdir: assert 'collections -> a' in simpledeps('a.py', '--pylib --pylib-all')
def test_file(): files = """ a.py: | import collections """ with create_files(files) as workdir: assert simpledeps('a') == []
def test_no_skip(): files = """ relimp: - __init__.py - a.py: | from . import b - b.py: | from . import c - c.py """ with create_files(files) as workdir: print("plain", simpledeps('relimp')) assert simpledeps('relimp') == { 'relimp.b -> relimp.a', 'relimp.c -> relimp.b' }
def test_py2depgraph(capsys): files = """ - a.py: | import b - b.py """ with create_files(files) as workdir: assert simpledeps('a') == ['b -> a']
def test_relative_imports(): files = """ relimp: - __init__.py - a.py: | from . import b - b.py """ with create_files(files) as workdir: assert simpledeps('relimp') == {'relimp.b -> relimp.a'}
def test_relative_imports(): files = """ relimp: - __init__.py - a.py: | from . import b - b.py """ with create_files(files) as workdir: assert simpledeps('relimp') == ['relimp.b -> relimp.a']
def test_relative_imports_same_name_with_std_future(): files = """ relimp: - __init__.py - io.py: | from __future__ import absolute_import import io """ with create_files(files) as workdir: deps = {'__future__ -> relimp.io', 'io -> relimp.io'} assert simpledeps('relimp', '--pylib') == deps
def test_dep2dot(): files = """ foo: - __init__.py - a.py: | import b - b.py """ with create_files(files) as workdir: assert simpledeps('foo') == ['foo.b -> foo.a'] pydeps._pydeps(**pydeps.parse_args(["foo", "--noshow"])) assert os.path.exists(os.path.join(workdir, 'foo.svg'))
def test_relative_imports_same_name_with_std(): files = """ relimp: - __init__.py - io.py: | import io """ with create_files(files) as workdir: if sys.version_info < (3, ): # pragma: nocover deps = {'relimp.io -> relimp.io'} else: # pragma: nocover deps = {'io -> relimp.io'} assert simpledeps('relimp', '--pylib') == deps
def test_from_html5lib(): files = """ foo: - __init__.py - a.py: | from bar import py bar: - __init__.py """ with create_files(files) as workdir: assert simpledeps('foo', '--show-deps -LINFO -vv') == { 'bar -> foo.a', }
def test_relative_imports_same_name_with_std(): files = """ relimp: - __init__.py - io.py: | import io """ with create_files(files) as workdir: if sys.version_info < (3,): # pragma: nocover deps = {'relimp.io -> relimp.io'} else: # pragma: nocover deps = {'io -> relimp.io'} assert simpledeps('relimp', '--pylib') == deps
def test_relative_imports2(): files = """ relimp: - __init__.py - a.py: | from . import b - b.py: | from . import c - c.py """ with create_files(files) as workdir: deps = simpledeps('relimp') assert 'relimp.c -> relimp.b' in deps assert 'relimp.b -> relimp.a' in deps
def test_relative_imports_same_name_with_std_future(): files = """ relimp: - __init__.py - io.py: | from __future__ import absolute_import import io """ with create_files(files) as workdir: deps = { '__future__ -> relimp.io', 'io -> relimp.io' } assert simpledeps('relimp', '--pylib') == deps
def test_skip_modules(): files = """ relimp: - __init__.py - a.py: | from . import b - b.py: | from . import c - c.py """ with create_files(files) as workdir: assert simpledeps('relimp', '-x relimp.c') == [ 'relimp.b -> relimp.a' ]
def test_relative_imports2(): files = """ relimp: - __init__.py - a.py: | from . import b - b.py: | from . import c - c.py """ with create_files(files) as workdir: deps = simpledeps('relimp') assert 'relimp.c -> relimp.b' in deps assert 'relimp.b -> relimp.a' in deps
def test_dep2dot(): files = """ foo: - __init__.py - a.py: | from . import b - b.py """ with create_files(files) as workdir: assert simpledeps('foo', '-LDEBUG -vv') == {'foo.b -> foo.a'} args = pydeps.cli.parse_args(["foo", "--noshow"]) pydeps.pydeps(**args) assert os.path.exists(os.path.join(workdir, 'foo.svg'))
def test_cycle(): files = """ relimp: - __init__.py - a.py: | from . import b - b.py: | from . import a """ with create_files(files, cleanup=False) as workdir: print("WORKDIR:", workdir) deps = simpledeps('relimp') assert 'relimp.a -> relimp.b' in deps assert 'relimp.b -> relimp.a' in deps
def test_relative_imports(): files = """ foo: - __init__.py - a.py: | from bar import b bar: - __init__.py - b.py """ with create_files(files) as workdir: assert simpledeps('foo') == {'bar -> foo.a', 'bar.b -> foo.a'} assert pydeps(fname='foo', externals=True) == ['bar']
def test_rawdeps(): files = """ relimp: - __init__.py - a.py: | from . import b - b.py: | from . import c - c.py """ with create_files(files) as workdir: assert simpledeps('relimp', '--show-raw-deps -x relimp.c') == { 'relimp.b -> relimp.a' }
def test_relative_imports(capsys): files = """ foo: - __init__.py - a.py: | from bar import b bar: - __init__.py - b.py """ with create_files(files) as workdir: assert simpledeps('foo') == {'bar -> foo.a', 'bar.b -> foo.a'} pydeps(fname='foo', externals=True) io = capsys.readouterr() assert ast.literal_eval(io.out) == ['bar']
def test_dep2dot(): files = """ foo: - __init__.py - a.py: | from . import b - b.py """ with create_files(files) as workdir: assert simpledeps('foo', '-LDEBUG -vv') == { 'foo.b -> foo.a' } args = pydeps.cli.parse_args(["foo", "--noshow"]) pydeps.pydeps(**args) assert os.path.exists(os.path.join(workdir, 'foo.svg'))
def test_pydeps_colors(): files = """ pdeps: - __init__.py - colors.py: | import colorsys - depgraph.py: | import json import pprint import enum from . import colors """ with create_files(files, cleanup=False) as workdir: assert simpledeps('pdeps', '-x enum') == { 'pdeps.colors -> pdeps.depgraph', }
def test_pydeps_colors(): files = """ pdeps: - __init__.py - colors.py: | import colorsys - depgraph.py: | import json import pprint import enum from . import colors """ with create_files(files, cleanup=False) as workdir: assert simpledeps('pdeps') == [ 'pdeps.colors -> pdeps.depgraph', ]
def test_hierarchy(): files = """ relimp: - __init__.py - a: - __init__.py - amodule.py: | from ..b import bmodule - b: - __init__.py - bmodule.py """ with create_files(files, cleanup=True) as workdir: os.system("tree " + workdir) assert simpledeps('relimp') == ['relimp.b.bmodule -> relimp.a.amodule']
def test_hierarchy(): files = """ relimp: - __init__.py - a: - __init__.py - amodule.py: | from ..b import bmodule - b: - __init__.py - bmodule.py """ with create_files(files, cleanup=True) as workdir: os.system("tree " + workdir) deps = simpledeps('relimp') assert 'relimp.b -> relimp.a.amodule' in deps assert 'relimp.b.bmodule -> relimp.a.amodule' in deps