90revml2cvs_1.t #5

  • //
  • guest/
  • perforce_software/
  • revml/
  • t/
  • 90revml2cvs_1.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 $infile_1 = $t . "test-cvs-in-1.revml";

my $cvsroot_1  = "${t}cvsroot_1";
my $cvsstate_1 = "${t}cvsstate_1";

my $cvs_spec_1 = "cvs:$cvsroot_1:$module/" ;

my @tests = (

sub {
   my $cvsroot_0  = "${t}cvsroot_0";
   my $cvsstate_0 = "${t}cvsstate_0";
   rmtree [ grep -e, $cvsroot_1, $cvsstate_1 ];
   copy_dir_tree $cvsroot_0, $cvsroot_1;
   copy_dir_tree $cvsstate_0, $cvsstate_1;
   my $out;
   run [ @vcp, "revml:$infile_1", $cvs_spec_1,
      "--state-location=$cvsstate_1", ], \undef, \$out;

   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
#7 3428 Barrie Slaymaker - Test suite cleanup
#6 2926 John Fetkovich remove --state-location switch
       add --db-dir and --repo-id switches
       build state location from concatenation of those two.
#5 2902 Barrie Slaymaker Minor reduction to a single test sub.
#4 2716 Barrie Slaymaker Shorten, standardize state dir names
#3 2714 Barrie Slaymaker Simplify t/90*cvs.t tests, remove make_cvsroots for speed and
       simplicity.
#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.