- 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/rick_richardson/perforce/utils/cvs2p4/test/runtest#1 $
- #
- # 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 = <<LIT;
- $Myname: usage: $Myname
- LIT
-
- sub usage
- {
- print STDERR $Usage;
- exit 1;
- }
-
-
- sub help
- {
- print STDERR <<LIT;
- $Usage
- $Myname is...
- LIT
- exit 1;
- }
-
- $Valopt = "default";
- $Gengood = 0;
-
- while ($#ARGV >= 0)
- {
- if ($ARGV[0] eq "-gengood") { $Gengood = 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; }
-
- # Make some files with nonprintables in the file names...
- #
-
- sub printnp
- {
- my ($s) = @_;
- my $o = "";
- my $l = length($s);
- for (my $i = 0; $i <= $l; $i++)
- {
- my $c = substr($s, $i, 1);
- if ($c =~ /[\000-\037\177-\377]/)
- { $o .= sprintf("\\%03o", ord($c)); }
- else
- { $o .= "$c"; }
- }
- return $o;
- }
-
- @bads = (
- "\002",
- "x\001y",
- "bad\177\377\324\003\004\005dab"
- );
-
- foreach $bad (@bads)
- {
- my $path = "$Convdir/$bad,v";
- printf "$Myname: create bad filename \"%s\"\n", &printnp($bad);
- open(BF, ">$path")
- || printf "$Myname: can't create: \"%s\": $!.\n", &printnp($path);
- print BF "$path\n";
- close BF;
- }
-
- 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"))
- { print "$Myname: *** genmetadata failed\n"; exit 1; }
-
- if (! $Gengood &&
- (&s("diff $Convdir/lines $Testdir/lines.good") ||
- &s("diff $Convdir/metadata $Testdir/metadata.good")))
- { print "$Myname: *** genmetadata bad results\n"; exit 1; }
-
- ### genchanges
- #
-
- if (&s("bin/genchanges test_conv_dir"))
- { print "$Myname: *** genchanges failed\n"; exit 1; }
-
- if (! $Gengood &&
- &s("diff $Convdir/changes $Testdir/changes.good"))
- { print "$Myname: *** genchanges bad results\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"))
- { print "$Myname: *** dochanges failed\n"; exit 1; }
-
- if (! $Gengood &&
- (&s("diff $Convdir/p4_changes_-l $Testdir/p4_changes_-l.good") ||
- &s("diff $Convdir/p4_describe $Testdir/p4_describe.good")))
- { print "$Myname: *** dochanges bad results\n"; exit 1; }
-
- print "$Myname: ok\n";
-
# |
Change |
User |
Description |
Committed |
|
#1
|
645 |
Rick Richardson |
Create banch for adding p4wrapper. |
24 years ago
|
|