虽然脚本在本地控制台中刷新,但Jenkins控制台输出不会逐行刷新

时间:2015-01-15 12:11:26

标签: perl jenkins flush tap tap-harness

我正在使用带有多个测试脚本的Perl TAP :: Harness :: JUnit的Jenkins。在一个测试脚本完成之前,我无法让Jenkins刷新到控制台。它只是缓冲整个测试套件,并在完成后立即将其全部冲洗掉。我得到的例子如下:

  
      
  • 11:56:19 1..2
  •   
  • 11:56:19 ok 1 - Test1
  •   
  • 11:56:19实际时间:11:55:59:现在睡20秒......
  •   
  • 11:56:19实际时间:11:56:19
  •   
  • 11:56:19 ok 2 - Test2
  •   

我已经花了两周时间在这上面,我知道所有正常的解决方案,但它们似乎都没有用。我在我的perl TAP :: Harness :: JUnit中设置了merge => 1,我知道STDOUT与STDERR交织在一起,但我已经尝试了所有的刷新方式,并且在Jenkins控制台输出上没有任何作用。

请注意,如果我在机器的命令行中尝试使用相同的线束,则所有内容都会立即刷新。我已尝试stdbuf -i0 -o0 -e0stdbuf -oL -eL$|=1autoflush STDOUT 1,打印到文件CMD 1>console.log 2>&1。什么都不行

这在执行性能指标时很烦人,因为我无法将此时的CPU上的高压与特定测试的时间戳相关联,因为时间戳是没有意义的。然而,最令人讨厌的含义是,当测试中间的测试挂起或崩溃时,没有打印输出,所以我不知道为什么测试崩溃。

0 个答案:

没有答案