view dotest_coverage.pl @ 18:25be3bb0adf0 default tip

add debug tool (dump_op_to_gdbco.pl)
author Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
date Wed, 16 Jan 2019 16:50:10 +0900
parents a6c212177267
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";