KAZIK/tools/tests/check_casino_actions.py
Игорь Федосеев eaac8b861e feat: rework artifacts and tower relics
Extend profiles from 280 to 312 bytes with legacy compatibility.
Keep tower relics run-local and share the profile bankroll.
2026-10-30 23:22:19 +03:00

30 lines
1.4 KiB
Python

"""Build full native action suite without changing production source or executables."""
from pathlib import Path
import subprocess
import sys
from check_artifacts import toolchain
ROOT = Path(__file__).resolve().parents[2]
def main():
(ROOT/'build/actions').mkdir(parents=True, exist_ok=True)
for fixture in ('prepare_arrival_fixtures.py', 'prepare_clover_fixtures.py',
'prepare_poker_fixtures.py'):
subprocess.run([sys.executable, '-B', str(ROOT/'tools/tests'/fixture)], check=True, cwd=ROOT)
ml, link = toolchain()
sdk = Path('C:/Program Files (x86)/Windows Kits/10/Lib')
libraries = next(p/'um/x86' for p in sorted(sdk.iterdir(), reverse=True)
if (p/'um/x86/kernel32.lib').exists())
subprocess.run([str(ml), '/c', '/coff', '/Cp', '/nologo', '/I.', '/DCASINO_ACTION_TEST=1',
'/Fobuild/actions/actions-test.obj', 'poker.asm'], cwd=ROOT, check=True)
subprocess.run([str(link), '/nologo', '/SUBSYSTEM:CONSOLE', '/LIBPATH:'+str(libraries),
'/OUT:build/actions/actions-test.exe', 'build/actions/actions-test.obj',
'kernel32.lib', 'winmm.lib', 'user32.lib', 'gdi32.lib', 'opengl32.lib'],
cwd=ROOT, check=True)
subprocess.run([str(ROOT/'build/actions/actions-test.exe')], cwd=ROOT, check=True, timeout=600)
print((ROOT/'build/actions/test-report.txt').read_text(encoding='ascii'))
if __name__ == '__main__':
main()