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.