1. Shlomi Fish
  2. perl-File-Find-Object

Commits

shl...@6f433eb9-a002-0410-945b-ee5462c261ee  committed 62a1dba

Enabled Test::Run and ACTION_tags in Build.PL by switching to T::R::Builder.

  • Participants
  • Parent commits 009716f
  • Branches default

Comments (0)

Files changed (3)

File Build.PL

View file
+
 use strict;
 use warnings;
 
-use Module::Build;
+use File::Spec;
+use lib File::Spec->catdir(File::Spec->curdir(), "inc");
 
-my $build = Module::Build->new(
+use Test::Run::Builder;
+
+my $builder = Test::Run::Builder->new(
     'module_name' => "File::Find::Object",
     'requires' =>
     {
     },
     'license' => "perl",
 );
-$build->create_build_script;
+$builder->create_build_script;

File MANIFEST

View file
 Build.PL
 Changes
 examples/tree
+inc/Test/Run/Builder.pm
 lib/File/Find/Object/Base.pm
 lib/File/Find/Object.pm
 Makefile.PL

File inc/Test/Run/Builder.pm

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