Добавить пояснения к исходникам, заголовкам TI, настройкам CCS и существующим проверкам. Зафиксировать правила кодировки, обзор модулей и аудит комментариев.
43 lines
4.2 KiB
Python
43 lines
4.2 KiB
Python
# Проверка 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}')
|