# Проверка 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)