unitth documentation¶
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.
Contents¶
Installation¶
Prerequisites¶
- Python
- Pip
Latest release From PyPI¶
Run the following command to install the latest release from PyPI:
pip install unitth
Latest revision from GitHub¶
Run the following command to install the latest version from GitHub:
pip install git+https://github.com/KarrLab/unitth.git#egg=unitth
Command line interface documentation¶
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
Examples¶
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/*"
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')
About¶
License¶
The software is released under the MIT license
The MIT License (MIT)
Copyright (c) 2016 Karr Lab
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Development team¶
This package was developed by the Karr Lab at the Icahn School of Medicine at Mount Sinai in New York, USA.
Acknowledgements¶
This work was supported by a National Institute of Health MIRA award [grant number 1 R35 GM 119771-01].