[testing harness ganesh@earth.li**20040327041613] { adddir ./test hunk ./.fixperms 22 +chmod a+x test/handlers.pl hunk ./PhotoPub/Config.pm 25 - $defaultpath %linkroots); + $defaultpath %linkroots + $configfile $initbasedir); hunk ./PhotoPub/Config.pm 67 -my $config; - +if(!defined $configfile) { hunk ./PhotoPub/Config.pm 69 -if($scriptstat[4] < 500) { - $config='/etc/photopubrc'; -} else { - my @userpw=getpwuid($scriptstat[4]) - or &$error('config',"Couldn't look up the owner of $0"); - $config=$userpw[7].'/.photopubrc'; -} + if($scriptstat[4] < 500) { + $configfile='/etc/photopubrc'; + } else { + my @userpw=getpwuid($scriptstat[4]) + or &$error('config',"Couldn't look up the owner of $0"); + $configfile=$userpw[7].'/.photopubrc'; + } hunk ./PhotoPub/Config.pm 77 +} hunk ./PhotoPub/Config.pm 79 +my @initbasedir + = defined $initbasedir + ? map { $_ ne '' ? ($_) : () } (split ('/',$initbasedir)) + : (); + hunk ./PhotoPub/Config.pm 86 -&dynamicconfig($config,[],[]); +&dynamicconfig($configfile,[],[@initbasedir]); addfile ./test/handlers.pl hunk ./test/handlers.pl 1 +#!/usr/bin/perl -w + +#---libsetup--- + +# having . in @INC can cause tainting issues for use + +no lib '.'; + +use FindBin; +BEGIN { + ($dir)=($FindBin::Bin=~/^([\w\d\-\/\.]+)$/) + or die "invalid current directory $FindBin::Bin"; +} +use lib $dir; + +#---endlibsetup--- + +use Cwd; + +use PhotoPub::Global qw(&init); +use PhotoPub::CLBase qw(); + +BEGIN { + chdir($dir); + $PhotoPub::Config::configfile='scratch/photopubrc'; + $PhotoPub::Config::initbasedir=getcwd(); + $PhotoPub::Global::error=sub { }; +} + +use PhotoPub::Config qw(); +use PhotoPub::Handlers qw(&listhandlephoto); + +foreach my $script (@ARGV) { + open SCRIPT,"<$script" or die "Couldn't read $script"; + my $untilend=sub { + my $finished=0; + my $tocall=shift; + my $readline=sub { + return undef if $finished; + return undef if eof(SCRIPT); + my $in; + do { + $in=