使用Python测试REPL程序

133 阅读1分钟

使用Python测试REPL程序

import subprocess

def test():
    with subprocess.Popen(args="database.exe",
                          encoding='utf-8',
                          shell=True,
                          stdout=subprocess.PIPE,
                          stdin=subprocess.PIPE,
                          stderr=subprocess.PIPE) as proc:
        try:
            inputs = "\n".join([
                "insert 0 1 1",
                "select",
                ".exit",
            ])

            out, err = proc.communicate(input=inputs)

            print(out)
        except subprocess.TimeoutExpired:
            proc.kill()
            
test()