Improve the error message for when #ifndef guards don't match the #define.

Patch from <csharp@google.com>
This commit is contained in:
erg@google.com 2012-01-26 20:30:03 +00:00
parent 3dc7426aed
commit dc28970e18
2 changed files with 15 additions and 3 deletions

14
cpplint/cpplint.py vendored
View File

@ -1071,12 +1071,18 @@ def CheckForHeaderGuard(filename, lines, error):
endif = line
endif_linenum = linenum
if not ifndef or not define or ifndef != define:
if not ifndef:
error(filename, 0, 'build/header_guard', 5,
'No #ifndef header guard found, suggested CPP variable is: %s' %
cppvar)
return
if not define:
error(filename, 0, 'build/header_guard', 5,
'No #define header guard found, suggested CPP variable is: %s' %
cppvar)
return
# The guard should be PATH_FILE_H_, but we also allow PATH_FILE_H__
# for backward compatibility.
if ifndef != cppvar:
@ -1089,6 +1095,12 @@ def CheckForHeaderGuard(filename, lines, error):
error(filename, ifndef_linenum, 'build/header_guard', error_level,
'#ifndef header guard has wrong style, please use: %s' % cppvar)
if define != ifndef:
error(filename, 0, 'build/header_guard', 5,
'#ifndef and #define don\'t match, suggested CPP variable is: %s' %
cppvar)
return
if endif != ('#endif // %s' % cppvar):
error_level = 0
if endif != ('#endif // %s' % (cppvar + '_')):

View File

@ -2054,7 +2054,7 @@ class CpplintTest(CpplintTestBase):
self.assertEquals(
1,
error_collector.ResultList().count(
'No #ifndef header guard found, suggested CPP variable is: %s'
'No #define header guard found, suggested CPP variable is: %s'
' [build/header_guard] [5]' % expected_guard),
error_collector.ResultList())
@ -2067,7 +2067,7 @@ class CpplintTest(CpplintTestBase):
self.assertEquals(
1,
error_collector.ResultList().count(
'No #ifndef header guard found, suggested CPP variable is: %s'
'#ifndef and #define don\'t match, suggested CPP variable is: %s'
' [build/header_guard] [5]' % expected_guard),
error_collector.ResultList())