eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}' & eval 'exec perl -S $0 $argv:q' if 0; # THE PRECEEDING STUFF EXECS perl via $PATH # -*-Fundamental-*- require 5.000; # $Id: //guest/perforce_software/utils/cvs2p4/test/runtest#2 $ # # Richard Geiger # sub dirname { local($dir) = @_; $dir =~ s%^$%.%; $dir = "$dir/"; if ($dir =~ m%^/[^/]*//*$%) { return "/"; } if ($dir =~ m%^.*[^/]//*[^/][^/]*//*$%) { $dir =~ s%^(.*[^/])//*[^/][^/]*//*$%$1%; { return $dir; } } return "."; } use Carp; # ...or flounder. $| = 1; ($Myname = $0) =~ s%^.*/%%; $Mydir = &dirname($0); $Here = `/bin/pwd`; chop $Here; if ($Mydir ne ".") { chdir "$Mydir" || die "$Myname: can't chdir \"$Mydir\": $!"; } chdir ".." || die "$Myname: can't chdir \"..\": $!"; $Mydir = `/bin/pwd`; chop $Mydir; chdir $Here || die "$Myname: can't chdir \"$Here\": $!"; require "$Mydir/lib/util.pl"; $Usage = <= 0) { if ($ARGV[0] eq "-boolopt") { $Boolopt = 1; shift; next; } elsif ($ARGV[0] eq "-valopt") { shift; if ($ARGV[0] < 0) { &usage; } $Valopt = $ARGV[0]; shift; next; } elsif ($ARGV[0] eq "-help") { &help; } elsif ($ARGV[0] =~ /^-/) { &usage; } if ($Args ne "") { $Args .= " "; } push(@Args, $ARGV[0]); shift; } $Convdir = "$Mydir/test_conv_dir"; $Testdir = "$Mydir/test"; ### Setup # if ( &s("rm -rf $Convdir") || &s("mkdir $Convdir") || &s("cp $Testdir/config $Convdir")) { print "$Myname: *** setup failed\n"; exit 1; } require "$Convdir/config"; $ENV{"P4PORT"} = $P4PORT; print "$Myname > chdir $Mydir\n"; if (! chdir "$Mydir") { print "$Myname: ** can't \"chdir $Mydir\": $!\n"; exit 1; } ### genmetadata # if (&s("bin/genmetadata test_conv_dir") || &s("diff $Convdir/lines $Testdir/lines.good") || &s("diff $Convdir/metadata $Testdir/metadata.good")) { print "$Myname: *** genmetadata failed\n"; exit 1; } ### genchanges # if (&s("bin/genchanges test_conv_dir") || &s("diff $Convdir/changes $Testdir/changes.good")) { print "$Myname: *** genchanges failed\n"; exit 1; } ### dochanges # # Interlock to set up server here TBD # if (&s("bin/dochanges test_conv_dir") || &s("$P4 changes -l | $Testdir/norm > $Convdir/p4_changes_-l 2>&1") || &s("$P4 describe 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 2>&1". "| $Testdir/norm > $Convdir/p4_describe") || &s("diff $Convdir/p4_changes_-l $Testdir/p4_changes_-l.good") || &s("diff $Convdir/p4_describe $Testdir/p4_describe.good")) { print "$Myname: *** dochanges failed\n"; exit 1; } print "$Myname: ok\n";