]> git.vpit.fr Git - perl/modules/Linux-SysInfo.git/blobdiff - t/20-extended.t
Switch qw delimiters to <>
[perl/modules/Linux-SysInfo.git] / t / 20-extended.t
index c54751e2c4c8f4d104965c100185725a38298c7f..779fe256da4602f18aee4fd8cf30cfd3e5d90103 100644 (file)
@@ -1,15 +1,33 @@
 #!perl -T
 
-use Test::More tests => 4;
+use strict;
+use warnings;
 
-use Linux::SysInfo qw/sysinfo LS_HAS_EXTENDED/;
+use Test::More;
 
-SKIP:
-{
- skip 'Your kernel does not support extended sysinfo fields', 4 unless LS_HAS_EXTENDED;
+use Linux::SysInfo qw<sysinfo LS_HAS_EXTENDED>;
 
- my $si = sysinfo;
- ok(defined $si);
+unless (LS_HAS_EXTENDED) {
+ plan skip_all => 'your kernel does not support extended sysinfo fields';
+} else {
+ plan tests => 5 * 5;
 
- ok(exists $si->{$_}) for qw/totalhigh freehigh mem_unit/;
+ SKIP: {
+  for my $run (0 .. 4) {
+   my $si = sysinfo;
+   skip 'system error (sysinfo returned undef)' => (5 - $run) * 5
+                                                             unless defined $si;
+   is ref($si), 'HASH', "sysinfo returns a hash reference at run $run";
+   is scalar(keys %$si), 14, "sysinfo object has the right number of keys at run $run";
+
+   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";
+    }
+   }
+  }
+ }
 }