change(tools): ruff formating test_hints.py

This commit is contained in:
Marek Fiala
2025-07-04 14:42:28 +02:00
committed by Roland Dobai
parent 9aada24169
commit d7faae9ae4

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env python #!/usr/bin/env python
# #
# SPDX-FileCopyrightText: 2022-2023 Espressif Systems (Shanghai) CO LTD # SPDX-FileCopyrightText: 2022-2025 Espressif Systems (Shanghai) CO LTD
# SPDX-License-Identifier: Apache-2.0 # SPDX-License-Identifier: Apache-2.0
import os import os
import sys import sys
@@ -8,15 +8,13 @@ import tempfile
import unittest import unittest
from pathlib import Path from pathlib import Path
from subprocess import run from subprocess import run
from typing import List
import yaml import yaml
try: try:
EXT_IDF_PATH = os.environ['IDF_PATH'] # type: str EXT_IDF_PATH = os.environ['IDF_PATH'] # type: str
except KeyError: except KeyError:
print(('This test needs to run within ESP-IDF environmnet. ' print(('This test needs to run within ESP-IDF environment. Please run export script first.'), file=sys.stderr)
'Please run export script first.'), file=sys.stderr)
exit(1) exit(1)
CWD = os.path.join(os.path.dirname(__file__)) CWD = os.path.join(os.path.dirname(__file__))
@@ -48,12 +46,9 @@ class TestHintsMassages(unittest.TestCase):
self.tmpdir.cleanup() self.tmpdir.cleanup()
def run_idf(args: List[str], cwd: Path) -> str: def run_idf(args: list[str], cwd: Path) -> str:
# Simple helper to run idf command and return it's stdout. # Simple helper to run idf command and return it's stdout.
cmd = [ cmd = [sys.executable, os.path.join(os.environ['IDF_PATH'], 'tools', 'idf.py')]
sys.executable,
os.path.join(os.environ['IDF_PATH'], 'tools', 'idf.py')
]
proc = run(cmd + args, capture_output=True, cwd=cwd, text=True) proc = run(cmd + args, capture_output=True, cwd=cwd, text=True)
return str(proc.stdout + proc.stderr) return str(proc.stdout + proc.stderr)
@@ -68,10 +63,9 @@ class TestHintModuleComponentRequirements(unittest.TestCase):
self.projectdir = self.tmpdirpath / 'project' self.projectdir = self.tmpdirpath / 'project'
self.projectdir.mkdir(parents=True) self.projectdir.mkdir(parents=True)
(self.projectdir / 'CMakeLists.txt').write_text(( (self.projectdir / 'CMakeLists.txt').write_text(
'cmake_minimum_required(VERSION 3.16)\n' 'cmake_minimum_required(VERSION 3.16)\ninclude($ENV{IDF_PATH}/tools/cmake/project.cmake)\nproject(foo)'
'include($ENV{IDF_PATH}/tools/cmake/project.cmake)\n' )
'project(foo)'))
maindir = self.projectdir / 'main' maindir = self.projectdir / 'main'
maindir.mkdir() maindir.mkdir()
@@ -104,9 +98,7 @@ class TestHintModuleComponentRequirements(unittest.TestCase):
# REQUIRES instead of PRIV_REQUIRES. # REQUIRES instead of PRIV_REQUIRES.
run_idf(['fullclean'], self.projectdir) run_idf(['fullclean'], self.projectdir)
maincmake = self.projectdir / 'main' / 'CMakeLists.txt' maincmake = self.projectdir / 'main' / 'CMakeLists.txt'
maincmake.write_text(('idf_component_register(SRCS "foo.c" ' maincmake.write_text('idf_component_register(SRCS "foo.c" REQUIRES esp_timer INCLUDE_DIRS ".")')
'REQUIRES esp_timer '
'INCLUDE_DIRS ".")'))
output = run_idf(['app'], self.projectdir) output = run_idf(['app'], self.projectdir)
self.assertIn('To fix this, add component1 to REQUIRES list of idf_component_register call', output) self.assertIn('To fix this, add component1 to REQUIRES list of idf_component_register call', output)
@@ -115,9 +107,7 @@ class TestHintModuleComponentRequirements(unittest.TestCase):
# to component1.h. Now the hint should report that esp_psram should # to component1.h. Now the hint should report that esp_psram should
# be moved from PRIV_REQUIRES to REQUIRES for component1. # be moved from PRIV_REQUIRES to REQUIRES for component1.
run_idf(['fullclean'], self.projectdir) run_idf(['fullclean'], self.projectdir)
maincmake.write_text(('idf_component_register(SRCS "foo.c" ' maincmake.write_text('idf_component_register(SRCS "foo.c" REQUIRES esp_timer component1 INCLUDE_DIRS ".")')
'REQUIRES esp_timer component1 '
'INCLUDE_DIRS ".")'))
(self.projectdir / 'components' / 'component1' / 'component1.h').write_text('#include "esp_psram.h"') (self.projectdir / 'components' / 'component1' / 'component1.h').write_text('#include "esp_psram.h"')
component1cmake.write_text('idf_component_register(INCLUDE_DIRS "." PRIV_REQUIRES esp_psram)') component1cmake.write_text('idf_component_register(INCLUDE_DIRS "." PRIV_REQUIRES esp_psram)')
output = run_idf(['app'], self.projectdir) output = run_idf(['app'], self.projectdir)
@@ -147,12 +137,13 @@ class TestNestedModuleComponentRequirements(unittest.TestCase):
self.projectdir = maindir / 'project' self.projectdir = maindir / 'project'
self.projectdir.mkdir(parents=True) self.projectdir.mkdir(parents=True)
(self.projectdir / 'CMakeLists.txt').write_text(( (self.projectdir / 'CMakeLists.txt').write_text(
'cmake_minimum_required(VERSION 3.16)\n' 'cmake_minimum_required(VERSION 3.16)\n'
f'set(EXTRA_COMPONENT_DIRS "{components.as_posix()}")\n' f'set(EXTRA_COMPONENT_DIRS "{components.as_posix()}")\n'
'set(COMPONENTS main)\n' 'set(COMPONENTS main)\n'
'include($ENV{IDF_PATH}/tools/cmake/project.cmake)\n' 'include($ENV{IDF_PATH}/tools/cmake/project.cmake)\n'
'project(foo)')) 'project(foo)'
)
maindir = self.projectdir / 'main' maindir = self.projectdir / 'main'
maindir.mkdir() maindir.mkdir()
@@ -164,7 +155,9 @@ class TestNestedModuleComponentRequirements(unittest.TestCase):
# when components are nested. The main component should be identified as the # when components are nested. The main component should be identified as the
# real source, not the component1 component. # real source, not the component1 component.
output = run_idf(['app'], self.projectdir) output = run_idf(['app'], self.projectdir)
self.assertNotIn('esp_timer.h found in component esp_timer which is already in the requirements list of component1', output) self.assertNotIn(
'esp_timer.h found in component esp_timer which is already in the requirements list of component1', output
)
self.assertIn('To fix this, add esp_timer to PRIV_REQUIRES list of idf_component_register call', output) self.assertIn('To fix this, add esp_timer to PRIV_REQUIRES list of idf_component_register call', output)
def tearDown(self) -> None: def tearDown(self) -> None:
@@ -181,11 +174,12 @@ class TestTrimmedModuleComponentRequirements(unittest.TestCase):
self.projectdir = self.tmpdirpath / 'project' self.projectdir = self.tmpdirpath / 'project'
self.projectdir.mkdir(parents=True) self.projectdir.mkdir(parents=True)
(self.projectdir / 'CMakeLists.txt').write_text(( (self.projectdir / 'CMakeLists.txt').write_text(
'cmake_minimum_required(VERSION 3.16)\n' 'cmake_minimum_required(VERSION 3.16)\n'
'set(COMPONENTS main)\n' 'set(COMPONENTS main)\n'
'include($ENV{IDF_PATH}/tools/cmake/project.cmake)\n' 'include($ENV{IDF_PATH}/tools/cmake/project.cmake)\n'
'project(foo)')) 'project(foo)'
)
maindir = self.projectdir / 'main' maindir = self.projectdir / 'main'
maindir.mkdir() maindir.mkdir()
@@ -194,7 +188,9 @@ class TestTrimmedModuleComponentRequirements(unittest.TestCase):
def test_trimmed_component_requirements(self) -> None: def test_trimmed_component_requirements(self) -> None:
output = run_idf(['app'], self.projectdir) output = run_idf(['app'], self.projectdir)
self.assertIn('To fix this, add esp_http_client to PRIV_REQUIRES list of idf_component_register call in', output) self.assertIn(
'To fix this, add esp_http_client to PRIV_REQUIRES list of idf_component_register call in', output
)
def tearDown(self) -> None: def tearDown(self) -> None:
self.tmpdir.cleanup() self.tmpdir.cleanup()