I'm going cross-eyed staring at this. Can anyone see why I'm getting this error:
C:\Interwoven\TeamSite\iw-perl\site\lib\PMUSA>perl IwovCltApi_test.ipl
1..6
Undefined subroutine &PMUSA::IwovCltApi::unlock_files called at IwovCltApi_test.
ipl line 21.
# Looks like your test died before it could output anything.
Here's the start of my test ipl:
#!C:\Interwoven/TeamSite/iw-perl/bin/iwperl -w
use strict;
use Test::More;
use PMUSA::IwovCltApi qw(unlock_files unlock_file);
my @zoinkes = ();
unlock_files("blah", @zoinkes);
And here's my perl module that I'm testing:
package PMUSA::IwovCltApi;
require Exporter;
use strict;
use TeamSite::Config;
our $VERSION = 1.00;
our @ISA = qw(Exporter);
our @EXPORT_OK = ();
our @EXPORT = qw(unlock_files
unlock_file);
my($iwhome) = TeamSite::Config::iwgethome();
#------------------------------------------------------------------------------
=head2 METHOD unlock_files
Runs the unlock_file( ) method on each file supplied to this method via the
@files array
B
=over
=item $area - the Workarea containing all the files that should be unlocked.
If $area is passed in as an undef value, all the items in the @files array
are assumed to be fully-qualified paths to files appropriate for unlocking.
=item @files - a list of files relative to the $area that should be unlocked
=back
TODO - aggregate the error return codes collected from all
the unlock_file calls
#------------------------------------------------------------------------------
sub unlock_files {
my($area, @files) = @_;
foreach (@files) {
if(defined($area)) {
unlock_file($area . "/" . $_);
} else {
unlock_file($_);
}
}
return 0;
}
Note that both perl files (the test *.ipl and the *.pm) pass syntax checks, and I'm able to successfully stress the "unlock_file(...)" (singular) method, just not the "unlock_files(...)" (plural) method.
I've also tried renaming the "unlock_files" method to "foobar" in the vain hope of maybe some random character misspelling somewhere...no luck.
Anyone see anything?