import json
from pathlib import Path
import sys

ROOT = Path(__file__).resolve().parents[4]
sys.path.insert(0, str(ROOT / 'tools/dev'))
import checks
from common import new_run, isolated_environment, write_json
from types import SimpleNamespace

if sys.argv[1] == 'red':
    checks.GODOT['fake_ending'] = ('fake_ending_check', 'FAKE ENDING CHECK: OK', ['--', '--regression-slides'])
    raise SystemExit(checks.run_checks(SimpleNamespace(area=['fake_ending'], full=False, match=None,
        plan=False, timeout=60, seed=1709, fixture=None, baseline=None)))

run = new_run('ligne95-captures')
environment = isolated_environment(run)
environment['BIGEGG_DEV_SEED'] = '1709'
godot, user = checks.prepare_godot(run, environment, None, 60)
environment['BIGEGG_DEV_SCENE'] = 'res://scenes/main/fake_ending_check.tscn'
command = [godot, '--path', str(ROOT), '--resolution', '1920x1080', '--script',
    str(ROOT / 'tools/dev/run_scene.gd'), '--', '--slides-captures=' + str(run)]
result = checks.execute(command, environment, run / 'output.log', 90, 'FAKE ENDING CHECK: OK')
write_json(run / 'report.json', result)
print(json.dumps({'run': str(run.relative_to(ROOT)), 'status': result['status'], 'errors': result['errors']}, indent=2))
raise SystemExit(0 if result['status'] == 'PASS' else 1)
