Edgewall Software

source: trunk/doc/reports.txt

Last change on this file was 997, checked in by hodgestar, 13 years ago

Wrap lint report messages in a msg tag (includes a test and a documentation update). Fixes #547.

  • Property svn:mime-type set to text/x-rst
File size: 5.9 KB

Report Formats

The base element of the report must be "report" and have an attribute "category" that is one of "test", "coverage" or "lint":

<report category="test|coverage|lint">
</report>

Inside the report there must be elements for each report type. The way the data is captured is pretty flexible because it can either be in attributes or in child elements.

Test Reports

Test reports must have sub-elements of report of type <test />. These elements can have any of these attributes (or subelements with contained cdata):

Attribute Description
duration Duration of test (float)
status "success", "failure", "error", or "ignore" (string)
name Name of the test (string)
fixture Name of the test fixture (string)
file Path to test file relative to the base path for the build configuration (string)
stdout The output from the test (string)
traceback The traceback from any error or failure (string)

Example:

<report category="test">
   <test duration="0.073"
         status="success"
         fixture="bitten.tests.model.BuildConfigTestCase"
         name="test_config_update_name"
         file="bitten/tests/model.py"
         stdout="Renaming build configuration"
         traceback="None">
   </test>
   <test>
     <duration>0.073</duration>
     <status>success</status>
     <fixture>bitten.tests.model.BuildConfigTestCase</fixture>
     <name>test_config_update_name</name>
     <file>bitten/tests/model.py</file>
     <stdout>Renaming build configuration</stdout>
   </test>
</report>

Coverage Reports

Coverage reports must be inside <coverage /> elements. The allowable attributes are:

Attribute Description
name The name of the module being tested for coverage
file The name of the file relative to the base path in the build configuration
percentage The percentage of lines in that file covered
lines The number of lines covered
line_hits Line-by-line coverage of the file, where code lines have 0 or more times covered and non-code lines are marked as '-' (optional)

Example:

<report category="coverage">
   <coverage name="my_module"
             file="my_module.py"
             percentage="75"
             lines="4"
             line_hits="2 0 - 1 1">
    </coverage>
</report>

Lint Reports

Lint issues are placed inside <problem /> elements, with allowed attributes of:

Attribute Description
file The name of the file relative to the base path in the build configuration
tag Class, method or other useful identifiable location inside the file
line Line number
category Category for problem; convention \| warning \| refactor \| error

Each <problem /> elements may contain a <msg> element whose text is the issue description reported by pylint.

Example:

<report category="lint">
   <problem category="convention"
            line="17"
            tag="TestResultsChartGenerator"
            file="bitten/report/testing.py">
        <msg>Missing docstring</msg>
    </problem>
</report>
Note: See TracBrowser for help on using the repository browser.