Reports configuration file
**************************







The reports configuration file looks like a INI file. There is two required
sections : the Main section and the Data section. You'll need some additional
sections to define your reports. Note that some options found in a
configuration file may be overriden using the command line tools.

A sample configuration file is available in the *examples* directory of the
distribution (**tester_reports.ini**). Another one, used to generate some of the 
samples reports is available in `samples/tester_reports.ini`_.


The Main section
````````````````
The main section defines which reports should be created. It's a kind of
*runreports* configuration, supporting the following options:

+------------+-----+--------------------------------------------------------+
| name       | req | description                                            |
+============+=====+========================================================+
| reports    | yes | comma separated list of report'names where each        | 
|            |     | report have its own section in the configuration file  |
+------------+-----+--------------------------------------------------------+
| decorators | no  | comma separated list of decorators to run before the   |
|            |     | reports creation                                       |
+------------+-----+--------------------------------------------------------+
| verbosity  | no  | integer giving the execution verbosity (default to 0)  |
+------------+-----+--------------------------------------------------------+

The main section can contain any other variables which will be used as a base
for all report definitions. 


The Data section
````````````````
The data section describes how to fetch test execution data. It has the following
options:

+------------+-----+--------------------------------------------------------+
| name       | req |   description                                          |
+============+=====+========================================================+
| location   | yes | output file or directory (depends on the mode)         |
+------------+-----+--------------------------------------------------------+
| mode       | no  | execution mode (daily or hourly, default to daily)     |
+------------+-----+--------------------------------------------------------+


There should not be anything else in the data section (actually it would be
ignored) and values entered here should be consistent with the ones found in the
tests configuration file.. 


Transport / formatter definitions
`````````````````````````````````
Transports and formatters *may* be defined by a section in the configuration
file (the section's title gives the transport's identifier). The following
option indicates the transport type:

+--------------+-----+--------------------------------------------------------+
| name         | req |   description                                          |
+==============+=====+========================================================+
| type         | yes | name of the transport or formatter to use              |
+--------------+-----+--------------------------------------------------------+


The rest of the section gives options according to the desired transport. 
Available transport and their respective options are fully described in the
Transports_ section.
If you don't have to specify additional option to the transport / formatter,
you can use its type as identifier instead of a section's name.


Report definitions
``````````````````
A report is defined by a section in the configuration file (the section's title
gives the report's identifier). The following option indicates the reporter to
use:

+--------------+-----+--------------------------------------------------------+
| name         | req |   description                                          |
+==============+=====+========================================================+
| type         | yes | name of the report to produce                          |
+--------------+-----+--------------------------------------------------------+

The rest of the section gives options according to the desired report. Options
are fully described in the Reporters_ section.


Giving options to decorators
````````````````````````````
You can give options to decorators in the configuration file by preceding the
option name by the decorator's name. For instance, you can give the list of
fields to consider by the *contest* decorator by adding ::

  contest_fields = coverage,pylint_evaluation

Options specifics to each decorator are described in their respective section. 


.. _`samples/tester_reports.ini` : samples/tester_reports.ini
