scripts: compliance: Avoid exception when commit message body is empty
Avoid the following exception in the Identity test when the commit body is empty: Traceback (most recent call last): File "zephyr/scripts/ci/check_compliance.py", line 2053, in main n_fails = _main(args) ^^^^^^^^^^^ File "zephyr/scripts/ci/check_compliance.py", line 1988, in _main test.run() File "zephyr/scripts/ci/check_compliance.py", line 1459, in run auth_name, auth_email, body = git( ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ValueError: not enough values to unpack (expected 3, got 2) This is triggered because ``%b`` represents the body of the commit message, which can be empty if there's a single line in it, because the first line is considered the title. Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
This commit is contained in:
parent
ebf79c1dac
commit
9f7b786a35
1 changed files with 12 additions and 5 deletions
|
@ -1456,9 +1456,18 @@ class Identity(ComplianceTest):
|
|||
|
||||
def run(self):
|
||||
for shaidx in get_shas(COMMIT_RANGE):
|
||||
auth_name, auth_email, body = git(
|
||||
'show', '-s', '--format=%an%n%ae%n%b', shaidx
|
||||
).split('\n', 2)
|
||||
commit_info = git('show', '-s', '--format=%an%n%ae%n%b', shaidx).split('\n', 2)
|
||||
|
||||
failures = []
|
||||
|
||||
if len(commit_info) == 2:
|
||||
failures.append(f'{shaidx}: Empty commit message body')
|
||||
auth_name, auth_email = commit_info
|
||||
body = ''
|
||||
elif len(commit_info) == 3:
|
||||
auth_name, auth_email, body = commit_info
|
||||
else:
|
||||
self.failure(f'Unable to parse commit message for {shaidx}')
|
||||
|
||||
match_signoff = re.search(r"signed-off-by:\s(.*)", body,
|
||||
re.IGNORECASE)
|
||||
|
@ -1466,8 +1475,6 @@ class Identity(ComplianceTest):
|
|||
body,
|
||||
re.IGNORECASE)
|
||||
|
||||
failures = []
|
||||
|
||||
if auth_email.endswith("@users.noreply.github.com"):
|
||||
failures.append(f"{shaidx}: author email ({auth_email}) must "
|
||||
"be a real email and cannot end in "
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue