unitth 0.0.14
Python interface for UnitTH unit test history report generator
License: MIT
Keywords: unit test xunit junit unitth HTML history

|PyPI package| |Documentation| |Test results| |Test coverage| |Code
analysis| |License| |Analytics|

unitth
======

This package provides a Python method and command line interface for
generating HTML reports of unit test histories. The package is a Python
interface for the `UnitTH <http://junitth.sourceforge.net>`__.

Installation
------------

-  Latest release from PyPI ``pip install unitth``

-  Latest revision from GitHub
   ``pip install git+https://github.com/KarrLab/unitth.git#egg=unitth``

Usage
-----

Command line
~~~~~~~~~~~~

::

    usage: unitth (sub-commands ...) [options ...] {arguments ...}

    Generate HTML unit test history report

    positional arguments:
      xml_report_dir        Parent directory of XML reports of individual builds
                            to generate a history report of

    optional arguments:
      -h, --help            show this help message and exit
      --debug               toggle debug output
      --quiet               suppress all output
      --xml-report-filter [XML_REPORT_FILTER]
                            Starts-with filter for individual reports with `xml-
                            report-dir` that should be included in the history
                            report. Set `xml-report-filter` to to include all
                            files/subdirectories in the history report.
      --html-report-path HTML_REPORT_PATH
                            Directory of HTML reports of individual
                            builds(relative to XML directories of individual
                            builds)
      --generate-exec-time-graphs GENERATE_EXEC_TIME_GRAPHS
                            Whether execution time graphs shall be generated
      --html-report-dir HTML_REPORT_DIR
                            directory to store generated HTML history report
      --initial_java_heap_size INITIAL_JAVA_HEAP_SIZE
                            Initial Java heap size
      --maximum_java_heap_size MAXIMUM_JAVA_HEAP_SIZE
                            Maximum Java heap size

Example usage
-------------

Python
~~~~~~

::

    from nose2unitth.core import Converter as nose2unitth
    from junit2htmlreport.parser import Junit as JunitParser
    from unitth.core import UnitTH
    import os
    import subprocess

    os.mkdir('reports')
    os.mkdir('reports/nose')
    os.mkdir('reports/unitth')
    os.mkdir('reports/html')

    subprocess.check_call(['nosetests', 'tests/test_unitth.py:TestDummy.test_dummy_test',
                           '--with-xunit', '--xunit-file', 'reports/nose/1.xml'])
    subprocess.check_call(['nosetests', 'tests/test_unitth.py:TestDummy.test_dummy_test',
                           '--with-xunit', '--xunit-file', 'reports/nose/2.xml'])

    nose2unitth.run('reports/nose/1.xml', 'reports/unitth/1')
    nose2unitth.run('reports/nose/2.xml', 'reports/unitth/2')

    with open('reports/unitth/1/index.html', 'wb') as html_file:
        print >> html_file, JunitParser('reports/nose/1.xml').html()
    with open('reports/unitth/2/index.html', 'wb') as html_file:
        print >> html_file, JunitParser('reports/nose/2.xml').html()

    UnitTH.run('reports/unitth/*', xml_report_filter='', html_report_dir='reports/html')

Command line
~~~~~~~~~~~~

::

    mkdir reports
    mkdir reports/nose
    mkdir reports/unitth
    mkdir reports/html

    nosetests tests/test_unitth.py:TestDummy.test_dummy_test --with-xunit --xunit-file reports/nose/1.xml
    nosetests tests/test_unitth.py:TestDummy.test_dummy_test --with-xunit --xunit-file reports/nose/2.xml

    nose2unitth reports/nose/1.xml reports/unitth/1
    nose2unitth reports/nose/2.xml reports/unitth/2

    junit2html reports/nose/1.xml reports/unitth/1/index.html
    junit2html reports/nose/2.xml reports/unitth/2/index.html

    unitth --xml_report_filter --html_report_dir reports/html "reports/unitth/*"

Documentation
-------------

Please see the `API documentation <http://docs.karrlab.org/unitth>`__.

License
-------

The build utilities are released under the `MIT license <LICENSE>`__.

Development team
----------------

This package was developed by `Jonathan Karr <http://www.karrlab.org>`__
at the Icahn School of Medicine at Mount Sinai in New York, USA.

Questions and comments
----------------------

Please contact the `Jonathan Karr <http://www.karrlab.org>`__ with any
questions or comments.

.. |PyPI package| image:: https://img.shields.io/pypi/v/unitth.svg
   :target: https://pypi.python.org/pypi/unitth
.. |Documentation| image:: https://readthedocs.org/projects/unitth/badge/?version=latest
   :target: http://docs.karrlab.org/unitth
.. |Test results| image:: https://circleci.com/gh/KarrLab/unitth.svg?style=shield
   :target: https://circleci.com/gh/KarrLab/unitth
.. |Test coverage| image:: https://coveralls.io/repos/github/KarrLab/unitth/badge.svg
   :target: https://coveralls.io/github/KarrLab/unitth
.. |Code analysis| image:: https://api.codeclimate.com/v1/badges/e6819121e1e8ca0485a0/maintainability
   :target: https://codeclimate.com/github/KarrLab/unitth
.. |License| image:: https://img.shields.io/github/license/KarrLab/unitth.svg
   :target: LICENSE
.. |Analytics| image:: https://ga-beacon.appspot.com/UA-86759801-1/unitth/README.md?pixel