Avoid crash when git commit title cannot be found
Avoids a crash when there is no git commit title, because e.g. called outside a git checkout. Change-Id: Icf8e943a75b59adff51028dd2973ed34d80a4e69
This commit is contained in:
parent
42494c3fb9
commit
823e9cfa4f
hacking
@ -870,7 +870,7 @@ class OnceGitCheckCommitTitlePeriodEnding(GitCheck):
|
||||
def run_once(self):
|
||||
title = self._get_commit_title()
|
||||
|
||||
if title.rstrip().endswith('.'):
|
||||
if title and title.rstrip().endswith('.'):
|
||||
return (
|
||||
1, 0,
|
||||
"H803: git commit title ('%s') should not end with period"
|
||||
|
37
hacking/tests/test_gittest.py
Normal file
37
hacking/tests/test_gittest.py
Normal file
@ -0,0 +1,37 @@
|
||||
# Copyright (c) 2013 SUSE Linux Products GmbH.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
# implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
import fixtures
|
||||
|
||||
import hacking.core
|
||||
import hacking.tests
|
||||
import inspect
|
||||
|
||||
|
||||
def _fake_none_commit_title(self):
|
||||
return None
|
||||
|
||||
|
||||
class HackingGitTestCase(hacking.tests.TestCase):
|
||||
def test_run_outside_git(self):
|
||||
"""Verify that GitChecks don't fail if no .git available."""
|
||||
|
||||
with fixtures.MonkeyPatch('hacking.core.GitCheck._get_commit_title',
|
||||
_fake_none_commit_title):
|
||||
|
||||
for name, obj in inspect.getmembers(hacking.core):
|
||||
if (inspect.isclass(obj) and
|
||||
isinstance(obj(None), hacking.core.GitCheck)):
|
||||
obj(None).run_once()
|
Loading…
x
Reference in New Issue
Block a user