Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
sys.path.append('/home/joncrall/code/xdoctest/testing')
from test_static import *
temp = utils.TempDir()
temp.__enter__()
sys.path.append(temp.dpath)
temp.__exit__(None, None, None)
%timeit _syspath_modname_to_modpath('xdoctest.static_analysis')
%timeit _pkgutil_modname_to_modpath('xdoctest.static_analysis')
"""
with utils.TempDir() as temp:
dpath = temp.dpath
# Some "bad" non-module directories
tmpbad = utils.ensuredir((dpath, '_tmpbad'))
# Make a submodule of a bad directory, look good.
sub_bad = utils.ensuredir((tmpbad, 'sub_bad'))
touch((tmpbad, '_inbad.py'))
subbad = touch((sub_bad, '__init__.py')) # NOQA
b0 = touch((sub_bad, 'b0.py')) # NOQA
with utils.PythonPathContext(dpath):
assert _static_modname_to_modpath('_tmpbad') is None
# Tricky case, these modules look good outside of _tmpbad WOW, you
# can actually import this and it works, but pkgloader still
# returns None so we should too.
assert _static_modname_to_modpath('_tmpbad.sub_bad') is None
assert _static_modname_to_modpath('_tmpbad.sub_bad.b0') is None
Ignore:
import sys
sys.path.append('/home/joncrall/code/xdoctest/testing')
from test_static import *
temp = utils.TempDir()
temp.__enter__()
sys.path.append(temp.dpath)
temp.__exit__(None, None, None)
"""
with utils.TempDir() as temp:
dpath = temp.dpath
# Create a dummy package heirachy
root = utils.ensuredir((dpath, '_tmproot'))
sub1 = utils.ensuredir((root, 'sub1'))
sub2 = utils.ensuredir((sub1, 'sub2'))
root_init = touch((root, '__init__.py'))
sub1_init = touch((sub1, '__init__.py'))
sub2_init = touch((sub2, '__init__.py'))
mod0 = touch((root, 'mod0.py'))
mod1 = touch((sub1, 'mod1.py'))
mod2 = touch((sub2, 'mod2.py'))
root_main = touch((root, '__main__.py'))
sub2_main = touch((sub2, '__main__.py'))
bad1 = utils.ensuredir((root, 'bad1'))
bad2 = utils.ensuredir((sub1, 'bad2'))
sub1 = utils.ensuredir((root, 'sub1'))
sub2 = utils.ensuredir((sub1, 'sub2'))
root_init = touch((root, '__init__.py'))
sub1_init = touch((sub1, '__init__.py'))
sub2_init = touch((sub2, '__init__.py'))
mod0 = touch((root, 'mod0.py'))
mod1 = touch((sub1, 'mod1.py'))
mod2 = touch((sub2, 'mod2.py'))
root_main = touch((root, '__main__.py'))
sub2_main = touch((sub2, '__main__.py'))
bad1 = utils.ensuredir((root, 'bad1'))
bad2 = utils.ensuredir((sub1, 'bad2'))
touch((bad1, 'b0.py'))
touch((bad2, 'b0.py'))
with utils.PythonPathContext(dpath):
# Bad module directories should return None
assert _static_modname_to_modpath('_tmproot.bad1') is None
assert _static_modname_to_modpath('_tmproot.sub1.bad1') is None
assert _static_modname_to_modpath('_tmproot.bad1.b0') is None
assert _static_modname_to_modpath('_tmproot.sub1.bad1.b1') is None
assert _static_modname_to_modpath('_tmproot.bad1') is None
# package modules are accessable by the full path
assert root == _static_modname_to_modpath('_tmproot')
assert sub1 == _static_modname_to_modpath('_tmproot.sub1')
assert sub2 == _static_modname_to_modpath('_tmproot.sub1.sub2')
assert mod0 == _static_modname_to_modpath('_tmproot.mod0')
sub1 = utils.ensuredir((root, 'sub1'))
sub2 = utils.ensuredir((sub1, 'sub2'))
root_init = touch((root, '__init__.py'))
sub1_init = touch((sub1, '__init__.py'))
sub2_init = touch((sub2, '__init__.py'))
mod0 = touch((root, 'mod0.py'))
mod1 = touch((sub1, 'mod1.py'))
mod2 = touch((sub2, 'mod2.py'))
root_main = touch((root, '__main__.py'))
sub2_main = touch((sub2, '__main__.py'))
bad1 = utils.ensuredir((root, 'bad1'))
bad2 = utils.ensuredir((sub1, 'bad2'))
b0 = touch((bad1, 'b0.py'))
b1 = touch((bad2, 'b1.py'))
with utils.PythonPathContext(dpath):
assert static.modpath_to_modname(root) == '_tmproot'
assert static.modpath_to_modname(sub1) == '_tmproot.sub1'
assert static.modpath_to_modname(sub2) == '_tmproot.sub1.sub2'
assert static.modpath_to_modname(mod0) == '_tmproot.mod0'
assert static.modpath_to_modname(mod1) == '_tmproot.sub1.mod1'
assert static.modpath_to_modname(mod2) == '_tmproot.sub1.sub2.mod2'
assert static.modpath_to_modname(root_init) == '_tmproot'
assert static.modpath_to_modname(sub1_init) == '_tmproot.sub1'
assert static.modpath_to_modname(sub2_init) == '_tmproot.sub1.sub2'
Ignore:
import sys
sys.path.append('/home/joncrall/code/xdoctest/testing')
from test_static import *
temp = utils.TempDir()
temp.__enter__()
sys.path.append(temp.dpath)
temp.__exit__(None, None, None)
"""
with utils.TempDir() as temp:
dpath = temp.dpath
# Create a dummy package heirachy
root = utils.ensuredir((dpath, '_tmproot'))
sub1 = utils.ensuredir((root, 'sub1'))
sub2 = utils.ensuredir((sub1, 'sub2'))
root_init = touch((root, '__init__.py'))
sub1_init = touch((sub1, '__init__.py'))
sub2_init = touch((sub2, '__init__.py'))
mod0 = touch((root, 'mod0.py'))
mod1 = touch((sub1, 'mod1.py'))
mod2 = touch((sub2, 'mod2.py'))
root_main = touch((root, '__main__.py'))
sub2_main = touch((sub2, '__main__.py'))
bad1 = utils.ensuredir((root, 'bad1'))
bad2 = utils.ensuredir((sub1, 'bad2'))
import sys
sys.path.append('/home/joncrall/code/xdoctest/testing')
from test_static import *
temp = utils.TempDir()
temp.__enter__()
sys.path.append(temp.dpath)
temp.__exit__(None, None, None)
"""
with utils.TempDir() as temp:
dpath = temp.dpath
# Create a dummy package heirachy
root = utils.ensuredir((dpath, '_tmproot'))
sub1 = utils.ensuredir((root, 'sub1'))
sub2 = utils.ensuredir((sub1, 'sub2'))
root_init = touch((root, '__init__.py'))
sub1_init = touch((sub1, '__init__.py'))
sub2_init = touch((sub2, '__init__.py'))
mod0 = touch((root, 'mod0.py'))
mod1 = touch((sub1, 'mod1.py'))
mod2 = touch((sub2, 'mod2.py'))
root_main = touch((root, '__main__.py'))
sub2_main = touch((sub2, '__main__.py'))
bad1 = utils.ensuredir((root, 'bad1'))
bad2 = utils.ensuredir((sub1, 'bad2'))
touch((bad1, 'b0.py'))
touch((bad2, 'b0.py'))
temp.__enter__()
sys.path.append(temp.dpath)
temp.__exit__(None, None, None)
%timeit _syspath_modname_to_modpath('xdoctest.static_analysis')
%timeit _pkgutil_modname_to_modpath('xdoctest.static_analysis')
"""
with utils.TempDir() as temp:
dpath = temp.dpath
# Some "bad" non-module directories
tmpbad = utils.ensuredir((dpath, '_tmpbad'))
# Make a submodule of a bad directory, look good.
sub_bad = utils.ensuredir((tmpbad, 'sub_bad'))
touch((tmpbad, '_inbad.py'))
subbad = touch((sub_bad, '__init__.py')) # NOQA
b0 = touch((sub_bad, 'b0.py')) # NOQA
with utils.PythonPathContext(dpath):
assert _static_modname_to_modpath('_tmpbad') is None
# Tricky case, these modules look good outside of _tmpbad WOW, you
# can actually import this and it works, but pkgloader still
# returns None so we should too.
assert _static_modname_to_modpath('_tmpbad.sub_bad') is None
assert _static_modname_to_modpath('_tmpbad.sub_bad.b0') is None
# We should be able to statically find all of the good module
# directories.
sub1 = utils.ensuredir((root, 'sub1'))
sub2 = utils.ensuredir((sub1, 'sub2'))
root_init = touch((root, '__init__.py'))
sub1_init = touch((sub1, '__init__.py'))
sub2_init = touch((sub2, '__init__.py'))
mod0 = touch((root, 'mod0.py'))
mod1 = touch((sub1, 'mod1.py'))
mod2 = touch((sub2, 'mod2.py'))
root_main = touch((root, '__main__.py'))
sub2_main = touch((sub2, '__main__.py'))
bad1 = utils.ensuredir((root, 'bad1'))
bad2 = utils.ensuredir((sub1, 'bad2'))
b0 = touch((bad1, 'b0.py'))
b1 = touch((bad2, 'b1.py'))
with utils.PythonPathContext(dpath):
subpaths = sorted(static.package_modpaths(root, with_pkg=True))
# should only return files not directories
assert root_init in subpaths
assert sub1_init in subpaths
assert sub2_init in subpaths
assert root not in subpaths
assert sub1 not in subpaths
assert sub2 not in subpaths
assert root_main in subpaths
assert sub2_main in subpaths
root = utils.ensuredir((dpath, '_tmproot'))
sub1 = utils.ensuredir((root, 'sub1'))
sub2 = utils.ensuredir((sub1, 'sub2'))
root_init = touch((root, '__init__.py'))
sub1_init = touch((sub1, '__init__.py'))
sub2_init = touch((sub2, '__init__.py'))
mod0 = touch((root, 'mod0.py'))
mod1 = touch((sub1, 'mod1.py'))
mod2 = touch((sub2, 'mod2.py'))
root_main = touch((root, '__main__.py'))
sub2_main = touch((sub2, '__main__.py'))
bad1 = utils.ensuredir((root, 'bad1'))
bad2 = utils.ensuredir((sub1, 'bad2'))
touch((bad1, 'b0.py'))
touch((bad2, 'b0.py'))
with utils.PythonPathContext(dpath):
# Bad module directories should return None
assert _static_modname_to_modpath('_tmproot.bad1') is None
assert _static_modname_to_modpath('_tmproot.sub1.bad1') is None
assert _static_modname_to_modpath('_tmproot.bad1.b0') is None
assert _static_modname_to_modpath('_tmproot.sub1.bad1.b1') is None
assert _static_modname_to_modpath('_tmproot.bad1') is None
# package modules are accessable by the full path
assert root == _static_modname_to_modpath('_tmproot')
assert sub1 == _static_modname_to_modpath('_tmproot.sub1')
assert sub2 == _static_modname_to_modpath('_tmproot.sub1.sub2')
Ignore:
import sys
sys.path.append('/home/joncrall/code/xdoctest/testing')
from test_static import *
temp = utils.TempDir()
temp.__enter__()
sys.path.append(temp.dpath)
temp.__exit__(None, None, None)
"""
with utils.TempDir() as temp:
dpath = temp.dpath
# Create a dummy package heirachy
root = utils.ensuredir((dpath, '_tmproot'))
sub1 = utils.ensuredir((root, 'sub1'))
sub2 = utils.ensuredir((sub1, 'sub2'))
root_init = touch((root, '__init__.py'))
sub1_init = touch((sub1, '__init__.py'))
sub2_init = touch((sub2, '__init__.py'))
mod0 = touch((root, 'mod0.py'))
mod1 = touch((sub1, 'mod1.py'))
mod2 = touch((sub2, 'mod2.py'))
root_main = touch((root, '__main__.py'))
sub2_main = touch((sub2, '__main__.py'))
bad1 = utils.ensuredir((root, 'bad1'))
bad2 = utils.ensuredir((sub1, 'bad2'))
touch((bad1, 'b0.py'))