]> git.vpit.fr Git - perl/modules/Linux-SysInfo.git/blob - t/20-extended.t
8876414ce511f9b267bc4cae8dd97fdd65f29d23
[perl/modules/Linux-SysInfo.git] / t / 20-extended.t
1 #!perl -T
2
3 use strict;
4 use warnings;
5
6 use Test::More;
7
8 use Linux::SysInfo qw/sysinfo LS_HAS_EXTENDED/;
9
10 unless (LS_HAS_EXTENDED) {
11  plan skip_all => 'your kernel does not support extended sysinfo fields';
12 } else {
13  plan tests => 5 * 5;
14
15  SKIP: {
16   for my $run (0 .. 4) {
17    my $si = sysinfo;
18    skip 'system error (sysinfo returned undef)' => (5 - $run) * 5
19                                                              unless defined $si;
20    is ref($si), 'HASH', "sysinfo returns a hash reference at run $run";
21    is scalar(keys %$si), 14, "sysinfo object has the right number of keys at run $run";
22
23    for (qw/totalhigh freehigh mem_unit/) {
24     if (defined $si->{$_}) {
25      like $si->{$_}, qr/^\d+(?:\.\d+)?$/,
26                                        "key $_ looks like a number at run $run";
27     } else {
28      fail "key $_ isn't defined at run $run";
29     }
30    }
31   }
32  }
33 }