AFS-Command

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN

CPAN testing to continue, automatically, without the author getting a
bunch of bogus emails.

=head1 Bugs

=head2 Volume status value inconsistency

!!!!!!!! WARNING !!!!!!!!

This change is NOT backwards compatible with previous releases, so
verify that your code handles the new, consistent values correctly.

The "status" field returned from either vos->examine() or
vos->listvol(), in previous releases, had inconsistent values. When a
volume is online, the status would be one of:

    online
    On-line

Likewise, when offline, one of:

Changes.html  view on Meta::CPAN

<P>
<HR>
<H2><A NAME="Volume_status_value_inconsistenc">Volume status value inconsistency

</A></H2>
!!!!!!!! WARNING !!!!!!!!


<P>

This change is NOT backwards compatible with previous releases, so verify
that your code handles the new, consistent values correctly.


<P>

The ``status'' field returned from either vos-&gt;examine() or
vos-&gt;listvol(), in previous releases, had inconsistent values. When a
volume is online, the status would be one of:


ToDo  view on Meta::CPAN


  }

Maybe something like that.  By the time _exec_cmds returns, we have
reaped the commands, and collected *ALL* of the output into arrays in
the object.

=head2 Test Suite: fs lsmount using multiple dirs

We should create several mount points and then query then all with one
lsmount method call, to verify we can parse output for multiple dirs.
We should pass in some bogus paths, too, to verify the error handling
is correct as well (that code feels dubious to me).

=head1 Bugs

=head2 stdout/stderr buffering will break the fs examine/diskfree commands

Actually, all of the commands that parse per-path output, really.
Currently the code assumes the stderr output will appear first, which
is a side effect of the buffering.  Some attempts to turn of buffering
didn't change this, and in any case, we don't want to be sensitive to

ToDo.html  view on Meta::CPAN



<P>

<P>
<HR>
<H2><A NAME="Test_Suite_fs_lsmount_using_mul">Test Suite: fs lsmount using multiple dirs

</A></H2>
We should create several mount points and then query then all with one
lsmount method call, to verify we can parse output for multiple dirs. We
should pass in some bogus paths, too, to verify the error handling is
correct as well (that code feels dubious to me).


<P>

<P>
<HR>
<H1><A NAME="Bugs">Bugs

</A></H1>

t/00vos_basic.t  view on Meta::CPAN


    die Data::Dumper->Dump([$result],['result']) if $errors;

} else {
    print "not ok $TestCounter..$TestTotal\n";
    die("Unable to examine volume '$volname' in cell '$cell':\n" .
	$vos->errors());
}

#
# Create a backup, an verify that the changes in the examine output.
#
$result = $vos->backup
  (
   id			=> $volname,
   cell			=> $cell,
  );
if ( $result ) {
    print "ok $TestCounter\n";
    $TestCounter++;
} else {

t/02vos_volserver.t  view on Meta::CPAN

if ( ref $vos && $vos->isa("AFS::Command::VOS") ) {
    print "# AFS::Command::VOS->new()\n";
    print "ok $TestCounter\n";
    $TestCounter++;
} else {
    print "not ok $TestCounter..$TestTotal\n";
    die "Unable to instantiate AFS::Command::VOS object\n";
}

#
# Thi test is kinda boring...  Just verifying that partinfo and
# listpart are consistent.
#
my $listpart = $vos->listpart
  (
   server		=> $server_primary,
   cell			=> $cell,
  );
if ( ref $listpart && $listpart->isa("AFS::Object::FileServer") ) {
    print "# AFS::Command::VOS->listpart()\n";
    print "ok $TestCounter\n";

t/20fs_basic.t  view on Meta::CPAN

		$TestCounter++;
	    }
	}

    }

}

#
# fs exportafs -- this one is hard to really test, since we can't
# verify all the parsing unless it is actually supported and enabled,
# so fake it.
#
$result = $fs->exportafs
  (
   type			=> 'nfs',
  );
if ( ref $result && $result->isa("AFS::Object::CacheManager") ) {
    print "ok $TestCounter\n";
    $TestCounter++;

t/30pts_basic.t  view on Meta::CPAN

      (
       nameorid		=> $name,
       cell		=> $cell,
      );
    if ( $result ) {
	print "ok $TestCounter\n";
    } elsif ( defined($pts->errors()) && $pts->errors() =~ /unable to find entry/ ) {
	print "ok $TestCounter\n";
    } else {
	print "not ok $TestCounter..$TestTotal\n";
	die("Unable to delete the test pts id ($name), or verify it doesn't exist\n" .
	    Data::Dumper->Dump([$pts],['pts']));
    }
    $TestCounter++;

    my $method 	= $name eq $ptsgroup ? 'creategroup' : 'createuser';
    my $type	= $name eq $ptsgroup ? 'Group' : 'User';
    my $class 	= 'AFS::Object::' . ( $name eq $ptsgroup ? 'Group' : 'User' );

    $result = $pts->$method
      (

t/40fs_complex.t  view on Meta::CPAN

	die("Unable to get ACL object from Path object:\n" .
	    Data::Dumper->Dump([$path],['path']));
    }

    foreach my $principal ( keys %entries ) {

	if ( $acl->getRights($principal) eq $entries{$principal} ) {
	    print "ok $TestCounter\n";
	} else {
	    print "not ok $TestCounter\n";
	    warn("Unable to verify ACL entry for $principal:\n" .
		 Data::Dumper->Dump([$acl],['acl']));
	}
	$TestCounter++;

    }

}

#
# Unmount it



( run in 0.574 second using v1.01-cache-2.11-cpan-5467b0d2c73 )