Before adding universal_newlines=True to meta.py subprocesses

This commit is contained in:
Benjamin Loison 2023-06-01 23:42:53 +02:00
parent b1418bcd91
commit 7b1098d90d
Signed by: Benjamin_Loison
SSH Key Fingerprint: SHA256:BtnEgYTlHdOg1u+RmYcDE0mnfz1rhv5dSbQ2gyxW8B8

30
meta.py
View File

@ -2,15 +2,31 @@
import subprocess, ast
p = subprocess.Popen('./verifier.py',
stdout = subprocess.PIPE,
stdin = subprocess.PIPE)
verifier, prover = [subprocess.Popen(f'./{program}.py', stdout = subprocess.PIPE, stdin = subprocess.PIPE, stderr = subprocess.DEVNULL) for program in ('verifier', 'prover')]
lines = p.communicate()[0].decode('ascii').splitlines()
print(lines)
protocolInitializationPhaseId = ast.literal_eval(lines[0].split('=')[1])
def getProgramLine(program):
return program.stdout.readline().decode('ascii')
def getOutput(line):
return ast.literal_eval(line.split('=')[1])
def getProgramOutput(program):
return getOutput(getProgramLine(program))
protocolInitializationPhaseId = getProgramOutput(verifier)
print(f'{protocolInitializationPhaseId=}')
protocolExecutionPhaseId = ast.literal_eval(lines[1].split('=')[1])
protocolExecutionPhaseId = getProgramOutput(verifier)
print(f'{protocolExecutionPhaseId=}')
prover.stdin.write(protocolInitializationPhaseId.encode('ascii') + b'\n')
#getProgramLine(prover)
#getProgramLine(prover)
prover.stdin.write(protocolExecutionPhaseId.encode('ascii') + b'\n')
#prover.stdin.close()
#verifier.stdin.write(b"test\n")
#lines = prover.communicate()[0].decode('ascii').splitlines()
#print(lines)
print(getProgramLine(prover))