stdin と stdout を実行する対話型プログラムがあります。Xを標準入力に送信するラッパーを作成し、Yを出力してから、プログラムが直接実行されるのと同じように、ラッパーの標準入力と標準出力をプログラムの標準入力と標準出力にリダイレクトすることを確認する必要があります。
これを実装する方法は?X と Y はハードコーディングできます。バッシュ?パイソン?
編集:プログラムを 2 回実行することはできません。1 つのインスタンスである必要があります。擬似コードは次のとおりです。
def wrap(cmd, in, expected_out):
p = exec(cmd)
p.writeToStdin(in)
out = p.readBytes (expected_out.size())
if (out != expected_out) return fail;
# if the above 4 lines would be absent or (in == "" and out == "")
# then this wrapper would be exactly like direct execution of cmd
connectpipe (p.stdout, stdout)
connectpipe (stdin, p.stdin)
p.continueExecution()