esp-idf/tools/ci/check_test_files.py
2025-03-04 15:53:32 +08:00

48 lines
1.1 KiB
Python
Executable File

#!/usr/bin/env python3
# SPDX-FileCopyrightText: 2025 Espressif Systems (Shanghai) CO LTD
# SPDX-License-Identifier: Apache-2.0
import argparse
import os
import sys
from pathlib import Path
import pytest
sys.path.insert(0, os.path.dirname(__file__))
sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..'))
from idf_ci_utils import IDF_PATH # noqa: E402
os.environ['IDF_PATH'] = IDF_PATH
os.environ['PYTEST_IGNORE_COLLECT_IMPORT_ERROR'] = '1'
from idf_pytest.plugin import IdfPytestEmbedded # noqa: E402
def main() -> None:
parser = argparse.ArgumentParser(description='Pytest linter check')
parser.add_argument(
'files',
nargs='*',
help='Python files to check (full paths separated by space)',
)
args = parser.parse_args()
# Convert input files to pytest-compatible paths
pytest_scripts = [str(Path(f).resolve()) for f in args.files]
cmd = [
'--collect-only',
*pytest_scripts,
'--target', 'all',
'-p', 'test_linter',
]
res = pytest.main(cmd, plugins=[IdfPytestEmbedded('all')])
sys.exit(res)
if __name__ == '__main__':
main()