Changeset 18
- Timestamp:
- 09/27/05 17:24:53 (19 years ago)
- Location:
- trunk/soft/ObsData
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/soft/ObsData/ObsData/Archive.pm
- Property cvs2svn:cvs-rev changed from 1.5 to 1.6
r9 r18 10 10 use ObsData::Archive::Tar; 11 11 12 my $error = {}; 13 12 14 sub new { 13 15 my ($class, $archive, %options) = @_; 14 16 my $beclass; 15 17 18 if (!$archive) { 19 seterror("No archive to read"); 20 return undef; 21 } 22 if (!-r $archive) { 23 seterror("No such file or directory"); 24 return undef; 25 } 16 26 my $o; 17 27 … … 61 71 if ($dest) { 62 72 $fname = $dest; 63 open($fh, '>', $dest) or return undef; 73 if(!open($fh, '>', $dest)) { 74 $error = $!; 75 return undef; 76 } 64 77 } else { 65 78 ($fh, $fname) = tempfile( … … 76 89 close($fh); 77 90 $fname 91 } 92 93 sub error { 94 return $error->{error}; 95 } 96 97 sub seterror { 98 my ($package, $filename, $line) = caller; 99 $error = { 100 'package' => $package, 101 'filename' => $filename, 102 'line' => $line, 103 'error' => $_[1] || $_[0], 104 }; 78 105 } 79 106 -
trunk/soft/ObsData/t/OA-01.t
- Property cvs2svn:cvs-rev changed from 1.2 to 1.3
r13 r18 1 1 # $Id$ 2 2 3 use Test::More tests => 6;3 use Test::More tests => 8; 4 4 5 5 foreach (qw(ObsData::Archive ObsData::Archive::Compressed ObsData::Archive::Tar)) { 6 6 use_ok($_); 7 can_ok($_, qw(ls extract ));7 can_ok($_, qw(ls extract seterror error)); 8 8 } 9 10 my $oa = ObsData::Archive->new(); 11 ok(!$oa, "return an error on wrong call"); 12 ok(ObsData::Archive->error(), "Can get error");
Note: See TracChangeset
for help on using the changeset viewer.