我有一堆运行GTEST的可执行文件。
GTEST提供通过和失败测试的颜色输出。
现在,当我尝试使用python subprocess.check_output脚本运行一堆可执行文件时,它打印时没有颜色。
这是代码:
for root, dirs, files in os.walk(path):
for file in files:
try:
print subprocess.check_output([os.path.join(root, file)], shell= True, )
except subprocess.CalledProcessError, e:
error +=1
print error
任何人都可以帮助我,如何将输出打印为带有颜色的原始输出?
答案 0 :(得分:0)
因为我今天在Windows上运行类似的问题。我做了一点研究,似乎问题是,gtest通过使用screenbuffer句柄在控制台中创建颜色。 gtest的普通外流不包含任何颜色信息。这意味着一旦重定向就会丢失颜色。
以下代码对我有用:
subprocess.check_call(["cmd", "/c", gtest_case_executable, "--gtest_color=yes"])
只要未使用tee
或>>
等任何重定向调用执行Python命令行调用。