"""Build and run tests/boot_warm_check.c: runtime/boot_warm.h, whether a start does the whole warm on the boot screen after a driver change (the decision alone; no GPU, no game files). Usage: boot_warm_check.py """ import os import shutil import subprocess import sys from pathlib import Path ROOT = Path(__file__).resolve().parents[1] sys.path.insert(0, str(ROOT / 'tests' / 'diff')) try: from common import MSYS_BIN, compiler # noqa: E402 except ImportError: # a Python without the differential tests' packages: the same compiler choice without them MSYS_BIN = Path(r'C:\msys64\ucrt64\bin') def compiler(): if os.environ.get('CC'): return os.environ['CC'] if os.name == 'nt' and (MSYS_BIN / 'clang.exe').exists(): return str(MSYS_BIN / 'clang.exe') return shutil.which('clang') or 'clang' def main(): work = ROOT / 'build' / 'test' / 'boot_warm' work.mkdir(parents=True, exist_ok=True) exe = work / ('boot_warm_check.exe' if os.name == 'nt' else 'boot_warm_check') env = dict(os.environ) if os.name == 'nt' and MSYS_BIN.exists(): env['PATH'] = str(MSYS_BIN) + os.pathsep + env.get('PATH', '') subprocess.check_call([compiler(), '-O1', '-Wall', '-Werror', '-I', str(ROOT / 'runtime'), str(ROOT / 'tests' / 'boot_warm_check.c'), '-o', str(exe)], env=env) return subprocess.run([str(exe)], env=env).returncode if __name__ == '__main__': sys.exit(main())