| Index: tools/telemetry/third_party/modulegraph/modulegraph_tests/test_imports.py
|
| diff --git a/tools/telemetry/third_party/modulegraph/modulegraph_tests/test_imports.py b/tools/telemetry/third_party/modulegraph/modulegraph_tests/test_imports.py
|
| deleted file mode 100644
|
| index 8cdcfa766ac7925646b628b90c05d3d37506ef43..0000000000000000000000000000000000000000
|
| --- a/tools/telemetry/third_party/modulegraph/modulegraph_tests/test_imports.py
|
| +++ /dev/null
|
| @@ -1,473 +0,0 @@
|
| -"""
|
| -Test for import machinery
|
| -"""
|
| -import unittest
|
| -import sys
|
| -import textwrap
|
| -import subprocess
|
| -import os
|
| -from modulegraph import modulegraph
|
| -
|
| -class TestNativeImport (unittest.TestCase):
|
| - # The tests check that Python's import statement
|
| - # works as these tests expect.
|
| -
|
| - def importModule(self, name):
|
| - if '.' in name:
|
| - script = textwrap.dedent("""\
|
| - try:
|
| - import %s
|
| - except ImportError:
|
| - import %s
|
| - print (%s.__name__)
|
| - """) %(name, name.rsplit('.', 1)[0], name)
|
| - else:
|
| - script = textwrap.dedent("""\
|
| - import %s
|
| - print (%s.__name__)
|
| - """) %(name, name)
|
| -
|
| - p = subprocess.Popen([sys.executable, '-c', script],
|
| - stdout=subprocess.PIPE,
|
| - stderr=subprocess.STDOUT,
|
| - cwd=os.path.join(
|
| - os.path.dirname(os.path.abspath(__file__)),
|
| - 'testpkg-relimport'),
|
| - )
|
| - data = p.communicate()[0]
|
| - if sys.version_info[0] != 2:
|
| - data = data.decode('UTF-8')
|
| - data = data.strip()
|
| -
|
| - if data.endswith(' refs]'):
|
| - # with --with-pydebug builds
|
| - data = data.rsplit('\n', 1)[0].strip()
|
| -
|
| - sts = p.wait()
|
| -
|
| - if sts != 0:
|
| - print (data)
|
| - self.assertEqual(sts, 0)
|
| - return data
|
| -
|
| -
|
| - def testRootModule(self):
|
| - m = self.importModule('mod')
|
| - self.assertEqual(m, 'mod')
|
| -
|
| - def testRootPkg(self):
|
| - m = self.importModule('pkg')
|
| - self.assertEqual(m, 'pkg')
|
| -
|
| - def testSubModule(self):
|
| - m = self.importModule('pkg.mod')
|
| - self.assertEqual(m, 'pkg.mod')
|
| -
|
| - if sys.version_info[0] == 2:
|
| - def testOldStyle(self):
|
| - m = self.importModule('pkg.oldstyle.mod')
|
| - self.assertEqual(m, 'pkg.mod')
|
| - else:
|
| - # python3 always has __future__.absolute_import
|
| - def testOldStyle(self):
|
| - m = self.importModule('pkg.oldstyle.mod')
|
| - self.assertEqual(m, 'mod')
|
| -
|
| - def testNewStyle(self):
|
| - m = self.importModule('pkg.toplevel.mod')
|
| - self.assertEqual(m, 'mod')
|
| -
|
| - def testRelativeImport(self):
|
| - m = self.importModule('pkg.relative.mod')
|
| - self.assertEqual(m, 'pkg.mod')
|
| -
|
| - m = self.importModule('pkg.subpkg.relative.mod')
|
| - self.assertEqual(m, 'pkg.mod')
|
| -
|
| - m = self.importModule('pkg.subpkg.mod2.mod')
|
| - self.assertEqual(m, 'pkg.sub2.mod')
|
| -
|
| - m = self.importModule('pkg.subpkg.relative2')
|
| - self.assertEqual(m, 'pkg.subpkg.relative2')
|
| -
|
| -class TestModuleGraphImport (unittest.TestCase):
|
| - if not hasattr(unittest.TestCase, 'assertIsInstance'):
|
| - def assertIsInstance(self, value, types):
|
| - if not isinstance(value, types):
|
| - self.fail("%r is not an instance of %r"%(value, types))
|
| -
|
| - def setUp(self):
|
| - root = os.path.join(
|
| - os.path.dirname(os.path.abspath(__file__)),
|
| - 'testpkg-relimport')
|
| - self.mf = modulegraph.ModuleGraph(path=[ root ] + sys.path)
|
| - #self.mf.debug = 999
|
| - self.script_name = os.path.join(root, 'script.py')
|
| - self.mf.run_script(self.script_name)
|
| -
|
| - def testGraphStructure(self):
|
| -
|
| - # 1. Script to imported modules
|
| - n = self.mf.findNode(self.script_name)
|
| - self.assertIsInstance(n, modulegraph.Script)
|
| -
|
| - imported = ('mod', 'pkg', 'pkg.mod', 'pkg.oldstyle',
|
| - 'pkg.relative', 'pkg.toplevel', 'pkg.subpkg.relative',
|
| - 'pkg.subpkg.relative2', 'pkg.subpkg.mod2')
|
| -
|
| - for nm in imported:
|
| - n2 = self.mf.findNode(nm)
|
| - ed = self.mf.edgeData(n, n2)
|
| - self.assertIsInstance(ed, modulegraph.DependencyInfo)
|
| - self.assertEqual(ed, modulegraph.DependencyInfo(
|
| - fromlist=False, conditional=False, function=False, tryexcept=False))
|
| -
|
| - refs = self.mf.getReferences(n)
|
| - self.assertEqual(set(refs), set(self.mf.findNode(nm) for nm in imported))
|
| -
|
| - refs = list(self.mf.getReferers(n))
|
| - # The script is a toplevel item and is therefore referred to from the graph root (aka 'None')
|
| - self.assertEqual(refs, [None])
|
| -
|
| -
|
| - # 2. 'mod'
|
| - n = self.mf.findNode('mod')
|
| - self.assertIsInstance(n, modulegraph.SourceModule)
|
| - refs = list(self.mf.getReferences(n))
|
| - self.assertEqual(refs, [])
|
| -
|
| - #refs = list(self.mf.getReferers(n))
|
| - #self.assertEquals(refs, [])
|
| -
|
| - # 3. 'pkg'
|
| - n = self.mf.findNode('pkg')
|
| - self.assertIsInstance(n, modulegraph.Package)
|
| - refs = list(self.mf.getReferences(n))
|
| - self.maxDiff = None
|
| - self.assertEqual(refs, [n])
|
| -
|
| - #refs = list(self.mf.getReferers(n))
|
| - #self.assertEquals(refs, [])
|
| -
|
| - # 4. pkg.mod
|
| - n = self.mf.findNode('pkg.mod')
|
| - self.assertIsInstance(n, modulegraph.SourceModule)
|
| - refs = set(self.mf.getReferences(n))
|
| - self.assertEqual(refs, set([self.mf.findNode('pkg')]))
|
| - ed = self.mf.edgeData(n, self.mf.findNode('pkg'))
|
| - self.assertIsInstance(ed, modulegraph.DependencyInfo)
|
| - self.assertEqual(ed, modulegraph.DependencyInfo(
|
| - fromlist=False, conditional=False, function=False, tryexcept=False))
|
| -
|
| -
|
| - # 5. pkg.oldstyle
|
| - n = self.mf.findNode('pkg.oldstyle')
|
| - self.assertIsInstance(n, modulegraph.SourceModule)
|
| - refs = set(self.mf.getReferences(n))
|
| - if sys.version_info[0] == 2:
|
| - n2 = self.mf.findNode('pkg.mod')
|
| - else:
|
| - n2 = self.mf.findNode('mod')
|
| - self.assertEqual(refs, set([self.mf.findNode('pkg'), n2]))
|
| - ed = self.mf.edgeData(n, n2)
|
| - self.assertIsInstance(ed, modulegraph.DependencyInfo)
|
| - self.assertEqual(ed, modulegraph.DependencyInfo(
|
| - fromlist=False, conditional=False, function=False, tryexcept=False))
|
| -
|
| -
|
| - # 6. pkg.relative
|
| - n = self.mf.findNode('pkg.relative')
|
| - self.assertIsInstance(n, modulegraph.SourceModule)
|
| - refs = set(self.mf.getReferences(n))
|
| - self.assertEqual(refs, set([self.mf.findNode('__future__'), self.mf.findNode('pkg'), self.mf.findNode('pkg.mod')]))
|
| -
|
| - ed = self.mf.edgeData(n, self.mf.findNode('pkg.mod'))
|
| - self.assertIsInstance(ed, modulegraph.DependencyInfo)
|
| - self.assertEqual(ed, modulegraph.DependencyInfo(
|
| - fromlist=True, conditional=False, function=False, tryexcept=False))
|
| -
|
| - ed = self.mf.edgeData(n, self.mf.findNode('__future__'))
|
| - self.assertIsInstance(ed, modulegraph.DependencyInfo)
|
| - self.assertEqual(ed, modulegraph.DependencyInfo(
|
| - fromlist=False, conditional=False, function=False, tryexcept=False))
|
| -
|
| - #ed = self.mf.edgeData(n, self.mf.findNode('__future__.absolute_import'))
|
| - #self.assertIsInstance(ed, modulegraph.DependencyInfo)
|
| - #self.assertEqual(ed, modulegraph.DependencyInfo(
|
| - #fromlist=True, conditional=False, function=False, tryexcept=False))
|
| -
|
| - # 7. pkg.toplevel
|
| - n = self.mf.findNode('pkg.toplevel')
|
| - self.assertIsInstance(n, modulegraph.SourceModule)
|
| - refs = set(self.mf.getReferences(n))
|
| - self.assertEqual(refs, set([self.mf.findNode('__future__'), self.mf.findNode('pkg'), self.mf.findNode('mod')]))
|
| -
|
| - ed = self.mf.edgeData(n, self.mf.findNode('mod'))
|
| - self.assertIsInstance(ed, modulegraph.DependencyInfo)
|
| - self.assertEqual(ed, modulegraph.DependencyInfo(
|
| - fromlist=False, conditional=False, function=False, tryexcept=False))
|
| -
|
| - ed = self.mf.edgeData(n, self.mf.findNode('__future__'))
|
| - self.assertIsInstance(ed, modulegraph.DependencyInfo)
|
| - self.assertEqual(ed, modulegraph.DependencyInfo(
|
| - fromlist=False, conditional=False, function=False, tryexcept=False))
|
| -
|
| - #ed = self.mf.edgeData(n, self.mf.findNode('__future__.absolute_import'))
|
| - #self.assertIsInstance(ed, modulegraph.DependencyInfo)
|
| - #self.assertEqual(ed, modulegraph.DependencyInfo(
|
| - #fromlist=True, conditional=False, function=False, tryexcept=False))
|
| -
|
| - # 8. pkg.subpkg
|
| - n = self.mf.findNode('pkg.subpkg')
|
| - self.assertIsInstance(n, modulegraph.Package)
|
| - refs = set(self.mf.getReferences(n))
|
| - self.assertEqual(refs, set([self.mf.findNode('pkg')]))
|
| -
|
| - ed = self.mf.edgeData(n, self.mf.findNode('pkg'))
|
| - self.assertIsInstance(ed, modulegraph.DependencyInfo)
|
| - self.assertEqual(ed, modulegraph.DependencyInfo(
|
| - fromlist=False, conditional=False, function=False, tryexcept=False))
|
| -
|
| - # 9. pkg.subpkg.relative
|
| - n = self.mf.findNode('pkg.subpkg.relative')
|
| - self.assertIsInstance(n, modulegraph.SourceModule)
|
| - refs = set(self.mf.getReferences(n))
|
| - self.assertEqual(refs, set([self.mf.findNode('__future__'), self.mf.findNode('pkg'), self.mf.findNode('pkg.subpkg'), self.mf.findNode('pkg.mod')]))
|
| -
|
| - ed = self.mf.edgeData(n, self.mf.findNode('pkg.subpkg'))
|
| - self.assertIsInstance(ed, modulegraph.DependencyInfo)
|
| - self.assertEqual(ed, modulegraph.DependencyInfo(
|
| - fromlist=False, conditional=False, function=False, tryexcept=False))
|
| -
|
| - ed = self.mf.edgeData(n, self.mf.findNode('pkg.mod'))
|
| - self.assertIsInstance(ed, modulegraph.DependencyInfo)
|
| - self.assertEqual(ed, modulegraph.DependencyInfo(
|
| - fromlist=True, conditional=False, function=False, tryexcept=False))
|
| -
|
| - # 10. pkg.subpkg.relative2
|
| - n = self.mf.findNode('pkg.subpkg.relative2')
|
| - self.assertIsInstance(n, modulegraph.SourceModule)
|
| - refs = set(self.mf.getReferences(n))
|
| - self.assertEqual(refs, set([self.mf.findNode('pkg.subpkg'), self.mf.findNode('pkg.relimport'), self.mf.findNode('__future__')]))
|
| -
|
| - # 10. pkg.subpkg.mod2
|
| - n = self.mf.findNode('pkg.subpkg.mod2')
|
| - self.assertIsInstance(n, modulegraph.SourceModule)
|
| - refs = set(self.mf.getReferences(n))
|
| - self.assertEqual(refs, set([
|
| - self.mf.findNode('__future__'),
|
| - self.mf.findNode('pkg.subpkg'),
|
| - self.mf.findNode('pkg.sub2.mod'),
|
| - self.mf.findNode('pkg.sub2'),
|
| - ]))
|
| -
|
| -
|
| - def testRootModule(self):
|
| - node = self.mf.findNode('mod')
|
| - self.assertIsInstance(node, modulegraph.SourceModule)
|
| - self.assertEqual(node.identifier, 'mod')
|
| -
|
| - def testRootPkg(self):
|
| - node = self.mf.findNode('pkg')
|
| - self.assertIsInstance(node, modulegraph.Package)
|
| - self.assertEqual(node.identifier, 'pkg')
|
| -
|
| - def testSubModule(self):
|
| - node = self.mf.findNode('pkg.mod')
|
| - self.assertIsInstance(node, modulegraph.SourceModule)
|
| - self.assertEqual(node.identifier, 'pkg.mod')
|
| -
|
| - if sys.version_info[0] == 2:
|
| - def testOldStyle(self):
|
| - node = self.mf.findNode('pkg.oldstyle')
|
| - self.assertIsInstance(node, modulegraph.SourceModule)
|
| - self.assertEqual(node.identifier, 'pkg.oldstyle')
|
| - sub = [ n for n in self.mf.get_edges(node)[0] if n.identifier != '__future__' ][0]
|
| - self.assertEqual(sub.identifier, 'pkg.mod')
|
| - else:
|
| - # python3 always has __future__.absolute_import
|
| - def testOldStyle(self):
|
| - node = self.mf.findNode('pkg.oldstyle')
|
| - self.assertIsInstance(node, modulegraph.SourceModule)
|
| - self.assertEqual(node.identifier, 'pkg.oldstyle')
|
| - sub = [ n for n in self.mf.get_edges(node)[0] if n.identifier != '__future__' ][0]
|
| - self.assertEqual(sub.identifier, 'mod')
|
| -
|
| - def testNewStyle(self):
|
| - node = self.mf.findNode('pkg.toplevel')
|
| - self.assertIsInstance(node, modulegraph.SourceModule)
|
| - self.assertEqual(node.identifier, 'pkg.toplevel')
|
| - sub = [ n for n in self.mf.get_edges(node)[0] if not n.identifier.startswith('__future__')][0]
|
| - self.assertEqual(sub.identifier, 'mod')
|
| -
|
| - def testRelativeImport(self):
|
| - node = self.mf.findNode('pkg.relative')
|
| - self.assertIsInstance(node, modulegraph.SourceModule)
|
| - self.assertEqual(node.identifier, 'pkg.relative')
|
| - sub = [ n for n in self.mf.get_edges(node)[0] if not n.identifier.startswith('__future__') ][0]
|
| - self.assertIsInstance(sub, modulegraph.Package)
|
| - self.assertEqual(sub.identifier, 'pkg')
|
| -
|
| - node = self.mf.findNode('pkg.subpkg.relative')
|
| - self.assertIsInstance(node, modulegraph.SourceModule)
|
| - self.assertEqual(node.identifier, 'pkg.subpkg.relative')
|
| - sub = [ n for n in self.mf.get_edges(node)[0] if not n.identifier.startswith('__future__') ][0]
|
| - self.assertIsInstance(sub, modulegraph.Package)
|
| - self.assertEqual(sub.identifier, 'pkg')
|
| -
|
| - node = self.mf.findNode('pkg.subpkg.mod2')
|
| - self.assertIsInstance(node, modulegraph.SourceModule)
|
| - self.assertEqual(node.identifier, 'pkg.subpkg.mod2')
|
| - sub = [ n for n in self.mf.get_edges(node)[0] if not n.identifier.startswith('__future__') ][0]
|
| - self.assertIsInstance(sub, modulegraph.SourceModule)
|
| - self.assertEqual(sub.identifier, 'pkg.sub2.mod')
|
| -
|
| - node = self.mf.findNode('pkg.subpkg.relative2')
|
| - self.assertIsInstance(node, modulegraph.SourceModule)
|
| - self.assertEqual(node.identifier, 'pkg.subpkg.relative2')
|
| -
|
| - node = self.mf.findNode('pkg.relimport')
|
| - self.assertIsInstance(node, modulegraph.SourceModule)
|
| -
|
| -class TestRegressions1 (unittest.TestCase):
|
| - if not hasattr(unittest.TestCase, 'assertIsInstance'):
|
| - def assertIsInstance(self, value, types):
|
| - if not isinstance(value, types):
|
| - self.fail("%r is not an instance of %r", value, types)
|
| -
|
| - def setUp(self):
|
| - root = os.path.join(
|
| - os.path.dirname(os.path.abspath(__file__)),
|
| - 'testpkg-regr1')
|
| - self.mf = modulegraph.ModuleGraph(path=[ root ] + sys.path)
|
| - self.mf.run_script(os.path.join(root, 'main_script.py'))
|
| -
|
| - def testRegr1(self):
|
| - node = self.mf.findNode('pkg.a')
|
| - self.assertIsInstance(node, modulegraph.SourceModule)
|
| - node = self.mf.findNode('pkg.b')
|
| - self.assertIsInstance(node, modulegraph.SourceModule)
|
| -
|
| -
|
| - def testMissingPathEntry(self):
|
| - root = os.path.join(
|
| - os.path.dirname(os.path.abspath(__file__)),
|
| - 'nosuchdirectory')
|
| - try:
|
| - mf = modulegraph.ModuleGraph(path=[ root ] + sys.path)
|
| - except os.error:
|
| - self.fail('modulegraph initialiser raises os.error')
|
| -
|
| -class TestRegressions2 (unittest.TestCase):
|
| - if not hasattr(unittest.TestCase, 'assertIsInstance'):
|
| - def assertIsInstance(self, value, types):
|
| - if not isinstance(value, types):
|
| - self.fail("%r is not an instance of %r"%(value, types))
|
| -
|
| - def setUp(self):
|
| - root = os.path.join(
|
| - os.path.dirname(os.path.abspath(__file__)),
|
| - 'testpkg-regr2')
|
| - self.mf = modulegraph.ModuleGraph(path=[ root ] + sys.path)
|
| - self.mf.run_script(os.path.join(root, 'main_script.py'))
|
| -
|
| - def testRegr1(self):
|
| - node = self.mf.findNode('pkg.base')
|
| - self.assertIsInstance(node, modulegraph.SourceModule)
|
| - node = self.mf.findNode('pkg.pkg')
|
| - self.assertIsInstance(node, modulegraph.SourceModule)
|
| -
|
| -class TestRegressions3 (unittest.TestCase):
|
| - if not hasattr(unittest.TestCase, 'assertIsInstance'):
|
| - def assertIsInstance(self, value, types):
|
| - if not isinstance(value, types):
|
| - self.fail("%r is not an instance of %r"%(value, types))
|
| -
|
| - def assertStartswith(self, value, test):
|
| - if not value.startswith(test):
|
| - self.fail("%r does not start with %r"%(value, test))
|
| -
|
| - def setUp(self):
|
| - root = os.path.join(
|
| - os.path.dirname(os.path.abspath(__file__)),
|
| - 'testpkg-regr3')
|
| - self.mf = modulegraph.ModuleGraph(path=[ root ] + sys.path)
|
| - self.mf.run_script(os.path.join(root, 'script.py'))
|
| -
|
| - def testRegr1(self):
|
| - node = self.mf.findNode('mypkg.distutils')
|
| - self.assertIsInstance(node, modulegraph.Package)
|
| - node = self.mf.findNode('mypkg.distutils.ccompiler')
|
| - self.assertIsInstance(node, modulegraph.SourceModule)
|
| - self.assertStartswith(node.filename, os.path.dirname(__file__))
|
| -
|
| - import distutils.sysconfig, distutils.ccompiler
|
| - node = self.mf.findNode('distutils.ccompiler')
|
| - self.assertIsInstance(node, modulegraph.SourceModule)
|
| - self.assertEqual(os.path.dirname(node.filename),
|
| - os.path.dirname(distutils.ccompiler.__file__))
|
| -
|
| - node = self.mf.findNode('distutils.sysconfig')
|
| - self.assertIsInstance(node, modulegraph.SourceModule)
|
| - self.assertEqual(os.path.dirname(node.filename),
|
| - os.path.dirname(distutils.sysconfig.__file__))
|
| -
|
| -class TestRegression4 (unittest.TestCase):
|
| - if not hasattr(unittest.TestCase, 'assertIsInstance'):
|
| - def assertIsInstance(self, value, types):
|
| - if not isinstance(value, types):
|
| - self.fail("%r is not an instance of %r"%(value, types))
|
| -
|
| - def setUp(self):
|
| - root = os.path.join(
|
| - os.path.dirname(os.path.abspath(__file__)),
|
| - 'testpkg-regr4')
|
| - self.mf = modulegraph.ModuleGraph(path=[ root ] + sys.path)
|
| - self.mf.run_script(os.path.join(root, 'script.py'))
|
| -
|
| - def testRegr1(self):
|
| - node = self.mf.findNode('pkg.core')
|
| - self.assertIsInstance(node, modulegraph.Package)
|
| -
|
| - node = self.mf.findNode('pkg.core.callables')
|
| - self.assertIsInstance(node, modulegraph.SourceModule)
|
| -
|
| - node = self.mf.findNode('pkg.core.listener')
|
| - self.assertIsInstance(node, modulegraph.SourceModule)
|
| -
|
| - node = self.mf.findNode('pkg.core.listenerimpl')
|
| - self.assertIsInstance(node, modulegraph.SourceModule)
|
| -
|
| -class TestRegression5 (unittest.TestCase):
|
| - if not hasattr(unittest.TestCase, 'assertIsInstance'):
|
| - def assertIsInstance(self, value, types):
|
| - if not isinstance(value, types):
|
| - self.fail("%r is not an instance of %r"%(value, types))
|
| -
|
| - def setUp(self):
|
| - root = os.path.join(
|
| - os.path.dirname(os.path.abspath(__file__)),
|
| - 'testpkg-regr5')
|
| - self.mf = modulegraph.ModuleGraph(path=[ root ] + sys.path)
|
| - self.mf.run_script(os.path.join(root, 'script.py'))
|
| -
|
| - def testRegr1(self):
|
| - node = self.mf.findNode('distutils')
|
| - self.assertIsInstance(node, modulegraph.Package)
|
| - self.assertIn('distutils/__init__', node.filename)
|
| -
|
| -class TestDeeplyNested (unittest.TestCase):
|
| - def setUp(self):
|
| - root = os.path.join(
|
| - os.path.dirname(os.path.abspath(__file__)),
|
| - 'testpkg-regr6')
|
| - self.mf = modulegraph.ModuleGraph(path=[ root ] + sys.path)
|
| - self.mf.run_script(os.path.join(root, 'script.py'))
|
| -
|
| - def testRegr(self):
|
| - node = self.mf.findNode('os')
|
| - self.assertTrue(node is not None)
|
| -
|
| -
|
| -if __name__ == "__main__":
|
| - unittest.main()
|
|
|