summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Changes3
-rw-r--r--MANIFEST5
-rw-r--r--Makefile.PL13
-rw-r--r--lib/Manifest.pm35
-rw-r--r--t/0.load.t31
-rw-r--r--t/1.get_test_files.t17
-rw-r--r--t/1.make_test_manifest.t31
-rw-r--r--test_manifest2
8 files changed, 77 insertions, 60 deletions
diff --git a/Changes b/Changes
new file mode 100644
index 0000000..8fa8a24
--- /dev/null
+++ b/Changes
@@ -0,0 +1,3 @@
+$Id$
+
+0.9 -
diff --git a/MANIFEST b/MANIFEST
index e8a8497..c776841 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -1,9 +1,8 @@
-MANIFEST
+Changes
+MANIFEST This list of files
Makefile.PL
lib/Manifest.pm
t/0.load.t
-t/0.pod.t
-t/0.prereq.t
t/1.get_test_files.t
t/1.make_test_manifest.t
test_manifest
diff --git a/Makefile.PL b/Makefile.PL
index 8bfeb6a..a50f43c 100644
--- a/Makefile.PL
+++ b/Makefile.PL
@@ -3,18 +3,17 @@ use ExtUtils::MakeMaker;
WriteMakefile
(
- 'NAME' => 'Test::Manifest',
- 'VERSION' => '0.7',
+ 'NAME' => 'Test::Manifest',
+ 'VERSION_FROM' => 'lib/Manifest.pm',
+
'PREREQ_PM' => {
- 'File::Find::Rule' => '0',
- 'Test::Data' => '0',
'Test::More' => '0',
- 'Test::Pod' => '0',
- 'Test::Prereq' => '0',
- 'Text::Diff' => '0',
},
+
'PM' =>
{
'lib/Manifest.pm' => '$(INST_LIBDIR)/Manifest.pm',
},
+
+ clean => { FILES => 'Test-Manifest-* t/test_manifest' },
);
diff --git a/lib/Manifest.pm b/lib/Manifest.pm
index a8fefca..e0638ce 100644
--- a/lib/Manifest.pm
+++ b/lib/Manifest.pm
@@ -1,8 +1,9 @@
+# $Id$
package Test::Manifest;
use strict;
use base qw(Exporter);
-use vars qw(@EXPORT_OK @EXPORT);
+use vars qw(@EXPORT_OK @EXPORT $VERSION);
use Carp qw(carp);
use Exporter;
@@ -10,6 +11,9 @@ use Exporter;
@EXPORT = qw(run_t_manifest);
@EXPORT_OK = qw(get_t_files make_test_manifest manifest_name);
+#$VERSION = sprintf "%d.%02d", q$Revision$ =~ m/(\d+) . (\d+)/x;
+$VERSION = 0.9;
+
my $Manifest = "t/test_manifest";
=head1 NAME
@@ -18,9 +22,7 @@ Test::Manifest - interact with a t/test_manifest file
=head1 SYNOPSIS
-use Test::Manifest qw(get_t_files);
-
-WriteMakefile( ..., test => { TESTS => get_t_files() } );
+See the functions section.
=head1 DESCRIPTION
@@ -43,6 +45,21 @@ do the right thing.
=item run_t_manifest
+Run all of the files in t/test_manifest through Test::Harness:runtests
+in the order they appear in the file.
+
+If you want to use this, in Makefile.PL you need to override some
+MakeMaker magic (after you load ExtUtils::MakeMaker).
+
+ sub ExtUtils::MM_Any::test_via_harness
+ {
+ my($self, $perl, $tests) = @_;
+
+ return qq|\t$perl "-MTest::Manifest" | .
+ qq|"-e" "run_t_manifest(\$(TEST_VERBOSE), '\$(INST_LIB)', | .
+ qq|'\$(INST_ARCHLIB)')"\n|;
+ }
+
=cut
sub run_t_manifest
@@ -133,7 +150,17 @@ sub manifest_name
}
=back
+
+=head1 SOURCE AVAILABILITY
+
+This source is part of a SourceForge project which always has the
+latest sources in CVS, as well as all of the previous releases.
+
+ https://sourceforge.net/projects/brian-d-foy/
+If, for some reason, I disappear from the world, one of the other
+members of the project can shepherd this module appropriately.
+
=head1 AUTHOR
brian d foy, E<lt>bdfoy@cpan.orgE<lt>
diff --git a/t/0.load.t b/t/0.load.t
index 10a84a8..7f4f0cc 100644
--- a/t/0.load.t
+++ b/t/0.load.t
@@ -1,17 +1,18 @@
# $Id$
-BEGIN {
- use File::Find::Rule;
- @classes = map { my $x = $_;
- $x =~ s|^blib/lib/||;
- $x =~ s|/|::|g;
- $x =~ s|\.pm$||;
- $x;
- } File::Find::Rule->file()->name( '*.pm' )->in( 'blib/lib' );
- }
-use Test::More tests => scalar @classes;
-
-foreach my $class ( @classes )
- {
- use_ok( $class );
- }
+use lib qw(./blib/lib);
+
+print "1..1\n";
+
+local( $@, $! );
+
+eval <<USE;
+package main;
+require Test::Manifest;
+Test::Manifest->import;
+USE
+
+print "bail out! Test::Manifest could not compile.\n$@\n"
+ if $@;
+
+print "ok - Test::Manifest compiles\n";
diff --git a/t/1.get_test_files.t b/t/1.get_test_files.t
index 4ccfef6..a6a1e8d 100644
--- a/t/1.get_test_files.t
+++ b/t/1.get_test_files.t
@@ -1,13 +1,22 @@
# $Id$
use strict;
-use Test::More tests => 9;
+use Test::More tests => 7;
use Test::Manifest qw(get_t_files manifest_name);
-use Test::Data qw(Scalar);
my $test_manifest = manifest_name();
+open IN, 'test_manifest' or
+ print "bail out! Could not open test_manifest\n$!\n";
+
+open OUT, "> $test_manifest" or
+ print "bail out! Could not open $test_manifest\n$!\n";
+
+while( <IN> ) { print OUT }
+close IN;
+close OUT;
+
my @tests = ();
print "bail out! Could not open manifest!"
@@ -39,9 +48,9 @@ local $SIG{__WARN__} = sub { 1 };
my $string = get_t_files();
-undef_ok( $string );
+ok( ! $string );
my @array = get_t_files();
-undef_ok( $string );
+ok( ! $string );
}
diff --git a/t/1.make_test_manifest.t b/t/1.make_test_manifest.t
index e35ef2e..250dcda 100644
--- a/t/1.make_test_manifest.t
+++ b/t/1.make_test_manifest.t
@@ -1,33 +1,14 @@
# $Id$
-BEGIN { $| = 1; print "1..3\n"; }
-END {print "not ok\n" unless $loaded;}
-# Test it loads
+use Test::More tests => 2;
+
use Test::Manifest qw(make_test_manifest);
-$loaded = 1;
-print "ok\n";
my $test_manifest = 't/test_manifest';
-eval {
- unlink $test_manifest;
- die "$test_manifest still exists!" if -e $test_manifest;
-
- make_test_manifest();
-
- die "$test_manifest doesn't exist!" unless -e $test_manifest;
- };
-print STDERR $@ if $@;
-print $@ ? 'not ' : '', "ok\n";
+unlink $test_manifest;
+ok( ! -e $test_manifest, 'test_manifest does not exit' );
-eval {
- require Text::Diff;
-
- my $diff = Text::Diff::diff( 'test_manifest', $test_manifest );
-
- die "Files are different! [$diff]" if $diff;
- };
-print STDERR $@ if $@;
-print $@ ? 'not ' : '', "ok\n";
+make_test_manifest();
-unlink $test_manifest;
+ok( -e $test_manifest, 'test_manifest exists' );
diff --git a/test_manifest b/test_manifest
index e294c5c..cd9f40b 100644
--- a/test_manifest
+++ b/test_manifest
@@ -1,5 +1,3 @@
0.load.t
-0.pod.t
-0.prereq.t
1.get_test_files.t
1.make_test_manifest.t