Dist-Mgr
view release on metacpan or search on metacpan
t/96-release_cycle.t view on Meta::CPAN
post_prep_next_cycle_file_count();
# distclean
make_distclean();
# done!
after();
}
done_testing;
system("rm", "-rf", "/home/spek/repos/acme-steveb");
sub before {
like $cwd, _dist_dir_re(), "in proper directory ok";
chdir $work or die $!;
like getcwd(), qr/$work$/, "in $work directory ok";
# clone our test repo
{
if (! -e 'acme-steveb') {
capture_merged {
`git clone 'git\@github.com:/stevieb9/acme-steveb'`;
};
is $?, 0, "git cloned 'acme-steveb' test repo ok";
}
}
is -d 'acme-steveb', 1, "'acme-steveb' cloned created ok`";
chdir 'acme-steveb' or die $!;
like getcwd(), qr/$work\/acme-steveb$/, "in $work/acme-steveb directory ok";
git_pull();
}
sub after {
chdir $cwd or die $!;
like getcwd(), _dist_dir_re(), "back in root directory ok";
}
sub file_count {
my ($expected_count, $msg) = @_;
die "need \$msg in file_count()" if ! defined $msg;
my $fs_entry_count;
find (sub {$fs_entry_count++;}, '.');
is $fs_entry_count, $expected_count, "num files: $expected_count, $msg";
}
sub check_file {
my ($file, $regex, $msg) = @_;
open my $fh, '<', $file or die $!;
my @contents = <$fh>;
close $fh;
is grep(/$regex/, @contents) >= 1, 1, $msg;
}
sub done {
done_testing;
# system("rm", "-rf", "/home/spek/repos/acme-steveb");
exit;
}
sub update_version {
# version_info()
my ($orig_ver) = values %{(version_info('lib/Acme/STEVEB.pm'))[0]};
release_version($orig_ver);
my ($new_ver) = values %{(version_info('lib/Acme/STEVEB.pm'))[0]};
is(
version->parse($new_ver) > version->parse($orig_ver),
1,
"$new_ver is greater than $orig_ver ok"
);
return $new_ver;
}
sub remove_tarball {
my @dist_files = glob('*Acme-STEVEB*');
for (@dist_files) {
unlink $_ or die "can't unlink dist file $_: $!";
is -e $_, undef, "dist file $_ removed ok";
}
}
sub post_release_file_count {
is getcwd(), "$work/acme-steveb", "in the repo dir ok";
my $template_dir = "$cwd/t/data/template/release_module_template/";
my @template_files = File::Find::Rule->file()
->name('*')
->in($template_dir);
my $file_count = 0;
if (1) {
for my $tf (@template_files) {
(my $nf = $tf) =~ s/$template_dir//;
# nf == new file
# tf == template file
if (-f $nf) {
open my $tfh, '<', $tf or die $!;
open my $nfh, '<', $nf or die $!;
my @tf = <$tfh>;
my @nf = <$nfh>;
close $tfh;
close $nfh;
for (0 .. $#tf) {
if ($nf eq 'Changes') {
if ($_ == 2) {
# UNREL/Date line
like $nf[$_], qr/\d{4}-\d{2}-\d{2}/, "Changes line 2 contains date ok";
is $nf[$_] !~ /UNREL/, 1, "Changes line 2 has temp UNREL removed ok";
next;
}
if ($nf[$_] =~ /^\s{4}-\s+$/) {
like $nf[$_], qr/^\s{4}-\s+$/, "line with only a dash ok";
next;
}
( run in 2.524 seconds using v1.01-cache-2.11-cpan-39bf76dae61 )