]> git.vpit.fr Git - perl/modules/Linux-SysInfo.git/blob - t/20-extended.t
More robust tests
[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 => 4 * 5;
14
15  SKIP: {
16   for my $run (0 .. 4) {
17    my $si = sysinfo;
18    skip 'system error (sysinfo returned undef)' => (5 - $run) * 4
19                                                              unless defined $si;
20    is ref($si), 'HASH', "sysinfo returns a hash reference at run $run";
21
22    for (qw/totalhigh freehigh mem_unit/) {
23     if (defined $si->{$_}) {
24      like $si->{$_}, qr/^\d+(?:\.\d+)?$/,
25                                        "key $_ looks like a number at run $run";
26     } else {
27      fail "key $_ isn't defined at run $run";
28     }
29    }
30   }
31  }
32 }