Files
Balsam_167/tests/eeprom_profiles/run_test.py
Andrey f741741cf8 Сохранить русские комментарии и настройки проекта в UTF-8
Добавить пояснения к исходникам, заголовкам TI, настройкам CCS и существующим проверкам. Зафиксировать правила кодировки, обзор модулей и аудит комментариев.
2026-10-12 12:24:48 +03:00

43 lines
4.2 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Проверка eeprom_profiles на модели пк. Комментарии и исходный текст в UTF-8.
# Продолжает текущий вызов, список или выражение: """Check SPI wire address widths for both production EEPROM configurations."""; порядок аргументов сохраняется.
"""Check SPI wire address widths for both production EEPROM configurations."""
# Импортирует необходимые имена: from pathlib import Path.
from pathlib import Path
# Подключает модуль subprocess для этой проверки или подготовки сборки.
import subprocess
# Подключает модуль os для этой проверки или подготовки сборки.
import os
# Подключает модуль shutil для этой проверки или подготовки сборки.
import shutil
# Подключает модуль tempfile для этой проверки или подготовки сборки.
import tempfile
# Задаёт root по выражению справа; значение используется последующими операциями.
root = Path(__file__).resolve().parents[2]
# Задаёт protocol по выражению справа; значение используется последующими операциями.
protocol = root.parent / 'newProject/SETGUI/third_party/templates/c/set-protocol'
# Задаёт compiler по выражению справа; значение используется последующими операциями.
compiler = os.environ.get('CC') or shutil.which('gcc') or 'C:/msys64/mingw64/bin/gcc.exe'
# Задаёт os.environ['PATH'] по выражению справа; значение используется последующими операциями.
os.environ['PATH'] = str(Path(compiler).resolve().parent) + os.pathsep + os.environ['PATH']
# Открывает управляемый ресурс tempfile.TemporaryDirectory() as folder с автоматическим освобождением.
with tempfile.TemporaryDirectory() as folder:
# Перебирает profile in (0, 1) в указанном порядке.
for profile in (0, 1):
# Задаёт exe по выражению справа; значение используется последующими операциями.
exe = Path(folder) / f'spi{profile}.exe'
# Запускает внешний компилятор, генератор или тест; ненулевой результат проверяется параметрами вызова.
subprocess.run([compiler, '-std=c99',
# Задаёт f'-DEEPROM_M95M02 по выражению справа; значение используется последующими операциями.
f'-DEEPROM_M95M02={profile}', '-Itests/eeprom_profiles/stubs',
# Продолжает текущий вызов, список или выражение: '-ISource/Internal/Include', '-I' + str(protocol),; порядок аргументов сохраняется.
'-ISource/Internal/Include', '-I' + str(protocol),
# Продолжает текущий вызов, список или выражение: 'tests/eeprom_profiles/spi_test.c', '-o', str(exe)],; порядок аргументов сохраняется.
'tests/eeprom_profiles/spi_test.c', '-o', str(exe)],
# Задаёт cwd по выражению справа; значение используется последующими операциями.
cwd=root, check=True)
# Запускает внешний компилятор, генератор или тест; ненулевой результат проверяется параметрами вызова.
subprocess.run([str(exe)], check=True, timeout=10)
# Продолжает текущий вызов, список или выражение: print(f'PASS SPI profile {profile}'); порядок аргументов сохраняется.
print(f'PASS SPI profile {profile}')