complete-run: add coverage report generation
When `complete-run.pl` is given `--coverage-testing`, try to generate an html coverage testing report for the run. This requires i3 to be compiled with coverage testing support.
This commit is contained in:
parent
ceb0d5c963
commit
d2d72acac4
|
@ -86,6 +86,16 @@ foreach my $binary (@binaries) {
|
||||||
die "$binary is not an executable" unless -x $binary;
|
die "$binary is not an executable" unless -x $binary;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($options{coverage}) {
|
||||||
|
qx(command -v lcov &> /dev/null);
|
||||||
|
die "Cannot find lcov needed for coverage testing." if $?;
|
||||||
|
qx(command -v genhtml &> /dev/null);
|
||||||
|
die "Cannot find genhtml needed for coverage testing." if $?;
|
||||||
|
|
||||||
|
# clean out the counters that may be left over from previous tests.
|
||||||
|
qx(lcov -d ../ --zerocounters &> /dev/null);
|
||||||
|
}
|
||||||
|
|
||||||
qx(Xephyr -help 2>&1);
|
qx(Xephyr -help 2>&1);
|
||||||
die "Xephyr was not found in your path. Please install Xephyr (xserver-xephyr on Debian)." if $?;
|
die "Xephyr was not found in your path. Please install Xephyr (xserver-xephyr on Debian)." if $?;
|
||||||
|
|
||||||
|
@ -227,6 +237,17 @@ if ($numtests == 1) {
|
||||||
|
|
||||||
END { cleanup() }
|
END { cleanup() }
|
||||||
|
|
||||||
|
if ($options{coverage}) {
|
||||||
|
print("\nGenerating test coverage report...\n");
|
||||||
|
qx(lcov -d ../ -b ../ --capture -o latest/i3-coverage.info);
|
||||||
|
qx(genhtml -o latest/i3-coverage latest/i3-coverage.info);
|
||||||
|
if ($?) {
|
||||||
|
print("Could not generate test coverage html. Did you compile i3 with test coverage support?\n");
|
||||||
|
} else {
|
||||||
|
print("Test coverage report generated in latest/i3-coverage\n");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
exit ($aggregator->failed > 0);
|
exit ($aggregator->failed > 0);
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -391,7 +412,8 @@ available in C<latest/xtrace-for-$test.log>.
|
||||||
|
|
||||||
=item B<--coverage-testing>
|
=item B<--coverage-testing>
|
||||||
|
|
||||||
Exits i3 cleanly (instead of kill -9) to make coverage testing work properly.
|
Generates a test coverage report at C<latest/i3-coverage>. Exits i3 cleanly
|
||||||
|
during tests (instead of kill -9) to make coverage testing work properly.
|
||||||
|
|
||||||
=item B<--parallel>
|
=item B<--parallel>
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue