check-package: check whitespace and empty lines
Create 3 new check functions to warn when: - there are consecutive empty lines in the file, see [1]; - the last line of the file is empty, see [2]; - there are lines with trailing whitespace, see [3]. Apply these functions to Config.*, *.mk and *.hash, but not for *.patch files since they can contain any of these and still be valid. [1] http://patchwork.ozlabs.org/patch/682660/ [2] http://patchwork.ozlabs.org/patch/643288/ [3] http://patchwork.ozlabs.org/patch/398984/ Signed-off-by: Ricardo Martincoski <ricardo.martincoski@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit is contained in:
parent
111132903d
commit
c6bf3239cb
@ -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]
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user