from pathlib import Path
import json,subprocess,sys
H=Path(__file__).resolve().parent;mode=sys.argv[1];assert mode in ('original','candidate')
out=H/('pure-red-original.json' if mode=='original' else 'pure-green-candidate.json');assert not out.exists()
target='/workspace/zhct/'+str((H/'test_real_services.php').relative_to(Path('/Users/wiscourper/Documents/workspace/zhct')))
r=subprocess.run(['docker','exec','zhctapp_v2_0','/usr/local/php7.4/bin/php',target,mode],capture_output=True,text=True)
assert r.stderr=='',r.stderr
data=json.loads(r.stdout);assert data['SQL']==data['HTTP']==data['PDO']==data['DMLDDL']==0
assert r.returncode==(1 if mode=='original' else 0)
assert len(data['failures'])==(8 if mode=='original' else 0)
out.write_text(json.dumps(data,ensure_ascii=False,indent=2)+'\n')
print(json.dumps({'phase':mode,'checks':data['checks'],'failures':len(data['failures']),'DB':0,'SQL':0,'HTTP':0,'DMLDDL':0}))
