]> git.vpit.fr Git - perl/modules/Linux-SysInfo.git/commitdiff
More robust tests
authorVincent Pit <vince@profvince.com>
Tue, 10 Mar 2009 15:48:14 +0000 (16:48 +0100)
committerVincent Pit <vince@profvince.com>
Tue, 10 Mar 2009 15:48:14 +0000 (16:48 +0100)
t/10-standard.t
t/20-extended.t

index 1642ed4b294d6b4dd3bd4b8ac4f028dbb4dd8bbd..2442dff7666d184d658386d085748320d0ebbf9d 100644 (file)
@@ -7,9 +7,21 @@ use Test::More tests => 12 * 5;
 
 use Linux::SysInfo qw/sysinfo/;
 
-for (1 .. 5) {
- my $si = sysinfo;
- ok(defined $si);
+SKIP: {
+ for my $run (0 .. 4) {
+  my $si = sysinfo;
+  skip 'system error (sysinfo returned undef)' => (5 - $run) * 12
+                                                             unless defined $si;
+  is ref($si), 'HASH', "sysinfo returns a hash reference at run $run";
 
- ok(exists $si->{$_}) for qw/uptime load1 load5 load15 totalram freeram sharedram bufferram totalswap freeswap procs/;
+  for (qw/uptime load1 load5 load15 procs
+          totalram freeram sharedram bufferram totalswap freeswap/) {
+   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";
+   }
+  }
+ }
 }
index c8a270e6711320095c6f1ced0664cca6fa8e925d..6cbb35386cc91b9ddb27e0940d30886c6b6d312a 100644 (file)
@@ -12,10 +12,21 @@ unless (LS_HAS_EXTENDED) {
 } else {
  plan tests => 4 * 5;
 
- for (1 .. 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";
+    }
+   }
+  }
  }
 }