import hashlib, pathlib, subprocess
root=pathlib.Path('/home/ubuntu/wt/pr-25526')
state=root/'packages/client-runtime/src/state'
module=state/'session-proof-25526.ts'
test=state/'environmentHttpAuth.proof-25526.test.ts'
original=subprocess.check_output(['git','show','8fbfc33c1ac503048ca2983564318bc29143086a:packages/client-runtime/src/state/environmentHttpAuth.test.ts'],cwd=root,text=True)
proof=original.replace('from "./session.ts"','from "./session-proof-25526.ts"')
assert proof!=original
baseline='dd5b5401e1f240f4314af29edf431369d182f386'
after='8fbfc33c1ac503048ca2983564318bc29143086a'
with open('/tmp/ev-25526/regression-proof.log','w') as log:
 try:
  test.write_text(proof)
  log.write('Same regression tests, test content sha256 '+hashlib.sha256(proof.encode()).hexdigest()+'\n');log.flush()
  for label,rev,expected in [('before',baseline,1),('after',after,0)]:
   content=subprocess.check_output(['git','show',rev+':packages/client-runtime/src/state/session.ts'],cwd=root)
   module.write_bytes(content)
   log.write('\n'+label+' revision '+rev+' source sha256 '+hashlib.sha256(content).hexdigest()+'\n');log.flush()
   r=subprocess.run(['vp','test','run','src/state/environmentHttpAuth.proof-25526.test.ts','-t','waits longer for session permissions|gives up on session permissions'],cwd=root/'packages/client-runtime',stdout=log,stderr=subprocess.STDOUT)
   log.write('Runner exit '+str(r.returncode)+' expected '+str(expected)+'\n');log.flush()
   if r.returncode!=expected: raise RuntimeError('Unexpected regression proof result')
 finally:
  module.unlink(missing_ok=True);test.unlink(missing_ok=True)
