Skip to main content
Join the official 2019 Python Developers SurveyStart the survey!

Convert ansible-lint outputs to a jUnit valid xml tests result file

Project description

https://badge.fury.io/py/ansible-lint-to-junit-xml.png https://travis-ci.org/andreferreirav2/ansible-lint-to-junit-xml.png?branch=master

Convert ansible-lint outputs to a jUnit valid xml tests result file.

Quickstart

Install ansible-lint-to-junit-xml in your preferred Python env

pip install ansible-lint-to-junit-xml

Run ansible-lint on the desired files and pipe to ansible-lint-to-junit-xml

ansible-lint -q -p <file or directly> | ansible-lint-to-junit-xml > results/ansible-lint-results.xml

Alternatively you can run ansible-lint separately from ansible-lint-to-junit-xml and use a file to pass the output

ansible-lint -q -p <file or directly> > ansible-lint-results.txt
ansible-lint-to-junit-xml ansible-lint-results.txt > results/ansible-lint-results.xml

Note: ansible-lint must run with -p for the output to be machine parsable

Features

Example

Running ansible-lint on a file results in:

playbooks/test_playbook.yml:41: [E303] curl used in place of get_url or uri module
playbooks/tasks/example_task.yml:28: [E601] Don't compare to literal True/False

Running ansible-lint and piping the output to ansible-lint-to-junit-xml looks line this:

ansible-lint -q -p playbooks/test_playbook.yml | ansible-lint-to-junit-xml

Would result in:

<?xml version="1.0" ?>
<testsuites>
    <testsuite errors="2" name="ansible-lint" tests="2">
        <testcase name="[E303] curl used in place of get_url or uri module">
            <failure message="playbooks/test_playbook.yml:41: [E303] curl used in place of get_url or uri module" type="ansible-lint">
            ansible-lint error: [E303] curl used in place of get_url or uri module
            ansible-lint error description: [E303] curl used in place of get_url or uri module
            filename: playbooks/test_playbook.yml
            line nr: 41
            </failure>
        </testcase>
        <testcase name="[E601] Don't compare to literal True/False">
            <failure message="playbooks/tasks/example_task.yml:28: [E601] Don't compare to literal True/False" type="ansible-lint">
            ansible-lint error: [E601] Don't compare to literal True/False
            ansible-lint error description: [E601] Don't compare to literal True/False
            filename: playbooks/tasks/example_task.yml
            line nr: 28
            </failure>
        </testcase>
    </testsuite>
</testsuites>

Documentation

The full documentation is at http://ansible-lint-to-junit-xml.rtfd.org.

History

0.1.0 (2019-07-30)

  • First release on PyPI.

Project details


Release history Release notifications

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for ansible-lint-to-junit-xml, version 0.1.0
Filename, size File type Python version Upload date Hashes
Filename, size ansible-lint-to-junit-xml-0.1.0.tar.gz (5.9 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page