X-Git-Url: http://git.vpit.fr/?a=blobdiff_plain;f=t%2F20-extended.t;h=6cbb35386cc91b9ddb27e0940d30886c6b6d312a;hb=46f546e3a234889baf70c76b9fcb4c3b9c9d14d7;hp=c54751e2c4c8f4d104965c100185725a38298c7f;hpb=0010ec75da61adecfb655901837909d90404c94c;p=perl%2Fmodules%2FLinux-SysInfo.git diff --git a/t/20-extended.t b/t/20-extended.t index c54751e..6cbb353 100644 --- a/t/20-extended.t +++ b/t/20-extended.t @@ -1,15 +1,32 @@ #!perl -T -use Test::More tests => 4; +use strict; +use warnings; + +use Test::More; use Linux::SysInfo qw/sysinfo LS_HAS_EXTENDED/; -SKIP: -{ - skip 'Your kernel does not support extended sysinfo fields', 4 unless LS_HAS_EXTENDED; +unless (LS_HAS_EXTENDED) { + plan skip_all => 'your kernel does not support extended sysinfo fields'; +} else { + plan tests => 4 * 5; - my $si = sysinfo; - ok(defined $si); + SKIP: { + for my $run (0 .. 4) { + my $si = sysinfo; + skip 'system error (sysinfo returned undef)' => (5 - $run) * 4 + unless defined $si; + is ref($si), 'HASH', "sysinfo returns a hash reference at run $run"; - ok(exists $si->{$_}) for qw/totalhigh freehigh mem_unit/; + for (qw/totalhigh freehigh mem_unit/) { + if (defined $si->{$_}) { + like $si->{$_}, qr/^\d+(?:\.\d+)?$/, + "key $_ looks like a number at run $run"; + } else { + fail "key $_ isn't defined at run $run"; + } + } + } + } }