我想使用 Python
测试 cpp
代码。
我有下一个代码和 a.exe
文件,编译后得到:
int main() {
std::istream& input_stream = std::cin;
std::ostream& output_stream = std::cout;
Data input_data = ReadData(input_stream);
Data output_data = DoSomethingWithData(input_data);
OutputData(output_data, output_stream);
return 0;
}
我有 py
代码:
input_data = ''
for line in sys.stdin:
input_data += line
output_data = do_something_with_data(input_data)
print(output_data)
我想制作py
脚本,它可以为cpp
程序和py
程序提供相等的输入并比较输出。有简单的方法吗?
最佳答案
您可以使用 subprocess
( https://docs.python.org/2/library/subprocess.html ):
input_data = "some-data"
cpp_output = subprocess.check_output(["a.exe", input_data])
python_output = subprocess.check_output(["python", "test.py", input_data])
assert cpp_output == python_output
关于python - 比较 cpp 和 python 上的程序结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40804570/