Skip to main content

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

Project description

Yaml Lint to jUnit XML

PyPI version

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

Thanks to the author of the original project ansible-lint-to-junit-xml

Quickstart

Install ansible-lint-to-junit-xml with pip:

pip install yaml-lint-to-junit-xml

Or you can simply get this repo and install with setup.py

Usage

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

yamllint -f parsable <file or directly> | yaml-lint-to-junit-xml > results/yaml-lint-results.xml

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

yamllint -f parsable <file or directly> > yaml-lint-results.txt
yaml-lint-to-junit-xml yaml-lint-results.txt > results/yaml-lint-results.xml

Note: yamllint must run with -f parsable for the output to be machine parsable

Features

Example

Running yamllint on a file results in:

roles/test_role/defaults/main.yml:25:121: [warning] line too long (157 > 120 characters) (line-length)
roles/test_role/tasks/main.yml:33:35: [error] no new line character at the end of file (new-line-at-end-of-file)
test_playbook.yml:4:8: [warning] truthy value should be one of [False, True, false, true] (truthy)

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

yamllint -f parsable test_playbook.yml | yaml-lint-to-junit-xml

Would result in:

<?xml version="1.0" ?>
<testsuite errors="1" name="yaml-lint" tests="1">
        <testcase name="truthy value should be one of [False, True, false, true] (truthy)">
                <failure message="test_playbook.yml:4:8: [warning] truthy value should be one of [False, True, false, true] (truthy)" type="yaml-lint">
yaml-lint exception type: warning
yaml-lint exception description: truthy value should be one of [False, True, false, true] (truthy)
filename: test_playbook.yml
line nr: 4:8
        </failure>
        </testcase>
</testsuite>

Project details


Download files

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

Source Distribution

yaml-lint-to-junit-xml-0.1.1.tar.gz (3.3 kB view hashes)

Uploaded Source

Built Distribution

yaml_lint_to_junit_xml-0.1.1-py2.py3-none-any.whl (4.7 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page