BEGIN { unshift @INC, $Bin };
- use test qw( DATA_DIR
- evcheck runcheck );
+ use test qw( evcheck runcheck );
BEGIN {
plan tests => 3,
=item Prepending F<blib/script> onto the path
-=item Pushing the module F<lib/> dir onto the @PERL5LIB var
-
-For executed scripts.
-
=item Pushing the module F<lib/> dir onto the @INC var
For internal C<use> calls.
=over 4
-=item BIN_DIR
-
-=item DATA_DIR
-
-=item REF_DIR
-
-=item LIB_DIR
-
-=item PERL
-
=item check_req
=item compare
=item find_exec
-=item read_file
-
=back
=cut
-@EXPORT_OK = qw( BIN_DIR DATA_DIR REF_DIR LIB_DIR PERL
- check_req compare evcheck find_exec only_files read_file
+@EXPORT_OK = qw( check_req compare evcheck only_files
save_output restore_output tempdir tmpnam );
# Utility -----------------------------
use Carp qw( carp croak );
use Cwd 2.01 qw( cwd );
-use Env qw( PATH PERL5LIB );
+use Env qw( PATH );
use Fatal 1.02 qw( close open seek sysopen unlink );
use Fcntl 1.03 qw( :DEFAULT );
use File::Basename qw( basename );
return $min;
}
-sub max {
- croak "Can't max over 0 args!\n"
- unless @_;
- my $max = $_[0];
- for (@_[1..$#_]) {
- $max = $_
- if $_ > $max;
- }
-
- return $max;
-}
-
# -------------------------------------
# PACKAGE CONSTANTS
# -------------------------------------
-use constant BIN_DIR => catdir $Bin, updir, 'bin';
-use constant DATA_DIR => catdir $Bin, updir, 'data';
-use constant REF_DIR => catdir $Bin, updir, 'testref';
-use constant LIB_DIR => catdir $Bin, updir, 'lib';
-
use constant BUILD_SCRIPT_DIR => => catdir $Bin, updir, qw( blib script );
sub find_exec {
return;
}
-use constant PERL => (basename($^X) eq $^X ?
- find_exec($^X) :
- rel2abs($^X));
-
# -------------------------------------
# PACKAGE ACTIONS
# -------------------------------------
-# @PERL5LIB not available in Env for perl 5.00503
-# unshift @PERL5LIB, LIB_DIR;
-$PERL5LIB = defined $PERL5LIB ? join(':', LIB_DIR, $PERL5LIB) : LIB_DIR;
-unshift @INC, LIB_DIR;
-
$PATH = join ':', BUILD_SCRIPT_DIR, split /:/, $PATH;
$_ = rel2abs($_)
=cut
-#XYZ sub _run {
-#XYZ my ($cmd, $name, $in) = @_;
-#XYZ
-#XYZ my $infn = defined $in ? tmpnam : '/dev/null';
-#XYZ my $outfn = tmpnam;
-#XYZ my $errfn = tmpnam;
-#XYZ
-#XYZ my $pid = fork;
-#XYZ croak "Couldn't fork: $!\n"
-#XYZ unless defined $pid;
-#XYZ
-#XYZ if ( $pid == 0 ) { # Child
-#XYZ open STDOUT, '>', $outfn;
-#XYZ open STDERR, '>', $errfn;
-#XYZ open STDIN, '<', $infn;
-#XYZ
-#XYZ exec @$cmd;
-#XYZ }
-#XYZ
-#XYZ my $rv = waitpid $pid, 0;
-#XYZ my $status = $?;
-#XYZ
-#XYZ croak "Unexpected waitpid return from child $name: $rv (expected $pid)\n"
-#XYZ unless $rv == $pid;
-#XYZ
-#XYZ local $/ = undef;
-#XYZ local (OUT, ERR);
-#XYZ open *OUT, '<', $outfn;
-#XYZ open *ERR, '<', $errfn;
-#XYZ my $out = <OUT>;
-#XYZ my $err = <ERR>;
-#XYZ close *OUT;
-#XYZ close *ERR;
-#XYZ
-#XYZ return $status >> 8, $status & 127, $status & 128 , $out, $err
-#XYZ }
-
# return codes and old-style call semantics left for backwards compatibility
BEGIN {
my $savewarn = $SIG{__WARN__};
# defined further up to use in constants
-# -------------------------------------
-
-=head2 read_file
-
-=over 4
-
-=item ARGUMENTS
-
-=over 4
-
-=item filename
-
-B<Mandatory>
-
-=item line-terminator
-
-B<Optional>. Value of C<$/>. Defaults to C<"\n">.
-
-=back
-
-=item RETURNS
-
-=over 4
-
-=item lines
-
-A list of lines in the file (lines determined by the value of
-line-terminator), as an arrayref.
-
-=back
-
-=back
-
-=cut
-
-sub read_file {
- my ($fn, $term) = @_;
-
- $term = "\n"
- unless defined $term;
-
- my $fh = do { local *F; *F };
- sysopen $fh, $fn, O_RDONLY;
- local $/ = $term;
- my @lines = <$fh>;
- close $fh;
-
- return \@lines;
-}
-
# ----------------------------------------------------------------------------
=head1 EXAMPLES