<type>documentation</type>
<domain>testing</domain>
<id>coverage</id>
<title>Coverage Configuration</title>
<date>$Date: 2006-05-24 22:53:07 -0400 (Wed, 24 May 2006) $</date>
<version>$Revision: 13098 $</version>
<product>pro+</product>

There are several options that control code coverage behavior on the ``Testing`` tab
of ``Project Properties``, accessed from the ``Project`` menu:

* ``Use Code Coverage`` enables or disables the collection of code coverage data and
  display of code coverage markup in Wing's editor.  This is also available as a
  menu item in the ``Testing`` menu.

* ``Measure Coverage Only in Project Files`` restricts the measurement of code coverage
  statistics to only files that are in directories that have been added to the ``Project``
  tool.
  
* ``Extra Coverage Args`` allows passing additional arguments to the ``coverage run``
  command that Wing invokes when running unit tests with code coverage enabled.
  
* ``Clear Data on Project Close`` selects whether Wing will clear
  all code coverage data when the project is closed.  The options are to never
  clear, always clear, or prompt whether to clear.  By default, code coverage
  statistics and support data are retained even when Wing exits.  This allows
  Wing to track data and determine which tests were invalidated even for 
  changes made while Wing is not running, such as update of many files as 
  a result of pulling revisions from a repository.  Note, however, that
  the data stored by Wing may become quite large.  See `Coverage Data Files
  <ref:testing/coverage-data>`__ for details.
  
* ``Combine Data from Multiple Python Environments`` causes Wing to merge all the
  code coverage data collected from unit tests, even if some of those tests are 
  using different Python environments.  See *Multiple Python Environments* 
  in `Code Coverage Environments <ref:testing/coverage-envs>`__ for details.
  
**Selectively Disabling Coverage**

The environment variable ``WING_COVERAGE_DISABLE`` can be set in a launch configuration
to disable collecting code coverage for specific unit test files.  This is useful when 
some testing files are run with versions of Python that are no longer supported by
``coverage`` or that use a Python environment that does not have ``coverage`` installed
into it.

Do do this, right-click on the unit test file and select ``Properties`` and then under
the ``Testing`` tab set ``Environment`` to ``Use Selected Launch Configuration``.  Then
either create or use an existing launch configuration and set ``WING_COVERAGE_DISABLE=1``
under the ``Environment`` tab of the launch configuration.

