mirror of
https://github.com/espressif/esp-idf.git
synced 2025-11-21 19:09:13 +00:00
Tools: Rewrite build system unit tests to python - cmake libraries and Kconfig
This commit is contained in:
32
tools/test_build_system/test_components.py
Normal file
32
tools/test_build_system/test_components.py
Normal file
@@ -0,0 +1,32 @@
|
||||
# SPDX-FileCopyrightText: 2023 Espressif Systems (Shanghai) CO LTD
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import logging
|
||||
import shutil
|
||||
from pathlib import Path
|
||||
|
||||
import pytest
|
||||
from test_build_system_helpers import IdfPyFunc, replace_in_file
|
||||
|
||||
|
||||
def test_component_extra_dirs(idf_py: IdfPyFunc, test_app_copy: Path) -> None:
|
||||
logging.info('Setting EXTRA_COMPONENT_DIRS works')
|
||||
shutil.move(test_app_copy / 'main', test_app_copy / 'different_main' / 'main')
|
||||
replace_in_file((test_app_copy / 'CMakeLists.txt'), '# placeholder_before_include_project_cmake',
|
||||
'set(EXTRA_COMPONENT_DIRS {})'.format(Path('different_main', 'main')))
|
||||
ret = idf_py('reconfigure')
|
||||
assert str(test_app_copy / 'different_main' / 'main') in ret.stdout
|
||||
assert str(test_app_copy / 'main') not in ret.stdout
|
||||
|
||||
|
||||
@pytest.mark.usefixtures('test_app_copy')
|
||||
def test_component_nonexistent_extra_dirs_not_allowed(idf_py: IdfPyFunc) -> None:
|
||||
ret = idf_py('reconfigure', '-DEXTRA_COMPONENT_DIRS="nonexistent_dir"', check=False)
|
||||
assert ret.returncode != 0
|
||||
|
||||
|
||||
def test_component_names_contain_spaces(idf_py: IdfPyFunc, test_app_copy: Path) -> None:
|
||||
logging.info('Component names may contain spaces')
|
||||
(test_app_copy / 'extra component').mkdir()
|
||||
(test_app_copy / 'extra component' / 'CMakeLists.txt').write_text('idf_component_register')
|
||||
idf_py('-DEXTRA_COMPONENT_DIRS="extra component;main"')
|
||||
Reference in New Issue
Block a user