90revml2cvs_2.t #3

  • //
  • guest/
  • perforce_software/
  • revml/
  • t/
  • 90revml2cvs_2.t
  • View
  • Commits
  • Open Download .zip Download (1 KB)
#!/usr/local/bin/perl -w

=head1 NAME

revml2cvs.t - testing of vcp cvs i/o

=cut

use strict ;

use Carp ;
use Cwd ;
use File::Path qw( rmtree );
use Test ;
use VCP::TestUtils ;

# use eq_or_diff from Test::Differences if available,
# else just use ok.
eval "use Test::Differences";
sub ok_or_diff {
   goto &eq_or_diff if defined &eq_or_diff;
   goto &Test::ok;
}


my @vcp = vcp_cmd ;

my $t = -d 't' ? 't/' : '' ;

my $module = 'foo' ;  ## Must match the rev_root in the testrevml files

my $infile_0 = $t . "test-cvs-in-0.revml";

my $cvsroot_2 = $t . "cvsroot_2";
my $cvsroot_2_state = "${cvsroot_2}_state";
my $cvs_spec_2 = "cvs:$cvsroot_2:$module/newdir/" ;

my @tests = (

##
## revml->cvs, re-rooting a dir tree
##
sub {
   my $out;
   run [ @vcp, "revml:$infile_0", $cvs_spec_2,
      "--init-cvsroot", "--delete-cvsroot", "--state-location=$cvsroot_2_state"
      ], \undef, \$out
      or die "`vcp revml:$infile_0 $cvs_spec_2` returned $?" ;

   ok 1;
},

);



plan tests => scalar( @tests ) ;

my $why_skip ;

$why_skip .= cvs_borken ;
$why_skip ? skip( $why_skip, 0 ) : $_->() for @tests ;
# Change User Description Committed
#6 3428 Barrie Slaymaker - Test suite cleanup
#5 2926 John Fetkovich remove --state-location switch
       add --db-dir and --repo-id switches
       build state location from concatenation of those two.
#4 2716 Barrie Slaymaker Shorten, standardize state dir names
#3 2715 Barrie Slaymaker Simplify test suite
#2 2649 John Fetkovich Change test suites because of unreliable 'cvs history' command.
#1 2622 John Fetkovich Split revml2cvs.t into three files, then improved;
       particularly made changes to use
       parse_files_and_revids_from_revml (already in TestUtils.pm)
       and parse_files_and_revids_from_cvs_history (newly added to
       TestUtils.pm) to do checks on changes.