diff options
Diffstat (limited to 'contrib')
-rw-r--r-- | contrib/ChangeLog | 7 | ||||
-rwxr-xr-x | contrib/check_GNU_style_lib.py | 16 |
2 files changed, 22 insertions, 1 deletions
diff --git a/contrib/ChangeLog b/contrib/ChangeLog index d5b390c..f23b37a 100644 --- a/contrib/ChangeLog +++ b/contrib/ChangeLog @@ -1,5 +1,12 @@ 2017-05-29 Tom de Vries <tom@codesourcery.com> + * check_GNU_style_lib.py (TrailingWhitespaceCheck.check): Assert no + trailing eol. + (TrailingWhitespaceTest): New unit test. + (check_GNU_style_file): Remove eol before checking. + +2017-05-29 Tom de Vries <tom@codesourcery.com> + * check_GNU_style_lib.py (check_GNU_style_file): Treat file argument as file handle. Add and handle file_encoding argument. * check_GNU_style.py (main): Handle '-' file argument. Call diff --git a/contrib/check_GNU_style_lib.py b/contrib/check_GNU_style_lib.py index e1031df..63d0538 100755 --- a/contrib/check_GNU_style_lib.py +++ b/contrib/check_GNU_style_lib.py @@ -104,6 +104,7 @@ class TrailingWhitespaceCheck: self.re = re.compile('(\s+)$') def check(self, filename, lineno, line): + assert(len(line) == 0 or line[-1] != '\n') m = self.re.search(line) if m != None: return CheckError(filename, lineno, @@ -223,6 +224,18 @@ class LineLengthTest(unittest.TestCase): self.assertEqual(r.console_error, self.check.limit * 'a' + error_string(' = 123;')) +class TrailingWhitespaceTest(unittest.TestCase): + def setUp(self): + self.check = TrailingWhitespaceCheck() + + def test_trailing_whitespace_check_basic(self): + r = self.check.check('foo', 123, 'a = 123;') + self.assertIsNone(r) + r = self.check.check('foo', 123, 'a = 123; ') + self.assertIsNotNone(r) + r = self.check.check('foo', 123, 'a = 123;\t') + self.assertIsNotNone(r) + def check_GNU_style_file(file, file_encoding, format): checks = [LineLengthCheck(), SpacesCheck(), TrailingWhitespaceCheck(), SentenceSeparatorCheck(), SentenceEndOfCommentCheck(), @@ -244,7 +257,8 @@ def check_GNU_style_file(file, file_encoding, format): for line in hunk: if line.is_added and line.target_line_no != None: for check in checks: - e = check.check(t, line.target_line_no, line.value) + line_chomp = line.value.replace('\n', '') + e = check.check(t, line.target_line_no, line_chomp) if e != None: errors.append(e) |