blob: b6c2a209ff617aa2cecbb63b087d80bd158f900a [file] [log] [blame]
# Checks related to the patch's summary
#
# Copyright (C) 2016 Intel Corporation
#
# SPDX-License-Identifier: GPL-2.0
import base
import parse_shortlog
import pyparsing
maxlength = 90
class Shortlog(base.Base):
def test_shortlog_format(self):
for commit in Shortlog.commits:
shortlog = commit.shortlog
if not shortlog.strip():
self.skip('Empty shortlog, no reason to execute shortlog format test')
else:
# no reason to re-check on revert shortlogs
if shortlog.startswith('Revert "'):
continue
try:
parse_shortlog.shortlog.parseString(shortlog)
except pyparsing.ParseException as pe:
self.fail('Shortlog does not follow expected format',
'Commit shortlog (first line of commit message) should follow the format "<target>: <summary>"',
commit)
def test_shortlog_length(self):
for commit in Shortlog.commits:
# no reason to re-check on revert shortlogs
shortlog = commit.shortlog
if shortlog.startswith('Revert "'):
continue
l = len(shortlog)
if l > maxlength:
self.fail('Commit shortlog is too long',
'Edit shortlog so that it is %d characters or less (currently %d characters)' % (maxlength, l),
commit)