#!/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 $cvsstate_2 = "${t}cvsstate_2";
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=$cvsstate_2"
], \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. |