Type: CI Blocker
Affects Version/s: None
Fix Version/s: None
QA Risk Assessment:Needs Assessment
I noticed that the PowerShell module (and then the ACL) module kept reporting that the spec tests were completing but were unstable in Jenkins. Even after I tested this on the registry module ok.
After a lot of debugging I found this in spec_helper.rb in PowerShell:
This would redirect all test output to STDOUT which would explain why I kept seeing bulk XML in Jenkins, BUT the testresult.xml file was empty.
In the registry module I found this in spec_helper.rb:
At some point we guarded this behaviour to only happen on Ruby 1.x which is why it had no effect on Ruby 2.x
After digging around in the Puppet codebase I found this:
However junit is working in the Puppet pipelines. I found a later commit which fixed this:
So it seems this logic was put in because of the win32_console gem. After auditing a bunch of windows modules I found that the older modules had this code, while newer ones (wsus_client, chocolatey) did not and still tested correctly.
However as Puppet 3.x is now well and truly end of life, we can remove this behaviour entirely.