mirror of
https://fuchsia.googlesource.com/third_party/github.com/pylint-dev/pylint
synced 2024-09-22 00:24:37 +00:00
61 lines
1.5 KiB
Python
61 lines
1.5 KiB
Python
import sys
|
|
from logilab.common.testlib import TestCase, unittest_main
|
|
|
|
from cStringIO import StringIO
|
|
from os.path import join, dirname, abspath
|
|
|
|
from pylint.checkers import similar
|
|
|
|
SIMILAR1 = join(dirname(abspath(__file__)), 'input', 'similar1')
|
|
SIMILAR2 = join(dirname(abspath(__file__)), 'input', 'similar2')
|
|
|
|
class SimilarTC(TestCase):
|
|
"""test the similar command line utility"""
|
|
def test(self):
|
|
sys.stdout = StringIO()
|
|
try:
|
|
similar.run(['--ignore-comments', SIMILAR1, SIMILAR2])
|
|
output = sys.stdout.getvalue()
|
|
finally:
|
|
sys.stdout = sys.__stdout__
|
|
self.assertMultiLineEqual(output.strip(), ("""
|
|
7 similar lines in 2 files
|
|
==%s:5
|
|
==%s:5
|
|
same file as this one.
|
|
more than 4
|
|
identical lines should
|
|
be
|
|
detected
|
|
|
|
|
|
TOTAL lines=38 duplicates=7 percent=18.42
|
|
""" % (SIMILAR1, SIMILAR2)).strip())
|
|
|
|
def test_help(self):
|
|
sys.stdout = StringIO()
|
|
try:
|
|
try:
|
|
similar.run(['--help'])
|
|
except SystemExit, ex:
|
|
self.assertEqual(ex.code, 0)
|
|
else:
|
|
self.fail()
|
|
finally:
|
|
sys.stdout = sys.__stdout__
|
|
|
|
def test_no_args(self):
|
|
sys.stdout = StringIO()
|
|
try:
|
|
try:
|
|
similar.run([])
|
|
except SystemExit, ex:
|
|
self.assertEqual(ex.code, 1)
|
|
else:
|
|
self.fail()
|
|
finally:
|
|
sys.stdout = sys.__stdout__
|
|
|
|
if __name__ == '__main__':
|
|
unittest_main()
|