Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/301.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 为什么Jenkins捕获的stdout忽略了控制台输出上的换行符?_Python_Jenkins_Pytest - Fatal编程技术网

Python 为什么Jenkins捕获的stdout忽略了控制台输出上的换行符?

Python 为什么Jenkins捕获的stdout忽略了控制台输出上的换行符?,python,jenkins,pytest,Python,Jenkins,Pytest,这是有史以来最奇怪的事情,我一直在旋转我的轮子,我似乎无法理解它。自从我为Jenkins启用了retain long output之后,它就一直忽略Pytest捕获的标准输出设置中输出块上的换行符,而不是其他任何地方! 如果查看捕获的标准输出,换行符将变成文字字符,而不是实际的换行符: 但如果您查看控制台输出的任何其他部分,它看起来100%正常: 这让我大吃一惊,因为JUnitXML看起来不错,如果我在任何终端甚至Jenkins上运行带-s标志的pytest,它看起来也不错。即使我关闭了Re

这是有史以来最奇怪的事情,我一直在旋转我的轮子,我似乎无法理解它。自从我为Jenkins启用了retain long output之后,它就一直忽略Pytest捕获的标准输出设置中输出块上的换行符,而不是其他任何地方! 如果查看捕获的标准输出,换行符将变成文字字符,而不是实际的换行符:

但如果您查看控制台输出的任何其他部分,它看起来100%正常:

这让我大吃一惊,因为JUnitXML看起来不错,如果我在任何终端甚至Jenkins上运行带-s标志的pytest,它看起来也不错。即使我关闭了RetainLong输出,它看起来也很好,但这会截断控制台输出,这对于我正在尝试的工作来说并不理想

有人知道为什么会这样吗


感谢阅读此线程。

在ansible.cfg中,更改默认回调:

stdout_callback = debug

FWIW,我对另一个CI服务shippable也有同样的问题。不确定发生了什么,但我现在不能在本地复制。答案在这里