Before adding universal_newlines=True
to meta.py
subprocesses
This commit is contained in:
30
meta.py
30
meta.py
@@ -2,15 +2,31 @@
|
|||||||
|
|
||||||
import subprocess, ast
|
import subprocess, ast
|
||||||
|
|
||||||
p = subprocess.Popen('./verifier.py',
|
verifier, prover = [subprocess.Popen(f'./{program}.py', stdout = subprocess.PIPE, stdin = subprocess.PIPE, stderr = subprocess.DEVNULL) for program in ('verifier', 'prover')]
|
||||||
stdout = subprocess.PIPE,
|
|
||||||
stdin = subprocess.PIPE)
|
|
||||||
|
|
||||||
lines = p.communicate()[0].decode('ascii').splitlines()
|
def getProgramLine(program):
|
||||||
print(lines)
|
return program.stdout.readline().decode('ascii')
|
||||||
protocolInitializationPhaseId = ast.literal_eval(lines[0].split('=')[1])
|
|
||||||
|
def getOutput(line):
|
||||||
|
return ast.literal_eval(line.split('=')[1])
|
||||||
|
|
||||||
|
def getProgramOutput(program):
|
||||||
|
return getOutput(getProgramLine(program))
|
||||||
|
|
||||||
|
protocolInitializationPhaseId = getProgramOutput(verifier)
|
||||||
print(f'{protocolInitializationPhaseId=}')
|
print(f'{protocolInitializationPhaseId=}')
|
||||||
protocolExecutionPhaseId = ast.literal_eval(lines[1].split('=')[1])
|
protocolExecutionPhaseId = getProgramOutput(verifier)
|
||||||
print(f'{protocolExecutionPhaseId=}')
|
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))
|
||||||
|
Reference in New Issue
Block a user