third_party.pylibs.pylint.src/test/test_import_graph.py
root 4becf6f9e5 forget the past.
forget the past.
2006-04-26 10:48:09 +00:00

64 lines
1.9 KiB
Python

import sys
import os
import unittest
from os.path import exists
from cStringIO import StringIO
from pylint.checkers import initialize, imports
from pylint.lint import PyLinter
from utils import TestReporter
class DependenciesGraphTC(unittest.TestCase):
"""test the imports graph function"""
dest = 'dependencies_graph.dot'
def tearDown(self):
os.remove(self.dest)
def test_dependencies_graph(self):
imports.dependencies_graph(self.dest, {'labas': ['hoho', 'yep'],
'hoho': ['yep']})
self.assertEquals(open(self.dest).read().strip(),
'''
digraph g {
rankdir="LR" URL="." concentrate=false
edge[fontsize="10" ]
node[width="0" height="0" fontsize="12" fontcolor="black"]
"hoho" [ label="hoho" ];
"yep" [ label="yep" ];
"labas" [ label="labas" ];
"yep" -> "hoho" [ ] ;
"hoho" -> "labas" [ ] ;
"yep" -> "labas" [ ] ;
}
'''.strip())
class ImportCheckerTC(unittest.TestCase):
def setUp(self):
self.linter = l = PyLinter(reporter=TestReporter())
initialize(l)
l.disable_all_checkers()
def test_checker_dep_graphs(self):
l = self.linter
l.global_set_option('persistent', False)
l.global_set_option('enable-imports', True)
l.global_set_option('import-graph', 'import.dot')
l.global_set_option('ext-import-graph', 'ext_import.dot')
l.global_set_option('int-import-graph', 'int_import.dot')
try:
l.check('input')
self.assert_(exists('import.dot'))
self.assert_(exists('ext_import.dot'))
self.assert_(exists('int_import.dot'))
finally:
for fname in ('import.dot', 'ext_import.dot', 'int_import.dot'):
try:
os.remove(fname)
except:
pass
if __name__ == '__main__':
unittest.main()