mirror of
git://gcc.gnu.org/git/gcc.git
synced 2024-11-29 09:20:22 +08:00
Detect mixed usage of spaces and tabs.
2018-11-19 Martin Liska <mliska@suse.cz> * check_GNU_style_lib.py: Detect mixed usage of spaces and tabs. From-SVN: r266261
This commit is contained in:
parent
662076c9fa
commit
ca44d7f40a
@ -1,3 +1,8 @@
|
||||
2018-11-19 Martin Liska <mliska@suse.cz>
|
||||
|
||||
* check_GNU_style_lib.py: Detect mixed usage
|
||||
of spaces and tabs.
|
||||
|
||||
2018-11-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||||
|
||||
* gcc_update (files_and_dependencies): Handle libphobos.
|
||||
|
@ -99,6 +99,18 @@ class SpacesCheck:
|
||||
line.replace(self.expanded_tab, error_string(ws_char * ts)),
|
||||
'blocks of 8 spaces should be replaced with tabs', i)
|
||||
|
||||
class SpacesAndTabsMixedCheck:
|
||||
def __init__(self):
|
||||
self.re = re.compile('\ \t')
|
||||
|
||||
def check(self, filename, lineno, line):
|
||||
stripped = line.lstrip()
|
||||
start = line[:len(line) - len(stripped)]
|
||||
if self.re.search(line):
|
||||
return CheckError(filename, lineno,
|
||||
error_string(start.replace('\t', ws_char * ts)) + line[len(start):],
|
||||
'a space should not precede a tab', 0)
|
||||
|
||||
class TrailingWhitespaceCheck:
|
||||
def __init__(self):
|
||||
self.re = re.compile('(\s+)$')
|
||||
@ -236,12 +248,27 @@ class TrailingWhitespaceTest(unittest.TestCase):
|
||||
r = self.check.check('foo', 123, 'a = 123;\t')
|
||||
self.assertIsNotNone(r)
|
||||
|
||||
class SpacesAndTabsMixedTest(unittest.TestCase):
|
||||
def setUp(self):
|
||||
self.check = SpacesAndTabsMixedCheck()
|
||||
|
||||
def test_trailing_whitespace_check_basic(self):
|
||||
r = self.check.check('foo', 123, ' \ta = 123;')
|
||||
self.assertEqual('foo', r.filename)
|
||||
self.assertEqual(0, r.column)
|
||||
self.assertIsNotNone(r.console_error)
|
||||
r = self.check.check('foo', 123, ' \t a = 123;')
|
||||
self.assertIsNotNone(r.console_error)
|
||||
r = self.check.check('foo', 123, '\t a = 123;')
|
||||
self.assertIsNone(r)
|
||||
|
||||
def check_GNU_style_file(file, file_encoding, format):
|
||||
checks = [LineLengthCheck(), SpacesCheck(), TrailingWhitespaceCheck(),
|
||||
SentenceSeparatorCheck(), SentenceEndOfCommentCheck(),
|
||||
SentenceDotEndCheck(), FunctionParenthesisCheck(),
|
||||
SquareBracketCheck(), ClosingParenthesisCheck(),
|
||||
BracesOnSeparateLineCheck(), TrailinigOperatorCheck()]
|
||||
BracesOnSeparateLineCheck(), TrailinigOperatorCheck(),
|
||||
SpacesAndTabsMixedCheck()]
|
||||
errors = []
|
||||
|
||||
patch = PatchSet(file, encoding=file_encoding)
|
||||
|
Loading…
Reference in New Issue
Block a user