Blame inc/Test/Run/Builder.pm

Packit 26bf30
package Test::Run::Builder;
Packit 26bf30
Packit 26bf30
use strict;
Packit 26bf30
use warnings;
Packit 26bf30
Packit 26bf30
use Module::Build;
Packit 26bf30
Packit 26bf30
use vars qw(@ISA);
Packit 26bf30
Packit 26bf30
@ISA = (qw(Module::Build));
Packit 26bf30
Packit 26bf30
sub ACTION_runtest
Packit 26bf30
{
Packit 26bf30
    my ($self) = @_;
Packit 26bf30
    my $p = $self->{properties};
Packit 26bf30
Packit 26bf30
    $self->depends_on('code');
Packit 26bf30
Packit 26bf30
    local @INC = @INC;
Packit 26bf30
Packit 26bf30
    # Make sure we test the module in blib/
Packit 26bf30
    unshift @INC, (File::Spec->catdir($p->{base_dir}, $self->blib, 'lib'),
Packit 26bf30
		 File::Spec->catdir($p->{base_dir}, $self->blib, 'arch'));
Packit 26bf30
Packit 26bf30
    $self->do_test_run_tests;
Packit 26bf30
}
Packit 26bf30
Packit 26bf30
sub ACTION_distruntest {
Packit 26bf30
  my ($self) = @_;
Packit 26bf30
Packit 26bf30
  $self->depends_on('distdir');
Packit 26bf30
Packit 26bf30
  my $start_dir = $self->cwd;
Packit 26bf30
  my $dist_dir = $self->dist_dir;
Packit 26bf30
  chdir $dist_dir or die "Cannot chdir to $dist_dir: $!";
Packit 26bf30
  # XXX could be different names for scripts
Packit 26bf30
Packit 26bf30
  $self->run_perl_script('Build.PL') # XXX Should this be run w/ --nouse-rcfile
Packit 26bf30
      or die "Error executing 'Build.PL' in dist directory: $!";
Packit 26bf30
  $self->run_perl_script('Build')
Packit 26bf30
      or die "Error executing 'Build' in dist directory: $!";
Packit 26bf30
  $self->run_perl_script('Build', [], ['runtest'])
Packit 26bf30
      or die "Error executing 'Build test' in dist directory";
Packit 26bf30
  chdir $start_dir;
Packit 26bf30
}
Packit 26bf30
Packit 26bf30
sub do_test_run_tests
Packit 26bf30
{
Packit 26bf30
    my $self = shift;
Packit 26bf30
Packit 26bf30
    require Test::Run::CmdLine::Iface;
Packit 26bf30
Packit 26bf30
    my $test_run =
Packit 26bf30
        Test::Run::CmdLine::Iface->new(
Packit 26bf30
            {
Packit 26bf30
                'test_files' => [glob("t/*.t")],
Packit 26bf30
            }
Packit 26bf30
            # 'backend_params' => $self->_get_backend_params(),
Packit 26bf30
        );
Packit 26bf30
Packit 26bf30
    return $test_run->run();
Packit 26bf30
}
Packit 26bf30
Packit 26bf30
sub ACTION_tags
Packit 26bf30
{
Packit 26bf30
    return
Packit 26bf30
        system(qw(
Packit 26bf30
            ctags -f tags --recurse --totals
Packit 26bf30
    		--exclude=blib/ --exclude=t/lib
Packit 26bf30
    		--exclude=.svn --exclude='*~'
Packit 26bf30
    		--languages=Perl --langmap=Perl:+.t
Packit 26bf30
    ));
Packit 26bf30
}
Packit 26bf30
Packit 26bf30
1;
Packit 26bf30