diff options
author | Ricardo Martincoski <ricardo.martincoski@gmail.com> | 2017-02-19 19:17:18 -0300 |
---|---|---|
committer | Thomas Petazzoni <thomas.petazzoni@free-electrons.com> | 2017-04-08 16:15:32 +0200 |
commit | c6bf3239cb1650c3fb7451d6a2026c64db2a15bc (patch) | |
tree | 189a6243a1b29151c61d0cd453d3ba7dfdefb648 /support/scripts/checkpackagelib.py | |
parent | 111132903d397551e384c101ea35720205415a58 (diff) | |
download | buildroot-c6bf3239cb1650c3fb7451d6a2026c64db2a15bc.tar.gz buildroot-c6bf3239cb1650c3fb7451d6a2026c64db2a15bc.zip |
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>
Diffstat (limited to 'support/scripts/checkpackagelib.py')
-rw-r--r-- | support/scripts/checkpackagelib.py | 35 |
1 files changed, 35 insertions, 0 deletions
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] |