~ubuntu-branches/ubuntu/precise/libfilesys-diskspace-perl/precise

« back to all changes in this revision

Viewing changes to t/solaris-ufs.t

  • Committer: Bazaar Package Importer
  • Author(s): Roderick Schertler
  • Date: 2002-04-01 10:49:42 UTC
  • Revision ID: james.westby@ubuntu.com-20020401104942-xarprdx9gs4cgc8b
Tags: upstream-0.05
ImportĀ upstreamĀ versionĀ 0.05

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# -*- Mode: Perl -*-
 
2
 
 
3
# Submited by Lupe Christoph <lupe@lupe-christoph.de> for Solaris 2.6
 
4
 
 
5
BEGIN { unshift @INC, "lib", "../lib" }
 
6
use strict;
 
7
use Filesys::DiskSpace;
 
8
 
 
9
local $^W = 1;
 
10
 
 
11
my $t = 1;
 
12
 
 
13
unless ($^O eq 'solaris') {
 
14
  print "1..0\n";
 
15
  exit;
 
16
}
 
17
 
 
18
my $bindf  = '/usr/sbin/df';
 
19
my $mnttab = '/etc/mnttab';
 
20
 
 
21
my ($data, $dirs);
 
22
open (MOUNT, $mnttab) || die "Error: $!\n";
 
23
while (defined (my $d = <MOUNT>)) {
 
24
  my @tab = split /\s+/, $d;
 
25
  push @$dirs, $tab[1] if $tab[2] eq 'ufs';
 
26
}
 
27
close MOUNT;
 
28
open (DF, "$bindf -k @$dirs |") || die "Error: $!\n";
 
29
while (defined (my $d = <DF>)) {
 
30
  my @tab = split /\s+/, $d;
 
31
  next if $tab[0] eq 'Filesystem';
 
32
  $$data{$tab[5]}{'used'}  = $tab[2];
 
33
  $$data{$tab[5]}{'avail'} = $tab[3];
 
34
}
 
35
close DF;
 
36
open (DF, "$bindf -o i @$dirs |") || die "Error: $!\n";
 
37
while (defined (my $d = <DF>)) {
 
38
  my @tab = split /\s+/, $d;
 
39
  next if $tab[0] eq 'Filesystem';
 
40
  $$data{$tab[4]}{'iused'}  = $tab[1];
 
41
  $$data{$tab[4]}{'iavail'} = $tab[2];
 
42
}
 
43
close DF;
 
44
 
 
45
print "1..", scalar keys %$data, "\n";
 
46
 
 
47
for my $part (keys %$data) {
 
48
  my ($fs_type, $fs_desc, $used, $avail, $iused, $iavail) = df $part;
 
49
  my $res = $fs_desc eq '4.2' &&
 
50
    $$data{$part}{'used'} == $used &&
 
51
    $$data{$part}{'avail'} == $avail &&
 
52
    $$data{$part}{'iused'} == $iused &&
 
53
    $$data{$part}{'iavail'} == $iavail;
 
54
  unless ($res) {
 
55
    print "Value: system_df perl_df\n\n";
 
56
    print "Used: $$data{$part}{'used'} <> $used\n"
 
57
      unless $$data{$part}{'used'} == $used;
 
58
    print "Avail: $$data{$part}{'avail'} <> $avail\n"
 
59
      unless $$data{$part}{'avail'} == $avail;
 
60
    print "Iused: $$data{$part}{'iused'} <> $iused\n"
 
61
      unless $$data{$part}{'iused'} == $iused;
 
62
    print "Iavail: $$data{$part}{'iavail'} <> $iavail\n"
 
63
      unless $$data{$part}{'iavail'} == $iavail;
 
64
  }
 
65
  print $res ? "" : "not ", "ok ", $t++, "\n";
 
66
}