Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

VHDL test results into jUnit (or other Jenkins-recognized) format

I'm setting up automated regression testing for an FPGA project, almost exactly as described here:

  • Continuous integration of complex reconfigurable systems

Now I want to get test results (from VHDL REPORT statements in ModelSim simulation) to appear in Jenkins testing reports. My understanding is that Jenkins only natively supports jUnit format, and I looked for plugins supporting non-XML formats but didn't see any.

Generating valid XML from VHDL REPORT statements would be very difficult, since the simulation may immediately terminate depending on the severity. Which means that the closing tags would have to be duplicated in every single possible exit path for every single test -- not the most maintainable approach.

So, do you know of any straightforward way to convert plain text into jUnit (or another format, if supported by Jenkins)? If something doesn't already exist, is there an advantage to writing a Jenkins plugin vs just throwing together a perl script? Any other suggestions?

like image 214
Ben Voigt Avatar asked Oct 12 '11 20:10

Ben Voigt


2 Answers

You should take a look at the XUnit Plugin. The Plugin reads test results from a number of tools, and seems adaptable to custom formats. From the documentation the plugin is able to read not only xml, but also csv and txt. For custom format you need to specify some style sheet for the transformation, I am not quite sure if this will go all the way for you. But even if it does not, I suppose the plugin should be easy to extend for your own format.

like image 51
pushy Avatar answered Sep 25 '22 20:09

pushy


Old post but today there is a unit testing framework for VHDL that we've developed. It solves the problem by generating a report on the JUnit format. It also handles the case when the simulation stops due to a severe error. The tool is free and open source and can be found at https://github.com/LarsAsplund/vunit

like image 35
lasplund Avatar answered Sep 25 '22 20:09

lasplund