view dotest_coverage.pl @ 11:ee60403fc119

fix regex
author anatofu
date Fri, 09 Nov 2018 20:45:02 +0900
parents 4f704a718752
children a6c212177267
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";
our $sum_tests =0;
our $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++;
        }
    }

    $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";