view dotest_coverage.pl @ 12:a6c212177267

bug fix
author anatofuz
date Sat, 10 Nov 2018 08:08:06 +0900
parents ee60403fc119
children
line wrap: on
line source

#!/usr/bin/env perl
use strict;
use warnings;
use File::Find;

my $top_dir = "/mnt/dalmore-home/one/src/Perl6/nqp/vmtest";
my $MOAR = "/mnt/dalmore-home/one/src/Perl6/MoarVM/moar";
my $NQP_ORIGINAL = "/mnt/dalmore-home/one/src/MoarVM_Original/nqp";
my $sum_tests =0;
my $sum_ok = 0;

sub coverage_test {
    my $filename = $_;
    return  if ($filename !~ /\.moarvm/);

    my ($start,$end,$counter);

    for my $line (`$MOAR  --libpath=${NQP_ORIGINAL}/gen/moar/stage2 $filename`){
        if ($line =~ /(\d+)\.\.(\d+)/){
            $start = $1;
            $end = $2;
        }

        if ($line =~ /ok \d+/){
            $counter++;
        }
    }

    if ($counter && $end){
        $sum_ok += $counter;
        $sum_tests += $end;
    }
}

find(\&coverage_test,$top_dir);

print "ok ==> $sum_ok\n";
print "total ==> $sum_tests\n";

my $parset = $sum_ok/$sum_tests;

$parset *=100;

print "parsent $parset%\n";