diff --git a/support/scripts/checkpackagelib.py b/support/scripts/checkpackagelib.py index 1a49041839..280084575b 100644 --- a/support/scripts/checkpackagelib.py +++ b/support/scripts/checkpackagelib.py @@ -3,6 +3,32 @@ from checkpackagebase import _CheckFunction +class ConsecutiveEmptyLines(_CheckFunction): + def before(self): + self.lastline = "non empty" + + def check_line(self, lineno, text): + if text.strip() == "" == self.lastline.strip(): + return ["{}:{}: consecutive empty lines" + .format(self.filename, lineno)] + self.lastline = text + + +class EmptyLastLine(_CheckFunction): + def before(self): + self.lastlineno = 0 + self.lastline = "non empty" + + def check_line(self, lineno, text): + self.lastlineno = lineno + self.lastline = text + + def after(self): + if self.lastline.strip() == "": + return ["{}:{}: empty line at end of file" + .format(self.filename, self.lastlineno)] + + class NewlineAtEof(_CheckFunction): def before(self): self.lastlineno = 0 @@ -17,3 +43,12 @@ class NewlineAtEof(_CheckFunction): return ["{}:{}: missing newline at end of file" .format(self.filename, self.lastlineno), self.lastline] + + +class TrailingSpace(_CheckFunction): + def check_line(self, lineno, text): + line = text.rstrip("\r\n") + if line != line.rstrip(): + return ["{}:{}: line contains trailing whitespace" + .format(self.filename, lineno), + text] diff --git a/support/scripts/checkpackagelib_config.py b/support/scripts/checkpackagelib_config.py index f546d173e9..ee5981e644 100644 --- a/support/scripts/checkpackagelib_config.py +++ b/support/scripts/checkpackagelib_config.py @@ -4,4 +4,7 @@ # checked by running "make menuconfig". # Notice: ignore 'imported but unused' from pyflakes for check functions. +from checkpackagelib import ConsecutiveEmptyLines +from checkpackagelib import EmptyLastLine from checkpackagelib import NewlineAtEof +from checkpackagelib import TrailingSpace diff --git a/support/scripts/checkpackagelib_hash.py b/support/scripts/checkpackagelib_hash.py index 8c0337fc9c..1f268838f8 100644 --- a/support/scripts/checkpackagelib_hash.py +++ b/support/scripts/checkpackagelib_hash.py @@ -4,4 +4,7 @@ # "make package-dirclean package-source". # Notice: ignore 'imported but unused' from pyflakes for check functions. +from checkpackagelib import ConsecutiveEmptyLines +from checkpackagelib import EmptyLastLine from checkpackagelib import NewlineAtEof +from checkpackagelib import TrailingSpace diff --git a/support/scripts/checkpackagelib_mk.py b/support/scripts/checkpackagelib_mk.py index 84eeef8895..a37304b6d6 100644 --- a/support/scripts/checkpackagelib_mk.py +++ b/support/scripts/checkpackagelib_mk.py @@ -5,4 +5,7 @@ # packages enabled. # Notice: ignore 'imported but unused' from pyflakes for check functions. +from checkpackagelib import ConsecutiveEmptyLines +from checkpackagelib import EmptyLastLine from checkpackagelib import NewlineAtEof +from checkpackagelib import TrailingSpace