mirror of
https://github.com/brl/mutter.git
synced 2025-02-16 13:24:09 +00:00
build: Add a script to format gcov report lines
Instead of using echo let's try Perl and the format() built-in.
This commit is contained in:
parent
948db40c87
commit
a076e0e11d
@ -1 +1,3 @@
|
||||
SUBDIRS = autotools
|
||||
|
||||
EXTRA_DIST = gen-gcov.pl
|
||||
|
@ -11,7 +11,7 @@ gcov-report.txt: gcov-clean
|
||||
covered=$$((actual - uncovered)); \
|
||||
total_covered=$$((total_covered + covered)); \
|
||||
total_actual=$$((total_actual + actual)); \
|
||||
echo -e "$$file: \t$$covered / $$actual\t($$((($$covered * 100) / $$actual))%)"; \
|
||||
perl $(top_builddir)/build/gen-gcov.pl $$file.gcov; \
|
||||
fi \
|
||||
done >> $@; \
|
||||
cd $(abs_srcdir); \
|
||||
|
44
build/gen-gcov.pl
Executable file
44
build/gen-gcov.pl
Executable file
@ -0,0 +1,44 @@
|
||||
#!/usr/bin/perl
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
our $gcov_file = $ARGV[0] or undef;
|
||||
|
||||
open my $g, '<', $gcov_file
|
||||
or die("Unable to open '$gcov_file': $!");
|
||||
|
||||
my ($actual, $covered, $uncovered, $percent) = (0, 0, 0, 0);
|
||||
|
||||
while (<$g>) {
|
||||
my $report_line = $_;
|
||||
|
||||
chomp($report_line);
|
||||
|
||||
$actual += 1;
|
||||
$actual -= 1 if $report_line =~ / -:/;
|
||||
|
||||
$uncovered += 1 if $report_line =~ /#####:/;
|
||||
}
|
||||
|
||||
close($g);
|
||||
|
||||
$covered = $actual - $uncovered;
|
||||
$percent = int(($covered * 100) / $actual);
|
||||
|
||||
$gcov_file =~ s/^\.\///g;
|
||||
$gcov_file =~ s/\.gcov$//g;
|
||||
|
||||
my $cover_file = "$gcov_file:";
|
||||
my $cover_literal = "$covered / $actual";
|
||||
my $cover_percent = "$percent%";
|
||||
|
||||
format ReportLine =
|
||||
@<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< @>>>>>>>>>>>>> @>>>>>
|
||||
$cover_file, $cover_literal, $cover_percent
|
||||
.
|
||||
|
||||
$~ = 'ReportLine';
|
||||
write;
|
||||
|
||||
0;
|
Loading…
x
Reference in New Issue
Block a user