kconfig: update check_kconfigs.py to handle orsource command

check_kconfigs.py would only correctly handle "source", but not "rsource", "osource"
or "orsource".

Fixed any warnings detected after updating the test.
This commit is contained in:
Marius Vikhammer 2022-05-06 11:31:24 +08:00
parent 0b00831703
commit c7a827a136
8 changed files with 9 additions and 5 deletions

View File

@ -13,7 +13,7 @@ menu "Hardware Settings"
bool bool
# Insert chip-specific MAC config # Insert chip-specific MAC config
rsource "./port/$IDF_TARGET/Kconfig.mac" rsource "./port/$IDF_TARGET/Kconfig.mac"
endmenu endmenu
menu "Sleep Config" menu "Sleep Config"
@ -74,8 +74,8 @@ menu "Hardware Settings"
menu "RTC Clock Config" menu "RTC Clock Config"
orsource "./port/$IDF_TARGET/Kconfig.rtc" orsource "./port/$IDF_TARGET/Kconfig.rtc"
# This is used for configure the RTC clock.
config RTC_CLOCK_BBPLL_POWER_ON_WITH_USB config RTC_CLOCK_BBPLL_POWER_ON_WITH_USB
# This is used for configure the RTC clock.
bool "Keep BBPLL clock always work" bool "Keep BBPLL clock always work"
depends on ESP_CONSOLE_USB_SERIAL_JTAG || ESP_CONSOLE_SECONDARY_USB_SERIAL_JTAG depends on ESP_CONSOLE_USB_SERIAL_JTAG || ESP_CONSOLE_SECONDARY_USB_SERIAL_JTAG
default y default y

View File

@ -75,7 +75,8 @@ class SourceChecker(BaseChecker):
# allow to source only files which will be also checked by the script # allow to source only files which will be also checked by the script
# Note: The rules are complex and the LineRuleChecker cannot be used # Note: The rules are complex and the LineRuleChecker cannot be used
def process_line(self, line, line_number): def process_line(self, line, line_number):
m = re.search(r'^\s*source(\s*)"([^"]+)"', line) m = re.search(r'^\s*[ro]{0,2}source(\s*)"([^"]+)"', line)
if m: if m:
if len(m.group(1)) == 0: if len(m.group(1)) == 0:
raise InputError(self.path_in_idf, line_number, '"source" has to been followed by space', raise InputError(self.path_in_idf, line_number, '"source" has to been followed by space',
@ -140,6 +141,9 @@ class IndentAndNameChecker(BaseChecker):
|(help) |(help)
|(if) |(if)
|(source) |(source)
|(osource)
|(rsource)
|(orsource)
) )
''', re.X) ''', re.X)
@ -199,7 +203,7 @@ class IndentAndNameChecker(BaseChecker):
print('level+', new_item, ': ', self.level_stack, end=' -> ') print('level+', new_item, ': ', self.level_stack, end=' -> ')
# "config" and "menuconfig" don't have a closing pair. So if new_item is an item which need to be indented # "config" and "menuconfig" don't have a closing pair. So if new_item is an item which need to be indented
# outside the last "config" or "menuconfig" then we need to find to a parent where it belongs # outside the last "config" or "menuconfig" then we need to find to a parent where it belongs
if new_item in ['config', 'menuconfig', 'menu', 'choice', 'if', 'source']: if new_item in ['config', 'menuconfig', 'menu', 'choice', 'if', 'source', 'rsource', 'osource', 'orsource']:
# item is not belonging to a previous "config" or "menuconfig" so need to indent to parent # item is not belonging to a previous "config" or "menuconfig" so need to indent to parent
for i, item in enumerate(reversed(self.level_stack)): for i, item in enumerate(reversed(self.level_stack)):
if item in ['menu', 'mainmenu', 'choice', 'if']: if item in ['menu', 'mainmenu', 'choice', 'if']:

View File

@ -1 +1 @@
rsource "port/$IDF_TARGET/Kconfig" rsource "port/$IDF_TARGET/Kconfig.port"