treedeps/statfailures.pl
2017-04-18 18:25:09 -04:00

33 lines
761 B
Perl
Executable file

#!/usr/bin/env perl
use 5.24.0;
use strict;
use warnings;
use lib './lib';
use Module;
use Dist;
use Storable qw/retrieve/;
use Data::Dumper;
my $data = retrieve 'everything.stor';
my @failed_list = grep {my $s=$data->{jobstatus}{$_}{status}; $s ne 'success' && $s ne 'inc failed'} grep {defined $_ && $_ ne ''} keys($data->{jobstatus}->%*);
my %mods;
$|++;
LOOP: for my $mod ($data->{modules}->@*) {
my $status = $data->{jobstatus}{$mod}{status} // "";
if ($status ne 'success' && $status ne 'inc failed') {
print STDERR "DEP Checking $mod\n";
my $module = Module->new_module($mod);
my @dependedonby = $module->get_failed_descendants(\@failed_list);
$mods{$mod} = 0+@dependedonby;
printf "%05d %s\n", $mods{$mod}, $mod;
}
}