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.