#!/usr/bin/env python3 import re import os import sys import struct from subprocess import Popen, PIPE def main(argv): if len(argv) < 3: print("Usage: test.py LWC_AEAD_KAT.txt program [arguments]") test_file = open(argv[1], 'r') p = Popen(argv[2:], bufsize=0, stdin=PIPE, stdout=PIPE) def write(data): l = p.stdin.write(data) if len(data) != l: raise Exception("could not write %d bytes of data (put %d)" % (len(data), l)) def read(l): data = p.stdout.read(l) if len(data) != l: raise Exception("could not read %d bytes of data (got %d)" % (l, len(data))) return data def submit(action, data): h = struct.pack("