Coverage.pm -- helper subroutines for code coverage analysis.
This module provides helper subroutines for code coverage analysis using Cobertura.
Coverage::coverage(project_ref,
instrument_classes,
src_dir,
log_file,
relevant_tests,
[single_test,
[merge_with]])
Measures code coverage for a provided Project reference. instrument_classes is the name of a file that lists all the classes which should be instrumented. src_dir provides the root directory of the source code, which is necessary to generate reports.
The test results are written to log_file,
and the boolean parameter relevant_tests
indicates whether only relevant test cases are executed.
If single_test
is specified,
only that test is run.
This is meant to be used in conjunction with merge_with
,
which is the path to another .ser file obtained by running coverage.
This enables incremental analyses.
Coverage::coverage_ext(project,
instrument_classes,
src_dir,
test_dir,
include_pattern,
log_file)
Determines code coverage for an external test suite.
instrument_classes is the name of a file that lists all the classes which should be instrumented.
src_dir
provides the root directory of the source code,
which is necessary to generate reports.
Coverage::insert_row(hashref,
[out_dir])
Insert a row into the database table TAB_COVERAGE.
hashref
points to a hash holding all key-value pairs of the data row.
out_dir is the optional alternative database directory to use.
Coverage::copy_coverage_logs(project,
vid,
suite,
test_id,
log_dir)
Copies the coverage log files to a permanent directory log_dir.
project
is the reference to a Project,
vid
is the version id,
suite
specifies the suite tag (e.g.,
manual,
randoop,
evosuite-branch),
and test_id
provides the id of the test suite.