Counts: Tests: 542. Modules: 8. Passes: 8. Fails: 0
Elapsed time: 1 minute and 27 seconds
Attached is the updated program I run (should be the last version I release
:-).
--
You received this message because you are subscribed to the Google Groups
"marpa parser" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.
#!/usr/bin/env perl
use feature 'say';
use strict;
use warnings;
use Capture::Tiny 'capture';
use File::chdir; # For $CWD.
use Time::Elapsed 'elapsed';
# -----------
my($start) = time;
my(%module) =
( # Build.PL/Makefile.PL (not used).
'Graph::Easy::Marpa' => 'build',
'GraphViz2::Marpa' => 'build',
'GraphViz2::Marpa::PathUtils' => 'build',
'MarpaX::Demo::JSONParser' => 'make',
'MarpaX::Demo::StringParser' => 'build',
'MarpaX::Grammar::GraphViz2' => 'make',
'MarpaX::Grammar::Parser' => 'make',
'MarpaX::Languages::SVG::Parser' => 'build',
);
my($count);
my($dir_name);
my(@line, $line);
my($stdout, $stderr, %stats);
for my $module (sort keys %module)
{
$dir_name = $module =~ s/::/-/gr;
$dir_name = "$ENV{HOME}/perl.modules/$dir_name";
local $CWD = $dir_name;
($stdout, $stderr) = capture{system 'prove', 't'};
die "$stderr" if ($stderr);
@line = split/\n/, $stdout;
for my $i (0 .. $#line)
{
$line = $line[$i];
if ($line =~ /^Files=.+Tests=(\d+),/)
{
$count = $1;
$stats{$module} =
{
result => $line[$i + 1] =~ /Result: PASS/ ? 'Pass' : 'Fail',
tests => $count,
};
}
}
}
my(%count) =
(
modules => 0,
passes => 0,
tests => 0,
);
for my $module (sort keys %stats)
{
$count{modules}++;
$count{passes}++ if ($stats{$module}{result} eq 'Pass');
$count{tests} += $stats{$module}{tests};
say "$module. Tests: $stats{$module}{tests}. Result: $stats{$module}{result}";
}
say "Counts: Tests: $count{tests}. Modules: $count{modules}. Passes: $count{passes}. Fails: @{[$count{modules} - $count{passes}]}";
say 'Elapsed time: ', elapsed(time - $start);
__END__
Graph::Easy::Marpa
t/attr.t .... ok
t/edge.t .... ok
t/tokens.t .. ok
All tests successful.
Files=3, Tests=88, 2 wallclock secs ( 0.04 usr 0.02 sys + 2.15 cusr 0.04 csys = 2.25 CPU)
Result: PASS
...