This is following up on earlier thread Coverage report. -- janitors
Hello dear monks!
I have already asked a question about coverage but I feel like I have failed to explain it (and it was a question about something related but different). I'll do my best this time to succeed.
I'm trying to create a coverage report for my project which is written in Perl.
I came across with
Devel::Cover that I can use for achieving that report. I read the documentation but I have not found a way to create a report for my special case.
As I said, the project is written in Perl but the tests using a (non-Perl) tool. This tool is basically a bunch of 'tcsh' flows and each one of them runs some Perl script from the project. For example, my project contains the following two scripts:
create_dep.pl and
find_maps.pl.
One of the flows could run one of those two scripts (or both of them), analysis the result and tell if the test has failed (The idea of continuous integration).
Anyway, I'm trying to understand how can I create a coverage report based on all of those flows/tests.
I have tried to create a wrapper script (which is written in Perl) that executes this tool (which runs all of the flows) but it does not show the coverage of the project's Perl scripts (only of the wrapper).
The wrapper script looks like:
# Galic is the name of the tool which runs the flows
my $cmd = "Galic --path ./path/to/project --run --wait";
system($cmd);
print("Done");
Another idea I had is to add
perl -MDevel::Cover to each execution of one of the project's Perl scripts and then (somehow) merge into one main report.
For example, instead of
find_maps.pl --f ./config it will be
perl -MDevel::Cover find_maps.pl --f ./config. But this idea is a bit messy and unclean.
First of all, it will take some time to add this prefix to each execution.
Secondly, I'm not quite sure how can I merge those reports into one main big report.
Thirdly, it will take more step(s) for the merge and the idea, in the end, is to make it automatically.
I also came across with Perl's Makefile (cool new concept to know).
I have experience with 'C/C++' makefiles and I feel like they are similar to Perl's (it is also what was written here in one of the previous threads).
I thought it could be possible to create some makefile which the coverage module could use to track all of the Project's script and get the wanted data from them.
My goal is to make create a big main coverage report which is based on all of the small reports from each flow. Is it possible to achieve it?