blob: e00a544560181f9ba55e3aaad9cd2290365043e1 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
#!/usr/bin/perl
use MDK::Common;
foreach my $file (glob("dmidecode.*")) {
my %wanted = cat_($file) =~ /\(=> (\S+): (\S+)\)/g;
my %got = map {
s/\s*: .*//;
/(\S+):(.*)/ ? ($1 => $2) : ();
} `lspcidrake --dmidecode $file`;
my @missing = difference2([ keys %wanted ], [ keys %got ]);
if (@missing) {
warn "for $file, missing: ", join(' ', @missing), "\n";
}
my @surprise = difference2([ keys %got ], [ keys %wanted ]);
if (@surprise) {
warn "for $file, surprise: ", join(' ', map { "(=> $_: $got{$_})" } @surprise), "\n";
}
my @bad = grep { $wanted{$_} ne $got{$_} } intersection([ keys %wanted ], [ keys %got ]);
if (@bad) {
warn "for $file, bad $_: $wanted{$_} != $got{$_}\n" foreach @bad;
}
}
|