mirror of
https://github.com/espressif/esp-idf.git
synced 2025-10-04 11:00:58 +02:00
change(tools): ruff formating test_hints.py
This commit is contained in:
committed by
Roland Dobai
parent
9aada24169
commit
d7faae9ae4
@@ -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()
|
||||||
|
Reference in New Issue
Block a user