Добавить пояснения к исходникам, заголовкам TI, настройкам CCS и существующим проверкам. Зафиксировать правила кодировки, обзор модулей и аудит комментариев.
33 lines
3.2 KiB
Python
33 lines
3.2 KiB
Python
# Проверка load_control на модели пк. Комментарии и исходный текст в UTF-8.
|
||
# Продолжает текущий вызов, список или выражение: """Compile the production DAC.c against GPIO/IRQ mocks; no hardware writes."""; порядок аргументов сохраняется.
|
||
"""Compile the production DAC.c against GPIO/IRQ mocks; no hardware writes."""
|
||
# Подключает модуль os для этой проверки или подготовки сборки.
|
||
import os
|
||
# Импортирует необходимые имена: from pathlib import Path.
|
||
from pathlib import Path
|
||
# Подключает модуль shutil для этой проверки или подготовки сборки.
|
||
import shutil
|
||
# Подключает модуль subprocess для этой проверки или подготовки сборки.
|
||
import subprocess
|
||
# Подключает модуль tempfile для этой проверки или подготовки сборки.
|
||
import tempfile
|
||
|
||
# Задаёт root по выражению справа; значение используется последующими операциями.
|
||
root = Path(__file__).resolve().parents[2]
|
||
# Задаёт 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(prefix='load-control-') as tmp с автоматическим освобождением.
|
||
with tempfile.TemporaryDirectory(prefix='load-control-') as tmp:
|
||
# Задаёт exe по выражению справа; значение используется последующими операциями.
|
||
exe = Path(tmp) / 'test.exe'
|
||
# Запускает внешний компилятор, генератор или тест; ненулевой результат проверяется параметрами вызова.
|
||
subprocess.run([compiler, '-Wall', '-Wextra', '-std=c99',
|
||
# Продолжает текущий вызов, список или выражение: '-Itests/load_control/stubs', '-ISource/Internal/Include',; порядок аргументов сохраняется.
|
||
'-Itests/load_control/stubs', '-ISource/Internal/Include',
|
||
# Задаёт 'tests/load_control/load_control_test.c', '-o', str(exe)], cwd по выражению справа; значение используется последующими операциями.
|
||
'tests/load_control/load_control_test.c', '-o', str(exe)], cwd=root, check=True)
|
||
# Запускает внешний компилятор, генератор или тест; ненулевой результат проверяется параметрами вызова.
|
||
subprocess.run([str(exe)], check=True, timeout=10)
|