poky/meta/lib/patchtest/tests/test_metadata_max_length.py
Trevor Gamblin 4a6f38c532 patchtest: Add tests from patchtest oe repo
Copy the core components of the patchtest-oe repo into
meta/lib/patchtest in oe-core.

(From OE-Core rev: 257f64f4e4414b78981104aec132b067beb5a92a)

Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-09-14 15:20:08 +01:00

27 lines
989 B
Python

# Checks related to patch line lengths
#
# Copyright (C) 2016 Intel Corporation
#
# SPDX-License-Identifier: GPL-2.0
import base
import re
class MaxLength(base.Base):
add_mark = re.compile('\+ ')
max_length = 200
def test_max_line_length(self):
for patch in self.patchset:
# for the moment, we are just interested in metadata
if patch.path.endswith('.patch'):
continue
payload = str(patch)
for line in payload.splitlines():
if self.add_mark.match(line):
current_line_length = len(line[1:])
if current_line_length > self.max_length:
self.fail('Patch line too long (current length %s)' % current_line_length,
'Shorten the corresponding patch line (max length supported %s)' % self.max_length,
data=[('Patch', patch.path), ('Line', '%s ...' % line[0:80])])